Compare commits
35 commits
556749b42c
...
5f5c70958e
Author | SHA1 | Date | |
---|---|---|---|
5f5c70958e | |||
75f7cbffa2 | |||
529961cefc | |||
7f0e304478 | |||
642bea2f41 | |||
1182d7e1ac | |||
3cb1680ffc | |||
8238b20d38 | |||
a1cfd30341 | |||
3fff2cd853 | |||
e400a3dc90 | |||
88fbe0d74a | |||
317ec37863 | |||
68d23850d8 | |||
2aa9e86a5d | |||
085d68b27d | |||
15d176e2b3 | |||
2094d5ce7b | |||
2f9cc4052a | |||
622d09e2c8 | |||
f0865a73a8 | |||
ef7ed6de55 | |||
a189a0f467 | |||
5889f85a24 | |||
bf4f121ec1 | |||
973c3d8bac | |||
ca5c52e679 | |||
1ecad38549 | |||
e6231562a3 | |||
508d543ae9 | |||
376a5a99d6 | |||
c4cb22b00d | |||
2c6b52a617 | |||
c1fd569ae5 | |||
31146eb6f7 |
21 changed files with 279 additions and 143 deletions
|
@ -17,7 +17,8 @@ each host should have these files:
|
|||
## todo
|
||||
|
||||
- move common config such as bootloader and networking settings to [`default.nix`](./default.nix) or some other common spot
|
||||
- multi architecture configuration
|
||||
- multi architecture configuration ([nix-systems](https://github.com/nix-systems/nix-systems)?)
|
||||
- bitwarden
|
||||
- qt themes?
|
||||
- sddm cursors no work :(
|
||||
- setup editorconfig everywhere
|
||||
- divide steam and gamemode?
|
|
@ -3,7 +3,7 @@
|
|||
frame_color = "#89B4FA"
|
||||
separator_color= frame
|
||||
|
||||
follow = none
|
||||
follow = "mouse"
|
||||
width = 300
|
||||
height = 145
|
||||
origin = top-right
|
||||
|
|
223
flake.lock
generated
223
flake.lock
generated
|
@ -34,6 +34,22 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1711352745,
|
||||
|
@ -71,7 +87,10 @@
|
|||
},
|
||||
"hyprcursor": {
|
||||
"inputs": {
|
||||
"hyprlang": "hyprlang_2",
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
|
@ -82,11 +101,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1711466786,
|
||||
"narHash": "sha256-sArxGyUBiCA1in+q6t0QqT+ZJiZ1PyBp7cNPKLmREM0=",
|
||||
"lastModified": 1713612213,
|
||||
"narHash": "sha256-zJboXgWNpNhKyNF8H/3UYzWkx7w00TOCGKi3cwi+tsw=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"rev": "d3876f34779cc03ee51e4aafc0d00a4f187c7544",
|
||||
"rev": "cab4746180f210a3c1dd3d53e45c510e309e90e1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -99,14 +118,14 @@
|
|||
"inputs": {
|
||||
"hyprlang": "hyprlang",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"systems": "systems"
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710180874,
|
||||
"narHash": "sha256-ZSn3wXQuRz36Ta/L+UCFKuUVG6QpwK2QmRkPjpQprU4=",
|
||||
"lastModified": 1713472482,
|
||||
"narHash": "sha256-7Ft5WZTMIjXOGgRCf31DZBwK6RK8xkeKlD5vFXz3gII=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hypridle",
|
||||
"rev": "4395339a2dc410bcf49f3e24f9ed3024fdb25b0a",
|
||||
"rev": "7cff4581a3753154fc5b41f39a098fad49b777b1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -119,18 +138,19 @@
|
|||
"inputs": {
|
||||
"hyprcursor": "hyprcursor",
|
||||
"hyprland-protocols": "hyprland-protocols",
|
||||
"hyprlang": "hyprlang_3",
|
||||
"hyprlang": "hyprlang_2",
|
||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"systems": "systems_3",
|
||||
"wlroots": "wlroots",
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1711673030,
|
||||
"narHash": "sha256-atpS9c2LR56DIURlDLmuKHGmVQj9Xky2aETGhdTwMKg=",
|
||||
"lastModified": 1714084064,
|
||||
"narHash": "sha256-WUEFYyOzgWOr6pK2/1fCohUUF77wuj1zIeP8jvPL0LU=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "fcd9d77b642c0cd45cae61cf10ed1924f2e7945b",
|
||||
"rev": "1d40af64d352bd5a87c7d53a52707fc5cfc6940e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -185,14 +205,15 @@
|
|||
"nixpkgs": [
|
||||
"hypridle",
|
||||
"nixpkgs"
|
||||
]
|
||||
],
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1708212860,
|
||||
"narHash": "sha256-nW3Zrhh9RJcMTvOcXAaKADnJM/g6tDf3121lJtTHnYo=",
|
||||
"lastModified": 1713121246,
|
||||
"narHash": "sha256-502X0Q0fhN6tJK7iEUA8CghONKSatW/Mqj4Wappd++0=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "11d5ccda071c153dfdc18ef65338956a51cef96a",
|
||||
"rev": "78fcaa27ae9e1d782faa3ff06c8ea55ddce63706",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -205,17 +226,19 @@
|
|||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"hyprcursor",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_2"
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709914708,
|
||||
"narHash": "sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk=",
|
||||
"lastModified": 1713121246,
|
||||
"narHash": "sha256-502X0Q0fhN6tJK7iEUA8CghONKSatW/Mqj4Wappd++0=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2",
|
||||
"rev": "78fcaa27ae9e1d782faa3ff06c8ea55ddce63706",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -227,20 +250,17 @@
|
|||
"hyprlang_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"hyprlock",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1711250455,
|
||||
"narHash": "sha256-LSq1ZsTpeD7xsqvlsepDEelWRDtAhqwetp6PusHXJRo=",
|
||||
"lastModified": 1713121246,
|
||||
"narHash": "sha256-502X0Q0fhN6tJK7iEUA8CghONKSatW/Mqj4Wappd++0=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "b3e430f81f3364c5dd1a3cc9995706a4799eb3fa",
|
||||
"rev": "78fcaa27ae9e1d782faa3ff06c8ea55ddce63706",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -250,28 +270,6 @@
|
|||
}
|
||||
},
|
||||
"hyprlang_4": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprlock",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1711250455,
|
||||
"narHash": "sha256-LSq1ZsTpeD7xsqvlsepDEelWRDtAhqwetp6PusHXJRo=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "b3e430f81f3364c5dd1a3cc9995706a4799eb3fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprlang_5": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"systems": "systems_6"
|
||||
|
@ -292,16 +290,16 @@
|
|||
},
|
||||
"hyprlock": {
|
||||
"inputs": {
|
||||
"hyprlang": "hyprlang_4",
|
||||
"hyprlang": "hyprlang_3",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"systems": "systems_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1711622429,
|
||||
"narHash": "sha256-JwHbbmAzX1Kfq1XAs06lKbk2TZL7mH/yLczG4BaiuTs=",
|
||||
"lastModified": 1713978374,
|
||||
"narHash": "sha256-jla5Wo0Qt3NEnD0OjNj85BGw0pR4Zlz5uy8AqHH7tuE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlock",
|
||||
"rev": "7f8c9b6addce5174af78acaf1eb1d726fc4133b5",
|
||||
"rev": "415262065fff0a04b229cd00165f346a86a0a73a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -312,16 +310,16 @@
|
|||
},
|
||||
"hyprpaper": {
|
||||
"inputs": {
|
||||
"hyprlang": "hyprlang_5",
|
||||
"hyprlang": "hyprlang_4",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"systems": "systems_7"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1711556036,
|
||||
"narHash": "sha256-z+ZgMjGC8540k3Z6Z49ZnEvbWyLGXtWPSCagMOrmuXk=",
|
||||
"lastModified": 1712919696,
|
||||
"narHash": "sha256-93zNQy4LGFP5h/GrQJctd8cPE0VdCDsWigTOx2effrE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprpaper",
|
||||
"rev": "5838c90cd29374935930281f62bc131d8bcf2295",
|
||||
"rev": "02ee7ff3bbd9cba72f26be7b09dde4a89fc31c21",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -330,6 +328,31 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprwayland-scanner": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1713989318,
|
||||
"narHash": "sha256-WSsEQQxZQ+bsAWRhi1iXvP8sxgRyNtY3X1V3CfFdP5Q=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"rev": "1cfe2d26a82ce794fd33ec06fa022e68501c5a45",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-colors": {
|
||||
"inputs": {
|
||||
"base16-schemes": "base16-schemes",
|
||||
|
@ -382,11 +405,11 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1708475490,
|
||||
"narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=",
|
||||
"lastModified": 1712963716,
|
||||
"narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "0e74ca98a74bc7270d28838369593635a5db3260",
|
||||
"rev": "cfd6b5fc90b15709b780a5a1619695a88505a176",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -398,11 +421,11 @@
|
|||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1711523803,
|
||||
"narHash": "sha256-UKcYiHWHQynzj6CN/vTcix4yd1eCu1uFdsuarupdCQQ=",
|
||||
"lastModified": 1713714899,
|
||||
"narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2726f127c15a4cc9810843b96cad73c7eb39e443",
|
||||
"rev": "6143fc5eeb9c4f00163267708e26191d1e918932",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -414,11 +437,11 @@
|
|||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1711523803,
|
||||
"narHash": "sha256-UKcYiHWHQynzj6CN/vTcix4yd1eCu1uFdsuarupdCQQ=",
|
||||
"lastModified": 1712963716,
|
||||
"narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2726f127c15a4cc9810843b96cad73c7eb39e443",
|
||||
"rev": "cfd6b5fc90b15709b780a5a1619695a88505a176",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -476,6 +499,22 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1711163522,
|
||||
"narHash": "sha256-YN/Ciidm+A0fmJPWlHBGvVkcarYWSC+s3NTPk/P+q3c=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "44d0940ea560dee511026a53f0e2e2cde489b4d4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"catppuccin-vsc": "catppuccin-vsc",
|
||||
|
@ -488,6 +527,7 @@
|
|||
"hyprpaper": "hyprpaper",
|
||||
"nix-colors": "nix-colors",
|
||||
"nixpkgs": "nixpkgs_7",
|
||||
"waybar": "waybar",
|
||||
"waybar-catppuccin": "waybar-catppuccin"
|
||||
}
|
||||
},
|
||||
|
@ -596,6 +636,25 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"waybar": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"nixpkgs": "nixpkgs_8"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1714680561,
|
||||
"narHash": "sha256-ov7v4OaiMW6gylMFTjKXXtoxrgAjtOTHa09oFmu3B3s=",
|
||||
"owner": "Alexays",
|
||||
"repo": "Waybar",
|
||||
"rev": "0b6476da32d181ee6b2cabdc5205a46a90521a75",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Alexays",
|
||||
"repo": "Waybar",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"waybar-catppuccin": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -615,20 +674,18 @@
|
|||
"wlroots": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"host": "gitlab.freedesktop.org",
|
||||
"lastModified": 1709983277,
|
||||
"narHash": "sha256-wXWIJLd4F2JZeMaihWVDW/yYXCLEC8OpeNJZg9a9ly8=",
|
||||
"owner": "wlroots",
|
||||
"repo": "wlroots",
|
||||
"rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b",
|
||||
"type": "gitlab"
|
||||
"lastModified": 1713731601,
|
||||
"narHash": "sha256-bdcKdtLkusvv85DNuJsajZLFeq7bXp+x5AGP1Sd4wD8=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "wlroots-hyprland",
|
||||
"rev": "5c1d51c5a2793480f5b6c4341ad0797052aec2ea",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"host": "gitlab.freedesktop.org",
|
||||
"owner": "wlroots",
|
||||
"repo": "wlroots",
|
||||
"rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b",
|
||||
"type": "gitlab"
|
||||
"owner": "hyprwm",
|
||||
"repo": "wlroots-hyprland",
|
||||
"rev": "5c1d51c5a2793480f5b6c4341ad0797052aec2ea",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xdph": {
|
||||
|
@ -651,11 +708,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709299639,
|
||||
"narHash": "sha256-jYqJM5khksLIbqSxCLUUcqEgI+O2LdlSlcMEBs39CAU=",
|
||||
"lastModified": 1713724432,
|
||||
"narHash": "sha256-dtU1y4oj/0Y42oauzm93ucFg1AoqETnQ21bmXTIUng0=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "2d2fb547178ec025da643db57d40a971507b82fe",
|
||||
"rev": "9ace6f969ce495185df34cc6254fb9d297765478",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
hardware.url = "github:nixos/nixos-hardware";
|
||||
nix-colors.url = "github:misterio77/nix-colors";
|
||||
|
||||
waybar.url = "github:Alexays/Waybar";
|
||||
|
||||
hyprland.url = "github:hyprwm/Hyprland";
|
||||
hyprlock.url = "github:hyprwm/hyprlock";
|
||||
hypridle.url = "github:hyprwm/hypridle";
|
||||
|
|
|
@ -19,18 +19,19 @@
|
|||
# apps
|
||||
firefox mpv qalculate-gtk
|
||||
# misc
|
||||
bat file which tree prismlauncher yt-dlp
|
||||
bat file which tree prismlauncher yt-dlp ffmpeg gpu-screen-recorder gpu-screen-recorder-gtk
|
||||
] ++ (with pkgs.my; [
|
||||
# none yet
|
||||
]) ++ (with pkgs.gnome; [
|
||||
# yay gnomeware!!!!!!!!!!!!!! yum
|
||||
nautilus gnome-disk-utility pkgs.gnome-text-editor file-roller gnome-system-monitor loupe
|
||||
nautilus gnome-disk-utility pkgs.gnome-text-editor pkgs.baobab file-roller gnome-system-monitor loupe
|
||||
]);
|
||||
|
||||
modules = {
|
||||
security.useDoas = true;
|
||||
|
||||
hardware = {
|
||||
bluetooth.enable = true;
|
||||
pipewire.enable = true;
|
||||
};
|
||||
dev = {
|
||||
|
@ -44,6 +45,7 @@
|
|||
hypridle.enable = true;
|
||||
hyprpaper.enable = true;
|
||||
|
||||
polkit-gnome.enable = true;
|
||||
dunst.enable = true;
|
||||
rofi.enable = true;
|
||||
nwg-drawer.enable = true;
|
||||
|
@ -64,7 +66,7 @@
|
|||
dev.git.enable = true;
|
||||
# distractions
|
||||
distractions.discord.enable = true;
|
||||
distractions.discord.armcord = true;
|
||||
distractions.discord.vesktop = true;
|
||||
distractions.steam.enable = true;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -21,8 +21,7 @@
|
|||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
|
||||
# nvidia
|
||||
# !! you should keep this enabled if you use wayland !!
|
||||
# nvidia driver
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
|
||||
hardware.nvidia = {
|
||||
|
@ -31,11 +30,13 @@
|
|||
modesetting.enable = true;
|
||||
|
||||
powerManagement.enable = true;
|
||||
|
||||
# this program is (respectfully) a pile of dogshit and is just bloat if using wayland
|
||||
nvidiaSettings = false;
|
||||
};
|
||||
|
||||
boot.kernelParams = [
|
||||
# use experimental nvidia supplied framebuffer
|
||||
"nvidia-drm.fbdev=1"
|
||||
];
|
||||
|
||||
# VA-API
|
||||
hardware.opengl = {
|
||||
extraPackages = with pkgs; [
|
||||
|
|
|
@ -13,12 +13,6 @@ in {
|
|||
|
||||
config = mkMerge [
|
||||
{
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "gnome";
|
||||
style = "adwaita-dark";
|
||||
};
|
||||
|
||||
modules.desktop.fonts.enable = true;
|
||||
modules.desktop.fonts.baseFonts = true;
|
||||
}
|
||||
|
@ -33,8 +27,6 @@ in {
|
|||
XDG_SESSION_TYPE = "wayland";
|
||||
SDL_VIDEODRIVER = "wayland";
|
||||
CLUTTER_BACKEND = "wayland";
|
||||
# this fixes cursors on nvidia, maybe move all nvidia stuff to a module? or put this in hardware
|
||||
WLR_NO_HARDWARE_CURSORS = "1";
|
||||
};
|
||||
})
|
||||
(mkIf (cfg.envProto == "x11") {
|
||||
|
|
|
@ -89,7 +89,6 @@ in {
|
|||
};
|
||||
|
||||
hm.gtk.enable = true;
|
||||
# not the best way of writing this (imagine if `name` was named `family`...)
|
||||
hm.gtk.font = with cfg.fonts.sansSerif; {
|
||||
package = package;
|
||||
name = family;
|
||||
|
|
|
@ -14,20 +14,18 @@ in {
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
hm.services.hypridle = {
|
||||
hm.services.hypridle = let
|
||||
hyprctl = "${config.modules.desktop.hyprland.package}/bin/hyprctl";
|
||||
in {
|
||||
enable = true;
|
||||
package = cfg.package;
|
||||
|
||||
# the `date` command doesn't work if we just call hyprlock. Huh
|
||||
# workaround is telling hyprctl to dispatch to execute it
|
||||
# hacky, but i couldn't care less at the moment
|
||||
# TODO: change this when/if it gets patched
|
||||
lockCmd = "${config.modules.desktop.hyprland.package}/bin/hyprctl dispatch exec ${lib.getExe config.modules.desktop.hyprlock.package}";
|
||||
unlockCmd = "pkill -USR1 hyprlock";
|
||||
lockCmd = "${pkgs.procps}/bin/pidof hyprlock || ${hyprctl} dispatch exec ${lib.getExe config.modules.desktop.hyprlock.package}";
|
||||
unlockCmd = "${pkgs.procps}/bin/pkill -USR1 hyprlock";
|
||||
|
||||
listeners = let
|
||||
hyprctl = "${config.modules.desktop.hyprland.package}/bin/hyprctl";
|
||||
in [
|
||||
beforeSleepCmd = "${pkgs.systemd}/bin/loginctl lock-session";
|
||||
|
||||
listeners = [
|
||||
{
|
||||
timeout = 90; # 1.5 min
|
||||
onTimeout = "${hyprctl} dispatch dpms off"; # turn off screen
|
||||
|
@ -35,11 +33,11 @@ in {
|
|||
}
|
||||
{
|
||||
timeout = 60 * 2; # 2 min
|
||||
onTimeout = "loginctl lock-session"; # lock computer
|
||||
onTimeout = "${pkgs.systemd}/bin/loginctl lock-session"; # lock computer
|
||||
}
|
||||
{
|
||||
timeout = 60 * 30; # 15 min
|
||||
onTimeout = "systemctl suspend"; # sleep/suspend
|
||||
timeout = 60 * 30; # 30 min
|
||||
onTimeout = "${pkgs.systemd}/bin/systemctl suspend"; # sleep/suspend
|
||||
}
|
||||
];
|
||||
};
|
||||
|
|
|
@ -118,18 +118,27 @@ in {
|
|||
windowrulev2 = [
|
||||
# common popups
|
||||
"float, class:file-roller"
|
||||
"size 1100 730, class:file-roller"
|
||||
"float, class:org.gnome.Loupe"
|
||||
"size 1100 730, class:org.gnome.Loupe"
|
||||
"float, initialTitle:^Open Folder$"
|
||||
"size 1100 730, initialTitle:^Open Folder$"
|
||||
"float, initialTitle:^Open File$"
|
||||
"size 1100 730, initialTitle:^Open File$"
|
||||
"float, initialTitle:^Open Files$"
|
||||
"size 1100 730, initialTitle:^Open Files$"
|
||||
"float, initialTitle:^Save As$"
|
||||
"size 1100 730, initialTitle:^Save As$"
|
||||
|
||||
# fix focus
|
||||
"stayfocused, class:^pinentry-"
|
||||
"stayfocused, class:^polkit-"
|
||||
"stayfocused, class:^rofi-"
|
||||
|
||||
# workspace moving
|
||||
"workspace 1, class:^firefox"
|
||||
"workspace 2, class:code-url-handler"
|
||||
"workspace 4, class:ArmCord"
|
||||
"workspace 4, class:vesktop"
|
||||
];
|
||||
|
||||
blurls = [
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, config, inputs, system, ... }:
|
||||
{ lib, config, pkgs, inputs, system, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
|
@ -15,17 +15,16 @@ in {
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
security.pam.services.hyprlock.text = "auth include login";
|
||||
powerManagement.resumeCommands = ''
|
||||
${cfg.package}
|
||||
'';
|
||||
hm.programs.hyprlock = with config.colorScheme.palette; {
|
||||
enable = true;
|
||||
package = cfg.package;
|
||||
|
||||
general = {
|
||||
hide_cursor = false;
|
||||
no_fade_in = true;
|
||||
no_fade_out = true;
|
||||
};
|
||||
|
||||
backgrounds = [
|
||||
{
|
||||
path = toString ../../assets/lockscreen.png;
|
||||
|
@ -33,6 +32,7 @@ in {
|
|||
blur_size = 6;
|
||||
}
|
||||
];
|
||||
|
||||
labels = [
|
||||
{
|
||||
text = "cmd[update:1000] echo \"$(date +'%H:%M')\"";
|
||||
|
@ -49,6 +49,7 @@ in {
|
|||
position = { x = 0; y = 10; };
|
||||
}
|
||||
];
|
||||
|
||||
input-fields = [
|
||||
{
|
||||
size = { width = 300; height = 28; };
|
||||
|
|
|
@ -9,7 +9,7 @@ in {
|
|||
package = mkOption {
|
||||
type = types.package;
|
||||
default = inputs.hyprpaper.packages.${system}.hyprpaper;
|
||||
example = "pkgs.hyperpaper";
|
||||
example = "pkgs.hyprpaper";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
28
modules/desktop/polkit-gnome.nix
Normal file
28
modules/desktop/polkit-gnome.nix
Normal file
|
@ -0,0 +1,28 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.desktop.polkit-gnome;
|
||||
in {
|
||||
options.modules.desktop.polkit-gnome = {
|
||||
enable = mkEnableOption "Enable polkit-gnome, a simple polkit agent";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.user.services.polkit-gnome-authentication-agent-1 = {
|
||||
description = "polkit-gnome-authentication-agent-1";
|
||||
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
wants = [ "graphical-session.target" ];
|
||||
after = [ "graphical-session.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 1;
|
||||
TimeoutStopSec = 10;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -10,6 +10,7 @@ in {
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
services.xserver.enable = true; # this is needed, unfortunately!
|
||||
services.xserver.excludePackages = [ pkgs.xterm ]; # prevents xterm on wayland and x
|
||||
environment.systemPackages = with pkgs; [
|
||||
config.modules.desktop.themes.sddmTheme.package
|
||||
libsForQt5.qt5.qtsvg
|
||||
|
|
|
@ -67,6 +67,19 @@ in {
|
|||
theme = cfg.gtkTheme;
|
||||
};
|
||||
|
||||
hm.qt = {
|
||||
enable = true;
|
||||
platformTheme = "gtk";
|
||||
style.name = "gtk2";
|
||||
};
|
||||
|
||||
hm.home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
x11.enable = true;
|
||||
name = cfg.cursorTheme.name;
|
||||
package = cfg.cursorTheme.package;
|
||||
};
|
||||
|
||||
hm.services.dunst.iconTheme = {
|
||||
name = cfg.iconTheme.name;
|
||||
package = cfg.iconTheme.package;
|
||||
|
|
|
@ -1,17 +1,23 @@
|
|||
{ lib, config, pkgs, inputs, ... }:
|
||||
{ lib, config, pkgs, inputs, system, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.desktop.waybar;
|
||||
in {
|
||||
options.modules.desktop.waybar = {
|
||||
enable = mkEnableOption "Enable Waybar, a lightweight desktop environment based on GTK+";
|
||||
enable = mkEnableOption "Enable Waybar, a highly customizable wayland bar for wlroots compositors.";
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = inputs.waybar.packages.${system}.default;
|
||||
example = "pkgs.waybar";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
hm.wayland.windowManager.hyprland.settings.exec-once = [ "${lib.getExe pkgs.waybar}" ];
|
||||
hm.wayland.windowManager.hyprland.settings.exec-once = [ "${lib.getExe cfg.package}" ];
|
||||
hm.programs.waybar = {
|
||||
enable = true;
|
||||
package = cfg.package;
|
||||
style = builtins.concatStringsSep "\n" [
|
||||
"@import \"${inputs.waybar-catppuccin}/themes/mocha.css\";"
|
||||
(lib.readFile ../../config/waybar.css)
|
||||
|
@ -129,8 +135,7 @@ in {
|
|||
"(\\S+\\.zig\\s.*)" = " $1";
|
||||
"(\\S+\\.rs\\s.*)" = " $1";
|
||||
"(\\S+\\.hs\\s.*)" = " $1";
|
||||
".*Discord | (.*) | .*" = "$1 - ArmCord";
|
||||
#"(.*) - ArmCord" = "$1";
|
||||
".*Discord \\| (.*)" = "$1";
|
||||
};
|
||||
separate-outputs = true;
|
||||
};
|
||||
|
|
19
modules/hardware/bluetooth.nix
Normal file
19
modules/hardware/bluetooth.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{ pkgs, config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.hardware.bluetooth;
|
||||
in {
|
||||
options.modules.hardware.bluetooth = {
|
||||
enable = mkEnableOption "Enable bluetooth, a short-range communication technology";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
hardware.bluetooth.enable = true;
|
||||
hardware.bluetooth.powerOnBoot = true;
|
||||
|
||||
# frontend
|
||||
services.blueman.enable = true;
|
||||
hm.services.blueman-applet.enable = true;
|
||||
};
|
||||
}
|
|
@ -33,16 +33,7 @@ in {
|
|||
];
|
||||
|
||||
aliases = {
|
||||
ranked-authors = "!git authors | sort | uniq -c | sort -n";
|
||||
emails = ''
|
||||
!git log --format="%aE" | sort -u
|
||||
'';
|
||||
email-domains = ''
|
||||
!git log --format="%aE" | awk -F'@' '{print $2}' | sort -u
|
||||
'';
|
||||
graph = ''
|
||||
log --graph --color --pretty=format:"%C(yellow)%H%C(green)%d%C(reset)%n%x20%cd%n%x20%cn%x20(%ce)%n%x20%s%n"
|
||||
'';
|
||||
graph = ''log --graph --color --pretty=format:"%C(yellow)%H%C(green)%d%C(reset)%n%x20%cd%n%x20%cn%x20(%ce)%n%x20%s%n"'';
|
||||
};
|
||||
|
||||
extraConfig = {
|
||||
|
|
|
@ -6,11 +6,11 @@ let
|
|||
in {
|
||||
options.modules.software.distractions.discord = {
|
||||
enable = mkEnableOption "Enable discord, a social messaging app";
|
||||
armcord = mkEnableOption "Use armcord, an alternative discord client.";
|
||||
vesktop = mkEnableOption "Use vesktop, an alternative discord client.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable (mkMerge [
|
||||
(mkIf (!cfg.armcord) {
|
||||
(mkIf (!cfg.vesktop) {
|
||||
user.packages = let
|
||||
flags =
|
||||
[
|
||||
|
@ -36,8 +36,8 @@ in {
|
|||
});
|
||||
in [ discord ];
|
||||
})
|
||||
(mkIf cfg.armcord {
|
||||
user.packages = with pkgs; [ armcord ];
|
||||
(mkIf cfg.vesktop {
|
||||
user.packages = with pkgs; [ vesktop ];
|
||||
})
|
||||
]);
|
||||
}
|
|
@ -10,11 +10,21 @@ in {
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
programs.steam.enable = true;
|
||||
|
||||
# optimize linux system performance on demand
|
||||
# https://github.com/FeralInteractive/gamemode
|
||||
user.extraGroups = [ "gamemode" ];
|
||||
programs.gamemode = {
|
||||
enable = true;
|
||||
enableRenice = true;
|
||||
settings = {};
|
||||
settings = {
|
||||
custom = {
|
||||
start = "${pkgs.libnotify}/bin/notify-send --app-name GameMode 'GameMode started'";
|
||||
end = "${pkgs.libnotify}/bin/notify-send --app-name GameMode 'GameMode ended'";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.gamescope = {
|
||||
enable = true;
|
||||
capSysNice = true;
|
||||
|
@ -23,6 +33,7 @@ in {
|
|||
enable = true;
|
||||
args = [ "-W 1920" "-H 1080" "-r 60" "--expose-wayland" "-e" ];
|
||||
};
|
||||
|
||||
user.packages = [ pkgs.protontricks pkgs.steam-run ];
|
||||
};
|
||||
}
|
|
@ -33,5 +33,11 @@ with lib.my;
|
|||
trusted-users = users;
|
||||
allowed-users = users;
|
||||
};
|
||||
|
||||
users.users.root = {
|
||||
packages = [ pkgs.shadow ];
|
||||
shell = pkgs.shadow;
|
||||
hashedPassword = "!";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue