Skip to content

i-am-logger/vogix16

Repository files navigation

Vogix16

CI and Release License: CC BY-NC-SA 4.0 NixOS Rust

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.

Warning

right now this runs and working in a vm.

nix run .#vogix-vm

vogix is alpha, it is not battlefield tested though i'm working on integrating it to my system.

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

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";
          };
        }
      ];
    };
  };
}

Usage

# Check current theme and variant
vogix status

# List available themes
vogix list

# Switch themes
vogix theme forest

# Toggle between dark and light variants
vogix switch

# Generate shell completions
vogix completions bash > ~/.local/share/bash-completion/completions/vogix

Testing

Vogix16 includes comprehensive automated integration tests:

# Run all tests
./test.sh

# Or use nix directly
nix flake check

See TESTING.md for detailed testing documentation.

Documentation

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

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 for detailed guidelines on semantic color usage.

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

  • 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

Creative Commons Attribution-NonCommercial-ShareAlike (CC BY-NC-SA) 4.0 International

See LICENSE for details.

Contributing

Contributions welcome! See CONTRIBUTING.md for detailed guidelines on:

  • Submitting themes
  • Adding application support
  • Code style and conventions
  • Testing requirements
  • Pull request process

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.

About

Functional colors for minimalist minds.

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •