at 21.11-pre 1.0 kB view raw
1{ config, pkgs, lib, ... }: 2 3with lib; 4let 5 cfg = config.programs.singularity; 6 singularity = pkgs.singularity.overrideAttrs (attrs : { 7 installPhase = attrs.installPhase + '' 8 mv $out/libexec/singularity/bin/starter-suid $out/libexec/singularity/bin/starter-suid.orig 9 ln -s /run/wrappers/bin/singularity-suid $out/libexec/singularity/bin/starter-suid 10 ''; 11 }); 12in { 13 options.programs.singularity = { 14 enable = mkEnableOption "Singularity"; 15 }; 16 17 config = mkIf cfg.enable { 18 environment.systemPackages = [ singularity ]; 19 security.wrappers.singularity-suid.source = "${singularity}/libexec/singularity/bin/starter-suid.orig"; 20 systemd.tmpfiles.rules = [ 21 "d /var/singularity/mnt/session 0770 root root -" 22 "d /var/singularity/mnt/final 0770 root root -" 23 "d /var/singularity/mnt/overlay 0770 root root -" 24 "d /var/singularity/mnt/container 0770 root root -" 25 "d /var/singularity/mnt/source 0770 root root -" 26 ]; 27 }; 28 29}