Configuration
How to configure iNiR to fit your workflow
iNiR stores its configuration in ~/.config/illogical-impulse/config.json. You can edit this file directly or use the GUI settings.
Using GUI Settings
The easiest way to configure iNiR:
qs -c ii ipc call settings open
Or press Super+,.
The settings window covers most common options. Changes apply immediately.
Config File Location
~/.config/illogical-impulse/config.json
This file is created on first run with default values from defaults/config.json.
Config Structure
The config file is organized into sections:
{
"panelFamily": "ii",
"enabledPanels": ["iiBar", "iiDock", ...],
"appearance": { ... },
"bar": { ... },
"dock": { ... },
"sidebar": { ... },
"notifications": { ... },
"performance": { ... },
"modules": { ... }
}
Common Settings
#Panel Family
Switch between ii (Material) and waffle (Windows 11):
"panelFamily": "ii"
Or use IPC:
qs -c ii ipc call panelFamily set waffle
#Enabled Panels
Control which panels load:
"enabledPanels": [
"iiBar",
"iiDock",
"iiBackground",
"iiNotificationPopup"
]
Remove panels you don't use to save memory.
#Global Style
Choose visual style:
"appearance": {
"globalStyle": "material"
}
Options: "material", "cards", "aurora", "inir", "angel"
#Transparency
Enable/disable transparency:
"appearance": {
"transparency": {
"enable": true,
"automatic": true,
"backgroundTransparency": 0.15,
"contentTransparency": 0.9
}
}
#Theme
Use a preset or wallpaper colors:
"appearance": {
"theme": "wallpaper"
}
Options: "wallpaper", "gruvbox", "catppuccin", etc.
#Performance
Optimize for battery or older hardware:
"performance": {
"lowPower": false,
"reduceAnimations": false
}
#GameMode
Auto-detect fullscreen apps:
"gameMode": {
"enable": true,
"disableEffects": true,
"disableAnimations": true,
"minimalMode": true
}
Module-Specific Settings
#Bar
"bar": {
"vertical": false,
"position": "top",
"height": 40,
"modules": {
"workspaces": true,
"tray": true,
"media": true,
"weather": true
}
}
#Dock
"dock": {
"position": "bottom",
"height": 60,
"pinnedApps": [
"firefox",
"kitty",
"dolphin"
]
}
#Notifications
"notifications": {
"position": "top-right",
"timeout": 5000,
"maxVisible": 3
}
#Sidebar
"sidebar": {
"left": {
"enable": true,
"width": 400
},
"right": {
"enable": true,
"width": 350
}
}
Applying Changes
#GUI Settings
Changes apply immediately when using the settings window.
#Manual Edits
After editing the config file manually:
qs kill -c ii && qs -c ii
Some changes hot-reload, but restarting ensures everything updates.
Backup and Restore
#Backup
cp ~/.config/illogical-impulse/config.json ~/config-backup.json
#Restore
cp ~/config-backup.json ~/.config/illogical-impulse/config.json
qs kill -c ii && qs -c ii
#Reset to Defaults
cp ~/.config/quickshell/ii/defaults/config.json ~/.config/illogical-impulse/config.json
qs kill -c ii && qs -c ii
Config Migrations
When updating iNiR, the setup script may offer config migrations for new features. These are optional and preserve your existing settings.
./setup migrate
Troubleshooting Config Issues
#Config not loading
Check for JSON syntax errors:
cat ~/.config/illogical-impulse/config.json | jq .
If this fails, you have a syntax error.
#Settings not applying
- Restart iNiR
- Check logs for errors
- Verify the setting exists in the schema
- Try resetting to defaults
#Config gets overwritten
The setup script never overwrites your config. If it's getting reset:
- Check file permissions
- Verify you're editing the right file
- Make sure iNiR isn't running when you edit
Advanced Configuration
Some settings aren't exposed in the GUI. Edit the config file directly for:
- Custom keybinds (edit Niri config instead)
- Advanced module options
- Experimental features
- Debug settings
See the config options reference for a complete list of available settings.