Install on NixOS (community maintained)
The community-maintained singularity-flake packages the desktop and exposes a small NixOS module, so you can enable it with a single option. It builds the full desktop from source, updating on a daily basis.
Add the flake
Section titled “Add the flake”Add it to your flake inputs, import the NixOS module it ships, and enable it:
{ inputs.singularity-desktop.url = "github:mateoalfaro/singularity-flake";
outputs = { self, nixpkgs, singularity-desktop, ... }: { nixosConfigurations.myhost = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ singularity-desktop.nixosModules.default ]; }; };}{ ... }:
{ programs.singularity-desktop = { enable = true;
# Optional: you can also exclude bundled applications from the system profile. excludePackages = with pkgs; [ singularity-calculator singularity-music singularity-store ];
greeter = { enable = true; # Enables the singularity greeter (default = false) background = /path/to/image.jpg # You can also customize greetd by replacing the default background image (default = stock wallpaper) }; };}Then rebuild and switch:
sudo nixos-rebuild switch --flake .Once built, the session shows up in your display manager. Log out then pick the Singularity session and log back in. Note: In some cases, when you update the flake, you may need to reboot to see certain changes take effect.
Try it without installing
Section titled “Try it without installing”you can also run the desktop directly from the flake, without touching your system config:
nix run github:mateoalfaro/singularity-flakeOr build it locally first:
nix build github:mateoalfaro/singularity-flakeSee Install for the general build-from-source flow the flake automates, and First boot for what to do once everything is up and running.