A Swiss Army Knife menu for Rofi (App launcher, Wallpaper, Package manager, System Cleanup and much more).
- App Launcher: Cached for speed.
- Wallpaper Manager: Selects, applies via
matugenand updates SDDM theme. - Package Manager: Unified search/install/remove for Pacman, Yay, and Flatpak.
- Automated System Cleanup: One-click maintenance script that removes orphan packages (pacman/yay), clears package caches, vacuums system logs (journald), and empties the Trash/Thumbnails to free up disk space.
- Reload UI: Instantly reload SwayNC and Waybar configurations without restarting the session.
Before using, ensure you have these installed:
- libnotify (for system notifications)
- matugen (for color generation)
- polkit (required for SDDM permission escalation)
- rofi
- yay
-
Clone the repo:
git clone https://github.com/ChristianAlessandri/switchblade.git ~/switchblade -
Make it executable:
chmod +x ~/switchblade/switchblade.sh ~/switchblade/scripts/*.sh
Open switchblade.sh and edit the top variables to match your system:
WALL_DIR="$HOME/Pictures/Wallpapers" # Your wallpaper folder
SDDM_THEME_DIR="/usr/share/sddm/themes/..." # Your SDDM theme pathTo enable dynamic theming for apps (Waybar, Kitty, etc.) and SDDM, you need to configure Matugen. 👉 Please read the Matugen Setup Guide.
It explains how to:
- Copy the config files.
- Set up the
sudoerspermission for the login screen. - Configure your SDDM theme to use the dynamic wallpaper.
Add this to your hyprland.conf:
-
Open the menu:
bind = $mainMod, TAB, exec, /home/$USER/switchblade/switchblade.sh
-
Fast UI Reload
Bypass the menu to instantly reload Waybar and SwayNC:
bind = $mainMod, R, exec, ~/switchblade/switchblade.sh --reload
- Cleanup Safety: The cleanup script runs in non-interactive mode (
--noconfirm) for a seamless experience. It is designed to be safe, but please reviewscripts/clean.shif you want to customize the aggressive cache cleaning. - Wallpapers: Ensure all backgrounds are in
.jpgformat for SDDM compatibility.
This project is distributed under the GNU GPLv3 license.
Copyright (C) 2026 Christian Alessandri.
See the LICENSE file for details.
