Skip to content

ujaandas/homestack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

38 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿก homestack

A reproducible NixOSโ€‘based homelab stack.

๐Ÿ—‚๏ธ Project Structure

  • flake.nix - Entry point, defines toggles and shared module logic
  • hosts/ - All hardware and machine configurations
  • vms/ - All MicroVM configurations
  • secrets/ - Ageโ€‘encrypted secrets for each service

๐Ÿ“ฆ How it Works

  • Ideally, each host acts like a hypervisor, and manages VMs which contain the relevant NixOS service or relevant NixOS Containers.
  • Each MicroVM should only handle 1 given service - keep them as separated as possible.
  • Secrets are stored in secrets/, decrypted at runtime with agenix, then shared with KVM.
  • The shared module defines toggles (enableDb, enableAuth, etc...) so you can split workloads across machines.

๐Ÿ“‹ TODO

  • Harden secrets management (I don't like passing decrypted secrets)
  • Fix and clean up SSH (use declarative SSH config aliases instead of ssh default@192.168.100.4 each time)
  • Improve support for multi-host systems (more lib.options)
  • Beg NetBird to approve my PR so I can remove my overlay

๐Ÿ› Known Bugs

  • Many

About

A reproducible and minimal NixOS mini-homelab configuration.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages