From 31146eb6f7c5d6f10596b9e448697e01a24d6e50 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Tue, 16 Apr 2024 19:26:08 -0700 Subject: [PATCH 01/35] move from armcord to vesktop --- hosts/goopnet-interface/default.nix | 2 +- modules/software/distractions/discord.nix | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/hosts/goopnet-interface/default.nix b/hosts/goopnet-interface/default.nix index 66f33f3..3058d7e 100755 --- a/hosts/goopnet-interface/default.nix +++ b/hosts/goopnet-interface/default.nix @@ -64,7 +64,7 @@ dev.git.enable = true; # distractions distractions.discord.enable = true; - distractions.discord.armcord = true; + distractions.discord.vesktop = true; distractions.steam.enable = true; }; }; diff --git a/modules/software/distractions/discord.nix b/modules/software/distractions/discord.nix index 8dd2020..1c1c8d9 100644 --- a/modules/software/distractions/discord.nix +++ b/modules/software/distractions/discord.nix @@ -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 ]; }) ]); } \ No newline at end of file From c1fd569ae5d866a1c15d6480fce901ab7916ad72 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Mon, 22 Apr 2024 17:25:43 -0700 Subject: [PATCH 02/35] vesktop fixes --- modules/desktop/hyprland.nix | 2 +- modules/desktop/waybar.nix | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/modules/desktop/hyprland.nix b/modules/desktop/hyprland.nix index 61be900..2cdf0b8 100644 --- a/modules/desktop/hyprland.nix +++ b/modules/desktop/hyprland.nix @@ -129,7 +129,7 @@ in { # workspace moving "workspace 1, class:^firefox" "workspace 2, class:code-url-handler" - "workspace 4, class:ArmCord" + "workspace 4, class:vesktop" ]; blurls = [ diff --git a/modules/desktop/waybar.nix b/modules/desktop/waybar.nix index eaba66f..66639b4 100644 --- a/modules/desktop/waybar.nix +++ b/modules/desktop/waybar.nix @@ -129,8 +129,7 @@ in { "(\\S+\\.zig\\s.*)" = " $1"; "(\\S+\\.rs\\s.*)" = " $1"; "(\\S+\\.hs\\s.*)" = " $1"; - ".*Discord | (.*) | .*" = "$1 - ArmCord"; - #"(.*) - ArmCord" = "$1"; + ".*Discord \\| (.*) \\| .*" = "$1 - $2"; }; separate-outputs = true; }; From 2c6b52a6174c5051ce18ec597885cea843f6a3e6 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Mon, 22 Apr 2024 17:30:39 -0700 Subject: [PATCH 03/35] oh. that doesn't work if the channel has a pipe --- modules/desktop/waybar.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/desktop/waybar.nix b/modules/desktop/waybar.nix index 66639b4..7bd7aed 100644 --- a/modules/desktop/waybar.nix +++ b/modules/desktop/waybar.nix @@ -129,7 +129,7 @@ in { "(\\S+\\.zig\\s.*)" = " $1"; "(\\S+\\.rs\\s.*)" = " $1"; "(\\S+\\.hs\\s.*)" = " $1"; - ".*Discord \\| (.*) \\| .*" = "$1 - $2"; + # ".*Discord \\| (.*) \\| .*" = "$1 - $2"; }; separate-outputs = true; }; From c4cb22b00d78aae53a9132cff529b495ef93bca0 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Mon, 22 Apr 2024 17:31:32 -0700 Subject: [PATCH 04/35] nvm --- modules/desktop/waybar.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/desktop/waybar.nix b/modules/desktop/waybar.nix index 7bd7aed..59765ff 100644 --- a/modules/desktop/waybar.nix +++ b/modules/desktop/waybar.nix @@ -129,7 +129,7 @@ in { "(\\S+\\.zig\\s.*)" = " $1"; "(\\S+\\.rs\\s.*)" = " $1"; "(\\S+\\.hs\\s.*)" = " $1"; - # ".*Discord \\| (.*) \\| .*" = "$1 - $2"; + ".*Discord \\| (.*) \\| (.*)" = "$1 - $2"; }; separate-outputs = true; }; From 376a5a99d6c9ec231de9d3a2522a805cf4767cff Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Mon, 22 Apr 2024 17:38:27 -0700 Subject: [PATCH 05/35] i give up --- modules/desktop/waybar.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/desktop/waybar.nix b/modules/desktop/waybar.nix index 59765ff..2af565c 100644 --- a/modules/desktop/waybar.nix +++ b/modules/desktop/waybar.nix @@ -129,7 +129,7 @@ in { "(\\S+\\.zig\\s.*)" = " $1"; "(\\S+\\.rs\\s.*)" = " $1"; "(\\S+\\.hs\\s.*)" = " $1"; - ".*Discord \\| (.*) \\| (.*)" = "$1 - $2"; + ".*Discord \\| (.*)" = "$1"; }; separate-outputs = true; }; From 508d543ae9ceb015423ace814ace284b5eeb7a76 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Mon, 22 Apr 2024 19:07:18 -0700 Subject: [PATCH 06/35] add baobab --- hosts/goopnet-interface/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/goopnet-interface/default.nix b/hosts/goopnet-interface/default.nix index 3058d7e..01048d4 100755 --- a/hosts/goopnet-interface/default.nix +++ b/hosts/goopnet-interface/default.nix @@ -24,7 +24,7 @@ # 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 = { From e6231562a3159607c8ca159ee6370e132f8c2a02 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Mon, 22 Apr 2024 19:51:00 -0700 Subject: [PATCH 07/35] slay the xterm beast --- modules/desktop/sddm.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/desktop/sddm.nix b/modules/desktop/sddm.nix index 5d7c31a..1ab2038 100644 --- a/modules/desktop/sddm.nix +++ b/modules/desktop/sddm.nix @@ -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 From 1ecad3854905fc28fd27e719fb3c51b7fe5d01c1 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Mon, 22 Apr 2024 20:06:09 -0700 Subject: [PATCH 08/35] remove dumb comment --- modules/desktop/fonts.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/desktop/fonts.nix b/modules/desktop/fonts.nix index 6fa6fd9..f170546 100644 --- a/modules/desktop/fonts.nix +++ b/modules/desktop/fonts.nix @@ -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; From ca5c52e679982596798e2695843758f4d6b7650f Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Tue, 23 Apr 2024 00:05:45 -0700 Subject: [PATCH 09/35] add screen recorder --- hosts/goopnet-interface/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/goopnet-interface/default.nix b/hosts/goopnet-interface/default.nix index 01048d4..77f6902 100755 --- a/hosts/goopnet-interface/default.nix +++ b/hosts/goopnet-interface/default.nix @@ -19,7 +19,7 @@ # apps firefox mpv qalculate-gtk # misc - bat file which tree prismlauncher yt-dlp + bat file which tree prismlauncher gpu-screen-recorder-gtk yt-dlp ] ++ (with pkgs.my; [ # none yet ]) ++ (with pkgs.gnome; [ From 973c3d8bacb5daeb39f8fb31d891542ab850b100 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Thu, 25 Apr 2024 00:52:19 -0700 Subject: [PATCH 10/35] update hypr stuff --- flake.lock | 74 +++++++++++++++++++++-------------- modules/desktop/hypridle.nix | 8 +--- modules/desktop/hyprpaper.nix | 2 +- 3 files changed, 48 insertions(+), 36 deletions(-) diff --git a/flake.lock b/flake.lock index 377c687..849cca3 100644 --- a/flake.lock +++ b/flake.lock @@ -99,14 +99,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": { @@ -121,7 +121,7 @@ "hyprland-protocols": "hyprland-protocols", "hyprlang": "hyprlang_3", "nixpkgs": "nixpkgs_3", - "systems": "systems_3", + "systems": "systems_4", "wlroots": "wlroots", "xdph": "xdph" }, @@ -185,14 +185,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": { @@ -208,7 +209,7 @@ "hyprcursor", "nixpkgs" ], - "systems": "systems_2" + "systems": "systems_3" }, "locked": { "lastModified": 1709914708, @@ -255,14 +256,14 @@ "hyprlock", "nixpkgs" ], - "systems": "systems_4" + "systems": "systems_5" }, "locked": { - "lastModified": 1711250455, - "narHash": "sha256-LSq1ZsTpeD7xsqvlsepDEelWRDtAhqwetp6PusHXJRo=", + "lastModified": 1713121246, + "narHash": "sha256-502X0Q0fhN6tJK7iEUA8CghONKSatW/Mqj4Wappd++0=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "b3e430f81f3364c5dd1a3cc9995706a4799eb3fa", + "rev": "78fcaa27ae9e1d782faa3ff06c8ea55ddce63706", "type": "github" }, "original": { @@ -274,7 +275,7 @@ "hyprlang_5": { "inputs": { "nixpkgs": "nixpkgs_5", - "systems": "systems_6" + "systems": "systems_7" }, "locked": { "lastModified": 1711250455, @@ -294,14 +295,14 @@ "inputs": { "hyprlang": "hyprlang_4", "nixpkgs": "nixpkgs_4", - "systems": "systems_5" + "systems": "systems_6" }, "locked": { - "lastModified": 1711622429, - "narHash": "sha256-JwHbbmAzX1Kfq1XAs06lKbk2TZL7mH/yLczG4BaiuTs=", + "lastModified": 1713978374, + "narHash": "sha256-jla5Wo0Qt3NEnD0OjNj85BGw0pR4Zlz5uy8AqHH7tuE=", "owner": "hyprwm", "repo": "hyprlock", - "rev": "7f8c9b6addce5174af78acaf1eb1d726fc4133b5", + "rev": "415262065fff0a04b229cd00165f346a86a0a73a", "type": "github" }, "original": { @@ -314,14 +315,14 @@ "inputs": { "hyprlang": "hyprlang_5", "nixpkgs": "nixpkgs_6", - "systems": "systems_7" + "systems": "systems_8" }, "locked": { - "lastModified": 1711556036, - "narHash": "sha256-z+ZgMjGC8540k3Z6Z49ZnEvbWyLGXtWPSCagMOrmuXk=", + "lastModified": 1712919696, + "narHash": "sha256-93zNQy4LGFP5h/GrQJctd8cPE0VdCDsWigTOx2effrE=", "owner": "hyprwm", "repo": "hyprpaper", - "rev": "5838c90cd29374935930281f62bc131d8bcf2295", + "rev": "02ee7ff3bbd9cba72f26be7b09dde4a89fc31c21", "type": "github" }, "original": { @@ -382,11 +383,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": { @@ -414,11 +415,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": { @@ -596,6 +597,21 @@ "type": "github" } }, + "systems_8": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, "waybar-catppuccin": { "flake": false, "locked": { diff --git a/modules/desktop/hypridle.nix b/modules/desktop/hypridle.nix index 84c7d76..3c5aa21 100644 --- a/modules/desktop/hypridle.nix +++ b/modules/desktop/hypridle.nix @@ -18,11 +18,7 @@ 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}"; + lockCmd = "pidof hyprlock || ${lib.getExe config.modules.desktop.hyprlock.package}"; unlockCmd = "pkill -USR1 hyprlock"; listeners = let @@ -38,7 +34,7 @@ in { onTimeout = "loginctl lock-session"; # lock computer } { - timeout = 60 * 30; # 15 min + timeout = 60 * 30; # 30 min onTimeout = "systemctl suspend"; # sleep/suspend } ]; diff --git a/modules/desktop/hyprpaper.nix b/modules/desktop/hyprpaper.nix index 4c79d38..8e00d79 100644 --- a/modules/desktop/hyprpaper.nix +++ b/modules/desktop/hyprpaper.nix @@ -9,7 +9,7 @@ in { package = mkOption { type = types.package; default = inputs.hyprpaper.packages.${system}.hyprpaper; - example = "pkgs.hyperpaper"; + example = "pkgs.hyprpaper"; }; }; From bf4f121ec1230fbbac6d0c5e304c1fe40af77e04 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Thu, 25 Apr 2024 00:58:23 -0700 Subject: [PATCH 11/35] oops. that wasn't fixed --- modules/desktop/hypridle.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/desktop/hypridle.nix b/modules/desktop/hypridle.nix index 3c5aa21..b109444 100644 --- a/modules/desktop/hypridle.nix +++ b/modules/desktop/hypridle.nix @@ -18,7 +18,7 @@ in { enable = true; package = cfg.package; - lockCmd = "pidof hyprlock || ${lib.getExe config.modules.desktop.hyprlock.package}"; + lockCmd = "pidof hyprlock || ${config.modules.desktop.hyprland.package}/bin/hyprctl dispatch exec ${lib.getExe config.modules.desktop.hyprlock.package}"; unlockCmd = "pkill -USR1 hyprlock"; listeners = let From 5889f85a24bc67794d0f7ec4f3b69bf3404351e0 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Thu, 25 Apr 2024 17:56:46 -0700 Subject: [PATCH 12/35] Nvidia --- flake.lock | 175 +++++++++++++-------------- hosts/goopnet-interface/hardware.nix | 11 +- modules/desktop/default.nix | 2 - 3 files changed, 88 insertions(+), 100 deletions(-) diff --git a/flake.lock b/flake.lock index 849cca3..d8ff48f 100644 --- a/flake.lock +++ b/flake.lock @@ -71,7 +71,10 @@ }, "hyprcursor": { "inputs": { - "hyprlang": "hyprlang_2", + "hyprlang": [ + "hyprland", + "hyprlang" + ], "nixpkgs": [ "hyprland", "nixpkgs" @@ -82,11 +85,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": { @@ -119,18 +122,19 @@ "inputs": { "hyprcursor": "hyprcursor", "hyprland-protocols": "hyprland-protocols", - "hyprlang": "hyprlang_3", + "hyprlang": "hyprlang_2", + "hyprwayland-scanner": "hyprwayland-scanner", "nixpkgs": "nixpkgs_3", - "systems": "systems_4", + "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": { @@ -203,29 +207,6 @@ } }, "hyprlang_2": { - "inputs": { - "nixpkgs": [ - "hyprland", - "hyprcursor", - "nixpkgs" - ], - "systems": "systems_3" - }, - "locked": { - "lastModified": 1709914708, - "narHash": "sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk=", - "owner": "hyprwm", - "repo": "hyprlang", - "rev": "a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprlang", - "type": "github" - } - }, - "hyprlang_3": { "inputs": { "nixpkgs": [ "hyprland", @@ -236,28 +217,6 @@ "systems" ] }, - "locked": { - "lastModified": 1711250455, - "narHash": "sha256-LSq1ZsTpeD7xsqvlsepDEelWRDtAhqwetp6PusHXJRo=", - "owner": "hyprwm", - "repo": "hyprlang", - "rev": "b3e430f81f3364c5dd1a3cc9995706a4799eb3fa", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprlang", - "type": "github" - } - }, - "hyprlang_4": { - "inputs": { - "nixpkgs": [ - "hyprlock", - "nixpkgs" - ], - "systems": "systems_5" - }, "locked": { "lastModified": 1713121246, "narHash": "sha256-502X0Q0fhN6tJK7iEUA8CghONKSatW/Mqj4Wappd++0=", @@ -272,10 +231,32 @@ "type": "github" } }, - "hyprlang_5": { + "hyprlang_3": { + "inputs": { + "nixpkgs": [ + "hyprlock", + "nixpkgs" + ], + "systems": "systems_4" + }, + "locked": { + "lastModified": 1713121246, + "narHash": "sha256-502X0Q0fhN6tJK7iEUA8CghONKSatW/Mqj4Wappd++0=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "78fcaa27ae9e1d782faa3ff06c8ea55ddce63706", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprlang_4": { "inputs": { "nixpkgs": "nixpkgs_5", - "systems": "systems_7" + "systems": "systems_6" }, "locked": { "lastModified": 1711250455, @@ -293,9 +274,9 @@ }, "hyprlock": { "inputs": { - "hyprlang": "hyprlang_4", + "hyprlang": "hyprlang_3", "nixpkgs": "nixpkgs_4", - "systems": "systems_6" + "systems": "systems_5" }, "locked": { "lastModified": 1713978374, @@ -313,9 +294,9 @@ }, "hyprpaper": { "inputs": { - "hyprlang": "hyprlang_5", + "hyprlang": "hyprlang_4", "nixpkgs": "nixpkgs_6", - "systems": "systems_8" + "systems": "systems_7" }, "locked": { "lastModified": 1712919696, @@ -331,6 +312,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", @@ -399,11 +405,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": { @@ -597,21 +603,6 @@ "type": "github" } }, - "systems_8": { - "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default-linux", - "type": "github" - } - }, "waybar-catppuccin": { "flake": false, "locked": { @@ -631,20 +622,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": { @@ -667,11 +656,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": { diff --git a/hosts/goopnet-interface/hardware.nix b/hosts/goopnet-interface/hardware.nix index e55176b..a48c94c 100755 --- a/hosts/goopnet-interface/hardware.nix +++ b/hosts/goopnet-interface/hardware.nix @@ -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; [ diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index 84bd37b..726613a 100644 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -33,8 +33,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") { From a189a0f467bfa89075c0daf305d92f62dd83e1de Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Thu, 25 Apr 2024 18:38:54 -0700 Subject: [PATCH 13/35] gpu-screen-recorder --- hosts/goopnet-interface/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/goopnet-interface/default.nix b/hosts/goopnet-interface/default.nix index 77f6902..83ca800 100755 --- a/hosts/goopnet-interface/default.nix +++ b/hosts/goopnet-interface/default.nix @@ -19,7 +19,7 @@ # apps firefox mpv qalculate-gtk # misc - bat file which tree prismlauncher gpu-screen-recorder-gtk yt-dlp + bat file which tree prismlauncher gpu-screen-recorder gpu-screen-recorder-gtk yt-dlp ] ++ (with pkgs.my; [ # none yet ]) ++ (with pkgs.gnome; [ From ef7ed6de55bf372414c6780e8cc7e6139085754a Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Thu, 25 Apr 2024 19:36:16 -0700 Subject: [PATCH 14/35] install ffmpeg --- hosts/goopnet-interface/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/goopnet-interface/default.nix b/hosts/goopnet-interface/default.nix index 83ca800..e1efd40 100755 --- a/hosts/goopnet-interface/default.nix +++ b/hosts/goopnet-interface/default.nix @@ -19,7 +19,7 @@ # apps firefox mpv qalculate-gtk # misc - bat file which tree prismlauncher gpu-screen-recorder gpu-screen-recorder-gtk yt-dlp + bat file which tree prismlauncher gpu-screen-recorder gpu-screen-recorder-gtk yt-dlp ffmpeg ] ++ (with pkgs.my; [ # none yet ]) ++ (with pkgs.gnome; [ From f0865a73a83d1b796c8eb64766b4bff5ec779123 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Thu, 25 Apr 2024 19:37:35 -0700 Subject: [PATCH 15/35] remove gpu-screen-recorder (broken!) --- hosts/goopnet-interface/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/goopnet-interface/default.nix b/hosts/goopnet-interface/default.nix index e1efd40..ac8bd3b 100755 --- a/hosts/goopnet-interface/default.nix +++ b/hosts/goopnet-interface/default.nix @@ -19,7 +19,7 @@ # apps firefox mpv qalculate-gtk # misc - bat file which tree prismlauncher gpu-screen-recorder gpu-screen-recorder-gtk yt-dlp ffmpeg + bat file which tree prismlauncher yt-dlp ffmpeg ] ++ (with pkgs.my; [ # none yet ]) ++ (with pkgs.gnome; [ From 622d09e2c8500bf1758976825bed57a11309eb04 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Thu, 25 Apr 2024 22:25:47 -0700 Subject: [PATCH 16/35] update todo --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4521a54..6ca6cfb 100755 --- a/README.md +++ b/README.md @@ -20,4 +20,5 @@ each host should have these files: - multi architecture configuration - bitwarden - qt themes? - - sddm cursors no work :( \ No newline at end of file + - sddm cursors no work :( + - setup editorconfig everywhere \ No newline at end of file From 2f9cc4052af1a1f97b482c753f9c5948a7b4e0fc Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Thu, 25 Apr 2024 22:31:12 -0700 Subject: [PATCH 17/35] fix post-resume failing --- modules/desktop/hyprlock.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/desktop/hyprlock.nix b/modules/desktop/hyprlock.nix index 6120357..b5822b3 100644 --- a/modules/desktop/hyprlock.nix +++ b/modules/desktop/hyprlock.nix @@ -16,7 +16,7 @@ in { config = mkIf cfg.enable { security.pam.services.hyprlock.text = "auth include login"; powerManagement.resumeCommands = '' - ${cfg.package} + ${lib.getExe cfg.package} ''; hm.programs.hyprlock = with config.colorScheme.palette; { enable = true; From 2094d5ce7bf7bcf6cad2137ad5164493aa0592f9 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Thu, 25 Apr 2024 22:32:45 -0700 Subject: [PATCH 18/35] fix post-resume stacking hyprlocks --- modules/desktop/hyprlock.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/desktop/hyprlock.nix b/modules/desktop/hyprlock.nix index b5822b3..d1664f4 100644 --- a/modules/desktop/hyprlock.nix +++ b/modules/desktop/hyprlock.nix @@ -16,7 +16,7 @@ in { config = mkIf cfg.enable { security.pam.services.hyprlock.text = "auth include login"; powerManagement.resumeCommands = '' - ${lib.getExe cfg.package} + pidof hyprlock || ${lib.getExe cfg.package} ''; hm.programs.hyprlock = with config.colorScheme.palette; { enable = true; From 15d176e2b371871effdae52c4bf7201f984ee121 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Thu, 25 Apr 2024 22:50:37 -0700 Subject: [PATCH 19/35] specify procps binaries --- modules/desktop/hypridle.nix | 4 ++-- modules/desktop/hyprlock.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/desktop/hypridle.nix b/modules/desktop/hypridle.nix index b109444..b3ebbbd 100644 --- a/modules/desktop/hypridle.nix +++ b/modules/desktop/hypridle.nix @@ -18,8 +18,8 @@ in { enable = true; package = cfg.package; - lockCmd = "pidof hyprlock || ${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 || ${config.modules.desktop.hyprland.package}/bin/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"; diff --git a/modules/desktop/hyprlock.nix b/modules/desktop/hyprlock.nix index d1664f4..c9ded89 100644 --- a/modules/desktop/hyprlock.nix +++ b/modules/desktop/hyprlock.nix @@ -1,4 +1,4 @@ -{ lib, config, inputs, system, ... }: +{ lib, config, pkgs, inputs, system, ... }: with lib; let @@ -16,7 +16,7 @@ in { config = mkIf cfg.enable { security.pam.services.hyprlock.text = "auth include login"; powerManagement.resumeCommands = '' - pidof hyprlock || ${lib.getExe cfg.package} + ${pkgs.procps}/bin/pidof hyprlock || ${lib.getExe cfg.package} ''; hm.programs.hyprlock = with config.colorScheme.palette; { enable = true; From 085d68b27d98e8f3b01e62b9ef6dd1dffebb124b Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Thu, 25 Apr 2024 22:54:40 -0700 Subject: [PATCH 20/35] update todo --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6ca6cfb..d847b1c 100755 --- a/README.md +++ b/README.md @@ -21,4 +21,5 @@ each host should have these files: - bitwarden - qt themes? - sddm cursors no work :( - - setup editorconfig everywhere \ No newline at end of file + - setup editorconfig everywhere + - system not locking correctly when waking up (segfault lol) \ No newline at end of file From 2aa9e86a5dda9a5a3beb8170ddcd02805ca4e697 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Thu, 25 Apr 2024 23:46:42 -0700 Subject: [PATCH 21/35] actually fix locking and idle, fr this time --- modules/desktop/hypridle.nix | 16 +++++++++------- modules/desktop/hyprlock.nix | 7 ++++--- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/modules/desktop/hypridle.nix b/modules/desktop/hypridle.nix index b3ebbbd..231dd50 100644 --- a/modules/desktop/hypridle.nix +++ b/modules/desktop/hypridle.nix @@ -14,16 +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; - lockCmd = "${pkgs.procps}/bin/pidof hyprlock || ${config.modules.desktop.hyprland.package}/bin/hyprctl dispatch exec ${lib.getExe config.modules.desktop.hyprlock.package}"; + 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 @@ -31,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; # 30 min - onTimeout = "systemctl suspend"; # sleep/suspend + onTimeout = "${pkgs.systemd}/bin/systemctl suspend"; # sleep/suspend } ]; }; diff --git a/modules/desktop/hyprlock.nix b/modules/desktop/hyprlock.nix index c9ded89..921aeae 100644 --- a/modules/desktop/hyprlock.nix +++ b/modules/desktop/hyprlock.nix @@ -15,17 +15,16 @@ in { config = mkIf cfg.enable { security.pam.services.hyprlock.text = "auth include login"; - powerManagement.resumeCommands = '' - ${pkgs.procps}/bin/pidof hyprlock || ${lib.getExe 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; }; From 68d23850d8390a2d5809b3dee12f48a7153d94c2 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Fri, 26 Apr 2024 00:00:48 -0700 Subject: [PATCH 22/35] update todo --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index d847b1c..6ca6cfb 100755 --- a/README.md +++ b/README.md @@ -21,5 +21,4 @@ each host should have these files: - bitwarden - qt themes? - sddm cursors no work :( - - setup editorconfig everywhere - - system not locking correctly when waking up (segfault lol) \ No newline at end of file + - setup editorconfig everywhere \ No newline at end of file From 317ec37863ea6618fae721a6a74dd6e2c1db0c16 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Fri, 26 Apr 2024 17:00:52 -0700 Subject: [PATCH 23/35] gamemode --- README.md | 3 ++- modules/software/distractions/steam.nix | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6ca6cfb..fb22e70 100755 --- a/README.md +++ b/README.md @@ -21,4 +21,5 @@ each host should have these files: - bitwarden - qt themes? - sddm cursors no work :( - - setup editorconfig everywhere \ No newline at end of file + - setup editorconfig everywhere + - fix gamemoded cpu sched \ No newline at end of file diff --git a/modules/software/distractions/steam.nix b/modules/software/distractions/steam.nix index 7a21932..e9b8b83 100644 --- a/modules/software/distractions/steam.nix +++ b/modules/software/distractions/steam.nix @@ -13,7 +13,12 @@ in { 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; From 88fbe0d74a439239053c4b7e962d825b403efb79 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Sat, 27 Apr 2024 00:41:56 -0700 Subject: [PATCH 24/35] git aliases... WORK --- modules/software/dev/git.nix | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/modules/software/dev/git.nix b/modules/software/dev/git.nix index 7a218a5..0ff90a9 100644 --- a/modules/software/dev/git.nix +++ b/modules/software/dev/git.nix @@ -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 = { From e400a3dc90f717dedd77aec680af988eee23cd11 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Sat, 27 Apr 2024 00:44:26 -0700 Subject: [PATCH 25/35] make dunst notifications follow monitor --- config/dunst.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/dunst.conf b/config/dunst.conf index 328b280..12d9efc 100644 --- a/config/dunst.conf +++ b/config/dunst.conf @@ -3,7 +3,7 @@ frame_color = "#89B4FA" separator_color= frame - follow = none + follow = "mouse" width = 300 height = 145 origin = top-right From 3fff2cd8532a53397816dc468284b94025c7aeef Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Sat, 27 Apr 2024 15:51:56 -0700 Subject: [PATCH 26/35] fix gamemode --- README.md | 2 +- modules/software/distractions/steam.nix | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index fb22e70..887df78 100755 --- a/README.md +++ b/README.md @@ -22,4 +22,4 @@ each host should have these files: - qt themes? - sddm cursors no work :( - setup editorconfig everywhere - - fix gamemoded cpu sched \ No newline at end of file + - divide steam and gamemode? \ No newline at end of file diff --git a/modules/software/distractions/steam.nix b/modules/software/distractions/steam.nix index e9b8b83..237fc5f 100644 --- a/modules/software/distractions/steam.nix +++ b/modules/software/distractions/steam.nix @@ -10,6 +10,10 @@ 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; @@ -20,6 +24,7 @@ in { }; }; }; + programs.gamescope = { enable = true; capSysNice = true; @@ -28,6 +33,7 @@ in { enable = true; args = [ "-W 1920" "-H 1080" "-r 60" "--expose-wayland" "-e" ]; }; + user.packages = [ pkgs.protontricks pkgs.steam-run ]; }; } \ No newline at end of file From a1cfd30341c2eeeddfbec9794e305a46adf6c298 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Sat, 27 Apr 2024 18:13:23 -0700 Subject: [PATCH 27/35] polkit agent --- hosts/goopnet-interface/default.nix | 4 +++- modules/desktop/polkit-gnome.nix | 28 ++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 modules/desktop/polkit-gnome.nix diff --git a/hosts/goopnet-interface/default.nix b/hosts/goopnet-interface/default.nix index ac8bd3b..43fceb6 100755 --- a/hosts/goopnet-interface/default.nix +++ b/hosts/goopnet-interface/default.nix @@ -19,7 +19,7 @@ # apps firefox mpv qalculate-gtk # misc - bat file which tree prismlauncher yt-dlp ffmpeg + bat file which tree prismlauncher yt-dlp ffmpeg gpu-screen-recorder gpu-screen-recorder-gtk ] ++ (with pkgs.my; [ # none yet ]) ++ (with pkgs.gnome; [ @@ -44,6 +44,8 @@ hypridle.enable = true; hyprpaper.enable = true; + polkit-gnome.enable = true; + dunst.enable = true; rofi.enable = true; nwg-drawer.enable = true; diff --git a/modules/desktop/polkit-gnome.nix b/modules/desktop/polkit-gnome.nix new file mode 100644 index 0000000..818395d --- /dev/null +++ b/modules/desktop/polkit-gnome.nix @@ -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; + }; + }; + }; +} From 8238b20d38d491201b05c04c9a5cdb2658037499 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Tue, 30 Apr 2024 19:15:25 -0700 Subject: [PATCH 28/35] adding cursor compat --- modules/desktop/themes/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/desktop/themes/default.nix b/modules/desktop/themes/default.nix index a4692b3..fb7b653 100644 --- a/modules/desktop/themes/default.nix +++ b/modules/desktop/themes/default.nix @@ -67,6 +67,13 @@ in { theme = cfg.gtkTheme; }; + 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; From 3cb1680ffcb9631afe4afb2d5a4d09a98013428e Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Wed, 1 May 2024 15:56:53 -0700 Subject: [PATCH 29/35] more window rules --- modules/desktop/hyprland.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/desktop/hyprland.nix b/modules/desktop/hyprland.nix index 2cdf0b8..49e1f69 100644 --- a/modules/desktop/hyprland.nix +++ b/modules/desktop/hyprland.nix @@ -118,12 +118,17 @@ 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$" # fix focus "stayfocused, class:^pinentry-" + "stayfocused, class:^polkit-" "stayfocused, class:^rofi-" # workspace moving From 1182d7e1ac3b6179f95d30e89b4610bcbda64a3c Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Wed, 1 May 2024 16:49:08 -0700 Subject: [PATCH 30/35] qt themes to match gtk --- README.md | 1 - modules/desktop/default.nix | 6 ------ modules/desktop/themes/default.nix | 6 ++++++ 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 887df78..696dfe0 100755 --- a/README.md +++ b/README.md @@ -19,7 +19,6 @@ each host should have these files: - move common config such as bootloader and networking settings to [`default.nix`](./default.nix) or some other common spot - multi architecture configuration - bitwarden - - qt themes? - sddm cursors no work :( - setup editorconfig everywhere - divide steam and gamemode? \ No newline at end of file diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index 726613a..d595309 100644 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -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; } diff --git a/modules/desktop/themes/default.nix b/modules/desktop/themes/default.nix index fb7b653..85f48dc 100644 --- a/modules/desktop/themes/default.nix +++ b/modules/desktop/themes/default.nix @@ -67,6 +67,12 @@ in { theme = cfg.gtkTheme; }; + hm.qt = { + enable = true; + platformTheme = "gtk"; + style.name = "gtk2"; + }; + hm.home.pointerCursor = { gtk.enable = true; x11.enable = true; From 642bea2f41418c401897b7bbb7512a6f16907068 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Wed, 1 May 2024 18:24:13 -0700 Subject: [PATCH 31/35] bluetooth mode... activated --- hosts/goopnet-interface/default.nix | 2 +- modules/hardware/bluetooth.nix | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 modules/hardware/bluetooth.nix diff --git a/hosts/goopnet-interface/default.nix b/hosts/goopnet-interface/default.nix index 43fceb6..9cb92c5 100755 --- a/hosts/goopnet-interface/default.nix +++ b/hosts/goopnet-interface/default.nix @@ -31,6 +31,7 @@ security.useDoas = true; hardware = { + bluetooth.enable = true; pipewire.enable = true; }; dev = { @@ -45,7 +46,6 @@ hyprpaper.enable = true; polkit-gnome.enable = true; - dunst.enable = true; rofi.enable = true; nwg-drawer.enable = true; diff --git a/modules/hardware/bluetooth.nix b/modules/hardware/bluetooth.nix new file mode 100644 index 0000000..e121d64 --- /dev/null +++ b/modules/hardware/bluetooth.nix @@ -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; + }; +} From 7f0e3044788bf8e07414c3218425bc52a7afb037 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Wed, 1 May 2024 18:28:19 -0700 Subject: [PATCH 32/35] default root shadow shell --- modules/user.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/user.nix b/modules/user.nix index 970ac2d..03170be 100644 --- a/modules/user.nix +++ b/modules/user.nix @@ -33,5 +33,11 @@ with lib.my; trusted-users = users; allowed-users = users; }; + + users.users.root = { + packages = [ pkgs.shadow ]; + shell = pkgs.shadow; + hashedPassword = "!"; + }; }; } From 529961cefcd62303dee0f47d96502db1fcfd000c Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Wed, 1 May 2024 19:48:46 -0700 Subject: [PATCH 33/35] window rules... --- modules/desktop/hyprland.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/desktop/hyprland.nix b/modules/desktop/hyprland.nix index 49e1f69..f37a1ba 100644 --- a/modules/desktop/hyprland.nix +++ b/modules/desktop/hyprland.nix @@ -125,6 +125,10 @@ in { "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-" From 75f7cbffa252c21cf4f9a2856ced11ff85dea846 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Thu, 2 May 2024 16:40:39 -0700 Subject: [PATCH 34/35] update todo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 696dfe0..3bc2d5c 100755 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ 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 - sddm cursors no work :( - setup editorconfig everywhere From 5f5c70958e03bd013fd7d23874ebe2ba98a8611e Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Thu, 2 May 2024 16:56:45 -0700 Subject: [PATCH 35/35] use waybar from git --- flake.lock | 52 ++++++++++++++++++++++++++++++++++++++ flake.nix | 2 ++ modules/desktop/waybar.nix | 12 ++++++--- 3 files changed, 63 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index d8ff48f..6cc536e 100644 --- a/flake.lock +++ b/flake.lock @@ -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, @@ -483,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", @@ -495,6 +527,7 @@ "hyprpaper": "hyprpaper", "nix-colors": "nix-colors", "nixpkgs": "nixpkgs_7", + "waybar": "waybar", "waybar-catppuccin": "waybar-catppuccin" } }, @@ -603,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": { diff --git a/flake.nix b/flake.nix index 45d9f7d..6037fbd 100644 --- a/flake.nix +++ b/flake.nix @@ -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"; diff --git a/modules/desktop/waybar.nix b/modules/desktop/waybar.nix index 2af565c..e91dd5a 100644 --- a/modules/desktop/waybar.nix +++ b/modules/desktop/waybar.nix @@ -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)