Skip to content

finix-community/finix

Repository files navigation

finix

finix - an 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";
    runlevels = "2345";
    conditions = "service/syslogd/ready";
    command = "${pkgs.networkmanager}/bin/NetworkManager -n";
  };
}

finix is currently running on my spare primary laptop:

  • with finit instead of systemd as the init system
  • with seatd instead of elogind as the seat manager
  • with mdevd instead of eudev as the device manager
  • using niri as my wayland compositor

niri-desktop-screenshot

finix initially ran:

  • in an incus container
  • in a nspawn container
  • on virtualbox
  • with x11

None of the above methods have been attempted in some time.

About

An experimental os, featuring finit as pid 1, to explore the NixOS design space

Resources

License

Stars

Watchers

Forks

Releases

No releases published