Compare commits

..

No commits in common. "7b51750fd219b614dd312078295cb3df32c59063" and "9e52e49acb7ae79c06ca8cbcae657af8e392c3cd" have entirely different histories.

2 changed files with 60 additions and 40 deletions

View File

@ -266,10 +266,12 @@ layout {
} }
// Add lines like this to spawn processes at startup. // Add lines like this to spawn processes at startup.
// Note that running niri as a session supports xdg-desktop-autostart,
// which may be more convenient to use.
// See the binds section below for more spawn examples. // See the binds section below for more spawn examples.
// Start user Shepherd for Guix Home. // This line starts waybar, a commonly used bar for Wayland compositors.
spawn-at-startup "shepherd" // spawn-at-startup "waybar"
// To run a shell command (with variables, pipes, etc.), use spawn-sh-at-startup: // To run a shell command (with variables, pipes, etc.), use spawn-sh-at-startup:
// spawn-sh-at-startup "qs -c ~/source/qs/MyAwesomeShell" // spawn-sh-at-startup "qs -c ~/source/qs/MyAwesomeShell"
@ -284,7 +286,7 @@ hotkey-overlay {
// Additionally, clients will be informed that they are tiled, removing some client-side rounded corners. // Additionally, clients will be informed that they are tiled, removing some client-side rounded corners.
// This option will also fix border/focus ring drawing behind some semitransparent windows. // This option will also fix border/focus ring drawing behind some semitransparent windows.
// After enabling or disabling this, you need to restart the apps for this to take effect. // After enabling or disabling this, you need to restart the apps for this to take effect.
prefer-no-csd // prefer-no-csd
// You can change the path where screenshots are saved. // You can change the path where screenshots are saved.
// A ~ at the front will be expanded to the home directory. // A ~ at the front will be expanded to the home directory.
@ -309,13 +311,14 @@ animations {
// Find more information on the wiki: // Find more information on the wiki:
// https://yalter.github.io/niri/Configuration:-Window-Rules // https://yalter.github.io/niri/Configuration:-Window-Rules
// Keep WezTerm maximized so that the installer won't be resized. // Work around WezTerm's initial configure bug
// by setting an empty default-column-width.
window-rule { window-rule {
// This regular expression is intentionally made as specific as possible, // This regular expression is intentionally made as specific as possible,
// since this is the default config, and we want no false positives. // since this is the default config, and we want no false positives.
// You can get away with just app-id="wezterm" if you want. // 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$"#
open-maximized true default-column-width {}
} }
// Open the Firefox picture-in-picture player as floating by default. // Open the Firefox picture-in-picture player as floating by default.
@ -326,10 +329,6 @@ window-rule {
match app-id=r#"firefox$"# title="^Picture-in-Picture$" match app-id=r#"firefox$"# title="^Picture-in-Picture$"
open-floating true open-floating true
} }
window-rule {
match app-id=r#"librewolf$"# title="^Picture-in-Picture$"
open-floating true
}
// Example: block out two password managers from screen capture. // Example: block out two password managers from screen capture.
// (This example rule is commented out with a "/-" in front.) // (This example rule is commented out with a "/-" in front.)
@ -343,22 +342,13 @@ window-rule {
// block-out-from "screencast" // block-out-from "screencast"
} }
// Enable rounded corners for all windows. // Example: enable rounded corners for all windows.
// For Noctalia shell. // (This example rule is commented out with a "/-" in front.)
window-rule { /-window-rule {
geometry-corner-radius 20 geometry-corner-radius 12
clip-to-geometry true clip-to-geometry true
} }
debug {
honor-xdg-activation-with-invalid-serial
}
// Background color to match the wallpaper.
overview {
backdrop-color "#D2DEE9"
}
binds { binds {
// Keys consist of modifiers separated by + signs, followed by an XKB key name // Keys consist of modifiers separated by + signs, followed by an XKB key name
// in the end. To find an XKB name for a particular key, you may use a program // in the end. To find an XKB name for a particular key, you may use a program
@ -377,30 +367,34 @@ binds {
// Suggested binds for running programs: terminal, app launcher, screen locker. // Suggested binds for running programs: terminal, app launcher, screen locker.
Mod+Return hotkey-overlay-title="Open a Terminal" { spawn "wezterm"; } Mod+Return hotkey-overlay-title="Open a Terminal" { spawn "wezterm"; }
Mod+D hotkey-overlay-title="Run an Application" { spawn "noctalia-shell" "ipc" "call" "launcher" "toggle"; } Mod+D hotkey-overlay-title="Run an Application" { spawn "noctalia-shell" "ipc" "call" "launcher" "toggle"; }
// Super+Alt+L hotkey-overlay-title="Lock the Screen" { spawn "noctalia-shell" "ipc" "call" "lockScreen" "lock"; } // 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. // 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`. // 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). // 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"; } Super+Alt+S allow-when-locked=true hotkey-overlay-title=null { spawn-sh "pkill orca || exec orca"; }
// Example volume keys mappings for Noctalia shell // Example volume keys mappings for PipeWire & WirePlumber.
// The allow-when-locked=true property makes them work even when the session is locked. // The allow-when-locked=true property makes them work even when the session is locked.
XF86AudioRaiseVolume allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "increase"; } // Using spawn-sh allows to pass multiple arguments together with the command.
XF86AudioLowerVolume allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "decrease"; } // "-l 1.0" limits the volume to 100%.
XF86AudioMute allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "muteOutput"; } XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; }
XF86AudioMicMute allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "muteInput"; } 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 mappings for Noctalia shell. // Example media keys mapping using playerctl.
// This will work with any MPRIS-enabled media player. // This will work with any MPRIS-enabled media player.
XF86AudioPlay allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "media" "playPause"; } XF86AudioPlay allow-when-locked=true { spawn-sh "playerctl play-pause"; }
XF86AudioStop allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "media" "pause"; } XF86AudioStop allow-when-locked=true { spawn-sh "playerctl stop"; }
XF86AudioPrev allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "media" "previous"; } XF86AudioPrev allow-when-locked=true { spawn-sh "playerctl previous"; }
XF86AudioNext allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "media" "next"; } XF86AudioNext allow-when-locked=true { spawn-sh "playerctl next"; }
// Example brightness key mappings for Noctalia shell // Example brightness key mappings for light.
XF86MonBrightnessUp allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "brightness" "increase"; } // You can use regular spawn with multiple arguments too (to avoid going through "sh"),
XF86MonBrightnessDown allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "brightness" "decrease"; } // but you need to manually put each argument in separate "" quotes.
XF86MonBrightnessUp allow-when-locked=true { spawn "light" "-A" "10"; }
XF86MonBrightnessDown allow-when-locked=true { spawn "light" "-U" "10"; }
// Open/close the Overview: a zoomed-out view of workspaces and windows. // Open/close the Overview: a zoomed-out view of workspaces and windows.
// You can also move the mouse into the top-left hot corner, // You can also move the mouse into the top-left hot corner,
@ -512,8 +506,8 @@ binds {
// These binds are also affected by touchpad's natural-scroll, so these // These binds are also affected by touchpad's natural-scroll, so these
// example binds are "inverted", since we have natural-scroll enabled for // example binds are "inverted", since we have natural-scroll enabled for
// touchpads by default. // touchpads by default.
// Mod+TouchpadScrollDown { spawn "noctalia-shell" "ipc" "call" "volume" "increase"; } // Mod+TouchpadScrollDown { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02+"; }
// Mod+TouchpadScrollUp { spawn "noctalia-shell" "ipc" "call" "volume" "decrease"; } // Mod+TouchpadScrollUp { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02-"; }
// You can refer to workspaces by index. However, keep in mind that // You can refer to workspaces by index. However, keep in mind that
// niri is a dynamic workspace system, so these commands are kind of // niri is a dynamic workspace system, so these commands are kind of
@ -629,3 +623,31 @@ binds {
// moving the mouse or pressing any other key. // moving the mouse or pressing any other key.
Mod+Shift+P { power-off-monitors; } Mod+Shift+P { power-off-monitors; }
} }
// Start user Shepherd.
spawn-at-startup "shepherd"
// Noctalia shell.
window-rule {
geometry-corner-radius 20
clip-to-geometry true
}
debug {
honor-xdg-activation-with-invalid-serial
}
// Emacs has a window height > 100% whening using CSD.
prefer-no-csd
// Keep WezTerm maximized so that the installer won't be resized.
window-rule {
match app-id="org.wezfurlong.wezterm"
open-maximized true
}
// Background color to match the wallpaper.
overview {
backdrop-color "#D2DEE9"
}

View File

@ -36,7 +36,6 @@
#:use-module (gnu packages fonts) #:use-module (gnu packages fonts)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages hardware)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages networking) #:use-module (gnu packages networking)
#:use-module (gnu packages polkit) #:use-module (gnu packages polkit)
@ -646,7 +645,6 @@ gtk-key-theme-name = ~a~%"
;; Add udev rules for backlight control. ;; Add udev rules for backlight control.
(simple-service 'backlight udev-service-type (list light)) (simple-service 'backlight udev-service-type (list light))
(simple-service 'backlight-external udev-service-type (list ddcutil))
(modify-services %desktop-services (modify-services %desktop-services
(delete %display-manager-service-type) (delete %display-manager-service-type)