Skip to content

alyraffauf/nixcfg

Repository files navigation

❄️ 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 lanzaboote and 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.
  • stylix: system-wide color schemes and typography.

⭐ Stargazers Over Time

Stargazers over time


About

Multi-host NixOS, Darwin, and home-manager deployments with Nix.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •