Introduction
Nixflk is a template which grants a simple way to use, deploy and manage NixOS systems for personal and productive use. It does this by providing a sane repository structure, integrating several popular projects like home-manager, setting clear guidelines, offering useful conveniences, and eliminating boilerplate so you can focus on deploying your systems.
Getting Started
Check out the guide to get up and running.
Motivation
NixOS provides an amazing abstraction to manage our computers, but that new power can sometimes bring feelings of overwhelm and confusion. Having a turing complete programming language can add an unlimited potential for complexity if we do it wrong. Instead, we should have a community consensus on how to manage a NixOS system — consider this a first attempt.
The future is declarative! 🎉
Community Profiles
There are two branches from which to choose: core and community. The community branch builds on core and includes several ready-made profiles for discretionary use.
Every package and NixOS profile declared in community is uploaded to cachix, so everything provided is available without building anything. This is especially useful for the packages that are overridden from master, as without the cache, rebuilds are quite frequent.
⚠ Advisory ⚠
Nixflk leverages the flakes feature available via an experimental branch of nix. Until nix 3.0 is released, this project should be considered unstable.
Inspiration & Art
License
Nixflk is licensed under the MIT License.