Skip to content

rickinshah/0xNiri

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

118 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

   ____       _   ___      _ 
  / __ \_  __/ | / (_)____(_)
 / / / / |/_/  |/ / / ___/ /
/ /_/ />  </ /|  / / /  / /
\____/_/|_/_/ |_/_/_/  /_/

Personal dotfiles for the Niri Wayland compositor.

Preview

preview.mp4

Features

  • Waybar auto-hide script.
  • Full desktop-like experience on a minimal Niri setup.

Tools & Utilities

Category Application
Compositor niri
Bar waybar
Terminal kitty
Notification swaync
Wallpaper Manager swaybg / awww
Clipboard Manager cliphist
Launcher fuzzel
Power Menu wlogout
Screen Locker gtklock
On-Screen Display syshud
File Manager thunar / yazi
Shell fish
Display Manager ly

Installation

Note

This setup is intended for Arch-based distributions.

Automated [Under Developement]

Warning

Manual Installation is recommended. This is still under development.

Note

This may overwrite your existing config. Backup your old config files.

git clone https://github.com/rickinshah/0xNiri.git ~/0xNiri
cd ~/0xNiri
chmod +x install.sh
./install.sh

Manual

1. Clone the repo

git clone https://github.com/rickinshah/0xNiri.git ~/0xNiri
cd ~/0xNiri

2. Install required packages

Install yay
sudo pacman -S --needed base-devel git
git clone https://aur.archlinux.org/yay.git ~/yay
cd ~/yay
makepkg -si
rm -rf ~/yay
Install packages
yay -S --needed --noconfirm - < ~/0xNiri/packages.list
Install optional packages
yay -S --needed --noconfirm - < ~/0xNiri/optional-packages.list

3. Set fish as default shell

chsh -s /bin/fish

4. Setup config files

cp -r ~/0xNiri/.config/. ~/.config/

5. Setup scripts

Move scripts to ~/.local/share/bin
mkdir -p ~/.local/share/bin
cp -r ~/0xNiri/bin/. ~/.local/share/bin
Add ~/.local/share/bin to PATH variable
fish_add_path -a ~/.local/share/bin

Warning

Some keybindings or systemd services may not work if ~/.local/share/bin is not added to your PATH variable.

6. Start the essential startup applications. Refer to this section

7. Logout or Restart

8. Post Installation

Set Wallpaper
set-wallpaper ~/.config/niri/wallpaper.jpg
Install & set GTK Theme
git clone https://github.com/Fausto-Korpsvart/Catppuccin-GTK-Theme.git ~/themes
bash ~/themes/themes/install.sh --tweaks macos float -t lavender -l
gsettings set org.gnome.desktop.interface gtk-theme "'Catppuccin-Lavender-Dark'"
trash ~/themes
Install & set Icon Theme
papirus-folders -C cat-latte-lavender --theme Papirus-Light
gsettings set org.gnome.desktop.interface icon-theme "'Papirus-Light'"
Customize fish shell
fisher install IlanCosman/tide@v6
Set profile picture in gtklock
mugshot

Startup Applications

Startup applications are managed using systemd — as recommended in official Niri documentation

Custom unit files are stored in: ~/.config/systemd/user

Essential Services

Service Purpose
cliphist Clipboard Manager
niri-screen-time Screen Time
nirius Nirius
polkit-gnome Polkit auth agent
swaybg Blur Wallpaper(overview mode)
awww-wallpaper Wallpaper
syshud OSD for volume/brightness
waybar Status bar
xwayland-satellite Xwayland support

Optional Services

Service Purpose
auto-hide-waybar Auto hide waybar
autotrash Removes trash items older than 30 days
kdeconnect-indicator KDE Connect
wlsunset Night Light

Enable services with:

systemctl --user add-wants niri.service <service>.service

For example:

systemctl --user add-wants niri.service waybar.service
systemctl --user add-wants niri.service syshud.service

Useful Locations

Go through following locations to make your life easier.

  • Configs - ~/.config
  • Scripts - ~/.local/share/bin
  • Services - ~/.config/systemd/user

Credits

About

Personal dots for NiriWM

Resources

Stars

Watchers

Forks

Contributors