No description
Find a file
Jermeiah S cfdbed06d5
Some checks failed
/ test (push) Has been cancelled
testing
2025-06-19 16:39:49 -04:00
.forgejo/workflows testing 2025-06-19 16:39:49 -04:00
configurations/nixos migrate yggdrasil default config out 2025-06-19 16:31:46 -04:00
modules migrate yggdrasil default config out 2025-06-19 16:31:46 -04:00
overlays init commit 2025-06-14 00:36:23 -04:00
packages/otf init commit 2025-06-14 00:36:23 -04:00
.envrc init commit 2025-06-14 00:36:23 -04:00
.gitignore init commit 2025-06-14 00:36:23 -04:00
.sops.yaml Update .sops.yaml 2025-06-15 00:38:16 +00:00
flake.lock restore home manager 2025-06-14 07:35:13 -04:00
flake.nix restore home manager 2025-06-14 07:35:13 -04:00
justfile init commit 2025-06-14 00:36:23 -04:00
README.md add: readme.md 2025-06-14 13:26:23 -04:00
secrets.yaml updated secrets 2025-06-14 23:05:20 -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