Non stop entertainment! The wackiest NixOS configuration to-date.
Find a file
2025-01-15 23:56:16 +01:00
assets 🎉📝 initialize v2 2025-01-13 18:54:17 +01:00
modules ⚗️🚧 (modules/flake) Update easy-hosts config and flake module args 2025-01-15 23:56:16 +01:00
systems/x86_64-nixos/puzzlevision ⚗️🚧 (modules/flake) Update easy-hosts config and flake module args 2025-01-15 23:56:16 +01:00
.gitignore 🙈 Added idea directory to ignored files 2025-01-13 18:56:30 +01:00
CHANGELOG.md 🎉📝 initialize v2 2025-01-13 18:54:17 +01:00
flake.lock 🚧 Implement basic easy-hosts configuration and flake structure 2025-01-13 23:35:54 +01:00
flake.nix ⚗️🚧 (modules/flake) Update easy-hosts config and flake module args 2025-01-15 23:56:16 +01:00
LICENSE 📄 Update project name, owner name and copyright year 2025-01-13 23:40:34 +01:00
README.md ⚗️🚧 (modules/flake) Update easy-hosts config and flake module args 2025-01-15 23:56:16 +01:00


Puzzlevision

Non-stop entertainment! The wackiest NixOS configuration to-date.

🚧 State of development

Version 2.0 is still very much an experiment and not ready to be used in a production environment. If you must, try running it within a VM using the provided deployment instructions.

🚀 Deployment

To deploy a system run the following command in your terminal of choice.

sudo nixos-rebuild switch --flake .#hostname

If you're interested in a quick way to experiment with this configuration, you may use the following command to build a VM.

sudo nixos-rebuild build-vm --flake .#hostname

📝 Goals and improvements

The main goals of this rewritten flake are:

  • using flake-parts in place of Snowfall lib
  • significantly improving the re-usability of all modules
  • avoiding anti-patterns, such as with lib; with lib.${namespace};
  • improved secrets management
  • keeping external assets closer to their related nix file, e.g. wallpapers in the desktop modules folder

🏗️ Structure

The structure this flake aims to build on is relatively simple to grasp.

flake.nix  --> The flake.
/systems   --> NixOS configurations for various types of systems, using easy-hosts.
/modules   --> Modules that are mapped to their corresponding easy-hosts class (and home modules).
  /nixos   --> (example) Modules specific to the nixos class configured in easy-hosts.
/homes     --> Directory for home-manager configurations, not specific to the system type.
/lib       --> A place for custom lib attributes exposed on the flake namespace (lib.puzzlevision.mkOpt).
(more...)  --> Additional directories have been considered (e.g. shells), but as of right now, they serve no use to me.

🎨 Credits

Parts of this flake were inspired by the likes of:

and documentations such as:

many thanks to their hard work!