A modular NixOS framework and library for building reproducible systems with Home Manager, modern desktop environments, and curated development tools.
axiOS is a NixOS framework and library that you import into your own flake to build NixOS configurations. Think of it as a curated collection of modules, packages, and home-manager configs that work together.
You maintain just a few simple files (~30 lines), and axios provides everything else: desktop environment, development tools, system configuration, and more.
mkdir ~/my-nixos-config && cd ~/my-nixos-config
nix run --extra-experimental-features "nix-command flakes" github:kcalvelli/axios#initThe generator creates a complete configuration tailored to your system in minutes.
For manual setup, you'll create just 3 files:
flake.nix- Import axios and configure your system (~30 lines)user.nix- Your user account settings (~15 lines)disks.nix- Filesystem configuration (~10 lines)
See docs/INSTALLATION.md for complete step-by-step instructions.
- Niri compositor - Scrollable tiling Wayland compositor
- DankMaterialShell - Material design shell with custom theming
- Wallpaper blur effects - Automatic blur for overview mode
- Ghostty terminal - Modern GPU-accelerated terminal
- LazyVim - Pre-configured Neovim with LSP support
- Hardware acceleration - Optimized for AMD/Intel/Nvidia graphics
- Multi-language environments - Rust, Zig, Python, Node.js
- DevShells - Project-specific toolchains via
nix develop - LSP support - Language servers pre-configured
- Development tools - Organized by category
- Declarative disks - Disko templates for automated provisioning
- Secure boot - Lanzaboote support
- Virtualization - libvirt, QEMU, Podman
- Hardware optimization - Automatic desktop/laptop configuration
- Modular architecture - Enable only what you need
Niri scrollable tiling compositor with workspace overview
Ghostty terminal with dropdown mode and custom theming
Nautilus file manager with custom theme integration
π Complete Documentation Hub - Start here for comprehensive guides
Quick Links:
- Installation Guide - Step-by-step setup
- Application Catalog - See what's included
- Library API Reference - Using
axios.lib.mkSystem - Adding Multiple Hosts - Multi-host setups
axiOS exports axios.lib.mkSystem for building NixOS configurations with minimal code:
nixosConfigurations.myhost = axios.lib.mkSystem {
hostname = "myhost";
formFactor = "desktop"; # or "laptop"
hardware = { cpu = "amd"; gpu = "amd"; };
modules = { desktop = true; development = true; };
userModulePath = ./user.nix;
diskConfigPath = ./disks.nix;
};See docs/LIBRARY_USAGE.md for complete API documentation and all available options.
Check out these example configurations:
- examples/minimal-flake - Minimal single-host configuration
- examples/multi-host - Multiple hosts with shared config
- Desktop: Niri compositor with scrollable tiling, DankMaterialShell, Ghostty terminal
- Development: Rust, Zig, Python, Node.js toolchains with LSP support
- Applications: Full productivity suite - see Application Catalog
- PWAs: Progressive Web Apps integrated as native applications
- Virtualization: libvirt, QEMU, Podman support (optional)
- Gaming: Steam, GameMode, Proton (optional)
- AI Services: Githb Copilot, Claude CLI with MCP servers (optional)
See project structure and module details in docs/README.md
- β Minimal maintenance - Your config is ~30 lines, axios handles the rest
- β
Selective updates -
nix flake updateto get new features when you want - β Version pinning - Lock to specific axios versions for stability
- β Clear separation - Your personal configs vs framework code
- β Easy sharing - Your config repo is simple and understandable
- β Community framework - Benefit from improvements and updates
Contributions welcome! This is a public framework meant to be used by others.
- Report issues for bugs or missing features
- Submit PRs for improvements
- Share your configurations using axios
- Improve documentation
Built with and inspired by:
- NixOS and the nix-community
- Home Manager
- Niri compositor
- DankMaterialShell
- Countless community configurations and blog posts
MIT License. See LICENSE for details.