added niri base config for tablet, switched from hyprlock to swaylock, crosshair updated

This commit is contained in:
2026-02-23 21:25:29 +01:00
parent 4e2e75a044
commit dadad155b2
9 changed files with 149 additions and 35 deletions

View File

@@ -1,7 +1,7 @@
### based on the example config from hyprland.org
general {
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
lock_cmd = pgrep -x swaylock >/dev/null || swaylock -f # avoid starting multiple swaylock instances.
before_sleep_cmd = loginctl lock-session # lock before suspend.
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
ignore_dbus_inhibit = false # whether to ignore dbus-sent idle-inhibit requests (used by e.g. firefox or steam)

View File

@@ -74,7 +74,7 @@ windowrule = match:class ^$, match:title ^$, match:xwayland 1, match:float 1, ma
windowrule = match:xwayland 1, no_initial_focus on
## ========== Special Workspaces ==========
workspace = special:keepass, on-created-empty:keepassxc
workspace = special:passwordmgr, on-created-empty:bitwarden-desktop
#windowrule = float, class:org.keepassxc.KeePassXC
#windowrule = noscreenshare, class:org.keepassxc.KeePassXC
#windowrule = size 60% 60%, class:org.keepassxc.KeePassXC

View File

@@ -19,7 +19,7 @@ $browsernewinst = uwsm app -- firefox --new-instance
$altbrowser = uwsm app -- chromium
$taskman = uwsm app -- owlry -m uuctl
$pwdmgr = uwsm app -- keepassxc
$pwdmgr = uwsm app -- bitwarden-desktop
$soundctl = uwsm app -- pwvucontrol
$notcenter = uwsm app -- swaync-client -t -sw
@@ -28,7 +28,7 @@ $nothide = uwsm app -- swaync-client --hide-latest
$notclose = uwsm app -- swaync-client --close-latest
$notcloseall = uwsm app -- swaync-client --close-all
$lockcmd = loginctl lock-session
$lockcmd = swaylock -f
##############################################
################## KEYBINDS ##################
@@ -86,7 +86,7 @@ bind = $mainMod, I, pin
# Special workspaces
bind = $mainMod SHIFT, Space, togglespecialworkspace # show/hide special workspace
bind = $mainMod CTRL, Space, movetoworkspace, special # move to the special workspace
bind = $mainMod, N, togglespecialworkspace, keepass
bind = $mainMod, N, togglespecialworkspace, passwordmgr
# Master layout
bind = $mainMod, Tab, layoutmsg, swapwithmaster

View File

@@ -13,8 +13,8 @@ application/x-extension-xht=firefox.desktop
application/pdf=org.pwmt.zathura-pdf-mupdf.desktop
x-scheme-handler/jetbrains=jetbrains-toolbox.desktop
application/gml+xml=dev.zed.Zed.desktop
image/png=gimp.desktop
image/jpeg=gimp.desktop
image/png=org.pwmt.zathura-pdf-mupdf.desktop
image/jpeg=org.pwmt.zathura-pdf-mupdf.desktop
[Added Associations]
x-scheme-handler/http=firefox.desktop;
@@ -29,5 +29,5 @@ application/x-extension-xhtml=firefox.desktop;
application/x-extension-xht=firefox.desktop;
application/pdf=org.pwmt.zathura-pdf-mupdf.desktop;
application/gml+xml=dev.zed.Zed.desktop;
image/png=satty.desktop;gimp.desktop;
image/jpeg=satty.desktop;gimp.desktop;
image/png=satty.desktop;gimp.desktop;org.pwmt.zathura-pdf-mupdf.desktop;
image/jpeg=satty.desktop;gimp.desktop;org.pwmt.zathura-pdf-mupdf.desktop;

View File

@@ -368,10 +368,33 @@ binds {
// shows a list of important hotkeys.
Mod+Shift+Slash { show-hotkey-overlay; }
// Suggested binds for running programs: terminal, app launcher, screen locker.
Mod+T 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"; }
// Hyprland-like launcher and app bindings.
Mod+Return hotkey-overlay-title="Open a Terminal: kitty" { spawn "kitty"; }
Mod+Shift+Return { spawn "kitty" "-e" "tmux"; }
Mod+Alt+Return { spawn "kitty" "-e" "tmux" "a"; }
Mod+Ctrl+Return { spawn "kitty"; }
Mod+T { spawn "kitty"; }
Mod+Space hotkey-overlay-title="Run Launcher: owlry" { spawn "owlry" "-p" "app,cmd,system,ssh"; }
Mod+D { spawn "owlry" "-p" "app,cmd,system,ssh"; }
Mod+C { spawn "owlry" "-m" "clipboard"; }
Mod+X { spawn "owlry" "-m" "uuctl"; }
Mod+E { spawn "nautilus"; }
Mod+Shift+E { spawn "kitty" "-e" "nvim"; }
Mod+W { spawn "firefox"; }
Mod+Shift+W { spawn "firefox" "--private-window"; }
Mod+Ctrl+W { spawn "chromium"; }
Mod+Alt+W { spawn "firefox" "--new-instance"; }
Mod+R { spawn "keepassxc"; }
Mod+F4 { spawn "pwvucontrol"; }
Mod+Backslash { spawn "mic-toggle-usb"; }
Mod+Grave { spawn "swaync-client" "-t" "-sw"; }
Mod+Shift+Grave { spawn "swaync-client" "-d"; }
Mod+Pause { spawn "swaylock" "-f"; }
Mod+Shift+Escape { spawn "swaylock" "-f"; }
Super+Alt+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock" "-f"; }
// 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`.
@@ -420,10 +443,10 @@ binds {
Mod+Ctrl+Down { move-window-down; }
Mod+Ctrl+Up { move-window-up; }
Mod+Ctrl+Right { move-column-right; }
Mod+Ctrl+H { move-column-left; }
Mod+Ctrl+J { move-window-down; }
Mod+Ctrl+K { move-window-up; }
Mod+Ctrl+L { move-column-right; }
Mod+Ctrl+H { set-column-width "-5%"; }
Mod+Ctrl+J { set-window-height "+5%"; }
Mod+Ctrl+K { set-window-height "-5%"; }
Mod+Ctrl+L { set-column-width "+5%"; }
// Alternative commands that move across workspaces when reaching
// the first or last window in a column.
@@ -441,10 +464,11 @@ binds {
Mod+Shift+Down { focus-monitor-down; }
Mod+Shift+Up { focus-monitor-up; }
Mod+Shift+Right { focus-monitor-right; }
Mod+Shift+H { focus-monitor-left; }
Mod+Shift+J { focus-monitor-down; }
Mod+Shift+K { focus-monitor-up; }
Mod+Shift+L { focus-monitor-right; }
Mod+Shift+H { move-column-left; }
Mod+Shift+J { move-window-down; }
Mod+Shift+K { move-window-up; }
Mod+Shift+L { move-column-right; }
Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
@@ -530,6 +554,17 @@ binds {
Mod+7 { focus-workspace 7; }
Mod+8 { focus-workspace 8; }
Mod+9 { focus-workspace 9; }
Mod+0 { focus-workspace 10; }
Mod+Shift+1 { move-column-to-workspace 1; }
Mod+Shift+2 { move-column-to-workspace 2; }
Mod+Shift+3 { move-column-to-workspace 3; }
Mod+Shift+4 { move-column-to-workspace 4; }
Mod+Shift+5 { move-column-to-workspace 5; }
Mod+Shift+6 { move-column-to-workspace 6; }
Mod+Shift+7 { move-column-to-workspace 7; }
Mod+Shift+8 { move-column-to-workspace 8; }
Mod+Shift+9 { move-column-to-workspace 9; }
Mod+Shift+0 { move-column-to-workspace 10; }
Mod+Ctrl+1 { move-column-to-workspace 1; }
Mod+Ctrl+2 { move-column-to-workspace 2; }
Mod+Ctrl+3 { move-column-to-workspace 3; }
@@ -539,6 +574,7 @@ binds {
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+Ctrl+0 { move-column-to-workspace 10; }
// Alternatively, there are commands to move just a single window:
// Mod+Ctrl+1 { move-window-to-workspace 1; }
@@ -557,12 +593,13 @@ binds {
// Expel the bottom window from the focused column to the right.
Mod+Period { expel-window-from-column; }
Mod+R { switch-preset-column-width; }
Mod+Alt+R { switch-preset-column-width; }
// Cycling through the presets in reverse order is also possible.
// Mod+R { switch-preset-column-width-back; }
Mod+Shift+R { switch-preset-window-height; }
Mod+Ctrl+R { reset-window-height; }
Mod+F { maximize-column; }
// Mod+Alt+R { switch-preset-column-width-back; }
Mod+Shift+Alt+R { switch-preset-window-height; }
Mod+Ctrl+Alt+R { reset-window-height; }
Mod+Alt+F { maximize-column; }
Mod+F { toggle-window-floating; }
Mod+Shift+F { fullscreen-window; }
// While maximize-column leaves gaps and borders around the window,
@@ -575,10 +612,10 @@ binds {
// Makes the column "fill the rest of the space".
Mod+Ctrl+F { expand-column-to-available-width; }
Mod+C { center-column; }
Mod+Alt+C { center-column; }
// Center all fully visible columns on screen.
Mod+Ctrl+C { center-visible-columns; }
Mod+Ctrl+Alt+C { center-visible-columns; }
// Finer width adjustments.
// This command can also:
@@ -602,7 +639,7 @@ binds {
// Toggle tabbed column display mode.
// Windows in this column will appear as vertical tabs,
// rather than stacked on top of each other.
Mod+W { toggle-column-tabbed-display; }
Mod+Ctrl+T { toggle-column-tabbed-display; }
// Actions to switch layouts.
// Note: if you uncomment these, make sure you do NOT have
@@ -613,6 +650,8 @@ binds {
// Mod+Shift+Space { switch-layout "prev"; }
Print { screenshot; }
Mod+Print { spawn "owlry-screenshot-menu"; }
Shift+Print { spawn-sh "kitty --class=scrrec -e wf-recorder -f ~/Videos/scrrec.mkv -y -g \"$(slurp)\""; }
Ctrl+Print { screenshot-screen; }
Alt+Print { screenshot-window; }
@@ -627,7 +666,7 @@ binds {
Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
// The quit action will show a confirmation dialog to avoid accidental exits.
Mod+Shift+E { quit; }
Mod+Ctrl+Shift+E { quit; }
Ctrl+Alt+Delete { quit; }
// Powers off the monitors. To turn them back on, do any input like

View File

@@ -28,7 +28,7 @@ max_results = 100
# Terminal emulator for SSH, scripts, etc.
# Auto-detection order: $TERMINAL → xdg-terminal-exec → DE-native → Wayland → X11 → xterm
# Uncomment to override:
# terminal_command = "kitty"
terminal_command = "kitty"
# Launch wrapper for app execution (auto-detected for uwsm/Hyprland)
# Examples: "uwsm app --", "hyprctl dispatch exec --", ""

View File

@@ -0,0 +1,57 @@
{{- $lock_bg := (index .chezmoi.config.data "lockscreen-wallpaper") -}}
{{- if not $lock_bg -}}
{{- $lock_bg = "~/.config/wallpaper/lockscreen/current" -}}
{{- end -}}
{{- $theme := .chezmoi.config.data.theme -}}
{{- $inside := "00000033" -}}
{{- $ring_idle := "00000000" -}}
{{- $text := "ff0084cc" -}}
{{- $accent := "ff0084cc" -}}
{{- $alert := "ff4d6dcc" -}}
{{- $warn := "ffb700cc" -}}
{{- if eq $theme "apex-aeon" -}}
{{- $inside = "f5f5f540" -}}
{{- $ring_idle = "00000000" -}}
{{- $text = "ff0044cc" -}}
{{- $accent = "ff0044cc" -}}
{{- $alert = "ff4d6dcc" -}}
{{- $warn = "d18f00cc" -}}
{{- end -}}
image={{ $lock_bg }}
scaling=fill
font=GeistMono Nerd Font
indicator
indicator-radius=110
indicator-thickness=4
line-color=00000000
separator-color=00000000
inside-color={{ $inside }}
ring-color={{ $ring_idle }}
text-color={{ $text }}
key-hl-color={{ $accent }}
bs-hl-color={{ $warn }}
inside-clear-color={{ $inside }}
ring-clear-color={{ $accent }}
inside-ver-color={{ $inside }}
ring-ver-color={{ $accent }}
inside-wrong-color={{ $inside }}
ring-wrong-color={{ $alert }}
text-clear-color={{ $text }}
text-ver-color={{ $text }}
text-wrong-color={{ $text }}
show-failed-attempts
ignore-empty-password
# If you use swaylock-effects, uncomment these to mirror hyprlock's clock/date feel:
# clock
# timestr=%-I:%M
# datestr=%A, %B %d

View File

@@ -1,9 +1,16 @@
{{- $tags := .chezmoi.config.data.tags -}}
{{- $primary_output := "eDP-1" -}}
{{- range .monitors -}}
{{- if index . "primary" -}}
{{- $primary_output = .name -}}
{{- end -}}
{{- end -}}
{{- $workspace_module := "" -}}
{{- if $tags.niri -}}
{{- $workspace_module = "niri/workspaces" -}}
{{- else if $tags.hyprland -}}
{{- $workspace_module = "hyprland/workspaces" -}}
{{- end -}}
{
"layer": "top",
"position": "left",
@@ -16,8 +23,8 @@
"modules-left": [
"clock",
"custom/swaync",
"custom/alhp",
"hyprland/workspaces"
"custom/alhp"{{- if $workspace_module }},
"{{ $workspace_module }}"{{- end }}
],
"modules-center": [
@@ -30,7 +37,9 @@
"modules-right": [
"idle_inhibitor",
{{- if $tags.hyprland }}
"custom/hyprsunset",
{{- end }}
"gamemode",
"privacy",
"group/volume",
@@ -44,6 +53,12 @@
{{- end }}
],
{{- if $tags.niri }}
"niri/workspaces": {
"format": "{value}",
"all-outputs": true
},
{{- else if $tags.hyprland }}
"hyprland/workspaces": {
"format": "{icon}",
"all-outputs": true,
@@ -69,6 +84,7 @@
"on-scroll-up": "hyprctl dispatch workspace e+1",
"on-scroll-down": "hyprctl dispatch workspace e-1"
},
{{- end }}
"cpu": {
"interval": 2,
@@ -310,6 +326,7 @@
"on-click-middle": "swaync-client -C"
},
{{- if $tags.hyprland }}
"custom/hyprsunset": {
"format": "SUN",
"tooltip": true,
@@ -322,6 +339,7 @@
"interval": 0
},
{{- end }}
"custom/alhp": {
"id": "custom-alhp",