feat: add ghostty, wallpaper folder, start walker daemon on login
This commit is contained in:
@@ -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"; }
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user