Dotfiles plus an interactive terminal installer.
If you only need the wallpaper assets, see assets/wal/.
- Tweaks pacman (Color and Parallel Downloads)
- Adds Chaotic-AUR repo (keyring + mirrorlist)
- Installs prerequisites (base-devel, git, curl, wget, rsync, etc.)
- Installs paru (AUR helper) if missing
- Installs packages from
install/pkg.txtplus auto-detected CPU/GPU vendor package lists using paru (deduplicated) - Symlinks repo
.config/to~/.config/and syncs.local/into~/.local/ - Copies wallpapers from
assets/wal/to~/.local/share/wallpapers/ - Installs the tracked
lyconfig into/etc/ly/config.ini - Enables available services:
ly,iwd,power-profiles-daemon - Refreshes the font cache
- Clone the repo
git clone https://github.com/jr4dh3y/dots-niri.git "$HOME/code/dots-niri"
cd "$HOME/code/dots-niri"- Optionally edit package lists
install/pkg.txtfor the main package listinstall/pkg-cpu-intel.txt/install/pkg-cpu-amd.txtfor CPU microcodeinstall/pkg-gpu-intel.txt/install/pkg-gpu-amd.txt/install/pkg-nvi.txtfor GPU-specific packages
- Run the installer
chmod +x install/install.sh
./install/install.shBy default the installer opens a keyboard-driven terminal UI with arrow-key navigation, space-to-toggle checkboxes, and enter-to-confirm so you can choose between a full install and a custom run.
If you want a single URL that clones/updates the repo into ~/code/dots-niri and then opens the regular installer UI, use oneline.sh:
curl -fsSL https://jr4.in/niri | bashor:
wget -qO- https://jr4.in/niri | bashYou can also forward installer flags after the shell separator --:
curl -fsSL https://jr4.in/niri | bash -s -- --sync-onlyDuring install, the script will also ask for the weather widget location. You can enter a city, state, full address, or pincode.
The installer auto-detects:
- CPU vendor and installs the matching microcode package (
intel-ucodeoramd-ucode) - GPU vendor(s) and installs matching graphics packages for Intel, AMD/Mesa, and/or NVIDIA
- Switch your shell to fish (optional):
chsh -s /usr/bin/fish - Change wallpaper:
wallpaper ~/.local/share/wallpapers/<file>
Niri has separate config-waybar.kdl and config-quickshell.kdl profiles. The
small config.kdl bootstrap loads the persisted selection at login:
rice status
rice waybar
rice quickshell
rice toggle
rice reloadQuickShell is the default. Its checkout is expected at
~/code/random/nshell/shell; set NONCHALANT_SHELL_PATH if it lives elsewhere.
The switcher loads the matching Niri profile and keeps Waybar/Dunst and
QuickShell from competing for the tray and notification D-Bus services. The
Waybar profile starts awww and binds Mod+Shift+W to WallpyGUI. The
QuickShell profile stops awww and binds Mod+Shift+W to the Nonchalant wallpaper
picker via IPC; Mod+D remains the system-usage dashboard.
| Binding | Waybar profile | QuickShell profile |
|---|---|---|
Mod+A, Mod+Period |
Fuzzel | Nonchalant launcher |
Mod+D |
btop in Kitty |
Nonchalant dashboard |
Mod+C |
Project Picker | Nonchalant projects |
Mod+Grave |
T3 Code | Nonchalant assistant |
Mod+X |
Wlogout | Nonchalant power menu |
Mod+L |
Swaylock | Nonchalant lock screen |
Mod+Z |
Toggle Waybar | Reload QuickShell |
Mod+Shift+W |
WallpyGUI | Nonchalant wallpapers |
Mod+Space, Alt+Space |
Local/cloud transcription | Unbound |
| Media and brightness keys | System commands with Dunst OSD | Nonchalant OSD |
Only the five named workspaces are bound (web, dev, chat, media, and
vm). Niri still keeps one empty dynamic workspace, but it will no longer
create the extra numbered 6–9 workspaces from these profiles.
- Pacman is locked: remove the stale DB lock:
sudo rm -f /var/lib/pacman/db.lck - Chaotic-AUR key issues: ensure keyserver access or re-run the installer; it retries key import and installs the keyring package.
- AUR build failures: re-run just that package with
paru -S <pkg>to see full logs.
- The installer backs up any existing
~/.config/<name>as<name>.bakbefore linking. You can restore from those.bakfolders if needed.
Made for personal use; adapt as needed. PRs/issues welcome.
