at 25.11-pre 2.0 kB view raw
1{ 2 lib, 3 config, 4 pkgs, 5 ... 6}: 7 8let 9 cfg = config.services.esdm; 10in 11{ 12 imports = [ 13 # removed option 'services.esdm.cuseRandomEnable' 14 (lib.mkRemovedOptionModule [ "services" "esdm" "cuseRandomEnable" ] '' 15 Use services.esdm.enableLinuxCompatServices instead. 16 '') 17 # removed option 'services.esdm.cuseUrandomEnable' 18 (lib.mkRemovedOptionModule [ "services" "esdm" "cuseUrandomEnable" ] '' 19 Use services.esdm.enableLinuxCompatServices instead. 20 '') 21 # removed option 'services.esdm.procEnable' 22 (lib.mkRemovedOptionModule [ "services" "esdm" "procEnable" ] '' 23 Use services.esdm.enableLinuxCompatServices instead. 24 '') 25 # removed option 'services.esdm.verbose' 26 (lib.mkRemovedOptionModule [ "services" "esdm" "verbose" ] '' 27 There is no replacement. 28 '') 29 ]; 30 31 options.services.esdm = { 32 enable = lib.mkEnableOption "ESDM service configuration"; 33 package = lib.mkPackageOption pkgs "esdm" { }; 34 enableLinuxCompatServices = lib.mkOption { 35 type = lib.types.bool; 36 default = true; 37 description = '' 38 Enable /dev/random, /dev/urandom and /proc/sys/kernel/random/* userspace wrapper. 39 ''; 40 }; 41 }; 42 43 config = lib.mkIf cfg.enable ( 44 lib.mkMerge [ 45 ({ 46 systemd.packages = [ cfg.package ]; 47 systemd.services."esdm-server".wantedBy = [ "basic.target" ]; 48 }) 49 # It is necessary to set those options for these services to be started by systemd in NixOS 50 (lib.mkIf cfg.enableLinuxCompatServices { 51 systemd.targets."esdm-linux-compat".wantedBy = [ "basic.target" ]; 52 systemd.services."esdm-server-suspend".wantedBy = [ 53 "sleep.target" 54 "suspend.target" 55 "hibernate.target" 56 ]; 57 systemd.services."esdm-server-resume".wantedBy = [ 58 "sleep.target" 59 "suspend.target" 60 "hibernate.target" 61 ]; 62 }) 63 ] 64 ); 65 66 meta.maintainers = with lib.maintainers; [ 67 orichter 68 thillux 69 ]; 70}