From 4a884f5e6e189b9fa6ea0b712d5fd721fd777d4f Mon Sep 17 00:00:00 2001 From: Martin Berg Alstad Date: Tue, 15 Apr 2025 17:48:57 +0200 Subject: [PATCH] :sparkles: Monitor specific configs in hosts --- hosts/desktop/common.nix | 4 +++ hosts/desktop/home-manager/default.nix | 2 ++ hosts/desktop/home-manager/hyprpaper.nix | 29 +++++++++++++++++++ hosts/desktop/home-manager/settings.nix | 12 ++++++++ hosts/thinkpad/common.nix | 25 ++-------------- .../home-manager/hyprland/hyprpaper.nix | 23 --------------- .../home-manager/hyprland/settings.nix | 11 ++++--- shared/common.nix | 4 --- shared/home-manager/hyprland/default.nix | 2 +- shared/home-manager/hyprland/hyprpaper.nix | 10 ++----- shared/home-manager/hyprland/settings.nix | 3 +- shared/theme.nix | 3 +- 12 files changed, 63 insertions(+), 65 deletions(-) create mode 100644 hosts/desktop/common.nix create mode 100644 hosts/desktop/home-manager/hyprpaper.nix create mode 100644 hosts/desktop/home-manager/settings.nix delete mode 100644 hosts/thinkpad/home-manager/hyprland/hyprpaper.nix diff --git a/hosts/desktop/common.nix b/hosts/desktop/common.nix new file mode 100644 index 0000000..8319455 --- /dev/null +++ b/hosts/desktop/common.nix @@ -0,0 +1,4 @@ +{ + monitor1 = "DP-1"; + monitor2 = "DP-3"; +} diff --git a/hosts/desktop/home-manager/default.nix b/hosts/desktop/home-manager/default.nix index f3ff403..510a6a6 100644 --- a/hosts/desktop/home-manager/default.nix +++ b/hosts/desktop/home-manager/default.nix @@ -6,6 +6,8 @@ { imports = [ (lib.custom.relativeToRoot "shared/home-manager") + ./hyprpaper.nix + ./settings.nix ]; programs.git.signing.key = "706F53DD087A91DE"; diff --git a/hosts/desktop/home-manager/hyprpaper.nix b/hosts/desktop/home-manager/hyprpaper.nix new file mode 100644 index 0000000..d045fee --- /dev/null +++ b/hosts/desktop/home-manager/hyprpaper.nix @@ -0,0 +1,29 @@ +# Wallpapers +{ + lib, + theme, + ... +}: + +{ + services.hyprpaper.settings = + let + wallpaper1 = builtins.toString theme.wallpaper.monitor1; + wallpaper2 = builtins.toString theme.wallpaper.monitor2; + in + { + preload = lib.mkDefault [ + wallpaper1 + wallpaper2 + ]; + + wallpaper = + let + common = import ../common.nix; + in + lib.mkDefault [ + "${common.monitor1},${wallpaper1}" + "${common.monitor2},${wallpaper2}" + ]; + }; +} diff --git a/hosts/desktop/home-manager/settings.nix b/hosts/desktop/home-manager/settings.nix new file mode 100644 index 0000000..3ba5c23 --- /dev/null +++ b/hosts/desktop/home-manager/settings.nix @@ -0,0 +1,12 @@ +{ lib, ... }: + +{ + wayland.windowManager.hyprland.settings.monitor = + let + common = import ../common.nix; + in + lib.mkForce [ + "${common.monitor1}, 3440x1440@175, 0x0, 1" + "${common.monitor2}, 3840x2160@60, 3440x0, 1.5, transform, 1" + ]; +} diff --git a/hosts/thinkpad/common.nix b/hosts/thinkpad/common.nix index a2fd81c..f27b268 100644 --- a/hosts/thinkpad/common.nix +++ b/hosts/thinkpad/common.nix @@ -1,25 +1,4 @@ -rec { - default = { - browser = "zen"; - calculator = "gnome-calculator"; - fileManager = "nautilus"; - imageViewer = "loupe"; - lockScreen = "hyprlock"; - terminal = "kitty"; - }; - - dir = { - home = "/home/${username}"; - pictures = "${dir.home}/Pictures"; - }; - - keymaps = { - layout = "gb,no"; - options = "grp:alt_shift_toggle"; # Toggle using ALT + SHIFT - }; - - # Empty matches all +{ + # Empty matches all monitors monitor1 = ""; - - username = "martin"; } diff --git a/hosts/thinkpad/home-manager/hyprland/hyprpaper.nix b/hosts/thinkpad/home-manager/hyprland/hyprpaper.nix deleted file mode 100644 index 75f058a..0000000 --- a/hosts/thinkpad/home-manager/hyprland/hyprpaper.nix +++ /dev/null @@ -1,23 +0,0 @@ -# Wallpapers -{ - lib, - theme, - common, - ... -}: - -{ - services.hyprpaper.settings = - let - monitor1 = builtins.toString theme.wallpaper.monitor1; - in - { - preload = lib.mkDefault [ - monitor1 - ]; - - wallpaper = lib.mkDefault [ - "${common.monitor1},${monitor1}" - ]; - }; -} diff --git a/hosts/thinkpad/home-manager/hyprland/settings.nix b/hosts/thinkpad/home-manager/hyprland/settings.nix index 0c5c79a..42826ba 100644 --- a/hosts/thinkpad/home-manager/hyprland/settings.nix +++ b/hosts/thinkpad/home-manager/hyprland/settings.nix @@ -1,14 +1,17 @@ { lib, - common, ... }: { wayland.windowManager.hyprland.settings = { - monitor = lib.mkDefault [ - "${common.monitor1}, 1920x1080@60.05, 0x0, 1" - ]; + monitor = + let + common = import ../common.nix; + in + lib.mkForce [ + "${common.monitor1}, 1920x1080@60.05, 0x0, 1" + ]; # Autostart exec-once = [ diff --git a/shared/common.nix b/shared/common.nix index a6e4485..5de9181 100644 --- a/shared/common.nix +++ b/shared/common.nix @@ -18,10 +18,6 @@ rec { options = "grp:alt_shift_toggle"; # Toggle using ALT + SHIFT }; - # Empty matches all - monitor1 = "DP-1"; - monitor2 = "DP-3"; - username = "martin"; root = ../.; diff --git a/shared/home-manager/hyprland/default.nix b/shared/home-manager/hyprland/default.nix index 8763716..fbe6409 100644 --- a/shared/home-manager/hyprland/default.nix +++ b/shared/home-manager/hyprland/default.nix @@ -1,4 +1,4 @@ -# Home configurations for Hyprland. For system configs, see ./modules/hyprland +# Home configurations for Hyprland. For system configs, see ./shared/modules/hyprland { imports = [ ./binds.nix diff --git a/shared/home-manager/hyprland/hyprpaper.nix b/shared/home-manager/hyprland/hyprpaper.nix index ee98dcb..879fb6e 100644 --- a/shared/home-manager/hyprland/hyprpaper.nix +++ b/shared/home-manager/hyprland/hyprpaper.nix @@ -1,7 +1,6 @@ # Wallpapers { pkgs, - common, theme, ... }: @@ -13,8 +12,7 @@ enable = true; settings = let - monitor1 = builtins.toString theme.wallpaper.monitor1; - monitor2 = builtins.toString theme.wallpaper.monitor2; + defaultWallpaper = builtins.toString theme.wallpaper.default; in { ipc = "on"; @@ -22,13 +20,11 @@ splash_offset = 2.0; preload = [ - monitor1 - monitor2 + defaultWallpaper ]; wallpaper = [ - "${common.monitor1},${monitor1}" - "${common.monitor2},${monitor2}" + ",${defaultWallpaper}" ]; }; }; diff --git a/shared/home-manager/hyprland/settings.nix b/shared/home-manager/hyprland/settings.nix index 233ba8f..668488c 100644 --- a/shared/home-manager/hyprland/settings.nix +++ b/shared/home-manager/hyprland/settings.nix @@ -10,8 +10,7 @@ in { wayland.windowManager.hyprland.settings = { monitor = [ - "${common.monitor1}, 3440x1440@175, 0x0, 1" - "${common.monitor2}, 3840x2160@60, 3440x0, 1.5, transform, 1" + ", preferred, auto, 1" ]; # Autostart diff --git a/shared/theme.nix b/shared/theme.nix index 8114d9d..003d76b 100644 --- a/shared/theme.nix +++ b/shared/theme.nix @@ -5,8 +5,9 @@ rec { nerdFont = "JetBrainsMono"; - wallpaper = { + wallpaper = rec { lockscreen = ./assets/catppuccin_page_curl.png; + default = monitor1; monitor1 = ./assets/nixos_waves.png; monitor2 = ./assets/ekg_v2.png; };