Skip to content

abstracts33d/fleet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

132 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

abstracts33d fleet

Org fleet configuration consuming NixFleet via nixfleet.lib.mkHost.

Hosts

Host Platform Description
krach x86_64-linux Hyprland + GNOME, NVIDIA, Bluetooth, impermanent, s33d workstation
ohm x86_64-linux GNOME, impermanent, Sabrina's laptop
aether aarch64-darwin macOS, Apple Silicon, s33d laptop

Usage

# Deployment (standard NixOS tooling)
sudo nixos-rebuild switch --flake .#krach              # local rebuild
nixos-anywhere --flake .#krach root@192.168.1.50       # fresh install
darwin-rebuild switch --flake .#aether                  # macOS

# nh (colored diffs + progress bars)
nh os switch .                         # NixOS rebuild with diff preview
nh home switch .                       # Home Manager rebuild

# VM helpers
nix run .#spawn-qemu               # launch QEMU VM
nix run .#spawn-qemu -- --persistent -h <host>  # build + install + persistent VM
nix run .#test-vm                  # VM test cycle

# Maintenance
nix fmt                            # format (alejandra via treefmt-nix)
nix flake update secrets           # update secrets
nix flake update nixfleet          # update framework

# Templates
nix flake init -t .#devenv         # scaffold new project with devenv

Structure

flake.nix                # Org defaults + mkHost calls for all hosts
modules/
├── _fleet-modules.nix   # Module index (nixos, darwin, homeManager, hmLinux, hmDarwin)
├── host-spec-fleet.nix  # Fleet-specific hostSpec extensions
├── org-secrets.nix      # Agenix wiring (NixOS)
├── org-secrets-darwin.nix # Agenix wiring (Darwin)
├── core/                # Shared HM configs (git, zsh, nvim, tmux, kitty, gpg, atuin, ...)
├── hosts/               # Per-host hardware configs (krach, ohm, aether)
├── scopes/              # Platform/role-specific modules
├── devshells.nix        # Rails devshells
templates/
└── devenv/              # devenv project template (nix flake init -t .#devenv)

Secrets

Managed with agenix. Encrypted secrets live in fleet-secrets (private).

nix flake update secrets    # after changing secrets

Adding a Host

  1. Add mkHost entry in flake.nix under nixosConfigurations
  2. Create modules/hosts/<name>/hardware-configuration.nix and disk-config.nix
  3. Deploy: nixos-anywhere --flake .#<name> root@<ip>

Tests and Rust crates live in nixfleet.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages