mirror of
				https://github.com/alyraffauf/nixcfg.git
				synced 2025-10-31 19:14:00 -04:00 
			
		
		
		
	
				
				Multi-host NixOS, Darwin, and home-manager deployments with Nix.
				
			
		| Flake lock file updates:
• Updated input 'catppuccin':
    'github:catppuccin/nix/7b42c91911c143ae3ea32a79cc8582b5920f24e3?narHash=sha256-3UOEQPBlZo9OixT9L1zoD67QheopTG8/EfRPGKyP9bg%3D' (2025-10-27)
  → 'github:catppuccin/nix/fd1bc7b1af0a576edb13c166c4b1f7b5c7555a73?narHash=sha256-uq0X0KRzZkKGlkU1ARM%2BLWCAVvSYJZtTMpuzMO6LXRs%3D' (2025-10-31)
• Updated input 'catppuccin/nixpkgs':
    'github:NixOS/nixpkgs/544961dfcce86422ba200ed9a0b00dd4b1486ec5?narHash=sha256-EVAqOteLBFmd7pKkb0%2BFIUyzTF61VKi7YmvP1tw4nEw%3D' (2025-10-15)
  → 'github:NixOS/nixpkgs/08dacfca559e1d7da38f3cf05f1f45ee9bfd213c?narHash=sha256-o9KF3DJL7g7iYMZq9SWgfS1BFlNbsm6xplRjVlOCkXI%3D' (2025-10-28)
• Updated input 'disko':
    'github:nix-community/disko/3a9450b26e69dcb6f8de6e2b07b3fc1c288d85f5?narHash=sha256-y7UhnWlER8r776JsySqsbTUh2Txf7K30smfHlqdaIQw%3D' (2025-10-17)
  → 'github:nix-community/disko/6f4cf5abbe318e4cd1e879506f6eeafd83f7b998?narHash=sha256-XOpKBp6HLzzMCbzW50TEuXN35zN5WGQREC7n34DcNMM%3D' (2025-10-31)
• Updated input 'homebrew-cask':
    'github:homebrew/homebrew-cask/20f43420ed996e8dcdd48cea0f2f837628a35f0d?narHash=sha256-d7T1784UWR9SkvnKxzS109k5yBB3SO25ct8jOmt3UXY%3D' (2025-10-31)
  → 'github:homebrew/homebrew-cask/dfd185ae6a27cf47ceb4ce26270923506a65a6e6?narHash=sha256-nHtOqTpZJ2NPMTy3/TOFHfbLAc6Q83BmOUYKfCTpmRc%3D' (2025-10-31)
• Updated input 'homebrew-core':
    'github:homebrew/homebrew-core/d868f52be59fa40b4bc1cc4f8d5ef87a12a732d6?narHash=sha256-yL5gLA3fDgV4sdXWhhrzwGf8vDMJcS27FHHQC2AS7VE%3D' (2025-10-31)
  → 'github:homebrew/homebrew-core/f749ad9672f2b6e986fc7baf7a919062f1a317b2?narHash=sha256-fqfKXT5gAAaHJh%2BSDeOB3nsNMpZLkIzDUvHSp2CWQbs%3D' (2025-10-31)
• Updated input 'nixpkgs-unstable-small':
    'github:NixOS/nixpkgs/262333bca9b49964f8e3cad3af655466597c01d4?narHash=sha256-1tBdsBzYJOzVzNOmCFzFMWHw7UUbhkhiYCFGr%2BOjPTs%3D' (2025-10-30)
  → 'github:NixOS/nixpkgs/2fb006b87f04c4d3bdf08cfdbc7fab9c13d94a15?narHash=sha256-kJ8lIZsiPOmbkJypG%2BB5sReDXSD1KGu2VEPNqhRa/ew%3D' (2025-10-31)
• Updated input 'nur':
    'github:nix-community/NUR/b76d44e0932aeafcea3484d7db1162d3c2ed2495?narHash=sha256-dbngfygtvWcVOPUJPl7XqP%2BMQHIySxQhnOkzikcn/k4%3D' (2025-10-31)
  → 'github:nix-community/NUR/6b701a8ec78ab2074d630c8481f4661fb2c35af8?narHash=sha256-%2BHV35pd9VmimgcJ7p%2BWLwsIM1wY3QD4/RFUCS2kxntU%3D' (2025-10-31) | ||
|---|---|---|
| .github/workflows | ||
| _img | ||
| homes | ||
| hosts | ||
| modules | ||
| .envrc | ||
| .gitignore | ||
| .justfile | ||
| .prettierignore | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE.md | ||
| README.md | ||
❄️ nixcfg
Welcome to my nixcfg!
This repository contains my Darwin, NixOS and home-manager configurations, along with whatever custom modules and packages they require. It is modular, declarative, and tailored for multi-device setups. Hopefully, it's as useful to you as it is to me!
✨ Features
- Declarative System & Dotfiles: Fully declarative management of my macOS (Darwin) + Linux installations and user environments (dotfiles, packages) using Flakes, NixOS, nix-darwin, and home-manager.
- Multi-Host Configs: Seamlessly configures my diverse hosts including bare-metal PCs, laptops (Framework, ThinkPad), mini-servers (Beelink), and virtual private servers (Hetzner, Netcup, AWS).
- Secure Boot & Encryption: Encrypted boot drives with Secure Boot via lanzabooteand automatic LUKS decryption using TPM.
- Comprehensive Hardware Support: Meticulously crafted configurations for my (sometimes unique) devices, including custom audio enhancements (Pipewire filter chains) and device-specific power optimizations.
- Hybrid Cloud Services: Declarative setup for all the hosts and services that make up my overly complicated homelab, including the *arr stack, Audiobookshelf, Caddy, Forgejo (my Git forge), Grafana + Loki + Prometheus, Immich, Karakeep, self-hosted AI inference with Ollama, Plex, qBittorrent, Vaultwarden, and more.
- Automatic Monitoring & Backups: Easy Prometheus + Loki and Uptime-Kuma setups for system and service monitoring, plus automated Restic backups to Backblaze B2.
- Robust Networking: Secure and flexible networking with Tailscale (it's WireGuard), declarative WiFi profiles, and NFS/Samba sharing.
- Productivity & Development: Pre-configured tools for development (Git, Helix, VS Code, Zed), shell enhancements (fastfetch, oh-my-posh, zsh), etc.
📂 Repository Structure
.
├── flake.nix                # Main entry point
├── homes/                   # home-manager configurations
├── hosts/                   # NixOS and Darwin host configurations
├── modules/                 # Modular configurations
│   ├── darwin/              # macOS-specific modules
│   ├── home/                # home-manager modules
│   ├── flake/               # Organized flake components
│   │   ├── darwin.nix       # macOS-specific configurations
│   │   ├── home-manager.nix # Home-manager configurations
│   │   ├── nixos.nix        # NixOS-specific configurations
│   │   └── ...              # Other flake components
│   ├── nixos/               # NixOS-specific modules
│   └── snippets/            # Reusable configuration snippets
└── overlays/                # Custom Nixpkgs overlays
🤝 Contributing
While this is a personal project, I’m open to feedback or suggestions.
Feel free to open an issue or share ideas that could improve this setup!
📜 License
This repository is licensed under the GNU General Public License.
🙌 Acknowledgments
- nixpkgs: 'nough said.
- agenix: secrets storage and orchestration.
- disko: declarative partitions and disk configuration.
- home-manager: declarative dotfile and user package management.
- hyprland: great dynamic tiling wayland compositor.
- lanzaboote: secure boot for NixOS.
- nur: extra packages from the nix user repository.
