this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

README.md: rewrite

Aly Raffauf caaac6da d6b72c6b

+22 -55
+22 -55
README.md
··· 2 2 3 3 Welcome to my **nixcfg**! 4 4 5 - This repository contains my NixOS and Home-Manager configurations, along with custom modules and packages. It is modular, declarative, and tailored for multi-device setups. 5 + 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! 6 6 7 7 --- 8 8 ··· 12 12 13 13 ## ✨ Features 14 14 15 - - **Encryption:** Encrypted boot drives with Secure Boot, LUKS, and TPM decryption. 16 - - **Hardware Configuration**: Robust hardware support for all hosts. 17 - - **Home-Manager**: Unified management of user environments. 18 - - **Hyprland:** Dynamic tiling Wayland compositor and window manager. 19 - - **Modular Configuration**: Organized and reusable modules for simplicity. 20 - - **Multi-Device Support**: Written with multiple hosts in mind. 21 - - **Stylix:** Auto-generated base16 themes for the whole desktop. 15 + - **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. 16 + - **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). 17 + - **Secure Boot & Encryption:** Encrypted boot drives with Secure Boot via `lanzaboote` and automatic LUKS decryption using TPM. 18 + - **Comprehensive Hardware Support:** Meticulously crafted configurations for my (sometimes unique) devices, including custom audio enhancements (Pipewire filter chains) and device-specific power optimizations. 19 + - **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. 20 + - **Automatic Monitoring & Backups:** Easy Prometheus + Loki and Uptime-Kuma setups for system and service monitoring, plus automated Restic backups to Backblaze B2. 21 + - **Robust Networking:** Secure and flexible networking with Tailscale (it's WireGuard), declarative WiFi profiles, and NFS/Samba sharing. 22 + - **Productivity & Development:** Pre-configured tools for development (Git, Helix, VS Code, Zed), shell enhancements (fastfetch, oh-my-posh, zsh), etc. 23 + - **System-Wide Theming:** Consistent aesthetics across devices with stylix, which auto-generates application themes from base16 color schemes. 22 24 23 25 --- 24 26 ··· 26 28 27 29 ```plaintext 28 30 . 31 + ├── flake/ # Organized flake components 32 + │ ├── darwin.nix # macOS-specific configurations 33 + │ ├── home-manager.nix # Home-manager configurations 34 + │ ├── nixos.nix # NixOS-specific configurations 35 + │ └── ... # Other flake components 29 36 ├── flake.nix # Main entry point 30 37 ├── homes/ # home-manager configurations 31 - ├── hosts/ # NixOS host configurations 32 - ├── modules/ # Modules for NixOS and home-manager 33 - ├── overlays/ # Custom Nixpkgs overlays 34 - ├── pkgs/ # Custom packages 35 - └── README.md # This README 38 + ├── hosts/ # NixOS and Darwin host configurations 39 + ├── modules/ # Modular configurations 40 + │ ├── darwin/ # macOS-specific modules 41 + │ ├── home/ # home-manager modules 42 + │ ├── nixos/ # NixOS-specific modules 43 + │ └── snippets/ # Reusable configuration snippets 44 + └── overlays/ # Custom Nixpkgs overlays 36 45 ``` 37 - 38 - ### Key Files and Directories 39 - 40 - - **`flake.nix`**: Central file linking all configurations using Nix Flakes. 41 - - **`homes/`**: User-specific home-manager configurations. 42 - - **`hosts/`**: Host configurations for NixOS. 43 - - **`modules/`**: Modules for NixOS and home-manager. 44 - - **`overlays/`**: Defines custom overlays to extend or override Nixpkgs. 45 - - **`pkgs/`**: Houses custom or patched package definitions. 46 - - **`secrets/`**: Securely stores encrypted credentials or sensitive data. 47 - 48 - --- 49 - 50 - ## 🚀 Getting Started 51 - 52 - ### Prerequisites 53 - 54 - - A working Nix installation with Flakes enabled. 55 - - Familiarity with NixOS, Home-Manager, and declarative configurations. 56 - 57 - ### Clone the Repository 58 - 59 - ```bash 60 - git clone https://github.com/alyraffauf/nixcfg.git 61 - cd nixcfg 62 - ``` 63 - 64 - ### Apply the Configuration 65 - 66 - For **NixOS** systems: 67 - 68 - ```bash 69 - sudo nixos-rebuild switch --flake .#<hostname> 70 - ``` 71 - 72 - For **Home-Manager** setups: 73 - 74 - ```bash 75 - home-manager switch --flake . 76 - ``` 77 - 78 - > Replace `<hostname>` with the desired system configuration from your modules. 79 46 80 47 --- 81 48