vinyasa विन्यास
settings

vinyasa

विन्यास · “arrangement”

Every setting of the desktop, in one place: themes for every tool, fonts, wallpaper, windows.

v0.1.0 latest1 releases4 decisions recordedMIT license

Vinyasa (विन्यास) is Sanskrit for "arrangement": setting things in their place.

GNOME and KDE each have one settings app; a tiling Wayland desktop usually has a folder of config files. vinyasa is the settings app for Vayu: a GTK 4 window with a page per area, a search box that finds any setting, and vim keys. Its core is themes: it drives varna, which sends one theme to every tool (sway, waybar, tmux, kitty, Neovim, notifications, panels, the prompt, the lock screen) and reloads them live.

The Theme page: a card per theme, each with a tiny desktop drawn in its colours; the current one outlined; accent swatches below

#Pages

PageWhat you set
ThemeThe desktop's theme (cards drawn in each theme's colours), the accent colour, dark/light twin, terminal transparency, whether GTK apps follow too
Theme editorYour own theme: start from any theme, change any of its 26 colours and its accents with a live preview, save it under a name, delete it
FontsThe interface font and size (GTK apps) and the monospace font and size (kitty)
WallpaperPick one from ~/Pictures/Wallpapers, turn the daily wallpaper on or off, fetch today's
Windows & gapsGaps, border width, corner radius (sway, SwayFX)
ToolsEvery tool follows the desktop unless you pick a theme for it; switch a tool off to keep the theme away from it; tools whose config doesn't include varna yet are marked
AboutVersions, re-apply the theme everywhere, your themes folder, every tool's status

Every change applies at once and the app restyles itself to match. Coming next: Wi-Fi, Bluetooth, sound, displays, keyboard, power, notifications, keybindings, date and language.

The theme editor: every palette colour as a button, the accents as dropdowns, and a live preview of a desktop in the edited colours The Tools page: each tool with a theme dropdown (Follow the desktop) and a switch

#Install

With kosha (installs varna too):

kosha install vinyasa

Or by hand: install varna, then git clone https://github.com/Theyashsawarkar/vinyasa ~/.local/share/vinyasa && ln -s ~/.local/share/vinyasa/bin/vinyasa ~/.local/bin/vinyasa.

Requirements: Python 3.11+, GTK 4.10+ with PyGObject (python-gobject, gtk4 on Arch), varna. Optional: SwayFX for rounded corners, swaybg.

vinyasa opens it; vinyasa --page=wallpaper opens on a page. In Vayu, Super+, opens it.

#Keys

KeyDoes
j / kNext / previous page (in the sidebar), down / up a row of cards or the next / previous control (in a page)
h / lThe sidebar / the page
gg / GFirst / last page
/Search every setting (theme and tool names too); Enter opens the first match
Enter / SpaceOpen the page, pick the card, change the setting
Tab, arrowsMove between controls as usual
?All keys
q / EscQuit (Esc in the search box clears it)

#How it works

vinyasa holds no settings of its own. Theme, accent, fonts, gaps and per-tool picks are varna's (~/.config/varna/varna.toml, applied with varna's engine, so varna on the command line and vinyasa always agree); the wallpaper is ~/Pictures/Wallpapers/current.jpg and wallpaper.timer; fonts also go to GTK's settings. Applying runs in the background, so the window never freezes while tools reload.

#Contributing

See CONTRIBUTING.md; design decisions are in docs/adr.

#License

MIT.