Skip to content

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 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:

Terminal window
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.

you can also run the desktop directly from the flake, without touching your system config:

Terminal window
nix run github:mateoalfaro/singularity-flake

Or build it locally first:

Terminal window
nix build github:mateoalfaro/singularity-flake

See Install for the general build-from-source flow the flake automates, and First boot for what to do once everything is up and running.