2021-02-28 13:41:25 +00:00
|
|
|
{ pkgs ? import <nixpkgs> { inherit system; }
|
|
|
|
, system ? builtins.currentSystem
|
|
|
|
, stateDir ? "/var"
|
|
|
|
, runtimeDir ? "${stateDir}/run"
|
|
|
|
, logDir ? "${stateDir}/log"
|
|
|
|
, spoolDir ? "${stateDir}/spool"
|
|
|
|
, cacheDir ? "${stateDir}/cache"
|
2021-03-30 17:33:59 +00:00
|
|
|
, libDir ? "${stateDir}/lib"
|
2021-02-28 13:41:25 +00:00
|
|
|
, tmpDir ? (if stateDir == "/var" then "/tmp" else "${stateDir}/tmp")
|
|
|
|
, forceDisableUserChange ? false
|
|
|
|
, processManager
|
2021-04-13 19:06:03 +00:00
|
|
|
, enablePAM ? false
|
2021-04-23 19:39:52 +00:00
|
|
|
, nix-processmgmt ? ../../../nix-processmgmt
|
2021-02-28 13:41:25 +00:00
|
|
|
}:
|
|
|
|
|
|
|
|
let
|
2021-03-07 16:19:27 +00:00
|
|
|
ids = if builtins.pathExists ./ids-bare.nix then (import ./ids-bare.nix).ids else {};
|
|
|
|
|
2021-02-28 13:41:25 +00:00
|
|
|
constructors = import ../../services-agnostic/constructors.nix {
|
2021-04-23 19:39:52 +00:00
|
|
|
inherit pkgs stateDir runtimeDir logDir tmpDir cacheDir spoolDir libDir forceDisableUserChange processManager ids nix-processmgmt;
|
2021-02-28 13:41:25 +00:00
|
|
|
};
|
|
|
|
in
|
|
|
|
rec {
|
2021-04-13 19:06:03 +00:00
|
|
|
sshd = rec {
|
|
|
|
port = 22;
|
|
|
|
|
2021-03-02 19:54:30 +00:00
|
|
|
pkg = constructors.sshd {
|
2021-04-13 19:06:03 +00:00
|
|
|
inherit port;
|
|
|
|
|
|
|
|
extraSSHDConfig = pkgs.lib.optionalString enablePAM ''
|
2021-03-01 21:09:33 +00:00
|
|
|
UsePAM yes
|
|
|
|
'';
|
|
|
|
};
|
2021-03-07 16:19:27 +00:00
|
|
|
|
|
|
|
requiresUniqueIdsFor = [ "uids" "gids" ];
|
2021-02-28 13:41:25 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
dbus-daemon = {
|
|
|
|
pkg = constructors.dbus-daemon {
|
2021-03-04 20:12:28 +00:00
|
|
|
services = [ disnix-service ];
|
2021-02-28 13:41:25 +00:00
|
|
|
};
|
2021-03-07 16:19:27 +00:00
|
|
|
|
|
|
|
requiresUniqueIdsFor = [ "uids" "gids" ];
|
2021-02-28 13:41:25 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
disnix-service = {
|
|
|
|
pkg = constructors.disnix-service {
|
|
|
|
inherit dbus-daemon;
|
|
|
|
};
|
2021-03-07 16:19:27 +00:00
|
|
|
|
|
|
|
requiresUniqueIdsFor = [ "gids" ];
|
2021-02-28 13:41:25 +00:00
|
|
|
};
|
|
|
|
}
|