finix - fast init nix
Finix is an experimental Linux distribution built around the Nix package manager. It uses Finit instead of systemd as its init system and service supervisor. By default, it seeks to be:
- minimal
- unopinionated
- extremely flexible
Finix is fully capable as a:
- daily-drivable desktop/laptop
- homelab server
- media center
- gaming pc
- ... and more!
finix is not a fork
Finix is a nix-based distribution that ships its own independent module set, but any NixOS user familiar with the ecosystem should be able to start using finix's modules with relative ease. One important difference between NixOS and finix is that the former imports all of its modules into the global configuration attribute set by default, while finix only imports a small handful of system essentials. While this does leave the end user responsible for importing any modules required to configure their system, a welcome side effect of this is greatly reduced evaluation times, as well as far looser coupling between modules reducing the possibility of breakage. Minimal defaults, alongside finix's "assume nothing about the user" philosophy, and its preference for remaining as close to upstream authors in its software configuration as much as possible, means that an average finix system is (usually) much lighter than a similarly configured NixOS system (and more hackable!). See Comparing finix and NixOS for more details.
Contributions to the finix ecosystem are always welcome. If you would like to improve this documentation, contribute a software module, or make any improvements to core finix functionality, you are more than welcome to do so.
Getting started
See the install guide. If you have an existing finix system and are looking for more information on configuring it, see Configuring.md.
Quick Links
- finit project - the init system used for finix
- finix community modules - community modules for finix
- desktop show-and-tell - browse other finix users' desktops!