i-am-logger/vogix16
{ "createdAt": "2025-03-18T23:58:01Z", "defaultBranch": "master", "description": "Functional colors for minimalist minds.", "fullName": "i-am-logger/vogix16", "homepage": null, "language": "Nix", "name": "vogix16", "pushedAt": "2025-12-03T20:02:01Z", "stargazersCount": 29, "topics": [], "updatedAt": "2025-12-05T13:17:56Z", "url": "https://github.com/i-am-logger/vogix16"}Vogix16
Section titled “Vogix16”Functional colors for minimalist minds.
A minimalist design system and runtime theme management system for NixOS. Vogix16 combines a 16-color palette with functional semantic meaning, providing dynamic theme switching without requiring system rebuilds.
Features
Section titled “Features”- 16-Color Design System: Monochromatic base (base00-base07) + functional colors (base08-base0F)
- Runtime Theme Switching: Change themes without NixOS rebuilds
- Dark/Light Variants: Automatic variant switching with maintained semantic meaning
- Application-Specific Configs: Direct Vogix16 integration for supported applications
- Minimal ANSI Support: Terminal emulators provide minimal ANSI passthrough (not an ANSI color scheme)
- Multiple Reload Methods: DBus, Unix signals, Sway IPC, filesystem watching
- Nix-Based Theme Generation: All theme configurations pre-generated at build time
- NixOS Integration: Home Manager module with systemd service
- Shell Completions: Support for Bash, Zsh, Fish, PowerShell, Elvish
Quick Start
Section titled “Quick Start”Installation (NixOS with Flakes)
Section titled “Installation (NixOS with Flakes)”Add to your flake.nix:
{ inputs.vogix16.url = "github:i-am-logger/vogix16";
outputs = { nixpkgs, home-manager, vogix16, ... }: { homeConfigurations.youruser = home-manager.lib.homeManagerConfiguration { modules = [ vogix16.homeManagerModules.default { # Enable applications you want to theme programs.alacritty.enable = true; programs.btop.enable = true;
# Configure vogix16 programs.vogix16 = { enable = true; defaultTheme = "aikido"; defaultVariant = "dark"; }; } ]; }; };}# Check current theme and variantvogix status
# List available themesvogix list
# Switch themesvogix theme forest
# Toggle between dark and light variantsvogix switch
# Generate shell completionsvogix completions bash > ~/.local/share/bash-completion/completions/vogixTesting
Section titled “Testing”Vogix16 includes comprehensive automated integration tests:
# Run all tests./test.sh
# Or use nix directlynix flake checkSee [TESTING.md]!(TESTING.md) for detailed testing documentation.
Documentation
Section titled “Documentation”- [Design System]!(docs/design-system.md) - Color philosophy and Vogix16 format
- [Architecture]!(docs/architecture.md) - System architecture and integration
- [CLI Reference]!(docs/cli.md) - Command-line interface guide
- [Theming Guide]!(docs/theming.md) - Creating and customizing themes
- [Reload Mechanisms]!(docs/reload.md) - Application reload methods
- [Contributing Guide]!(CONTRIBUTING.md) - How to contribute to Vogix16
- [Development Guide]!(DEVELOPMENT.md) - Setting up development environment
- [Testing Guide]!(TESTING.md) - Automated testing documentation
- [Implementation]!(IMPLEMENTATION.md) - Complete implementation details
Example Themes
Section titled “Example Themes”Vogix16 includes example themes demonstrating the design system:
- Aikido - Grayscale monochromatic (default)
- Forest - Green monochromatic
Create custom themes by following the format in themes/aikido.nix.
Philosophy
Section titled “Philosophy”Vogix16 follows a “less is more” approach:
- Colors used intentionally for functional value only
- Interface surfaces use monochromatic scales
- True distinct colors reserved for functional elements
- Dark and light variants maintain semantic consistency
Functional colors convey information the user needs to know (errors, warnings, resource levels), while monochromatic colors provide structure. See [Design System]!(docs/design-system.md) for detailed guidelines on semantic color usage.
Not an ANSI Color Scheme
Section titled “Not an ANSI Color Scheme”Vogix16 is a design system with semantic color meanings, not an ANSI color scheme:
- Applications should use Vogix16 directly through their own configuration files
- Terminal emulators provide minimal ANSI mappings (monochromatic + semantic colors only)
- ANSI passthrough is deliberately minimal to maintain the design philosophy
- Each supported application gets a thoughtfully designed Vogix16 configuration
Requirements
Section titled “Requirements”- NixOS (for full integration) or any Linux distribution (for standalone binary)
- Rust Edition 2024
- DBus (for DBus reload functionality)
- Optional: Sway (for Sway IPC reload)
License
Section titled “License”Creative Commons Attribution-NonCommercial-ShareAlike (CC BY-NC-SA) 4.0 International
See [LICENSE]!(LICENSE) for details.
Contributing
Section titled “Contributing”Contributions welcome! See [CONTRIBUTING.md]!(CONTRIBUTING.md) for detailed guidelines on:
- Submitting themes
- Adding application support
- Code style and conventions
- Testing requirements
- Pull request process
Acknowledgments
Section titled “Acknowledgments”Vogix16 builds on the shoulders of Base16, which proved a 16-color palette could unify a system; Stylix, which made theming native to NixOS; and Omarchy, which showed how seamless runtime theme switching could be. Each shaped what Vogix16 became.