Updates + import cachyos modified niri

master
livie 2026-03-12 21:12:33 +02:00
parent e85cfe49ba
commit e93b396069
12 changed files with 347 additions and 7 deletions

View File

@ -0,0 +1,32 @@
animations {
workspace-switch {
spring damping-ratio=1.0 stiffness=1000 epsilon=0.0001
}
window-open {
duration-ms 200
curve "ease-out-quad"
}
window-close {
duration-ms 200
curve "ease-out-cubic"
}
horizontal-view-movement {
spring damping-ratio=1.0 stiffness=900 epsilon=0.0001
}
window-movement {
spring damping-ratio=1.0 stiffness=800 epsilon=0.0001
}
window-resize {
spring damping-ratio=1.0 stiffness=1000 epsilon=0.0001
}
config-notification-open-close {
spring damping-ratio=0.6 stiffness=1200 epsilon=0.001
}
screenshot-ui-open {
duration-ms 300
curve "ease-out-quad"
}
overview-open-close {
spring damping-ratio=1.0 stiffness=900 epsilon=0.0001
}
}

View File

@ -0,0 +1,5 @@
// ────────────── Startup Applications ──────────────
// https://github.com/YaLTeR/niri/wiki/Configuration:-Miscellaneous#spawn-sh-at-startup
spawn-sh-at-startup "/usr/lib'polkit/gnome/polkit-gnome-authentication-agent-1 &" // Polkit
spawn-sh-at-startup "qs -c noctalia-shell"

View File

@ -0,0 +1,26 @@
// ────────────── Output Configuration ──────────────
// You can run `niri msg outputs` to get the correct name for your displays.
// You will have to remove "/-" and edit it before it takes effect.
// https://github.com/YaLTeR/niri/wiki/Configuration:-Outputs
output "DP-1" {
mode "1920x1080@239.760" // Set resolution and refresh rate
scale 1 // No scaling (use 2 for HiDPI)
position x=1920 y=0
variable-refresh-rate
focus-at-startup
}
output "DP-3" {
mode "1920x1080@59.988"
scale 1
position x=0 y=0
}
output "DP-2" {
mode "1920x1080@119.982"
scale 1
position x=3840 y=0
variable-refresh-rate
}

26
config/niri/cfg/input.kdl Normal file
View File

@ -0,0 +1,26 @@
// ────────────── Input Configuration ──────────────
// https://github.com/YaLTeR/niri/wiki/Configuration:-Input
input {
keyboard {
xkb {
layout "jp,fi"
model "pc105"
options "compose:ralt,grp:win_space_toggle"
}
numlock // Enable numlock on startup
}
touchpad {
tap // Enable tap-to-click
//natural-scroll // Enable natural (macOS-style) scrolling
}
mouse {
accel-speed 0.0
accel-profile "flat"
}
//focus-follows-mouse // Automatically focus windows under the mouse pointer
//workspace-auto-back-and-forth // Enable workspace back & forth switching
}

View File

@ -0,0 +1,147 @@
binds {
// ────────────── Keybindings ──────────────
// https://github.com/YaLTeR/niri/wiki/Configuration:-Key-Bindings
// ─── noctalia-shell keybinds ───
// https://docs.noctalia.dev/getting-started/keybinds/
Mod+Shift+ESCAPE { show-hotkey-overlay; }
// ─── Applications ───
Mod+Return hotkey-overlay-title="Open Terminal: Kitty" { spawn-sh "env kitty -1"; }
Mod+D hotkey-overlay-title="Open App Launcher: noctalia launcher" { spawn-sh "qs -c noctalia-shell ipc call launcher toggle"; }
Mod+B hotkey-overlay-title="Open Browser: firefox" { spawn "firefox"; }
Mod+ALT+L hotkey-overlay-title="Lock Screen: noctalia lock" { spawn-sh "qs -c noctalia-shell ipc call lockScreen lock"; }
Mod+Shift+E hotkey-overlay-title="Session Menu: noctalia sessionMenu" { spawn-sh "qs -c noctalia-shell ipc call sessionMenu toggle"; }
// Please choose your own file manager.
Mod+E hotkey-overlay-title="File Manager: Thunar" { spawn "thunar"; }
// ─── Media Controls ───
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call volume increase"; }
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call volume decrease"; }
XF86AudioMute allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call volume muteOutput"; }
XF86AudioMicMute allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call volume muteInput"; }
XF86AudioNext allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call media next"; }
XF86AudioPrev allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call media previous"; }
XF86AudioPlay allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call media playPause"; }
XF86AudioPause allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call media playPause"; }
// ─── Brightness Controls ───
XF86MonBrightnessUp allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call brightness increase"; }
XF86MonBrightnessDown allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call brightness decrease"; }
// ─── Window Movement and Focus ───
Mod+Shift+Q { close-window; }
Mod+Left { focus-column-left; }
Mod+H { focus-column-left; }
Mod+Right { focus-column-right; }
Mod+L { focus-column-right; }
Mod+Up { focus-window-up; }
Mod+K { focus-window-up; }
Mod+Down { focus-window-down; }
Mod+J { focus-window-down; }
Mod+CTRL+Left { move-column-left; }
Mod+CTRL+H { move-column-left; }
Mod+CTRL+Right { move-column-right; }
Mod+CTRL+L { move-column-right; }
Mod+CTRL+UP { move-window-up; }
Mod+CTRL+K { move-window-up; }
Mod+CTRL+Down { move-window-down; }
Mod+CTRL+J { move-window-down; }
Mod+Home { focus-column-first; }
Mod+End { focus-column-last; }
Mod+CTRL+Home { move-column-to-first; }
Mod+CTRL+End { move-column-to-last; }
Mod+Shift+Left { focus-monitor-left; }
Mod+Shift+Right { focus-monitor-right; }
// Mod+Shift+UP { focus-monitor-up; }
// Mod+Shift+Down { focus-monitor-down; }
Mod+Shift+CTRL+Left { move-column-to-monitor-left; }
Mod+Shift+CTRL+Right { move-column-to-monitor-right; }
// Mod+Shift+CTRL+UP { move-column-to-monitor-up; }
// Mod+Shift+CTRL+Down { move-column-to-monitor-down; }
Mod+ALT+Left { move-workspace-to-monitor-left; }
Mod+ALT+Right { move-workspace-to-monitor-right; }
// ─── Workspace Switching ───
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
Mod+CTRL+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
Mod+CTRL+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
Mod+WheelScrollRight { focus-column-right; }
Mod+WheelScrollLeft { focus-column-left; }
Mod+CTRL+WheelScrollRight { move-column-right; }
Mod+CTRL+WheelScrollLeft { move-column-left; }
Mod+Shift+WheelScrollDown { focus-column-right; }
Mod+Shift+WheelScrollUp { focus-column-left; }
Mod+CTRL+Shift+WheelScrollDown { move-column-right; }
Mod+CTRL+Shift+WheelScrollUp { move-column-left; }
Mod+1 { focus-workspace 1; }
Mod+2 { focus-workspace 2; }
Mod+3 { focus-workspace 3; }
Mod+4 { focus-workspace 4; }
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+CTRL+1 { move-column-to-workspace 1; }
Mod+CTRL+2 { move-column-to-workspace 2; }
Mod+CTRL+3 { move-column-to-workspace 3; }
Mod+CTRL+4 { move-column-to-workspace 4; }
Mod+CTRL+5 { move-column-to-workspace 5; }
Mod+CTRL+6 { move-column-to-workspace 6; }
Mod+CTRL+7 { move-column-to-workspace 7; }
Mod+CTRL+8 { move-column-to-workspace 8; }
Mod+CTRL+9 { move-column-to-workspace 9; }
Mod+TAB { focus-workspace-previous; }
// ─── Layout Controls ───
Mod+Shift+F { expand-column-to-available-width; }
Mod+C { center-column; }
Mod+CTRL+C { center-visible-columns; }
Mod+Slash { set-column-width "-10%"; }
Mod+Backslash { set-column-width "+10%"; }
Mod+Shift+Slash { set-window-height "-10%"; }
Mod+Shift+Backslash { set-window-height "+10%"; }
// ─── Modes ───
Mod+T { toggle-window-floating; }
Mod+F11 { fullscreen-window; }
Mod+F { maximize-window-to-edges; }
Mod+CTRL+F { toggle-windowed-fullscreen; }
Mod+W { toggle-column-tabbed-display; }
// ─── Screenshots ───
// CTRL+Shift+1 { screenshot; }
// CTRL+Shift+2 { screenshot-screen; }
// CTRL+Shift+3 { screenshot-window; }
Print { spawn-sh "~/scripts/slink_screenshot.sh full -p ~/Screenshots"; }
CTRL+Print { spawn-sh "~/scripts/slink_screenshot.sh gui -p ~/Screenshots"; }
Mod+Shift+S { spawn-sh "~/scripts/slink_screenshot.sh gui -p ~/Screenshots"; }
F8 { spawn "xfce4-terminal" "--drop-down"; }
// ─── Emergency Escape Key ───
// Use this when a fullscreen app blocks your keybinds.
// It disables any active keyboard shortcut inhibitor, restoring control.
Mod+ESCAPE allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
// ─── Exit / Power ───
CTRL+ALT+Delete { quit; } // Also quits Niri
Mod+Shift+P { power-off-monitors; } // Turn off screens (useful for OLED or privacy)
Mod+O repeat=false { toggle-overview; }
}

View File

@ -0,0 +1,47 @@
layout {
gaps 9 // Gap between windows
center-focused-column "never" // Dont auto-center focused column
background-color "transparent" // <- needed for noctalia-shell to set wallpaper
default-column-width {
proportion 1.0
}
preset-column-widths {
proportion 0.33333
proportion 0.5
proportion 0.66667
}
struts {
top 0
bottom -3
left -3
right -3
}
focus-ring {
// off
on
width 2
active-color "#7fc8ff"
inactive-color "#505050"
urgent-color "#9b0000"
// active-gradient from="#80c8ff" to="#bbddff" angle=45
// inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
// urgent-gradient from="#800" to="#a33" angle=45
}
border {
off
// on
width 2
active-color "#ffc87f"
inactive-color "#505050"
urgent-color "#9b0000"
// active-gradient from="#ffbb66" to="#ffc880" angle=45 relative-to="workspace-view"
// inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view" in="srgb-linear"
// urgent-gradient from="#800" to="#a33" angle=45
}
}

27
config/niri/cfg/misc.kdl Normal file
View File

@ -0,0 +1,27 @@
prefer-no-csd
screenshot-path null
environment {
ELECTRON_OZONE_PLATFORM_HINT "auto"
QT_QPA_PLATFORM "wayland"
QT_WAYLAND_DISABLE_WINDOWDECORATION "1"
XDG_SESSION_TYPE "wayland"
XDG_CURRENT_DESKTOP "niri"
QT_QPA_PLATFORMTHEME "gtk3"
PROTON_ENABLE_WAYLAND "1"
}
debug {
// Allows notification actions and window activation from Noctalia.
honor-xdg-activation-with-invalid-serial
}
hotkey-overlay {
skip-at-startup
}
gestures {
hot-corners {
off
}
}

14
config/niri/cfg/rules.kdl Normal file
View File

@ -0,0 +1,14 @@
window-rule {
geometry-corner-radius 5 // Set every window radius to 20
clip-to-geometry true
}
window-rule {
match app-id="steam" title=r#"^notificationtoasts_\d+_desktop$"#
default-floating-position x=10 y=10 relative-to="bottom-right"
}
layer-rule {
match namespace="^noctalia-wallpaper*"
place-within-backdrop true
}

7
config/niri/config.kdl Normal file
View File

@ -0,0 +1,7 @@
include "./cfg/autostart.kdl"
include "./cfg/keybinds.kdl"
include "./cfg/input.kdl"
include "./cfg/display.kdl"
include "./cfg/layout.kdl"
include "./cfg/rules.kdl"
include "./cfg/misc.kdl"

View File

@ -7,6 +7,7 @@
- link:
~/.config/kitty: config/kitty
~/.config/niri: config/niri
~/.config/powerline: config/powerline
~/.config/ranger: config/ranger
~/.vimrc: vimrc

View File

@ -3,10 +3,10 @@ export PATH="$PATH:/home/livie/.cargo/bin"
export PATH="$PATH:/home/livie/.local/bin"
# input method
if command -v fcitx5 >/dev/null 2>&1; then
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export SDL_IM_MODULE=fcitx
export GLFW_IM_MODULE=ibus
fi
# if command -v fcitx5 >/dev/null 2>&1; then
# export GTK_IM_MODULE=fcitx
# export QT_IM_MODULE=fcitx
# export XMODIFIERS=@im=fcitx
# export SDL_IM_MODULE=fcitx
# export GLFW_IM_MODULE=ibus
# fi

8
zshrc
View File

@ -23,6 +23,10 @@ else
alias ls='ls --color=auto'
fi
alias k='kubectl'
alias kx='kubectx'
alias kn='kubens'
command -v bat >/dev/null 2>&1 && alias cat='bat'
# The following lines were added by compinstall
@ -70,3 +74,7 @@ _fzf_compgen_dir() {
powerline-daemon -q
. /usr/share/powerline/bindings/zsh/powerline.zsh
source /usr/share/nvm/init-nvm.sh
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gcr/ssh"