A daily-drivable experimental os, featuring finit as pid 1, to explore the NixOS design space
Nix
524
671 commits
updated Sep 19, 2026
finix- a daily-drivable experimental os, featuring finit as pid 1, to explore the NixOS design space
While exploring the NixOS design space I had several topics in mind:
Now that finix is running on my laptop I have a working base for experimentation. More to come.
An example of defining a finit service in nix:
{ config, pkgs, lib, ... }:
{
finit.services.network-manager = {
description = "network manager service";
runlevel = "2345";
conditions = "service/syslogd/ready";
command = "${pkgs.networkmanager}/bin/NetworkManager -n";
};
}
finix is currently running on my spare primary laptop:
finit instead of systemd as the init systemseatd instead of elogind as the seat managermdevd instead of eudev as the device managerwayland compositorfinix initially ran:
incus containernspawn containervirtualboxx11None of the above methods have been attempted in some time.
finix does not yet have a disk image available to download - installation will need to take place from a standard NixOS image, which can be downloaded here. You may download and burn either the minimal image or the graphical image and the steps will remain the same.
For an installation guide, please see the examples repository and choose your preferred method. Credits to @xZecora for writing these.
cachix binary cacheA binary cache is generously provided by the cachix free tier offering.
services.nix-daemon.settings = {
substituters = [ "https://finix.cachix.org" ];
trusted-public-keys = [ "finix.cachix.org-1:0ejikHDeCp0UErsduUUHcg9IJczY2/h2e5132Z/As/c=" ];
};
Nix
94.0%
Python
3.7%
C
1.5%
A daily-drivable experimental os, featuring finit as pid 1, to explore the NixOS design space
Nix
524
671 commits
updated Sep 19, 2026
finix- a daily-drivable experimental os, featuring finit as pid 1, to explore the NixOS design space
While exploring the NixOS design space I had several topics in mind:
Now that finix is running on my laptop I have a working base for experimentation. More to come.
An example of defining a finit service in nix:
{ config, pkgs, lib, ... }:
{
finit.services.network-manager = {
description = "network manager service";
runlevel = "2345";
conditions = "service/syslogd/ready";
command = "${pkgs.networkmanager}/bin/NetworkManager -n";
};
}
finix is currently running on my spare primary laptop:
finit instead of systemd as the init systemseatd instead of elogind as the seat managermdevd instead of eudev as the device managerwayland compositorfinix initially ran:
incus containernspawn containervirtualboxx11None of the above methods have been attempted in some time.
finix does not yet have a disk image available to download - installation will need to take place from a standard NixOS image, which can be downloaded here. You may download and burn either the minimal image or the graphical image and the steps will remain the same.
For an installation guide, please see the examples repository and choose your preferred method. Credits to @xZecora for writing these.
cachix binary cacheA binary cache is generously provided by the cachix free tier offering.
services.nix-daemon.settings = {
substituters = [ "https://finix.cachix.org" ];
trusted-public-keys = [ "finix.cachix.org-1:0ejikHDeCp0UErsduUUHcg9IJczY2/h2e5132Z/As/c=" ];
};
Nix
94.0%
Python
3.7%
C
1.5%