A curated aesthetic setup for Arch Linux — Niri · Waybar · Kitty · Ghostty · Sublime Text · Custom shaders
Screenshots are located in the
Preview/folder.
| Desktop | Overview | Terminal | Sublime Text |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Dotfiles/
├── Fastfetch/ # Fastfetch configuration preset
├── Niri/ # Niri Wayland compositor (config.kdl)
├── Waybar/ # Status bar (config.jsonc + style.css)
├── Terminals/
│ ├── kitty/ # Kitty config + color themes
│ │ └── colors/ # Catppuccin · Gruvbox · TokyoNight · Everforest · Neon
│ ├── Ghostty/ # Ghostty config + GLSL shader collection
│ │ └── shaders/ # snow · fireworks · matrix · spotlight · starfield…
│ └── Foot/ # Foot terminal config
├── Sublime-Text/ # Preferences, keymaps, LSP-pyright settings
├── Themes/ # COSMIC .ron themes + Cosmictron icon pack
├── Wallpaper/ # Wallpaper collection
├── zshr/zsh # .zshrc (Oh My Zsh · Powerlevel10k · plugins)
└── Packages.txt # Full pacman/AUR package list
| Component | Details |
|---|---|
| OS | Arch Linux (rolling) |
| Compositor | Niri — scrollable-tiling Wayland |
| Status Bar | Waybar |
| Shell | Zsh · Oh My Zsh · Powerlevel10k |
| Terminals | Kitty · Ghostty (custom GLSL shaders) · Foot |
| Fetch | Fastfetch with custom preset · nerdfetch |
| Editor | Sublime Text 4 (LSP + Pyright) |
| Themes | Kanagawa Theme · Cosmictron icon pack |
| Greeter | Greetd + TUIgreet |
Already on Arch? Skip to Step 5 — Clone This Repo.
archinstallRecommended choices:
- Profile: Minimal (no DE)
- Filesystem: ext4 or btrfs
- Bootloader: systemd-boot or GRUB
- Extra packages:
git base-devel
sudo pacman -Syu
sudo pacman -S --needed base-devel git curl wgetgit clone https://aur.archlinux.org/yay-bin.git
cd yay-bin && makepkg -si && cd .. && rm -rf yay-binsudo pacman -S --needed \
wayland xorg-xwayland \
seatd dbus \
pipewire wireplumber pipewire-pulse pipewire-alsa \
networkmanager
sudo systemctl enable NetworkManager seatdgit clone https://github.com/threed2y/Dotfiles.git ~/Dotfiles
cd ~/Dotfilesbash ~/Dotfiles/install.shThis places all config files and backs up any existing ones with .bak. Or follow the manual steps below.
sudo pacman -S niri # available in extra since late 2024
# or from AUR: yay -S niriApply config:
mkdir -p ~/.config/niri
cp ~/Dotfiles/Niri/config.kdl ~/.config/niri/config.kdlStart from a TTY:
niri-sessionOr use greetd as a display manager:
sudo pacman -S greetd greetd-agreety
sudo systemctl enable greetdEdit /etc/greetd/config.toml and set command = "niri-session".
sudo pacman -S waybar
mkdir -p ~/.config/waybar
cp ~/Dotfiles/Waybar/config.jsonc ~/.config/waybar/config
cp ~/Dotfiles/Waybar/style.css ~/.config/waybar/style.cssWaybar is launched by Niri via spawn-at-startup in config.kdl. To start manually:
waybar &# Install Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Install Powerlevel10k
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
# Install plugins
git clone https://github.com/zsh-users/zsh-autosuggestions \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# Apply zshrc (backs up existing)
[ -f ~/.zshrc ] && cp ~/.zshrc ~/.zshrc.bak
cp ~/Dotfiles/zshr/zsh ~/.zshrc
source ~/.zshrcNote: The zshrc contains a
source ~/Downloads/VENV/LA-311/bin/activateline — remove or replace it with your own virtualenv path, or delete it entirely.
sudo pacman -S fastfetch
mkdir -p ~/.config/fastfetch
cp ~/Dotfiles/Fastfetch/config.jsonc ~/.config/fastfetch/config.jsonc
fastfetch # verifysudo pacman -S kitty
mkdir -p ~/.config/kitty
cp ~/Dotfiles/Terminals/kitty/kitty.conf ~/.config/kitty/kitty.conf
cp ~/Dotfiles/Terminals/kitty/theme.conf ~/.config/kitty/theme.conf
cp -r ~/Dotfiles/Terminals/kitty/colors ~/.config/kitty/colorsColor themes available: Catppuccin.conf · Gruvbox.conf · TokyoNight.conf · Everforest.conf · Neon.conf
Switch by editing the include line in ~/.config/kitty/theme.conf.
yay -S ghostty
mkdir -p ~/.config/ghostty/shaders
cp ~/Dotfiles/Terminals/Ghostty/config ~/.config/ghostty/config
cp ~/Dotfiles/Terminals/Ghostty/shaders/* ~/.config/ghostty/shaders/To switch shaders, edit ~/.config/ghostty/config:
custom-shader = ~/.config/ghostty/shaders/just-snow.glsl
# Options: fireworks.glsl · matrix-hallway.glsl · spotlight.glsl
# starfield-colors.glsl · retro-terminal.glsl · cursor_warp.glslsudo pacman -S foot
mkdir -p ~/.config/foot
cp ~/Dotfiles/Terminals/Foot/foot.ini ~/.config/foot/foot.iniyay -S sublime-text-4
mkdir -p ~/.config/sublime-text/Packages/User
cp ~/Dotfiles/Sublime-Text/* ~/.config/sublime-text/Packages/User/LSP + Pyright are pre-configured. Install the LSP and LSP-pyright packages inside Sublime Text via Package Control.
mkdir -p ~/.local/share/icons
tar -xzf ~/Dotfiles/Themes/Icons/Cosmictron-Brown.tgz -C ~/.local/share/icons/
gsettings set org.gnome.desktop.interface icon-theme "Cosmictron-Brown"
# or use nwg-look for a GUI: yay -S nwg-lookThe
.ronfiles inThemes/are for COSMIC Desktop and won't apply on a pure Niri setup.
mkdir -p ~/Pictures/Wallpapers
cp ~/Dotfiles/Wallpaper/* ~/Pictures/Wallpapers/
sudo pacman -S swaybg
swaybg -i ~/Pictures/Wallpapers/art-institute-of-chicago-McqDXhMeRLU-unsplash.jpg -m fill &To persist, add the swaybg command to spawn-at-startup in ~/.config/niri/config.kdl.
sudo pacman -S ttf-jetbrains-mono-nerd ttf-firacode-nerd# Preview first
less ~/Dotfiles/Packages.txt
# Install everything (yay handles both official + AUR)
yay -S --needed - < ~/Dotfiles/Packages.txtreboot| Problem | Fix |
|---|---|
| Niri won't start | Run journalctl -xe; ensure seatd is running: sudo systemctl start seatd |
| Waybar modules missing | Install missing tools: pamixer (volume), power-profiles-daemon (battery) |
| Ghostty shader not rendering | Ensure custom-shader-animation = always is in Ghostty config |
| Kitty fonts look wrong | sudo pacman -S ttf-jetbrains-mono-nerd |
| Fastfetch wrong config path | fastfetch --config-help — default is ~/.config/fastfetch/config.jsonc |
| Zsh virtualenv error on start | Remove the source ~/Downloads/VENV/... line from ~/.zshrc |
| Icons not applying | Use nwg-look or gsettings to set GTK icon theme |
niri msg not working |
You must be inside a running Niri session |
Licensed under CC BY 4.0 — free to share and adapt with attribution to threed2y.
- Arch Linux — the base
- Niri — scrollable-tiling Wayland compositor
- Waybar — status bar
- Oh My Zsh + Powerlevel10k
- Fastfetch — fetch tool
- Sublime Text — the editor
- r/unixporn & the dotfiles community
i use arch, btw.



