No description
Find a file
steven carpenter bbd0b5f831
Some checks failed
/ check (push) Failing after 14s
/ deploy (push) Has been skipped
added authelia container
2025-09-14 18:19:02 -04:00
.forgejo/workflows feature automated deployment now working! [deploy] 2025-06-20 15:15:51 -04:00
configurations/nixos added authelia container 2025-09-14 18:19:02 -04:00
modules init k3s config 2025-07-07 17:22:08 -04:00
overlays init commit 2025-06-14 00:36:23 -04:00
packages fix: arma now is run directly packages are global 2025-07-01 23:02:24 -04:00
.envrc fixed ssh issue for fedora 2025-06-22 23:46:44 -04:00
.gitignore ignore all qcow2 2025-07-01 19:49:38 -04:00
.sops.yaml graylog secret and service issues [deploy] 2025-06-29 20:09:17 -04:00
flake.lock fix runner, added terranix 2025-06-20 13:10:04 -04:00
flake.nix fix runner, added terranix 2025-06-20 13:10:04 -04:00
hosts.json update arma host 2025-07-01 21:13:38 -04:00
justfile improved just file 2025-06-23 13:42:49 -04:00
README.md add: readme.md 2025-06-14 13:26:23 -04:00
secrets.yaml init k3s config 2025-07-07 17:22:08 -04:00

Overview

This repository contains a collection of NixOS configurations, modules, and tools designed to make system management more efficient. The goal is to make wiring easy and deployment straight forward.

Features

  • 🏗️ Flake-based configuration management
  • 🔐 Secrets management with sops-nix
  • 🚀 Deployment tools with deploy-rs
  • 🔍 Package search with nix-index-database
  • 🌐 Remote installation support with nixos-anywhere

Prerequisites

  • Nix with flakes enabled
  • direnv
  • just

Quick Start

  1. Enter the development shell: only needed if missing direnv

    just dev
    
  2. Update dependencies:

    just update
    
  3. Check the configuration:

    just check
    

Directory Structure

.
├── configurations/     # System configurations
│   └── nixos/        # NixOS system configurations
├── modules/          # Reusable NixOS and flake modules
│   ├── flake/       # Flake-specific modules
│   └── nixos/       # NixOS modules
├── overlays/         # Custom package overlays
├── packages/         # Custom packages
├── flake.nix        # Main flake configuration
├── flake.lock       # Flake lock file
└── justfile         # Common commands

Available Commands

The repository includes several convenient commands via just:

  • just - List all available commands
  • just update - Update nix flake dependencies
  • just lint - Lint nix files
  • just check - Check nix flake
  • just dev - Enter development shell
  • just run - Activate the configuration

Configuration

System Configuration

System configurations are located in configurations/nixos/. Each system should have its own directory with the following structure:

configurations/nixos/<system-name>/
├── default.nix    # Main system configuration
├── hardware.nix        # Hardware-specific configuration
└── secrets/           # Encrypted secrets (if using sops-nix)

Development

Adding New Modules

  1. Create a new module in modules/nixos/ or modules/flake/
  2. Update the flake.nix to include the new module
  3. Test the module with just check

Adding New Packages

  1. Create a new package in packages/<name>/default.nix
  2. Update the flake.nix to include the new package
  3. Test the package with just check

Acknowledgments