diff --git a/hosts/nate-work/default.nix b/hosts/nate-work/default.nix index a0a8b1b..2b6e892 100644 --- a/hosts/nate-work/default.nix +++ b/hosts/nate-work/default.nix @@ -1,4 +1,11 @@ -{ config, lib, inputs, pkgs, timeZone, ... }: +{ + config, + lib, + inputs, + pkgs, + timeZone, + ... +}: let deskCfg = config.deskCfg; unstable = import inputs.nixpkgs-unstable { @@ -74,7 +81,14 @@ in services.clamav.scanner.enable = true; # Extra groups - main_user.extraGroups = [ "dialout" "docker" "i2c" "lp" "scanner" "syncthing" ]; + main_user.extraGroups = [ + "dialout" + "docker" + "i2c" + "lp" + "scanner" + "syncthing" + ]; # Sway WM (legacy, disabled) swaywm = { @@ -156,7 +170,9 @@ in ]; # NFS support in initrd - boot.initrd.supportedFilesystems = { nfs = true; }; + boot.initrd.supportedFilesystems = { + nfs = true; + }; # Libvirtd / QEMU virtualisation = { diff --git a/hosts/nate-work/linked-dotfiles/niri/config.kdl b/hosts/nate-work/linked-dotfiles/niri/config.kdl index 8b168f3..3cfeae1 100644 --- a/hosts/nate-work/linked-dotfiles/niri/config.kdl +++ b/hosts/nate-work/linked-dotfiles/niri/config.kdl @@ -8,7 +8,6 @@ spawn-at-startup "flatpak" "run" "org.signal.Signal" spawn-at-startup "flatpak" "run" "com.slack.Slack" spawn-at-startup "firefox" // shell startup -spawn-sh-at-startup "kanshi" spawn-sh-at-startup "sleep 5 && syncthingtray --wait" // screenshot-path null // save screenshots just to clipboard diff --git a/hosts/nate/bot-wallpaper.jpg b/hosts/nate/bot-wallpaper.jpg new file mode 100644 index 0000000..f99a64a Binary files /dev/null and b/hosts/nate/bot-wallpaper.jpg differ diff --git a/hosts/nate/default.nix b/hosts/nate/default.nix index d6c5da4..3f91950 100644 --- a/hosts/nate/default.nix +++ b/hosts/nate/default.nix @@ -1,4 +1,11 @@ -{ config, lib, inputs, pkgs, timeZone, ... }: +{ + config, + lib, + inputs, + pkgs, + timeZone, + ... +}: let deskCfg = config.deskCfg; in @@ -28,12 +35,15 @@ in }; # Stylix — derive color scheme from wallpaper - stylix.image = ./wallpaper.png; - stylix.fonts.sizes = { - applications = 12; - desktop = 10; - popups = 10; - terminal = 11; + stylix = { + image = ./bot-wallpaper.jpg; + base16Scheme = "${pkgs.base16-schemes}/share/themes/kimber.yaml"; + fonts.sizes = { + applications = 14; + desktop = 16; + popups = 14; + terminal = 14; + }; }; # Limit the number of generations to keep @@ -65,14 +75,21 @@ in nix.settings.auto-optimise-store = true; # Extra groups - main_user.extraGroups = [ "dialout" "docker" "scanner" "lp" ]; + main_user.extraGroups = [ + "dialout" + "docker" + "i2c" + "lp" + "scanner" + "syncthing" + ]; # Sway WM (legacy, kept for fallback) swaywm = { enable = deskCfg.de == "sway"; useNonFree = true; installGaming = deskCfg.installGaming; - systemPackages = []; + systemPackages = [ ]; }; # Niri WM config @@ -80,7 +97,8 @@ in enable = deskCfg.de == "niri"; useNonFree = true; user = deskCfg.userName; - systemPackages = []; + installGaming = deskCfg.installGaming; + systemPackages = [ ]; }; # Steam with remote play + gamescope @@ -112,7 +130,10 @@ in # Firewall — allow dev server ports networking.firewall = { enable = true; - allowedTCPPorts = [ 8080 8081 ]; + allowedTCPPorts = [ + 8080 + 8081 + ]; }; # Bluetooth diff --git a/hosts/nate/linked-dotfiles/niri/config.kdl b/hosts/nate/linked-dotfiles/niri/config.kdl index 212d61c..70d60a7 100644 --- a/hosts/nate/linked-dotfiles/niri/config.kdl +++ b/hosts/nate/linked-dotfiles/niri/config.kdl @@ -75,7 +75,7 @@ input { disable-power-key-handling warp-mouse-to-focus mode="center-xy" - focus-follows-mouse + // focus-follows-mouse } // @@ -93,9 +93,11 @@ layout { } preset-column-widths { + proportion 0.25 proportion 0.33333 proportion 0.5 proportion 0.66667 + proportion 0.75 } default-column-width { @@ -329,23 +331,19 @@ binds { Mod+Shift+Page_Down { move-workspace-down; } Mod+Shift+Page_Up { move-workspace-up; } - Mod+Minus { focus-workspace "scratch"; } Mod+1 { focus-workspace "term"; } Mod+2 { focus-workspace "net"; } Mod+3 { focus-workspace "chat"; } - // Mod+3 { focus-workspace 3; } - // Mod+4 { focus-workspace 4; } + Mod+4 { focus-workspace "scratch"; } Mod+5 { focus-workspace 5; } Mod+6 { focus-workspace 6; } Mod+7 { focus-workspace 7; } Mod+8 { focus-workspace 8; } Mod+9 { focus-workspace 9; } - Mod+Shift+Minus { move-column-to-workspace "scratch"; } Mod+Shift+1 { move-column-to-workspace "term"; } Mod+Shift+2 { move-column-to-workspace "net"; } Mod+Shift+3 { move-column-to-workspace "chat"; } - // Mod+Shift+3 { move-column-to-workspace 3; } - // Mod+Shift+4 { move-column-to-workspace 4; } + Mod+Shift+4 { move-column-to-workspace "scratch"; } Mod+Shift+5 { move-column-to-workspace 5; } Mod+Shift+6 { move-column-to-workspace 6; } Mod+Shift+7 { move-column-to-workspace 7; } diff --git a/hosts/nate/wallpaper.png b/hosts/nate/wallpaper.png deleted file mode 100644 index 7b5094e..0000000 Binary files a/hosts/nate/wallpaper.png and /dev/null differ diff --git a/shared/modules/home-manager/noctalia.nix b/shared/modules/home-manager/noctalia.nix index e6d7208..1f88d07 100644 --- a/shared/modules/home-manager/noctalia.nix +++ b/shared/modules/home-manager/noctalia.nix @@ -29,7 +29,18 @@ in package = inputs.noctalia.packages.${pkgs.stdenv.hostPlatform.system}.default.override { calendarSupport = true; }; - settings = cfg.settings; + # Defaults merged with per-host settings; per-host wins on conflict. + settings = lib.recursiveUpdate { + # Detach launched apps into a new session so they don't inherit + # noctalia's controlling tty / process group. Fixes Steam silently + # failing to launch via the launcher on NixOS while staying light + # enough not to interfere with Proton/pressure-vessel child processes + # (unlike `systemd-run --user --scope`, which broke Overwatch). + appLauncher = { + customLaunchPrefixEnabled = true; + customLaunchPrefix = "setsid --fork"; + }; + } cfg.settings; }; # Disable conflicting services that Noctalia replaces