No description
Find a file
gwg313 bf9cfb8daf
wallpaper update
Signed-off-by: gwg313 <gwg313@pm.me>
2025-10-20 16:27:17 -04:00
common wallpaper update 2025-10-20 16:27:17 -04:00
home-manager update neovim and syncthing 2025-09-28 10:34:11 -04:00
hosts update neovim and syncthing 2025-09-28 10:34:11 -04:00
modules refactor: major structural changes 2023-12-05 18:11:12 -05:00
overlays refactor: major structural changes 2023-12-05 18:11:12 -05:00
pkgs lots of stuff 2025-06-30 18:13:14 -04:00
secrets feat: add panopticon(attic cache server) 2025-07-09 08:08:39 -04:00
wallpapers updates 2025-08-16 01:32:32 -04:00
.envrc fix: restore devShell for ci 2024-01-07 16:41:12 -05:00
.gitignore remove devenv 2023-11-06 01:55:07 -05:00
.profile lots of stuff 2025-06-30 18:13:14 -04:00
.sops.yaml feat: add sops-nix 2023-12-16 12:56:02 -05:00
build_all.sh updates 2025-08-16 01:32:32 -04:00
flake.lock update neovim and syncthing 2025-09-28 10:34:11 -04:00
flake.nix flake update 2025-07-25 10:28:14 -04:00
nixpkgs.nix refactor: pull bootstap into regular shell for ease of use 2024-01-08 15:49:26 -05:00
README.md fix: update readme 2025-07-12 08:42:05 -04:00
shell.nix refactor: pull bootstap into regular shell for ease of use 2024-01-08 15:49:26 -05:00

❄️ NixOS Configurations

This repository contains my declarative and fully reproducible system configurations using Nix flakes. It manages multiple machines—including laptops, desktops, and servers—using both NixOS and Home Manager.

🧱 Structure

This flake manages:

  • 🖥️ Desktop (NixOS + Home Manager)
  • 💻 Laptop (NixOS + Home Manager)
  • 🗄️ Servers (headless NixOS deployments)
  • 👤 User environments (via Home Manager, on both NixOS and non-NixOS systems)

Key Directories

  • hosts/ Per-machine NixOS configurations (e.g., candlekeep.nix, grymforge.nix)
  • home-manager/ User-specific Home Manager modules and machines etc.)
  • flake.nix / flake.lock Flake definition and dependency pinning

🚀 Getting Started

Requirements

Bootstrap a New Machine

nix run github:yourusername/nixos-configurations#your-hostname

Or, if you're already inside the repo:

sudo nixos-rebuild switch --flake .#your-hostname

Update All Machines

nix flake update
git commit -am "flake: update"

You can also run automated rebuilds and deployments using tools like:

🔐 Secrets

Secrets are managed via:

  • sops-nix
  • Encrypted with age
  • Stored in .sops.yaml and secrets/ directory

💡 Features

  • Flake-based multi-machine setup
  • Home Manager integrated per-user config
  • Declarative hardware profiles
  • Secure secret management with sops-nix
  • Support for remote servers and local workstations.

📝 Hosts

Hostname Role Description
candlekeep Laptop Hyprland, Kitty, Zsh, Neovim
grymforge Main Workstation Hyprland, Kitty, Zsh, Neovim
seikan Reverse Proxy Server Cloud Server, Traefik, Zerotier
waypoint Reverse Proxy Server Traefik, Zerotier
panopticon Log Server Loki, Promtail, Grafana
vault-tec Nix Cache Server Attic

🔄 Workflow

  1. Edit your configs (in hosts/, home/, or modules/)
  2. Rebuild locally or deploy remotely
  3. Commit and push to Git
  4. (Optional) CI/CD runs remote rebuilds