74e9ab183f1b469ce1ef4703b70136d76992824b
- Update ruff to 0.15.2 in requirements.txt - Add pre-commit to requirements.txt - Update uv.lock with new dependencies - Add config/plugins/ to gitignore, remove src/window/launcher
…
…
Home Screen:
Lock Screen:
Quick Start
git clone https://github.com/S4NKALP/Modus ~/.config/Modus
cd ~/.config/Modus
./install.sh
Tip
Post Installation
- Install recommended Icon theme , GTK theme and Cursor Theme
- Check
config/hypr/modus.confedit it according to your device and copy it to your hyprland config- For Lock Screen Bind keys to
uv run lock
Manual Installation
paru -S uv fabric-cli-git cliphist gnome-bluetooth-3.0 slurp ffmpeg hypridle hyprsunset hyprpicker hyprshot grim libnotify matugen-bin playerctl gtk-session-lock awww apple-fonts swappy wl-clipboard webp-pixbuf-loader wf-recorder acpi brightnessctl power-profiles-daemon uwsm cinnamon-desktop ddcutil at-spi2-core gcc make pkgconf appmenu-gtk-module libdbusmenu-gtk3 libdbusmenu-qt5 meson ninja wayland-protocols --needed
git clone https://github.com/S4NKALP/Modus ~/.config/Modus
cd ~/.config/Modus
uv sync
# Compile App Switcher C-backend
cd src/window/switcher/app-capture
meson setup builddir
meson compile -C builddir
cd ../../../..
# Compile Global Menu shim
cd src/globalmenu
gcc -shared -fPIC -O2 -o libmenu_button_shim.so libmenu_button_shim.c $(pkg-config --cflags --libs gtk+-3.0) -ldl
cd ../..
uv run start
Documentation
| Doc | What's inside |
|---|---|
| Installation Guide | Automated & manual install, dependencies |
| Configuration Guide | config.toml, mods.toml, dock.toml, keybinds |
| Styling Guide | Matugen colors, CSS customization |
| Architecture Overview | App Switcher C-backend, Spotlight engine, Services |
| Spotlight Plugins | Install/customize plugins, write your own, examples |
| FAQs & Tips | Troubleshooting, shortcuts, live reload |
| Contributing | Setup, code style, commit conventions |
Configuration
Config files in config/, using TOML format:
| File | Purpose |
|---|---|
config.toml |
Main settings (switcher, wallpaper, notifications) |
mods.toml |
Custom panel buttons |
dock.toml |
Pinned dock apps |
See Configuration Guide for full reference.
Custom Mods
Define panel buttons in config/mods.toml:
[Mods.terminal]
icon = "terminal.svg"
icon-size = 16
order = 1
on-clicked = "kitty"
icon— SVG filename insrc/assets/icons/icon-size— defaults to 16order— button position (lower = first)on-clicked— shell command on clickon-left,on-middle,on-right— per-mouse-button commandsoptions— dropdown menu entries (each withlabel+on-clicked)- Full shell syntax (
&&,|) viash -c - Live reload — edit and changes apply instantly
Spotlight Plugins
The spotlight search (Super+D) is powered by plugins. Drop a .py file in
config/plugins/ and it works instantly.
cp -r examples/plugins/hello.py config/plugins/hello.py
# Hit Super+D, type "hi" — greeting appears
Plugin development:
nvim config/plugins/hello.py
fabric-cli exec modus1 'deep_reload hello' # no restart needed
See Spotlight Plugins for full docs and examples.
Team
Special Thanks
A big thank you to the following people for their incredible help with code and creative ideas. Your help made a real difference!
- darsh: for creating Fabric, which made everything possible.
- gummy bear album: for sharing fantastic code snippets that saved me time and effort.
- axenide: for the amazing config that not only inspired parts of mine but also provided some gems I couldn't resist borrowing.
- E3nviction: for code snippets and ideas that were incredibly helpful.
I truly appreciate your support
Description
A modular and extensible shell for Hyprland, written on Fabric.
arch-linuxarchlinuxdesktopdotfilesdotsdynamic-colorfabricfabric-configfabric-shellgtkgtk-layer-shellhyprlandmaterial-colorsmatugenpythonpython3ricericingunixpornwayland
Readme
GPL-3.0
78 MiB
0 Stars
1 Watchers
0 Forks
