No description
Find a file
Jermeiah S fdd6fae02e
Some checks failed
/ check (push) Successful in 1m17s
/ deploy (push) Failing after 53s
feature: configured caddy [deploy]
2025-06-29 11:26:40 -04:00
.forgejo/workflows feature automated deployment now working! [deploy] 2025-06-20 15:15:51 -04:00
configurations/nixos feature: configured caddy [deploy] 2025-06-29 11:26:40 -04:00
modules test: should now build local [deploy] 2025-06-25 21:16:33 -04:00
overlays init commit 2025-06-14 00:36:23 -04:00
packages feature: updated otf 2025-06-25 21:10:08 -04:00
.envrc fixed ssh issue for fedora 2025-06-22 23:46:44 -04:00
.gitignore init commit 2025-06-14 00:36:23 -04:00
.sops.yaml update sops keys 2025-06-19 19:09:18 -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 feature: configured caddy [deploy] 2025-06-29 11:26:40 -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 added linode api token 2025-06-28 21:23:19 -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