Non stop entertainment! The wackiest NixOS configuration to-date. thevoid.cafe/projects/puzzlevision
nixos flake flake-parts dotfiles home-manager nix

🔥 Clean up README even further

+4 -56
.tangled/assets/anything-but-windows.gif

This is a binary file and will not be displayed.

.tangled/assets/i-love-reproducing-nix-btw.gif

This is a binary file and will not be displayed.

.tangled/assets/powered-by-nixos.gif

This is a binary file and will not be displayed.

+4 -56
README.md
··· 4 4 <h1 align="center">Puzzlevision<br></h1> 5 5 <div align="center">Non-stop entertainment! The wackiest NixOS configuration to-date.</div> 6 6 <br> 7 - <div align="center"> 8 - <img src=".tangled/assets/powered-by-nixos.gif" width="88px" height="31px"> 9 - <img src=".tangled/assets/i-love-reproducing-nix-btw.gif" width="88px" height="31px"> 10 - <img src=".tangled/assets/anything-but-windows.gif" width="88px" height="31px"> 11 - </div> 12 - <br> 13 7 14 - ## 💡 Welcome to the 3rd iteration of this flake (new version again, yay :3) 15 - Any and all changes on this branch are officially part of the 3rd iteration of these NixOS dotfiles. 16 - 17 - NOTHING here is stable or in any way ready for production use, please keep that in mind, if you ever find yourself looking through the structure/code. 8 + > [!CAUTION] 9 + > Any and all changes on this branch are officially part of the 3rd iteration of these NixOS dotfiles. 10 + > NOTHING here is stable or in any way ready for production use, please keep that in mind, if you ever find yourself looking through the structure/code. 18 11 19 12 ## 🚀 Deployment 20 13 To deploy a system run the following command in your terminal of choice. ··· 30 23 sudo nixos-rebuild build-vm --flake .#hostname --accept-flake-config 31 24 ``` 32 25 33 - ## 🔑 Secrets Management 34 - Secrets are managed by the [sops-nix](https://github.com/Mic92/sops-nix) nixos/home-manager modules respectively. 35 - 36 - - General secrets are stored within the `secrets` directory. 37 - - System specific secrets are stored within their respective `systems/<system_type>/<system_name>/secrets` directory. 38 - - User secrets are stored within their respective `homes/<system_type>/<user_name>/secrets` directory. 39 - 40 - The following command may be used to convert the SSH host key of a new machine to an age key: 41 - 42 - ```sh 43 - nix-shell -p ssh-to-age --run 'ssh-keyscan example.com | ssh-to-age' 44 - ``` 45 - 46 - Additionally, the following command may be used to create a new sops secret file: 47 - 48 - ```sh 49 - nix-shell -p sops --run "sops secrets/example.yaml" 50 - ``` 51 - 52 - You may also encrypt arbitrary binary formats, like .cfg, using the following command: 53 - 54 - > [!IMPORTANT] 55 - > The original file location also HAS to match one of the sops creation rules, not just the output. 56 - > Yes, I know this is stupid, and yes, I've wasted way too much time dealing with this :3 57 - 58 - ```sh 59 - nix-shell -p sops --run "sops -e original_file.cfg > secrets/encrypted_file.cfg" 60 - ``` 61 - 62 - Finally, when adding new systems, make sure to update any required secret files with the following command: 63 - 64 - ```sh 65 - nix-shell -p sops --run "sops updatekeys secrets/example.yaml" 66 - ``` 67 - 68 26 ## 👷 CI/CD coverage 69 27 There will be CI/CD coverage based on the Spindle-Pipeline-System™, when I find the time. 70 28 71 29 ## 🏗️ Structure 72 - This flake follows an opinionated directory structure, described below. 73 - 74 - ``` 75 - flake.nix --> The flake. 76 - /systems --> NixOS configurations for various types of systems, using easy-hosts. 77 - /modules --> Modules that are mapped to their corresponding easy-hosts class (and home modules). 78 - /nixos --> (example) Modules specific to the nixos class configured in easy-hosts. 79 - /homes --> Directory for home-manager configurations, not specific to the system type. 80 - /lib --> A place for custom lib attributes exposed on the flake namespace (lib.puzzlevision.mkOpt). 81 - (more...) --> Additional directories have been considered (e.g. shells), but as of right now, they serve no use to me. 82 - ``` 30 + The folder structure of this flake will be documented here, once finalised. 83 31 84 32 ## 🎨 Credits 85 33 Parts of this flake were inspired by the likes of: