Personal QuickShell configuration packaged as a Nix flake.
.
├── ds/ # Design system components
├── modules/ # QuickShell modules (bar, dashboard, drawer, etc.)
├── services/ # Services (audio, network, notifications, etc.)
├── shell/ # Shell-specific configurations
├── shell.qml # Main entry point
└── flake.nix # Nix flake definition
# Run the configuration directly
quickshell-config
# Or use the start script (kills existing instance first)
~/.config/niri/start-quickshell
# Or use only the config with
quickshell -p ./The configuration is automatically integrated when using Niri as window manager. To enable auto-start, uncomment the following line in modules/home/wm/niri/default.nix:
spawn-at-startup "sh" "-c" "~/.config/niri/start-quickshell"- Make changes to the QML files in this directory
- Rebuild the system:
quickshell -p ./
This configuration is packaged as a Nix flake with:
- Package:
quickshell-config- The main QuickShell configuration - Home Manager Module: For easy integration with home-manager
- Overlay: For system-wide availability
- QuickShell (from git+https://git.outfoxxed.me/outfoxxed/quickshell)
- Qt6 QML modules
- Nix with flakes enabled
- DS
- Propagate margin, radius and opacity to all components
- Bar
- Handle unknown icons
- Notifications
- Add notificationTime
- Don't hide notification when hover
- Group notifications
If QuickShell doesn't restart properly:
# Find QuickShell processes
pgrep -af quickshell
# Kill all QuickShell instances
pgrep -f "/bin/quickshell.*-p" | xargs -r kill