From b62c5850dc24394ba1445db49dc84f305c522055 Mon Sep 17 00:00:00 2001 From: Kabbone Date: Fri, 26 Dec 2025 18:51:26 +0100 Subject: [PATCH] initial niri config --- modules/wm/niri/config.kdl | 52 +++++-------------- modules/wm/niri/home.nix | 4 +- modules/wm/noctalia.nix | 101 +++++++++++++++++++------------------ 3 files changed, 68 insertions(+), 89 deletions(-) diff --git a/modules/wm/niri/config.kdl b/modules/wm/niri/config.kdl index 6ea01b1..5854714 100644 --- a/modules/wm/niri/config.kdl +++ b/modules/wm/niri/config.kdl @@ -88,7 +88,7 @@ output "eDP-1" { mode "1920x1080" // You can use integer or fractional scale, for example use 1.5 for 150% scale. - scale 1.3 + scale 1.2 // Transform allows to rotate the output counter-clockwise, valid values are: // normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270. @@ -135,10 +135,13 @@ layout { } // You can also customize the heights that "switch-preset-window-height" (Mod+Shift+R) toggles between. - // preset-window-heights { } + preset-window-heights { + proportion 0.5 + proportion 1.0 + } // You can change the default width of the new windows. - default-column-width { proportion 0.5; } + default-column-width { proportion 1.0; } // If you leave the brackets empty, the windows themselves will decide their initial width. // default-column-width {} @@ -159,7 +162,7 @@ layout { // off // How many logical pixels the ring extends out from the windows. - width 4 + width 2 // Colors can be set in a variety of ways: // - CSS named colors: "red" @@ -197,7 +200,7 @@ layout { // If you enable the border, you probably want to disable the focus ring. off - width 4 + width 2 active-color "#ffc87f" inactive-color "#505050" @@ -257,7 +260,7 @@ layout { struts { // left 64 // right 64 - // top 64 + // top 6 // bottom 64 } } @@ -275,7 +278,7 @@ spawn-at-startup "noctalia-shell" hotkey-overlay { // Uncomment this line to disable the "Important Hotkeys" pop-up at startup. - // skip-at-startup + skip-at-startup } // Uncomment this line to ask the clients to omit their client-side decorations if possible. @@ -314,7 +317,8 @@ window-rule { // This regular expression is intentionally made as specific as possible, // since this is the default config, and we want no false positives. // You can get away with just app-id="wezterm" if you want. - match app-id=r#"^org\.wezfurlong\.wezterm$"# + //match app-id=r#"^org\.wezfurlong\.wezterm$"# + match app-id="alacritty" default-column-width {} } @@ -364,41 +368,13 @@ binds { // Suggested binds for running programs: terminal, app launcher, screen locker. Mod+Return hotkey-overlay-title="Open a Terminal: alacritty" { spawn "alacritty"; } Mod+D hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; } - Super+Alt+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; } - // Use spawn-sh to run a shell command. Do this if you need pipes, multiple commands, etc. - // Note: the entire command goes as a single argument. It's passed verbatim to `sh -c`. - // For example, this is a standard bind to toggle the screen reader (orca). - Super+Alt+S allow-when-locked=true hotkey-overlay-title=null { spawn-sh "pkill orca || exec orca"; } - - // Example volume keys mappings for PipeWire & WirePlumber. - // The allow-when-locked=true property makes them work even when the session is locked. - // Using spawn-sh allows to pass multiple arguments together with the command. - // "-l 1.0" limits the volume to 100%. - //XF86AudioRaiseVolume allow-when-locked=true { spawn "swayosd-client" "--output-volume" "raise"; } - //XF86AudioLowerVolume allow-when-locked=true { spawn "swayosd-client" "--output-volume" "lower"; } - //XF86AudioMute allow-when-locked=true { spawn "swayosd-client" "--output-volume" "mute-toggle"; } - //XF86AudioMicMute allow-when-locked=true { spawn "swayosd-client" "--input-volume" "mute-toggle"; } - //XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; } - //XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; } - //XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; } - //XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; } - - // Example media keys mapping using playerctl. - // This will work with any MPRIS-enabled media player. XF86AudioPlay allow-when-locked=true { spawn-sh "playerctl play-pause"; } XF86AudioStop allow-when-locked=true { spawn-sh "playerctl stop"; } XF86AudioPrev allow-when-locked=true { spawn-sh "playerctl previous"; } XF86AudioNext allow-when-locked=true { spawn-sh "playerctl next"; } - // Example brightness key mappings for brightnessctl. - // You can use regular spawn with multiple arguments too (to avoid going through "sh"), - // but you need to manually put each argument in separate "" quotes. - // XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "set" "+5%"; } - // XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "set" "5%-"; } - // XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; } - // XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; } - Mod+L { spawn-sh "noctalia-shell ipc call lockScreen lock"; } + Mod+Alt+L { spawn-sh "noctalia-shell ipc call lockScreen lock"; } XF86AudioLowerVolume allow-when-locked=true { spawn-sh "noctalia-shell ipc call volume decrease"; } XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "noctalia-shell ipc call volume increase"; } XF86MonBrightnessUp allow-when-locked=true { spawn-sh "noctalia-shell ipc call brightness increase"; } @@ -419,7 +395,7 @@ binds { Mod+H { focus-column-left; } Mod+J { focus-window-down; } Mod+K { focus-window-up; } - //Mod+L { focus-column-right; } + Mod+L { focus-column-right; } Mod+Ctrl+Left { move-column-left; } Mod+Ctrl+Down { move-window-down; } diff --git a/modules/wm/niri/home.nix b/modules/wm/niri/home.nix index e15854d..13be24c 100644 --- a/modules/wm/niri/home.nix +++ b/modules/wm/niri/home.nix @@ -32,12 +32,10 @@ events = [ { event = "before-sleep"; command = "${pkgs.swaylock}/bin/swaylock"; } { event = "lock"; command = "${pkgs.swaylock}/bin/swaylock -fF"; } -# { event = "after-resume"; command = "${pkgs.sway}/bin/swaymsg 'output * dpms on'"; } -# { event = "unlock"; command = "${pkgs.sway}/bin/swaymsg 'output * dpms on'"; } ]; timeouts = [ { timeout = 300; command = "${pkgs.swaylock}/bin/swaylock -fF"; } - { timeout = 600; command = "${pkgs.niri}/bin/niri 'msg action power-off-monitors'"; resumeCommand = "${pkgs.niri}/bin/niri 'msg action power-on-monitors'"; } + { timeout = 600; command = "${pkgs.niri}/bin/niri 'msg action power-off-monitors'"; } ]; }; }; diff --git a/modules/wm/noctalia.nix b/modules/wm/noctalia.nix index 21a8162..4fbc838 100644 --- a/modules/wm/noctalia.nix +++ b/modules/wm/noctalia.nix @@ -79,6 +79,7 @@ { id = "SystemMonitor"; showNetworkStats = true; + compactMode = false; } { id = "WiFi"; @@ -121,54 +122,58 @@ firstDayOfWeek = 0; }; - wallpaper = { - enabled = true; - overviewEnabled = false; - directory = "/home/${user}/.setup/modules/themes/"; - }; - - brightness = { - enforceMinimum = true; - brightnessStep = 5; - }; - - controlCenter = { - shortcuts = { - left = [ - { - id = "WiFi"; - } - { - id = "Bluetooth"; - } - { - id = "ScreenRecorder"; - } - { - id = "PowerProfile"; - } - { - id = "KeepAwake"; - } - ]; - }; - }; - - dock = { - enabled = false; - }; - - templates = { - fuzzel = true; - alacritty = true; - qt = true; - gtk = true; - discord = true; - code = true; - telegram = true; - niri = true; - firefox = true; - }; + wallpaper = { + enabled = true; + overviewEnabled = false; + directory = "/home/${user}/.setup/modules/themes/"; + }; + + brightness = { + enforceMinimum = true; + brightnessStep = 5; + }; + + controlCenter = { + shortcuts = { + left = [ + { + id = "WiFi"; + } + { + id = "Bluetooth"; + } + { + id = "ScreenRecorder"; + } + { + id = "PowerProfile"; + } + { + id = "KeepAwake"; + } + ]; + }; + }; + + dock = { + enabled = false; + }; + + sessionMenu = { + enableCountdown = false; + }; + + templates = { + fuzzel = true; + alacritty = true; + qt = true; + gtk = true; + discord = true; + code = true; + telegram = true; + niri = true; + firefox = true; + }; }; }; };