This document provides detailed installation instructions for the Niri + Quickshell dotfiles.
- Operating System: Fedora Linux 38 or later
- Display Server: Wayland (required)
- Graphics: GPU with Wayland support (AMD, Intel, or NVIDIA with proprietary drivers)
- Memory: Minimum 4GB RAM (8GB recommended)
- Storage: Minimum 5GB free space
The installation script will automatically install these dependencies:
- niri (window manager)
- quickshell (taskbar)
- konsole, kitty (terminal emulators)
- dolphin (file manager)
- kate (text editor)
- firefox (web browser)
- bemenu (application launcher)
- dunst (notification daemon)
- hyprlock (screen locker)
- wlogout (power menu)
The interactive installer guides you through the installation process with prompts and progress indicators.
git clone https://github.com/yourusername/naravisuals-agentic-dotfiles.git
cd naravisuals-agentic-dotfiles./scripts/install.shThe installer will:
- Run pre-flight checks (sudo, internet, disk space)
- Enable required repositories (RPM Fusion, COPR)
- Install core dependencies
- Install Niri window manager
- Install Quickshell
- Install utilities and applications
- Install themes and fonts
- Install LazyVim Neovim configuration
- Configure dotfiles (create symlinks, backups)
- Display installation summary
When prompted, choose an installation type:
- Full Installation: Install all dependencies and applications
- Minimal Installation: Install only core dependencies
- Configuration Only: Skip package installation, only link configs
After installation completes:
- Logout of your current session
- At the login screen (GDM/SDDM), select "Niri" as the session type
- Login and enjoy your new desktop
For automated installations without prompts:
# Full installation (default)
./scripts/install.sh
# Minimal installation
./scripts/install.sh --minimal
# Configuration only
./scripts/install.sh --configInstall components individually using the modular scripts:
# Run pre-flight checks
./scripts/modules/01-preflight.sh
# Setup repositories
./scripts/modules/02-setup-repos.sh
# Install core dependencies
./scripts/modules/03-install-core.sh
# Install Niri
./scripts/modules/04-install-niri.sh
# Install Quickshell
./scripts/modules/05-install-quickshell.sh
# Install utilities
./scripts/modules/06-install-utilities.sh
# Install themes
./scripts/modules/07-install-themes.sh
# Install LazyVim
./scripts/modules/08-install-lazyvim.sh
# Configure dotfiles
./scripts/modules/09-configure-dotfiles.shFor advanced users who want full control:
# Update system
sudo dnf update -y
# Enable RPM Fusion
sudo dnf install -y https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install -y https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
# Enable COPR repositories
sudo dnf copr enable -y errornointernet/quickshell
sudo dnf copr enable -y ashbuk/Hyprland-Fedora
# Install core packages
sudo dnf install -y niri quickshell konsole dolphin kate firefox
sudo dnf install -y bemenu dunst hyprlock wlogout
sudo dnf install -y breeze-gtk breeze-icon-theme# Niri config
mkdir -p ~/.config/niri
ln -s $(pwd)/niri/config.kdl ~/.config/niri/config.kdl
# Quickshell config
cp -r $(pwd)/quickshell/* ~/.config/quickshell/
# Dunst config
mkdir -p ~/.config/dunst
ln -s $(pwd)/dunst/dunstrc ~/.config/dunst/dunstrc
# Bemenu config
mkdir -p ~/.config/bemenu
ln -s $(pwd)/bemenu/config ~/.config/bemenu/config
# Hyprlock config
mkdir -p ~/.config/hypr
ln -s $(pwd)/hypr/hyprlock.conf ~/.config/hypr/hyprlock.confmkdir -p ~/.config/gtk-3.0 ~/.config/gtk-4.0
cp $(pwd)/gtk/settings.ini ~/.config/gtk-3.0/settings.ini
cp $(pwd)/gtk/settings.ini ~/.config/gtk-4.0/settings.iniAfter logging into Niri:
# Check Niri is running
niri --version
# Check Quickshell is running
pgrep quickshell
# Check symlinks
ls -la ~/.config/niri/config.kdl
ls -la ~/.config/quickshell/Super + Return- Open terminalSuper + D- Open application launcherSuper + Q- Close windowSuper + R- Reload Quickshell
# Recommended applications
sudo dnf install -y vlc gimp libreofficeThe first time you run Neovim, LazyVim will install plugins:
nvimWait for plugin installation to complete.
./scripts/uninstall.shThe uninstaller offers:
- Remove configurations only (keep packages)
- Remove everything (configs + packages)
- Restore defaults
rm -rf ~/.config/niri
rm -rf ~/.config/quickshell
rm -rf ~/.config/dunst
rm -rf ~/.config/bemenu
rm -rf ~/.config/hypr
rm -rf ~/.config/nvimsudo dnf remove niri quickshell bemenu dunst hyprlock wlogout# Reset GTK settings
rm -rf ~/.config/gtk-3.0 ~/.config/gtk-4.0Check the installation logs:
cat /tmp/dotfiles-install-*.log
cat /tmp/dotfiles-errors-*.log# Clean DNF cache
sudo dnf clean all
# Refresh metadata
sudo dnf makecache
# Retry installation
./scripts/install.sh# List enabled COPRs
sudo dnf copr list
# Remove problematic COPR
sudo dnf copr remove <repo-name>
# Re-enable COPR
sudo dnf copr enable errornointernet/quickshell# Check existing symlinks
ls -la ~/.config/niri/
ls -la ~/.config/quickshell/
# Force reconfigure
./scripts/modules/09-configure-dotfiles.sh --forceFor additional help:
- Check TROUBLESHOOTING.md
- Review installation logs in
/tmp/ - Open an issue on GitHub