diff --git a/hosts/cnixpad/default.nix b/hosts/cnixpad/default.nix index af6d48f7..29ffa52e 100644 --- a/hosts/cnixpad/default.nix +++ b/hosts/cnixpad/default.nix @@ -46,6 +46,12 @@ in { environment.variables.FLAKE = "/home/cnst/.nix-config"; + programs.hyprland.settings = { + monitor = [ + "eDP-1,1920x1200@60,0x0,1,transform,0" + ]; + }; + # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion system.stateVersion = lib.mkDefault "23.11"; } diff --git a/modules/home/programs/waybar/default.nix b/modules/home/programs/waybar/default.nix index 42809c77..ecbae43a 100644 --- a/modules/home/programs/waybar/default.nix +++ b/modules/home/programs/waybar/default.nix @@ -23,7 +23,7 @@ in { settings = [ { height = 25; - output = ["DP-3"]; + output = ["DP-3" "eDP-1"]; modules-left = [ "group/system" diff --git a/modules/nixos/programs/hyprland/rules.nix b/modules/nixos/programs/hyprland/rules.nix index 444de7ad..aae36590 100644 --- a/modules/nixos/programs/hyprland/rules.nix +++ b/modules/nixos/programs/hyprland/rules.nix @@ -3,68 +3,86 @@ config, ... }: let - inherit (lib) mkIf mkEnableOption; + inherit (lib) mkIf mkEnableOption mkMerge; + host = config.networking.hostName; cfg = config.nixos.programs.hyprland.rules; in { options = { nixos.programs.hyprland.rules.enable = mkEnableOption "Enables window rule settings in Hyprland"; }; - config = mkIf cfg.enable { - programs.hyprland.settings = { - windowrulev2 = [ - # === CALCURSE SETTINGS === - "size 843 650, initialTitle:^(floatcal)$" - "move 100%-w-20 40, initialTitle:^(floatcal)$" - "float, initialTitle:^(floatcal)$" + config = mkIf cfg.enable (mkMerge [ + { + programs.hyprland.settings = { + windowrulev2 = [ + # === CALCURSE SETTINGS === + "size 843 650, initialTitle:^(floatcal)$" + "move 100%-w-20 40, initialTitle:^(floatcal)$" + "float, initialTitle:^(floatcal)$" - # === TUIRUN SETTINGS === - "size 600 300, title:^(tuirun)$" - "center, title:^(tuirun)$" - # "workspace special:tuirun, initialTitle:^(tuirun)$" - "noborder, title:^(tuirun)$" - "float, title:^(tuirun)$" + # === TUIRUN SETTINGS === + "size 600 300, title:^(tuirun)$" + "center, title:^(tuirun)$" + # "workspace special:tuirun, initialTitle:^(tuirun)$" + "noborder, title:^(tuirun)$" + "float, title:^(tuirun)$" - # === KEEPASSXC SETTINGS === - "size 843 530, class:^(org.keepassxc.KeePassXC)$" - "move 100%-w-20 40, class:^(org.keepassxc.KeePassXC)$" - "float, class:^(org.keepassxc.KeePassXC)$" + # === KEEPASSXC SETTINGS === + "size 843 530, class:^(org.keepassxc.KeePassXC)$" + "move 100%-w-20 40, class:^(org.keepassxc.KeePassXC)$" + "float, class:^(org.keepassxc.KeePassXC)$" - # === SUPPRESS MAXIMIZE EVENT === - "suppressevent maximize, class:.*" # Suppress maximize events for all windows + # === SUPPRESS MAXIMIZE EVENT === + "suppressevent maximize, class:.*" # Suppress maximize events for all windows - # === NWG-LOOK SETTINGS === - "center, class:^(nwg-look)$" - "float, class:^(nwg-look)$" + # === NWG-LOOK SETTINGS === + "center, class:^(nwg-look)$" + "float, class:^(nwg-look)$" - # === OCULANTE SETTINGS === - "center, class:^(oculante)$" - "float, class:^(oculante)$" + # === OCULANTE SETTINGS === + "center, class:^(oculante)$" + "float, class:^(oculante)$" - # === PAVUCONTROL SETTINGS === - "move 100%-w-20 40, class:^(pavucontrol)$" - "size 741 585, class:^(pavucontrol)$" - "float, class:^(pavucontrol)$" + # === PAVUCONTROL SETTINGS === + "move 100%-w-20 40, class:^(pavucontrol)$" + "size 741 585, class:^(pavucontrol)$" + "float, class:^(pavucontrol)$" - # === XARCHIVER SETTINGS === - "center, class:^(xarchiver)$" - "float, class:^(xarchiver)$" + # === XARCHIVER SETTINGS === + "center, class:^(xarchiver)$" + "float, class:^(xarchiver)$" - # === FLOATING APPLICATIONS === - "float, class:^(org.gnome.FileRoller)$" - "float, class:^(org.freedesktop.impl.portal.desktop.kde)$" - "float, class:^(org.corectrl.CoreCtrl)$" - "float, class:^(feh)$" - "float, class:^(polkit-gnome-authentication-agent-1)$" - "float, class:^(org.gnome.Calculator)$" - "float, class:^(com.github.hluk.copyq)$" - "float, class:^(blueman-manager)$" + # === FLOATING APPLICATIONS === + "float, class:^(org.gnome.FileRoller)$" + "float, class:^(org.freedesktop.impl.portal.desktop.kde)$" + "float, class:^(org.corectrl.CoreCtrl)$" + "float, class:^(feh)$" + "float, class:^(polkit-gnome-authentication-agent-1)$" + "float, class:^(org.gnome.Calculator)$" + "float, class:^(com.github.hluk.copyq)$" + "float, class:^(blueman-manager)$" - # === WORKSPACE RULES === - "workspace 5 silent, class:^(discord)$" - ]; - windowrule = []; - workspace = [ + # === WORKSPACE RULES === + "workspace 5 silent, class:^(discord)$" + ]; + windowrule = []; + layerrule = [ + "animation fade,hyprpicker" + "animation fade,selection" + + "noanim,waybar" + "ignorezero,waybar" + "ignorealpha 0.0,waybar" + + "blur,notifications" + "ignorezero,notifications" + + "noanim,wallpaper" + ]; + }; + } + (mkIf (host == "cnix") { + programs.hyprland.settings.workspace = [ "name:1,monitor:DP-3" "name:2,monitor:DP-3" "name:3,monitor:DP-3" @@ -76,19 +94,12 @@ in { "name:9,monitor:DP-3" "name:10,monitor:DP-3" ]; - layerrule = [ - "animation fade,hyprpicker" - "animation fade,selection" - - "noanim,waybar" - "ignorezero,waybar" - "ignorealpha 0.0,waybar" - - "blur,notifications" - "ignorezero,notifications" - - "noanim,wallpaper" - ]; - }; - }; + }) + (mkIf (host == "cnixpad") { + programs.hyprland.settings.workspace = []; + }) + (mkIf (host == "toothpc") { + programs.hyprland.settings.workspace = []; + }) + ]); }