Skip to content

Latest commit

 

History

History
342 lines (234 loc) · 6.7 KB

File metadata and controls

342 lines (234 loc) · 6.7 KB

Installation Guide

This document provides detailed installation instructions for the Niri + Quickshell dotfiles.

Table of Contents


Prerequisites

System Requirements

  • 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

Required Packages

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)

Installation Methods

Method 1: Interactive Installer (Recommended)

The interactive installer guides you through the installation process with prompts and progress indicators.

Step 1: Clone the Repository

git clone https://github.com/yourusername/naravisuals-agentic-dotfiles.git
cd naravisuals-agentic-dotfiles

Step 2: Run the Installer

./scripts/install.sh

The installer will:

  1. Run pre-flight checks (sudo, internet, disk space)
  2. Enable required repositories (RPM Fusion, COPR)
  3. Install core dependencies
  4. Install Niri window manager
  5. Install Quickshell
  6. Install utilities and applications
  7. Install themes and fonts
  8. Install LazyVim Neovim configuration
  9. Configure dotfiles (create symlinks, backups)
  10. Display installation summary

Step 3: Select Installation Type

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

Step 4: Logout and Login

After installation completes:

  1. Logout of your current session
  2. At the login screen (GDM/SDDM), select "Niri" as the session type
  3. Login and enjoy your new desktop

Method 2: Unattended Installation

For automated installations without prompts:

# Full installation (default)
./scripts/install.sh

# Minimal installation
./scripts/install.sh --minimal

# Configuration only
./scripts/install.sh --config

Method 3: Modular Installation

Install 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.sh

Method 4: Manual Installation

For advanced users who want full control:

Step 1: Install Dependencies

# 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

Step 2: Link Configuration Files

# 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.conf

Step 3: Configure GTK

mkdir -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.ini

Post-Installation

Verify Installation

After 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/

Test Keybindings

  • Super + Return - Open terminal
  • Super + D - Open application launcher
  • Super + Q - Close window
  • Super + R - Reload Quickshell

Install Additional Applications

# Recommended applications
sudo dnf install -y vlc gimp libreoffice

Configure LazyVim

The first time you run Neovim, LazyVim will install plugins:

nvim

Wait for plugin installation to complete.


Uninstallation

Using the Uninstaller

./scripts/uninstall.sh

The uninstaller offers:

  1. Remove configurations only (keep packages)
  2. Remove everything (configs + packages)
  3. Restore defaults

Manual Uninstallation

Step 1: Remove Configuration Files

rm -rf ~/.config/niri
rm -rf ~/.config/quickshell
rm -rf ~/.config/dunst
rm -rf ~/.config/bemenu
rm -rf ~/.config/hypr
rm -rf ~/.config/nvim

Step 2: Remove Packages (Optional)

sudo dnf remove niri quickshell bemenu dunst hyprlock wlogout

Step 3: Restore Defaults

# Reset GTK settings
rm -rf ~/.config/gtk-3.0 ~/.config/gtk-4.0

Troubleshooting Installation

Installation Fails

Check the installation logs:

cat /tmp/dotfiles-install-*.log
cat /tmp/dotfiles-errors-*.log

Package Installation Fails

# Clean DNF cache
sudo dnf clean all

# Refresh metadata
sudo dnf makecache

# Retry installation
./scripts/install.sh

COPR Repository Issues

# 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

Symlink Errors

# Check existing symlinks
ls -la ~/.config/niri/
ls -la ~/.config/quickshell/

# Force reconfigure
./scripts/modules/09-configure-dotfiles.sh --force

Support

For additional help: