Crowdrocker/WehttamSnaps-Niri
Crowdrocker/WehttamSnaps-Niri has 39 GitHub stars and 1 forks. GitHot measured 0 stars in 24 hours, 0 in 7 days, and +2 in 15 days. Last checked 2026-11-09 19:53 UTC. Last push 2026-10-11.
Arch Linux Niri configuration for photography, gaming, and content creation. Features gradient borders, J.A.R.V.I.S. integration, audio routing, and comprehensive documentation.
Measured star growth
- in 24h
- 0
- in 7 days
- 0
- in 15 days
- +2
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Original
Overview
Screenshots
Whatisthis
Documentation
QuickInstall
Updating
Keybinds
Troubleshooting
Credits
Arch Linux configuration optimized for photography, gaming, and content creation.
This repository contains a complete, modular Niri configuration featuring:
A Quickshell shell for Niri. Fork of end-4's illogical-impulse, butchered to work on a different compositor.
[!CAUTION] Hey. This is my personal rice. I put effort into it, but it's not a product - don't expect hand-holding or stability guarantees. If you're just here because "it looks cool" and have no clue what Niri even is, maybe check out something more beginner-friendly first. Your system, your responsibility.
Heads up: almost everything here is configurable. Modules, colors, fonts, animations - if something bugs you, there's probably a toggle for it. Hit
Super+,for settings before you rage-quit.
- J.A.R.V.I.S. Integration – Immersive AI assistant theme with custom sounds
- Photography Workflow – Optimized for photo editing and content creation
- Gaming Performance – Tuned for RX 580 with Proton GE configurations
- Audio Routing – PipeWire + qpwgraph for advanced audio control
- Custom Branding – WehttamSnaps theme throughout
🖥️ System Architecture Specs
| Component | Target Hardware Specification |
|---|---|
| CPU | AMD Ryzen 5 9600X (6 Cores / 12 Threads) |
| GPU | XFX Speedster SWFT210 Radeon RX 7600 (8GB VRAM) |
| RAM | 16GB DDR5 (Upgrading to 32GB Dual-Channel) |
| PSU | EVGA 850W Modular Power Supply |
| Chassis | HYTE Y60 (White with Black Trim, Panoramic Glass) |
| Displays | Main: Samsung 4K (Configured to 1920x1080 @ 60Hz) Left: Native 1080p @ 60Hz |
🗃️ Modular Configuration Matrix (snaps/)
To prevent monolith configuration decay, my main Niri config.kdl parses modular file segments sequentially:
- 📁
00-base.kdl: Root environment limits, 1:1 flat mouse tracking configuration, and XWayland scale handling. - 📁
05-wiri_startup.kdl: Autostart system bridges (xwayland-satellite), secure storage auto-mounters, GNOME Polkit agents, and background scripts. - 📁
10-wiri_keybinds.kdl: Keyboard layout mappings (Vim-style navigation) and J.A.R.V.I.S automation execution hooks. - 📁
20-wiri_rules.kdl: Precise window geometry bounds and floating rules for modding infrastructure (Vortex, MO2, xEdit, SteamTinkerLaunch). - 📁
30-workspaces.kdl: Monitored desktop layouts splitting peripheral applications to the left screen and full-screen environments to the center display. - 📁
40-gaming.kdl: Exclusive full-screen application sandboxing rules utilizinggamescope. - 📁
99-overrides.kdl: Absolute layout overrides pinning coordinate geometry planes for my dual 1080p display matrix.
🎵 J.A.R.V.I.S Audio Routing Matrix
System audio streams are parsed cleanly into isolated virtual lines using PipeW
📸
Material ii
| Overview | Sidebars |
|---|---|
| Overlay/Search | Settings |
|---|---|
Waffle (Windows 11 style)
| Quick Settings | Start Menu + Widgets |
|---|---|
A shell. Bar at the top, sidebars on the sides, overlays that pop up when you press keys. The usual.
- Bar - clock, workspaces, tray, the stuff you expect
- Sidebars - left one has AI chat and wallpaper browser, right one has quick toggles and a notepad
- Overview - workspace grid, adapted for Niri's scrolling model
- Alt+Tab - window switcher that actually works across workspaces
- Clipboard - history panel with search (needs cliphist)
- Region tools - screenshots, screen recording, OCR, reverse image search
- Wallpaper - picker, video support, and matugen pulls colors from whatever you set
- Theming - presets like Gruvbox and Catppuccin, or build your own with the custom theme editor. Fonts are customizable too
- Settings - GUI config with search, so you don't have to edit JSON like a caveman
- GameMode - fullscreen app? Effects go bye-bye. Your games won't stutter
- Idle - screen off, lock, suspend timeouts. swayidle handles it, you configure it
- Gamemode + Gamescope – Performance optimization
- Proton GE – Enhanced game compatibility
- Steam Launch Options – Pre-configured for 16 games
- Mod Manager Support – Window rules for Vortex, MO2, Wabbajack
Audio
- PipeWire Routing – Separate audio channels (game, browser, Discord, Spotify)
- qpwgraph – Visual audio routing like VoiceMeter
- J.A.R.V.I.S. Sounds – System event audio notifications
Two flavors, one shell
Can't decide on a look? Good news, you don't have to.
- Material ii - The OG. Floating bar, sidebars, that Material Design aesthetic.
- Waffle - Taskbar at the bottom, action center, tray overflow. For the "I kinda miss Windows" crowd.
Press Mod+Shift+W to cycle between styles, or go to Settings → Modules to mix and match.
Supported Games (Pre-configured)
- Call of Duty HQ
- Cyberpunk 2077
- Fallout 4
- FarCry 5
- Ghost Recon Breakpoint
- Marvel's Avengers
- Need for Speed Payback
- Rise of the Tomb Raider
- Shadow of the Tomb Raider
- The First Descendant
- Tom Clancy's The Division 1 & 2
- Warframe
- Watch Dogs 1, 2, & Legion
Performance Tips
- Enable Gamemode: Automatic via launch options
- Use Gamescope: Configured per-game
- Proton GE: Latest version installed
- Mesa Optimizations: Pre-configured for RX 580
- Disable Compositor Effects: Gaming mode toggle
See docs/GAMING.md for detailed per-game configurations and troubleshooting.
### Configure Audio Routing
```bash
# Launch qpwgraph
qpwgraph
# Or use automated setup
./scripts/audio-setup.sh
🔊
J.A.R.V.I.S. provides audio feedback for system events:
- Startup: "Allow me to introduce myself, I am JARVIS..."
- Shutdown: "Shutting down. Have a good day, Matthew."
- Notifications: "Matthew, you have a notification."
- Gaming Mode: "Gaming mode activated. Systems at maximum performance."
- Streaming: "Streaming systems online. All feeds operational."
- Warnings: Temperature alerts and system warnings
Customize J.A.R.V.I.S.
Edit scripts/jarvis-manager.sh to add or modify sound triggers.
| Doc | What's in it |
|---|---|
| docs/INSTALL.md | How to install this thing |
| docs/PACKAGES.md | Every package the installer uses, by category |
| docs/KEYBINDS.md | Default keyboard shortcuts |
| docs/IPC.md | All IPC targets for custom keybindings |
| docs/SETUP.md | How the setup script works, updates, uninstall |
| docs/LIMITATIONS.md | Known limitations and what doesn't work |
git clone https://github.com/Crowdrocker/WehttamSnaps-Niri.git
cd WehttamSnaps-Niri
./setup install -y
Not on Arch? Check docs/INSTALL.md for manual steps.
Already installed? Pull and sync:
cd WehttamSnaps-Niri
git pull
./setup update
Syncs QML and configs. Your customizations stay. Missing keybinds get added. Hot reload does the rest.
(the important ones)
🎹
These come configured by default:
| Key | What it does |
|---|---|
Mod+Tab |
Niri overview (native) |
Mod+Space (Super+Space) |
ii overview (search/workspaces nav) |
Alt+Tab |
ii window switcher |
Super+G |
ii overlay ( widgets/utils) |
Super+V |
Clipboard history |
Super+Shift+S |
Region screenshot |
Super+Shift+X |
Region OCR |
Ctrl+Alt+T |
Wallpaper picker |
Super+/ |
Keyboard shortcuts cheatsheet |
Super+, |
Settings |
Mod+Shift+W |
Cycle panel style (Material ↔ Waffle) |
Full list in docs/KEYBINDS.md.
IPC (for nerds who want custom bindings)
ii exposes IPC targets you can bind to whatever keys you want. Syntax:
bind "Key" { spawn "qs" "-c" "ii" "ipc" "call" "<target>" "<function>"; }
Main targets:
| Target | Functions |
|---|---|
overview |
toggle |
overlay |
toggle |
clipboard |
toggle, open, close |
altSwitcher |
next, previous, toggle |
region |
screenshot, ocr, search, record |
session |
toggle |
lock |
activate |
cheatsheet |
toggle |
settings |
open |
sidebarLeft |
toggle |
sidebarRight |
toggle |
wallpaperSelector |
toggle |
panelFamily |
cycle, set |
mpris |
playPause, next, previous |
brightness |
increment, decrement |
gamemode |
toggle, activate, deactivate, status |
notifications |
test, clearAll, toggleSilent |
audio |
volumeUp, volumeDown, mute, micMute |
Full reference with examples: docs/IPC.md
# Check the logs
qs log -c ii
# Restart ii without restarting Niri
qs kill -c ii && qs -c ii
# Nuclear option: reload everything
niri msg action load-config-file
Niri won't start
# Check logs
journalctl --user -u niri.service -f
# Validate config
niri validate
Audio routing not working
# Restart PipeWire
systemctl --user restart pipewire pipewire-pulse wireplumber
# Re-run audio setup
./scripts/audio-setup.sh
Gaming performance issues
# Check Proton version
protonup-qt
# Verify Mesa drivers
vulkaninfo | grep "deviceName"
# Enable performance mode
./scripts/toggle-gamemode.sh on
If you're still stuck, the logs usually tell you what's missing. Usually.
Fair warning
This is my daily driver. It works. Most of the time. I break things when I'm bored.
This fork diverged a lot from the original - different compositor, different features, different bugs. If you want the Hyprland version, check out end-4's original.
- end-4 – illogical-impulse for Hyprland
- Quickshell – the framework that makes this possible
- snowarch – Theming concepts
- Chris Titus – Linutil tool
- Community – Arch Linux, Niri, and PipeWire communities
📞 Contact
- Twitch: twitch.tv/WehttamSnaps
- YouTube: youtube.com/@WehttamSnaps
- GitHub: github.com/Crowdrocker
Made with ❤️ by WehttamSnaps If you found this helpful, please consider giving it a star! It helps others discover this project.
Explore related projects
n8n-io/n8n
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
209,959 starslanggenius/dify
Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype to production without rebuilding the stack.
160,773 starsmicrosoft/PowerToys
Microsoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows
140,755 starsstablyai/orca
Orca is the place for working with a fleet of agents (e.g. Grok Bot, Claude Code). Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.
120,604 stars