My personal Quickshell config, optimized for productivity and focus.
thorn.mp4
If you would like to try this shell out, and have dependencies installed:
Walrus is a minimal Pywal replacement that has replaced Pywal to eliminate Python dependencies.
- For Arch users: Install walrus-git from AUR
- Setup process:
- Build Walrus and add it to your path
- Change wallpaper once
- Remove current colors-qs.json in root:/ and create a symbolic link to new Walrus palette:
ln -s ~/.cache/walrus/colors.json ~/.config/quickshell/thorn/colors-qs.json
- Fonts: Edit
Globals.qml
and replacefont
andsecondaryFont
with your preferred fonts - Wallpaper: Replace
imageFolder
/paper
with your wallpaper directory name (relative to$HOME
)
See scripts/thorn.conf
for required layer rules and key bindings.
If the compiled shaders (files ending in .qsb
) aren't working, you'll need to compile them manually:
-
Remove all existing
.qsb
files from./shaders
-
Navigate to
shaders/src
directory -
Compile shaders using QSB:
Bash & Zsh:
for shader in *.frag; do qsb --qt6 "$shader" -o "../$shader.qsb"; done
Fish:
for shader in *.frag; qsb --qt6 "$shader" -o "../$shader.qsb"; end
For Discord theming support:
- Clone
wal-vesktop
repository - Add the script path to
Globals.qml
'swalVesktop
property - Run
./wal-discord -u
for initial setup - In Vencord/Vesktop settings:
- Navigate to Themes and enable
thorn_discord.theme
- Go to Vencord settings and enable "window transparency"
- Navigate to Themes and enable
- Wallpaper changes will automatically update Discord's color palette
-
Productivity Tools
- Working calendar and planner
- Pomodoro Timer (work in progress)
- Mini Markdown Editor and Previewer
-
Visual & Audio
- Configurable Visualizer (waves and bars)
- Audio OSD
- Hyprpicker Cache
-
System Integration
- Custom Region Select (compatible with wf-recorder)
- Wallpaper Manager with shader-mediated transitions and coordinate selector (similar to SWWW)
- Runner with multiple views and sort modes (frequency, categories, web search, grid view)
- Dock with draggable toplevels (work in progress)
Immediate Goals:
- Finish vertical bar implementation
- Create control panel for
Globals.qml
properties - Simplify dock and resolve focus grab timer race conditions
Planned Features:
- Reminder notifications from calendar module
- Fix random crashes (possibly caused by FileView)
- Enhanced Pomodoro timer with study presets
- Relocate markdown editor to pull tab (side or bottom) with note history
- Re-implement lutgen functionality
Required:
- Quickshell
- Walrus
- Material Symbols
- Cava
- Wf-Recorder
Optional:
- Wal-Vesktop (see installation directions above)