💫 some look changes

added rofi theme but it kinda looks scuffed. (last update broke the theme)
added waydroid
few more applications
enabled ollama once again
vscode: added typescript prettier linter
This commit is contained in:
2005 2024-07-13 17:48:39 +02:00
parent 27d55ea981
commit a9f0e0bd12
20 changed files with 540 additions and 48 deletions

26
etc/apps/dttyper/default.nix Executable file
View file

@ -0,0 +1,26 @@
{ lib, rustPlatform, fetchFromGitea, pkgs, stdenv, ... }:
rustPlatform.buildRustPackage rec {
pname = "dttyper";
version = "1.4.0";
nativeBuildInputs = lib.optionals stdenv.isLinux [ pkgs.pkg-config ];
OPENSSL_NO_VENDOR = 1;
buildInputs = lib.optionals stdenv.isLinux [ pkgs.openssl ];
src = fetchFromGitea {
domain = "git.berryez.xyz";
owner = "berry";
repo = "dttyper";
rev = "89203be0677520d4e6945254419e7ae7377581ae";
hash = "sha256-ZlCvMgb8yE3zDmCteyy8XXvgz+clpccV3gtXKHyZGlo=";
};
cargoHash = "sha256-dpN7hHpqSur6KjtEikVjQMqnF8PW27ax7ccpQNU5vdA=";
meta = with lib; {
description = "Terminal-based typing test which exports each test into an influx bd";
homepage = "https://git.berryez.xyz/berry/dttyper";
license = licenses.mit;
};
}

1
etc/apps/firefox.nix Executable file
View file

@ -0,0 +1 @@

22
etc/apps/goki/default.nix Executable file
View file

@ -0,0 +1,22 @@
{ lib, buildGoModule, fetchFromGitHub, pkgs, stdenv, ... }:
buildGoModule rec {
pname = "goki";
version = "0.1.1";
src = fetchFromGitHub
{
owner = "abeleinin";
repo = "goki";
rev = "b2c4ee6f0e040ce9ac2b089ab01438066e47bb9f";
hash = "sha256-ThAQ/VgIBjKyAmo2oZARh3nqo8wB6nuv/HYRCOSbe8U=";
};
vendorHash = "sha256-SCX/eXXnwnCNZ11jw+ZNeJ42HUhI5MnV+AaO89BTKJs=";
meta = with lib; {
description = "An intelligent flashcard management tool for the terminal! ";
homepage = "https://github.com/abeleinin/goki";
license = licenses.mit;
};
}

View file

@ -0,0 +1,56 @@
{ stdenv
, lib
, fetchurl
, makeWrapper
, pkgs
}:
stdenv.mkDerivation {
pname = "gpu-screen-recorder";
version = "unstable-2023-11-18";
# printf "r%s.%s\n" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
src = fetchurl {
url = "https://dec05eba.com/snapshot/gpu-screen-recorder.git.r418.5a8900e.tar.gz";
hash = "sha256-Dal6KxQOTqoNH6e8lYk5XEXGFG/vzbguNFZ9yk9nKe0=";
};
sourceRoot = ".";
nativeBuildInputs = with pkgs; [
pkg-config
makeWrapper
];
buildInputs = with pkgs; [
xorg.libXcomposite
libpulseaudio
ffmpeg
wayland
libdrm
libva
xorg.libXrandr
linuxKernel.packages.linux_xanmod_stable.nvidia_x11
];
buildPhase = ''
./build.sh
'';
postInstall = ''
install -Dt $out/bin gpu-screen-recorder gsr-kms-server
mkdir $out/bin/.wrapped
mv $out/bin/gpu-screen-recorder $out/bin/.wrapped/
makeWrapper "$out/bin/.wrapped/gpu-screen-recorder" "$out/bin/gpu-screen-recorder" \
--prefix LD_LIBRARY_PATH : ${pkgs.libglvnd}/lib \
--prefix LD_LIBRARY_PATH : ${pkgs.linuxKernel.packages.linux_xanmod_stable.nvidia_x11}/lib \
--prefix PATH : $out/bin
'';
meta = with lib; {
description = "A screen recorder that has minimal impact on system performance by recording a window using the GPU only";
homepage = "https://git.dec05eba.com/gpu-screen-recorder/about/";
license = licenses.gpl3Only;
maintainers = with maintainers; [ babbaj ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -4,9 +4,9 @@
playerctl
jamesdsp
yt-dlp
picard # audio metadata
ncmpc
mpd
#picard # audio metadata
#ncmpc
#mpd
];
home-manager.users.grape = {

View file

@ -3,7 +3,7 @@
taskwarrior
timewarrior
logseq
inputs.romodoro.packages.x86_64-linux.default
#inputs.romodoro.packages.x86_64-linux.default
taskwarrior-tui
inputs.dttyper.packages.x86_64-linux.default
];

38
etc/apps/romodoro/default.nix Executable file
View file

@ -0,0 +1,38 @@
{ lib, rustPlatform, fetchFromGitea, pkgs, stdenv, ... }:
rustPlatform.buildRustPackage rec {
pname = "romodoro";
version = "0.1.4";
nativeBuildInputs = [
# adding unstable rustc
pkgs.unstable.rustc
pkgs.pkg-config
pkgs.git
pkgs.cmake
];
buildInputs = [
pkgs.alsa-oss
pkgs.alsa-lib.dev
pkgs.alsa-utils
pkgs.git
];
src = fetchFromGitea
{
domain = "git.berryez.xyz";
owner = "berry";
repo = "romodoro";
rev = "11414e11c99bebee6fee1561c5f8158405b05708";
hash = "sha256-7OnY8pUrDZ26sbpE7Yco6k3UhcB+7Ipd6FskHG97m58=";
};
cargoHash = "sha256-FTolAioLPwLoFRWRepdAcirS5zSKKTCGR8qGyevABNA=";
meta = with lib; {
description = "A TUI pomodoro written in rust";
homepage = "https://git.berryez.xyz/berry/romodoro";
license = licenses.mit;
};
}

8
etc/configs/firewall.nix Normal file
View file

@ -0,0 +1,8 @@
{ pkgs, ... }: {
networking.firewall = {
#extraCommands = "iptables -I FORWARD default";
allowedUDPPorts = [
34197 #factorio
];
};
}

View file

@ -8,6 +8,7 @@ in
xdotool
jq
];
home-manager.users.grape.xsession.windowManager.i3 = {
enable = true;
config = {
@ -24,7 +25,10 @@ in
command = "picom -b --experimental-backends";
}
{
command = "polybar --reload";
command = "polybar default";
}
{
command = "polybar bottom";
}
];
# defining alt as modifier

View file

@ -1,9 +1,7 @@
{ pkgs, ... }: {
environment.systemPackages = with pkgs; [
ollama
];
services.ollama.enable = false;
services.ollama.enable = true;
services.ollama.acceleration = "cuda";
}

196
etc/configs/polybar/top.nix Normal file
View file

@ -0,0 +1,196 @@
let
colors = {
fg = "#FFFFFF";
bg = "#191830";
border = "#F72585";
warn = "#f00";
altfg = "#F72585";
invisible = "#00400080";
currentWorkspace = "#FAD000";
seperatorColor = "#FAD000";
};
script = "~/.config/scripts";
in
{
home-manager.users.grape.services.polybar = {
config = {
"module/date" = {
type = "internal/date";
font-1 = "Jetbrains Mono Nerd font";
interval = 1;
format = "%{T2}%{F${colors.bg}}%{F-}%{T-}<label>%{T2}%{F${colors.bg}}%{F-}%{T-}";
time = "%I:%M:%S";
date = "%Y-%m-%d%";
label = "%time% %date%";
label-foreground = "${colors.fg}";
label-background = "${colors.fg}";
};
# TODO include labels right into format for each module instea dof having a different module
"module/battery-label" = {
type = "custom/text";
label = "BAT ";
label-foreground = "${colors.seperatorColor}";
};
"module/fs-label-system" = {
type = "custom/text";
label = "SYS ";
label-foreground = "${colors.seperatorColor}";
};
"module/fs-label-data" = {
type = "custom/text";
label = "DAT ";
label-foreground = "${ colors. seperatorColor}";
};
"module/ewmh" = {
type = "internal/xworkspaces";
pin-workspaces = false;
label-active-foreground = "${colors.currentWorkspace}";
};
"module/cpu-temp" = {
type = "internal/temperature";
format = "%{F${colors.seperatorColor}}CPU%{F-} <label> ";
format-warn = "%{F${colors.seperatorColor}}CPU%{F-} <label-warn> ";
base-temperature = 20;
warn-temperature = 85;
label-warn-foreground = "${colors.warn}";
label-foreground = "${colors.fg}";
thermal-zone = 0;
zone-type = "x86_pkg_temp";
hwmon-path = "/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input";
};
"module/cpu-usage" = {
type = "internal/cpu";
interval = "1.5";
format = "<label>";
label = "CPU %percentage%%";
format-foreground = "${colors.fg}";
};
"module/gpu-temp" = {
type = "custom/script";
interval = "1.5";
exec = "nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits";
format = "%{T2}%{F#191830}%{F-}%{T-}%{B${colors.bg}}%{F${colors.seperatorColor}}GPU %{F-}%{B-}<label>";
format-suffix = "°C ";
};
"module/gpu-usage" = {
type = "custom/script";
interval = "1.5";
exec = "nvidia-smi --query-gpu=memory.used --format=csv,noheader,nounits";
format = "<label>%{T2}%{F#191830}%{F-}%{T-}";
format-suffix = "mb ";
};
"module/memory" = {
type = "internal/memory";
interval = 1;
format = "%{F${colors.seperatorColor}}RAM%{F-} <label>";
label = "%used%";
label-warn = "%used%";
warn-percentage = 60;
label-warn-foreground = "${colors.warn}";
};
"module/audio" = {
type = "internal/alsa";
use-ui-max = false;
label-volume = "%percentage%%";
label-muted = "muted";
label-muted-foreground = "${colors.altfg}";
};
"module/music" = {
type = "custom/script";
interval = ".5";
exec = "~/.config/scripts/music.sh";
format = "<label>";
};
"fs-base" = {
type = "internal/fs";
label-unmounted = "?";
format-prefix-foreground = "${colors.fg}";
warn-precentage = "80%";
};
"module/fs-system" = {
"inherit" = "fs-base";
mount-0 = "/";
interval = 30;
label-mounted = "%free%(%total%)";
};
"module/fs-data" = {
"inherit" = "fs-base";
mount-0 = "/mnt/terra";
interval = 30;
label-mounted = "%free%(%total%)";
};
"module/battery" = {
type = "internal/battery";
full-at = 95;
low-at = 20;
battery = "BAT0";
adapter = "AC0";
poll-interval = 4;
};
"module/keyboard" = {
type = "internal/xkeyboard";
format = "<label-layout> <label-indicator>";
};
"global/wm" = {
override-redirect = false;
};
"bar/default" = {
font-0 = "Jetbrains Mono Nerd font:size=11;3";
font-1 = "Jetbrains Mono Nerd font:size=11;1";
bottom = false;
# dimensons
width = "100%";
height = 40;
radius = 15;
# Padding for modules
padding-left = 5;
padding-right = 5;
# setting colors
background = "${colors.bg}";
foreground = "${colors.fg}";
# border for bar
border-size = "10px";
# border-color = ${colors.border}
border-color = "${colors.invisible}";
# Displayed modules
modules-left = "date s keyboard s ewmh";
#modules-center = "cava";
modules-right = "battery-label battery s fs-label-data fs-data s fs-label-system fs-system s memory s gpu-label gpu-usage gpu-temp s cpu-temp cpu-usage";
};
};
};
}

View file

@ -3,10 +3,118 @@
home-manager.users.grape.programs.rofi = {
enable = true;
font = "Jetbrains Mono";
configPath = "$XDG_CONFIG_HOME/rofi/config.rasi";
theme = "/home/grape/.config/rofi/theme.rasi";
plugins = with pkgs; [
rofi-calc
rofi-emoji
];
};
home-manager.users.grape.home.file.".config/rofi/theme.rasi" = {
enable = true;
text = ''
/*******************************************************************************
* MACOS SPOTLIGHT LIKE DARK THEME FOR ROFI
* User : LR-Tech
* Theme Repo : https://github.com/lr-tech/rofi-themes-collection
*******************************************************************************/
* {
font: "JetBrains Mono Nerd 12";
bg0: #191830;
bg1: #7E7E7E80;
bg2: #FAD000;
fg0: #DEDEDE;
fg1: #FFFFFF;
fg2: #DEDEDE80;
background-color: transparent;
text-color: @fg0;
margin: 0;
padding: 0;
spacing: 0;
}
window {
background-color: @bg0;
location: center;
width: 640;
border-radius: 8;
}
inputbar {
font: "Montserrat 20";
padding: 12px;
spacing: 12px;
children: [ icon-search, entry ];
}
icon-search {
expand: false;
filename: "search";
size: 28px;
}
icon-search, entry, element-icon, element-text {
vertical-align: 0.5;
}
entry {
font: inherit;
placeholder : "Search";
placeholder-color : @fg2;
}
message {
border: 2px 0 0;
border-color: @bg1;
background-color: @bg1;
}
textbox {
padding: 8px 24px;
}
listview {
lines: 10;
columns: 1;
fixed-height: false;
border: 1px 0 0;
border-color: @bg1;
}
element {
padding: 8px 16px;
spacing: 16px;
background-color: transparent;
}
element normal active {
text-color: @bg2;
}
element alternate active {
text-color: @bg2;
}
element selected normal, element selected active {
background-color: @bg2;
text-color: @fg1;
}
element-icon {
size: 1em;
}
element-text {
text-color: inherit;
}
'';
};
}

View file

@ -51,6 +51,9 @@
"workbench.iconTheme" = "vscode-icons";
"vim.smartRelativeLine" = true;
"rust-analyzer.cargo.sysroot" = "discover";
"[typescriptreact]"= {
"editor.defaultFormatter"= "esbenp.prettier-vscode";
};
};

9
etc/configs/waydroid.nix Normal file
View file

@ -0,0 +1,9 @@
{ pkgs, ... }: {
virtualisation.waydroid.enable = true;
environment.systemPackages = with pkgs; [
waydroid
weston
];
}

View file

@ -102,6 +102,6 @@
};
nixpkgs.config.allowUnfree = true;
system.stateVersion = "24.05";
nix.settings.auto-optimise-store = true;
system.stateVersion = "24.11";
}

View file

@ -52,6 +52,7 @@
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
];
home-manager.backupFileExtension = "backup";
imports = [
./configs/i3.nix
@ -65,6 +66,8 @@
./configs/gpu-screen-recorder.nix
./configs/firefox.nix
./configs/waydroid.nix
#./configs/builders.nix
./configs/element.nix
./configs/nvim.nix
@ -77,6 +80,9 @@
# apps
./apps/graphics.nix
# other
./configs/firewall.nix
];

View file

@ -8,10 +8,10 @@
environment.systemPackages = with pkgs; [
# tools
git # version control
#neovim # cli editor
#beekeeper-studio # mysql postgres ... client
#insomnia # http client
beekeeper-studio # mysql postgres ... client
insomnia # http client
ungoogled-chromium # for testing vite projects
redisinsight
#containers
docker

View file

@ -27,11 +27,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1717088823,
"narHash": "sha256-0O6UdKp/OmEa0fxfyrJc/xSYLu1Hb18YZ5gML+uEmYQ=",
"lastModified": 1717120365,
"narHash": "sha256-x7KtXvougs//cuTBZLfXAbm/Ii9O6QVmpxAFfgQ46os=",
"ref": "refs/heads/master",
"rev": "836ad761738f911198b8ae70b622162c432f4439",
"revCount": 2,
"rev": "95c73573636607ff6fdf8cc4070a22670d6192d5",
"revCount": 3,
"type": "git",
"url": "https://git.4o1x5.dev/4o1x5/dttyper"
},
@ -123,11 +123,11 @@
]
},
"locked": {
"lastModified": 1717664902,
"narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=",
"lastModified": 1718879355,
"narHash": "sha256-RTyqP4fBX2MdhNuMP+fnR3lIwbdtXhyj7w7fwtvgspc=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1",
"rev": "8cd35b9496d21a6c55164d8547d9d5280162b07a",
"type": "github"
},
"original": {
@ -165,11 +165,11 @@
]
},
"locked": {
"lastModified": 1717527182,
"narHash": "sha256-vWSkg6AMok1UUQiSYVdGMOXKD2cDFnajITiSi0Zjd1A=",
"lastModified": 1718530513,
"narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "845a5c4c073f74105022533907703441e0464bc3",
"rev": "a1fddf0967c33754271761d91a3d921772b30d0e",
"type": "github"
},
"original": {
@ -187,15 +187,16 @@
]
},
"locked": {
"lastModified": 1717525419,
"narHash": "sha256-5z2422pzWnPXHgq2ms8lcCfttM0dz+hg+x1pCcNkAws=",
"lastModified": 1718530513,
"narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "a7117efb3725e6197dd95424136f79147aa35e5b",
"rev": "a1fddf0967c33754271761d91a3d921772b30d0e",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-24.05",
"repo": "home-manager",
"type": "github"
}
@ -208,11 +209,11 @@
]
},
"locked": {
"lastModified": 1716993688,
"narHash": "sha256-vo5k2wQekfeoq/2aleQkBN41dQiQHNTniZeVONWiWLs=",
"lastModified": 1719128254,
"narHash": "sha256-I7jMpq0CAOZA/i70+HDQO/ulLttyQu/K70cSESiMX7A=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "c0d5b8c54d6828516c97f6be9f2d00c63a363df4",
"rev": "50581970f37f06a4719001735828519925ef8310",
"type": "github"
},
"original": {
@ -238,11 +239,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1716948383,
"narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=",
"lastModified": 1719075281,
"narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ad57eef4ef0659193044870c731987a6df5cf56b",
"rev": "a71e967ef3694799d0c418c98332f7ff4cc5f6af",
"type": "github"
},
"original": {
@ -253,11 +254,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1717555607,
"narHash": "sha256-WZ1s48OODmRJ3DHC+I/DtM3tDRuRJlNqMvxvAPTD7ec=",
"lastModified": 1719145550,
"narHash": "sha256-K0i/coxxTEl30tgt4oALaylQfxqbotTSNb1/+g+mKMQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0b8e7a1ae5a94da2e1ee3f3030a32020f6254105",
"rev": "e4509b3a560c87a8d4cb6f9992b8915abf9e36d8",
"type": "github"
},
"original": {
@ -296,11 +297,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1717677834,
"narHash": "sha256-1bKEl+4U9mu0357P1Neqt5AE46zqTuT/0qzxoZ0dNyo=",
"lastModified": 1719131261,
"narHash": "sha256-rtcRg/aaZ72Fb7NCFz87ATvmS7LyHKbkY9gwJRqhJK8=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "2c25e77d8265a1b473a671d0cb5598c1830d94c6",
"rev": "066485bf4c4cd83f01a75d46556ba2037e716604",
"type": "github"
},
"original": {
@ -318,11 +319,11 @@
"utils": "utils"
},
"locked": {
"lastModified": 1714473972,
"narHash": "sha256-J1o+D45PXCmPZHvGpA8mhzb7BolvBv0wWY8vYo+WMp8=",
"lastModified": 1719253019,
"narHash": "sha256-PWW+AXeiRAEozwFnGe1oFwJDbPqacSNbw1HjOT+TlKM=",
"owner": "icewind1991",
"repo": "nvidia-patch-nixos",
"rev": "0baf075bedfc84dc488000ae6c7cb4ed56967e2f",
"rev": "b75e8c26b7e46a7c1eaf3df416b9393db06779d5",
"type": "github"
},
"original": {
@ -336,8 +337,8 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1716331053,
"narHash": "sha256-A8ggbOSOGZHCs4APNRNS9EL75Lnv7V25Wu9kllkwzx8=",
"lastModified": 1718011692,
"narHash": "sha256-QfTKtCPNmrxiXzcAQDnfB8Rh+w+jWpvYK/y8Grq7fdw=",
"path": "/home/grape/code/romodoro",
"type": "path"
},
@ -395,11 +396,11 @@
]
},
"locked": {
"lastModified": 1717278143,
"narHash": "sha256-u10aDdYrpiGOLoxzY/mJ9llST9yO8Q7K/UlROoNxzDw=",
"lastModified": 1718522839,
"narHash": "sha256-ULzoKzEaBOiLRtjeY3YoGFJMwWSKRYOic6VNw2UyTls=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "3eb96ca1ae9edf792a8e0963cc92fddfa5a87706",
"rev": "68eb1dc333ce82d0ab0c0357363ea17c31ea1f81",
"type": "github"
},
"original": {

View file

@ -4,14 +4,27 @@
environment.systemPackages = with pkgs;[
# minecraft
#prismlauncher
# not so epic games
heroic
(lutris.override {
extraPkgs = pkgs: [
pkgs.winePackages.base
];
})
];
# for lol
#virtualisation.libvirtd.enable = true;
#users.extraUsers.grape.extraGroups = [ "libvirtd" ];
#boot.extraModprobeConfig = ''
# options kvm_intel nested=1
# options kvm_intel emulate_invalid_guest_state=0
# options kvm ignore_msrs=1
#'';
# enabling java for mc
#programs.java = { enable = true; package = pkgs.jdk17; };

View file

@ -1,6 +1,9 @@
{ pkgs, config, ... }: {
services.input-remapper.enable = true;
services.input-remapper.serviceWantedBy = [
"multi-user.target"
];
environment.systemPackages = [
pkgs.input-remapper
];