Leveraging nix, nix-os, nix-darwin, and home-manager to apply machine and home configurations
- flake.nix (Entrypoint for rebuilding via nixos-rebuild or home-manager)
- flake.lock (lockfile for current nix flake state, updated daily via github action)
- home-manager (User level configuration per machine via home-manager)
- hosts - (Definition of physical/virutal hosts)
- common (Role definitions [Desktop, Laptop, Server])
- nas (NixOS NAS server)
- home (NixOS VM running in NAS)
- cloud (NixOS VM running in Oracle Cloud)
- k3s-f (NixOS running on an N100 tiny PC as a k3s node)
- k3s-g (NixOS running on an N100 tiny PC as a k3s node)
- k3s-h (NixOS running on an N100 tiny PC as a k3s node)
- jeffs_laptop (nix-darwin running on a MacBook Pro)
- work_laptop (nix-darwin running on a MacBook Pro)
- modules (Custom NixOS and home-manager modules)
- overlays (Custom overlays, primarily used for packages currently)
- pkgs (Custom Packages, mainly items not yet in official nixpkgs)
- shell.nix (Shell for bootstrapping flake-enabled nix and home-manager)
- nixpkgs.nix (Used by shell.nix - useful to avoid using channels when using legacy nix commands)
Everyone keeps gushing about how amazing Nix is and I want to get in on the hype cycle
- Learn nix
- Mostly reproduce features from my existing dotfiles
- Replace existing ubunut-based 'home VM'
- Expand usage to other shell environments such as WSL, Macbook, etc
- handle secrets - ideally using 1Password and not SOPS - using git-crypt for now
- try agenix for secrets handling
- introduce the concept of impermanence where appropriate
- Misterio77/nix-starter-config
- How to learn Nix
- home-manager
- Zero to Nix: Everything I Know About Nix & NixOS
- Walkthrough of Nix Install and Setup on MacOS (YouTube)
- NixOS as a server, part 1: Impermanence
- budimanjojo/dotfiles
- wrmilling/nixos-configuration
- gshpychka/dotfiles-nix
- wimpysworld/nix-config
Old dotfiles are still accessible in archive branch