{ writeCommand, lib, ... }: let secrets = name: { secrets.pass = { dir = toString ~/.password-store; name = "krops/${name}/secrets"; }; common_secrets.pass = { dir = toString ~/.password-store; name = "krops/common_secrets"; }; }; desktopSecrets = { desktop_secrets.pass = { dir = toString ~/.password-store; name = "krops/desktop_secrets"; }; }; source = { # only workhorse # property.file = toString ./submodules/property; assets.file = toString ./assets; configs.file = toString ./configs; library.file = toString ./library; modules.file = toString ./modules; #mqtt.file = toString ./mqtt; pkgs.file = toString ./pkgs; system.file = toString ./system; #backup-module.file = toString ~/dev/backup; backup-module.git = { url = "https://git.ingolf-wagner.de/nix-modules/backup.git"; ref = "1.3.3"; }; #kops-lib.file = toString ~/dev/krops-lib; krops-lib.git = { url = "https://git.ingolf-wagner.de/nix-modules/krops.git"; ref = "1.0.3"; }; #cluster-module.file = toString ~/dev/cluster-module; cluster-module.git = { url = "https://git.ingolf-wagner.de/nix-modules/cluster.git"; ref = "1.2.0"; }; }; in { sterni = writeCommand "/bin/sterni" { #source = lib.evalSource [ source (secrets "sterni") desktopSecrets ]; source = lib.evalSource [ source ]; target = lib.mkTarget "root@sterni.private"; }; }