From 5e7c193a28a4d693b7a71fd7cc5a0a67963e01c5 Mon Sep 17 00:00:00 2001 From: Joakim Hulthe Date: Sun, 7 Dec 2025 15:11:56 +0100 Subject: [PATCH] niri: Use caelestia quickshell --- tree/.config/caelestia/shell.json | 220 ++++++++++++++++++ .../{wallpapers => hypr}/ferris-stamp.png | Bin tree/.config/hypr/hyprlock.conf.tpl | 2 +- tree/.config/niri/config.kdl.tpl | 39 ++-- tree/.face | 44 ++++ 5 files changed, 284 insertions(+), 21 deletions(-) create mode 100644 tree/.config/caelestia/shell.json rename tree/.config/{wallpapers => hypr}/ferris-stamp.png (100%) create mode 100644 tree/.face diff --git a/tree/.config/caelestia/shell.json b/tree/.config/caelestia/shell.json new file mode 100644 index 0000000..0454772 --- /dev/null +++ b/tree/.config/caelestia/shell.json @@ -0,0 +1,220 @@ +{ + "appearance": { + "anim": { + "durations": { + "scale": 1 + } + }, + "font": { + "family": { + "material": "Material Symbols Rounded", + "mono": "CaskaydiaCove NF", + "sans": "Rubik" + }, + "size": { + "scale": 1 + } + }, + "padding": { + "scale": 1 + }, + "rounding": { + "scale": 1 + }, + "spacing": { + "scale": 1 + }, + "transparency": { + "enabled": false, + "base": 0.85, + "layers": 0.4 + } + }, + "general": { + "apps": { + "terminal": [ + "foot" + ], + "audio": [ + "pavucontrol" + ] + } + }, + "background": { + "desktopClock": { + "enabled": false + }, + "enabled": true, + "visualiser": { + "enabled": true, + "autoHide": true, + "rounding": 1, + "spacing": 1 + } + }, + "bar": { + "clock": { + "showIcon": false + }, + "dragThreshold": 20, + "entries": [ + { + "id": "logo", + "enabled": true + }, + { + "id": "workspaces", + "enabled": true + }, + { + "id": "spacer", + "enabled": true + }, + { + "id": "activeWindow", + "enabled": true + }, + { + "id": "spacer", + "enabled": true + }, + { + "id": "tray", + "enabled": true + }, + { + "id": "clock", + "enabled": true + }, + { + "id": "statusIcons", + "enabled": true + }, + { + "id": "idleInhibitor", + "enabled": true + }, + { + "id": "power", + "enabled": true + } + ], + "persistent": false, + "showOnHover": true, + "status": { + "showAudio": false, + "showBattery": true, + "showBluetooth": true, + "showMicrophone": false, + "showKbLayout": false, + "showNetwork": true + }, + "tray": { + "background": true, + "recolour": true + }, + "workspaces": { + "activeIndicator": true, + "activeLabel": "󰮯", + "activeTrail": false, + "groupIconsByApp": true, + "groupingRespectsLayout": true, + "windowRighClickContext": true, + "label": "◦", + "occupiedBg": true, + "occupiedLabel": "⊙", + "showWindows": true, + "shown": 4, + "windowIconImage": false, + "focusedWindowBlob": true, + "windowIconGap": 0, + "windowIconSize": 30 + } + }, + "border": { + "rounding": 25, + "thickness": 10 + }, + "dashboard": { + "mediaUpdateInterval": 500, + "showOnHover": true + }, + "launcher": { + "actionPrefix": ">", + "dragThreshold": 50, + "vimKeybinds": false, + "enableDangerousActions": false, + "maxShown": 8, + "maxWallpapers": 9, + "specialPrefix": "@", + "useFuzzy": { + "apps": false, + "actions": false, + "schemes": false, + "variants": false, + "wallpapers": false + }, + "showOnHover": false + }, + "lock": { + "recolourLogo": false + }, + "notifs": { + "actionOnClick": false, + "clearThreshold": 0.3, + "defaultExpireTimeout": 5000, + "expandThreshold": 20, + "expire": false + }, + "osd": { + "enabled": true, + "enableBrightness": true, + "enableMicrophone": true, + "hideDelay": 2000 + }, + "paths": { + "mediaGif": "root:/assets/bongocat.gif", + "sessionGif": "root:/assets/kurukuru.gif", + "wallpaperDir": "~/.config/wallpapers/" + }, + "services": { + "audioIncrement": 0.1, + "defaultPlayer": "Spotify", + "gpuType": "", + "playerAliases": [ + { + "from": "com.github.th_ch.youtube_music", + "to": "YT Music" + } + ], + "weatherLocation": "", + "useFahrenheit": false, + "useTwelveHourClock": false, + "smartScheme": true, + "visualiserBars": 45 + }, + "session": { + "dragThreshold": 30, + "vimKeybinds": true, + "commands": { + "logout": [ + "loginctl", + "terminate-user", + "" + ], + "shutdown": [ + "systemctl", + "poweroff" + ], + "hibernate": [ + "systemctl", + "hibernate" + ], + "reboot": [ + "systemctl", + "reboot" + ] + } + } +} + diff --git a/tree/.config/wallpapers/ferris-stamp.png b/tree/.config/hypr/ferris-stamp.png similarity index 100% rename from tree/.config/wallpapers/ferris-stamp.png rename to tree/.config/hypr/ferris-stamp.png diff --git a/tree/.config/hypr/hyprlock.conf.tpl b/tree/.config/hypr/hyprlock.conf.tpl index 04e3dd3..1508222 100644 --- a/tree/.config/hypr/hyprlock.conf.tpl +++ b/tree/.config/hypr/hyprlock.conf.tpl @@ -51,7 +51,7 @@ input-field { # ferris image in the center image { monitor = - path = ~/.config/wallpapers/ferris-stamp.png + path = ~/.config/hypr/ferris-stamp.png rounding = 0 size = 300 position = 0, 0 diff --git a/tree/.config/niri/config.kdl.tpl b/tree/.config/niri/config.kdl.tpl index 96cd7e9..4647f48 100644 --- a/tree/.config/niri/config.kdl.tpl +++ b/tree/.config/niri/config.kdl.tpl @@ -73,6 +73,18 @@ layout { gaps 12 {% end %} + // Struts shrink the area occupied by windows, similarly to layer-shell panels. + // You can think of them as a kind of outer gaps. They are set in logical pixls. + // Left and right struts will cause the next window to the side to always be visible. + // Top and bottom struts will simply add outer gaps in addition to the area occupied by + // layer-shell panels and regular gaps. + struts { + left -12 + right -12 + top -12 + bottom -12 + } + // When to center a column when changing focus, options are: // - "never", default behavior, focusing an off-screen column will keep at the left // or right edge of the screen. @@ -113,26 +125,11 @@ layout { // active-gradient from="#ffbb66" to="#ffc880" angle=45 relative-to="workspace-view" // inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view" } - - // Struts shrink the area occupied by windows, similarly to layer-shell panels. - // You can think of them as a kind of outer gaps. They are set in logical pixls. - // Left and right struts will cause the next window to the side to always be visible. - // Top and bottom struts will simply add outer gaps in addition to the area occupied by - // layer-shell panels and regular gaps. - struts { - // left 64 - // right 64 - // top 64 - // bottom 64 - } } spawn-at-startup "hyprpaper" -spawn-at-startup "eww" "daemon" -spawn-at-startup "eww" "open" "bar0" -spawn-at-startup "eww" "open" "bar1" spawn-at-startup "swayidle" "-w" // ~/.config/swayidle/config -spawn-at-startup "swaync" // ~/.config/swaync +spawn-at-startup "qs" "-p" "/etc/quickshell/niri-caelestia-shell" // Uncomment this line to ask the clients to omit their client-side decorations if possible. // If the client will specifically ask for CSD, the request will be honored. @@ -259,7 +256,7 @@ vec4 close_color(vec3 coords_geo, vec3 size_geo) { // https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules window-rule { - geometry-corner-radius 16 + geometry-corner-radius 22 clip-to-geometry true } @@ -337,9 +334,11 @@ binds { // shows a list of important hotkeys. Mod+Shift+Plus { show-hotkey-overlay; } - Mod+Return { spawn "alacritty"; } - Mod+D { spawn "fuzzel"; } - Mod+Plus { spawn "loginctl lock-session"; } + Mod+Return { spawn "ghostty"; } + Mod+Plus { spawn "loginctl" "lock-session"; } + + // TODO: why do i have to use spawn-sh? + Mod+D { spawn "qs" "-p" "/etc/quickshell/niri-caelestia-shell" "ipc" "call" "drawers" "toggle" "launcher"; } // You can also use a shell: // Mod+T { spawn "bash" "-c" "notify-send hello && exec alacritty"; } diff --git a/tree/.face b/tree/.face new file mode 100644 index 0000000..6cafc72 --- /dev/null +++ b/tree/.face @@ -0,0 +1,44 @@ + + + + + + + image/svg+xml + + + + + + + + + + +