mirror of
				https://github.com/Jokiller230/puzzlevision.git
				synced 2025-10-31 05:40:05 +00:00 
			
		
		
		
	
				
				Non stop entertainment! The wackiest NixOS configuration to-date.
				
			
		
			
			catppuccin-ricedotfileshome-managerhome-manager-confignixnix-flakenixosnixos-configurationsnowfall-lib
			
		
		
		
		
		
		
		
		
		
		
		
			
			
			
			|  | ||
|---|---|---|
| assets | ||
| homes/x86_64-linux | ||
| lib/module | ||
| modules | ||
| systems/x86_64-nixos/puzzlevision | ||
| .gitignore | ||
| CHANGELOG.md | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||

✨ Puzzlevision ✨
Non-stop entertainment! The wackiest NixOS configuration to-date.
🚧 State of development
All the basic functionality of v2 should be working correctly, including:
- The custom lib implementation at self.lib, recursively built from the contents of the libdirectory.
- Loading of systems from the systemsdirectory, using easy-hosts.- A basic workstation archetype for desktop systems.
 
- Creating users in your systems through ${self.namespace}.users,
automatically maps home-manager configurations from the homesdirectory to their corresponding users.
Nonetheless, one should still consider this implementation experimental, once I start using this on my laptop, I'll aim for production grade stability.
🚀 Deployment
To deploy a system run the following command in your terminal of choice.
sudo nixos-rebuild switch --flake .#hostname --accept-flake-config
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 --accept-flake-config
📝 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!