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

Configure Feed

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

๐Ÿ“ Update README.md to reflect recent changes

authored by

Jo and committed by
GitHub
353573e2 880ae420

+25 -20
+25 -20
README.md
··· 11 11 </div> 12 12 <br> 13 13 14 - ## ๐Ÿšง State of development 15 - All the basic functionality of v2 should be working correctly, including: 14 + ## ๐Ÿ’ก How does this work? 15 + At its core, version 2 of my NixOS flake was aimed at improving the following regions of my previous setup: 16 16 17 - - The custom lib implementation at self.lib, recursively built from the contents of the `lib` directory. 17 + - Implementing my own custom library at self.lib, recursively built from the contents of the `lib` directory. 18 18 - Loading of systems from the `systems` directory, using easy-hosts. 19 - - A basic workstation archetype for desktop systems. 20 - - Creating users in your systems through ${self.namespace}.users, 21 - automatically maps home-manager configurations from the `homes` directory to their corresponding users. 19 + - Archetypes for various systems, as seen in [Jake Hamilton's](https://github.com/jakehamilton) flake. 20 + - Creating users in my systems through a unified NixOS module, with automated home-manager setups derived from the `homes` directory. 22 21 23 - Since I am actively using this configuration on my main workstation, things are evolving quickly, 24 - leftover issues are actively being resolved and the list of modules is ever-growing. 25 - Nonetheless, one should still consider this implementation experimental. 22 + Since I am actively using this configuration on my main workstation and Server, things have mostly stabilized, 23 + leftover issues are sparse and the list of modules is nearing completion (for my purposes that is). 26 24 27 - My next goal is to setup an attic binary cache, 28 - with a build/release workflow that runs in regular intervals. 29 - (similar to isabelroses's workflow setup) 25 + As such, I personally consider this flake production ready. 30 26 31 27 ## ๐Ÿš€ Deployment 32 28 To deploy a system run the following command in your terminal of choice. ··· 97 93 2. Installs nix with some experimental features (flakes, nix-command, recursive-nix, pipe-operator) 98 94 3. Runs `nix flake check` on the codebase 99 95 100 - ## ๐Ÿ“ Goals and improvements 101 - The main goals of this rewritten flake are: 96 + #### โ†ช๏ธ `Nix: validate flake.lock` 97 + This workflow can be found in `.github/workflows/validate-lock.yml`. 98 + It simply scans flake lockfiles for duplicate entries using `nix run github:tgirlcloud/pkgs#locker`. 99 + Under the hood it makes use of the locker lockfile linter, created by the [tgirlcloud](https://github.com/tgirlcloud) team (mostly [isabelroses](https://github.com/isabelroses). 102 100 103 - - using flake-parts in place of Snowfall lib 104 - - significantly improving the re-usability of all modules 105 - - avoiding anti-patterns, such as `with lib; with lib.${namespace};` 106 - - improved secrets management 107 - - keeping external assets closer to their related nix file, e.g. wallpapers in 108 - the desktop modules folder 101 + To be specific, it does the following: 102 + 1. Checks out current branch 103 + 2. Installs nix with some experimental features (flakes, nix-command) 104 + 3. Runs `nix run github:tgirlcloud/pkgs#locker` on the codebase 105 + 106 + ## ๐Ÿ“ Future goals and improvements (2025-07-28) 107 + Some of my future goals for this flake are: 108 + 109 + - Implementing an automated release workflow with semver versioning, e.g. 2.3.0. 110 + - Experimenting with various window-managers, especially Niri, though not set in stone yet. 111 + - Researching performance best-practices for hardware and implementing patches based on those. 112 + - Further refining my usage of the Nix language, through language best-practices and CLI dev tools. 109 113 110 114 ## ๐Ÿ—๏ธ Structure 111 115 The structure this flake aims to build on is relatively simple to grasp. ··· 131 135 132 136 - [flake-parts](https://flake.parts) 133 137 - [NixOS and Flakes book](https://nixos-and-flakes.thiscute.world) 138 + - [The official NixOS wiki](https://wiki.nixos.org) 134 139 135 140 many thanks to their hard work!