feat: add ghostty, wallpaper folder, start walker daemon on login

This commit is contained in:
2026-08-12 01:26:33 +07:00
parent d2c8846fb9
commit cd70817f4f
3 changed files with 22 additions and 3 deletions
+3 -1
View File
@@ -83,6 +83,8 @@ layout {
spawn-at-startup "waybar" spawn-at-startup "waybar"
spawn-at-startup "xwayland-satellite" spawn-at-startup "xwayland-satellite"
spawn-at-startup "mako" spawn-at-startup "mako"
spawn-at-startup "walker" "--gapplication-service"
spawn-at-startup "start-wallpaper"
hotkey-overlay { hotkey-overlay {
skip-at-startup skip-at-startup
@@ -130,7 +132,7 @@ binds {
Mod+Shift+Slash { show-hotkey-overlay; } Mod+Shift+Slash { show-hotkey-overlay; }
Mod+T hotkey-overlay-title="Open a Terminal: kitty" { spawn "kitty"; } Mod+T hotkey-overlay-title="Open a Terminal: kitty" { spawn "kitty"; }
Mod+D hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; } Mod+D hotkey-overlay-title="Run an Application: walker" { spawn "walker"; }
Super+Alt+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; } Super+Alt+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; }
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; } XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; }
+19 -2
View File
@@ -1,5 +1,16 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
let
# Picks the first image from ~/.config/wallpapers and sets it via swaybg.
# Add images to home/duynguyen/wallpapers/ in the config repo and rebuild.
startWallpaper = pkgs.writeShellScriptBin "start-wallpaper" ''
f=$(find "$HOME/.config/wallpapers" -maxdepth 1 -type f \
\( -name "*.jpg" -o -name "*.jpeg" -o -name "*.png" \
-o -name "*.gif" -o -name "*.webp" -o -name "*.avif" \) \
| sort | head -1)
[ -n "$f" ] && exec ${pkgs.swaybg}/bin/swaybg -i "$f" -m fill
'';
in
{ {
home.username = "duynguyen"; home.username = "duynguyen";
home.homeDirectory = "/home/duynguyen"; home.homeDirectory = "/home/duynguyen";
@@ -15,19 +26,21 @@
claude-desktop claude-desktop
# Terminals # Terminals
ghostty
kitty kitty
foot # lightweight, good default for Niri foot # lightweight, good default for Niri
# Niri supporting tools # Niri supporting tools
startWallpaper # picks wallpaper from ~/.config/wallpapers and runs swaybg
walker # app launcher walker # app launcher
elephant # modular data provider for walker (clipboard, files, niri actions, etc.) elephant # modular data provider for walker
fuzzel # app launcher (alternative) fuzzel # app launcher (alternative)
waybar waybar
mako # notifications mako # notifications
wl-clipboard # copy/paste in Wayland terminal wl-clipboard # copy/paste in Wayland terminal
swaylock # screen locker swaylock # screen locker
swayidle # idle management swayidle # idle management
swaybg # wallpaper swaybg # wallpaper setter
xwayland-satellite # X11 app support in Niri xwayland-satellite # X11 app support in Niri
xdg-utils # xdg-open, file associations xdg-utils # xdg-open, file associations
inotify-tools # filesystem event tools inotify-tools # filesystem event tools
@@ -90,6 +103,10 @@
# Wayland natively and work correctly with fcitx5 input # Wayland natively and work correctly with fcitx5 input
home.sessionVariables.NIXOS_OZONE_WL = "1"; home.sessionVariables.NIXOS_OZONE_WL = "1";
# Wallpapers folder — add images to home/duynguyen/wallpapers/ in the repo
# and rebuild; swaybg will pick the first one alphabetically
xdg.configFile."wallpapers".source = ./wallpapers;
programs.zsh = { programs.zsh = {
enable = true; enable = true;
autosuggestion.enable = true; autosuggestion.enable = true;
View File