Skip to content

VictorGSchneider/StoaLinux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

166 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StoaLinux

A Stoic desktop for Arch Linux — Hyprland, i3, and a unified dark theme inspired by the ancient world.

Arch Linux Hyprland License

"The happiness of your life depends upon the quality of your thoughts." — Marcus Aurelius


Marble, bronze, parchment, stone — colors from temples, statues, and manuscripts. EB Garamond as the serif. JetBrains Mono in the terminal. A Stoic quote every time you open a shell. A Memento Mori widget on the desktop reminding you that time is finite.

StoaLinux is a complete Arch Linux environment with automated installation, a unified dark theme across every app, a settings panel that replaces the need for any external configuration tool, and a collection of stoa-* scripts that handle everything from wallpapers to OCR to cloud drives.

This isn't minimalism for aesthetics. It's minimalism by principle: only what serves, stays.

Highlights

  • Arch Linux with automated installation (from live ISO or existing Arch)
  • Hyprland (Wayland) as the main compositor, i3 as Xorg fallback
  • 25-panel settings app via Rofi — display, audio, network, VPN, firewall, Bluetooth, disks, system health, and more
  • 10 color presets (Nord, Dracula, Gruvbox, Catppuccin...) + custom color editor applied system-wide
  • Unified dark theme across GTK, Qt, Steam, Calibre, YACReader, OnlyOffice, Betterbird, VS Code, Neovim
  • Capture toolbar (eww) — screenshot + recording with mode selection, toggle, and delay
  • System resilience — pacman pre-transaction snapshots, hyprctl version adapter, health check on boot
  • Memento Mori widget (eww), Stoic quotes, and a living marble screensaver
  • DFM (Dotfile Manager) — GTK4 GUI to edit dotfiles in-place with smart widgets, backups, and GitHub sync
  • stoa-* scripts for wallpapers, clipboard, OCR, paste, resize, firewall, WinApps, and more

Palette

The default palette is inspired by the ancient world — marble, bronze, parchment, stone. It can be changed entirely via Super+I → Theme → Color Palette, with 10 built-in presets and a custom color editor.

#211e19 #d4cfc4 #c49a5c
#d4a84b #c4b08a #8a9a6c
#b36b5a #5a7a8a #6e6a62

Available presets: Stoic (default), Nord, Dracula, Gruvbox, Catppuccin Mocha, Tokyo Night, Solarized Dark, Rose Pine, GitHub Dark, Base16 Default

Install

From live ISO:

curl -LO https://raw.githubusercontent.com/VictorGSchneider/StoaLinux/main/setup/arch-install.sh
chmod +x arch-install.sh && ./arch-install.sh

Existing Arch:

git clone https://github.com/VictorGSchneider/StoaLinux.git
cd StoaLinux && chmod +x setup/post-install.sh && ./setup/post-install.sh

Dotfiles only:

git clone https://github.com/VictorGSchneider/StoaLinux.git
cd StoaLinux && chmod +x install.sh && ./install.sh

Shell (add manually):

echo 'source ~/StoaLinux/shell/.zshrc' >> ~/.zshrc   # or .bashrc

Keybinds

KeyActionKeyAction
Super+ReturnTerminal (Kitty)Super+Shift+VClipboard pin
Super+BBrowser (Brave)Super+Shift+TOCR (screen text)
Super+CCalculator (Qalculate)Super+Shift+PAdvanced paste
Super+DLauncher (Rofi)Super+/Keybinds bar
Super+EFiles (lf)Super+EscapeLock screen
Super+Shift+EFiles (Thunar)Super+QClose
Super+NMonitor (btop)Super+FFullscreen
Super+ONotes (Obsidian)Super+RResize (HJKL)
Super+MMemento MoriSuper+HJKLNavigate
Super+ISettings panelSuper+Shift+HJKLMove window
Super+WWinAppsSuper+GDotfile Manager (DFM)
Super+AApp storeSuper+1-0Workspaces I–X
Super+VClipboard historyPrintCapture (screenshot/record)

Settings Panel

Everything is configured through stoa-settings (Super+I) — no external settings app needed.

PanelFeatures
DisplayBrightness, resolution, scale, rotation, multi-monitor (extend/mirror)
AudioVolume, output/input devices (PipeWire)
Equalizer8 built-in EQ presets + user presets via EasyEffects
Night LightBlue light filter (2500K–6500K), schedule (manual/sunset/custom)
KeyboardLayout (12 presets + custom), repeat rate, Caps Lock remap, NumLock
Mouse & TouchpadSensitivity, accel, scroll, tap-to-click, 12 configurable gestures
NetworkWi-Fi, saved networks, network info (IP/DNS/gateway/signal)
VPNProtonVPN: connect by country, P2P, Secure Core, kill switch
Firewallnftables: port list, allow/block, service toggle
BluetoothScan, connect, saved devices, forget
HardwareCPU, GPU, RAM, disks, battery, USB, PCI, sensors, cameras, input
Disks & StorageOverview, usage analyzer (drill-down), mount/unmount, SMART, benchmark, format, fsck, fstab, cleanup
PrintersCUPS: add/remove printers, print queue, scanners (SANE)
Cloud DriveGoogle Drive, OneDrive, Dropbox, S3 via rclone
Power ManagementPower profiles, screen off timeout, auto suspend, battery info
Date & TimeTimezone, NTP, manual time, 12/24h, language & locale
AccessibilityCursor size, text scale, animations, gaps, opacity, border width
ScreensaverLiving marble animation (plasma noise in Stoa palette), idle timeout
WallpaperBrowse, generate, set custom
ThemeColor palette (10 presets + custom), GTK, icons, cursors, font size
Lock ScreenLock now, face recognition setup
System HealthDoctor report, services status, failed units, thermals, journal, updates, package snapshots (diff), security audit, config integrity
MaintenanceBackup configs, restore (interactive/bulk), full system cleanup (10-step), dry-run preview, schedule cleanup at boot

Scripts & Stoatools

ScriptWhat it doesStoatoolWhat it does
stoa-settingsSettings panel (25 panels)stoa-ocrExtract text from screen
stoa-storePackage managerstoa-pastePaste as UPPER/lower/etc
stoa-fetchSystem fetchstoa-resizeBatch resize images
stoa-wallsWallpaper generatorstoa-renameRegex rename + preview
stoa-mementoMemento Mori widgetstoa-locksmithSee who locks a file
stoa-doctorSystem health check
stoa-captureScreenshot + recording (eww)
stoa-screensaverLiving marble screensaver
stoa-clipboardClipboard + pins
stoa-driveCloud drive (rclone)
stoa-firewallnftables firewall
stoa-winappsWindows apps (KVM/RDP)
stoa-osdVolume/brightness OSD
stoa-quotes-syncFetch quotes online
stoa-faceFace unlock (howdy)
stoa-gpu-setupGPU + CPU drivers
stoa-maintainBackup, restore, cleanup (BRCS)
stoa-pkg-snapshotPackage snapshot (pacman hook)
dfmDotfile Manager (GTK4 GUI)

Apps

AppPurposeAppPurpose
BraveBrowserbtopMonitor
ObsidianNotesQalculateCalculator
KittyTerminalewwWidgets
VS CodeIDENeovimEditor
ZathuraPDFCalibreeBooks
mpvVideo/audioYACReaderComics
OnlyOfficeOffice suiteEnpassPasswords
BetterbirdEmailhowdyFace unlock
imvImageslf / ThunarFiles
EasyEffectsAudio equalizergammastepNight light
QEMU/KVMWinApps (VM)FreeRDPRemote desktop
SteamGaming (Proton)GnuPGEncryption & signing

Theme

The Stoa theme is applied consistently across:

  • GTK 3/4stoa-gtk.css with dark palette + EB Garamond
  • Qt 5/6 — Fusion dark via qt5ct/qt6ct
  • VS Code — full color theme (syntax + UI + terminal ANSI)
  • Neovimstoa.vim colorscheme with treesitter support
  • Steam — CSS overlay (libraryroot.custom.css)
  • OnlyOffice — custom JSON theme (stoa-onlyoffice.json)
  • Betterbird — userChrome/userContent CSS (stoa-betterbird.css)
  • Calibre — dark reader with EB Garamond 18pt
  • YACReader — full Qt stylesheet
  • Icons — Colloid-dark
  • Cursors — Colloid
  • Font — EB Garamond (serif) + JetBrains Mono (mono)

Color Palette Manager

Change the entire color scheme from Super+I → Theme → Color Palette:

  • Apply Preset — pick from 10 palettes and apply with one click
  • Edit Colors — customize any of the 11 core colors individually via hex input
  • View Current Palette — see the active colors at a glance
  • Reset to Stoic — restore the default marble/bronze palette

Changes propagate automatically to: Rofi, Waybar, Kitty, Dunst, eww, GTK 3/4, Hyprland, hyprlock, i3, and colors.sh. Hyprland, Kitty, and Dunst reload live — other apps take effect on restart.

System Resilience

  • Package snapshots — pacman pre-transaction hook saves pacman -Q before every install/upgrade/remove (~/.config/stoa/pkg-snapshots/, last 20, auto-rotates). Compare snapshots with current state to see exactly what changed.
  • Hyprland version adapterstoa-doctor detects hyprctl output format on boot and all 25+ settings calls adapt automatically via _hyprctl_get().
  • Health checkstoa-doctor runs on login, verifies all binary dependencies and services, notifies via dunst if anything is missing. Full log at ~/.config/stoa/doctor.log.

A GTK4/libadwaita GUI for editing dotfiles in-place — no moving, no centralizing. Launch with Super+G or dfm.

  • Smart widgets — auto-generated toggles, sliders, color pickers, and path selectors based on config file content
  • Versioned backups — automatic snapshots before every edit, with rollback support
  • Syntax validation — JSON, TOML, YAML, INI, shell, Xresources, plus cross-file conflict detection
  • GitHub sync — push/pull dotfiles via gh, create repos, share as Gists
  • 80+ known configs — shells, window managers, terminals, status bars, editors, and more
  • Profile management — switch between configuration sets and built-in templates

License

GPL-3.0

About

a Stoic customization for Arch Linux

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors