# This is the configuration.nix # of the target machine in production. # Used by NixOps. # It is NOT copied nor usable on the target machine, # only the resulting closure is copied to the target machine. { pkgs, lib, config, ... }: let inherit (builtins.extraBuiltins) pass; #inherit (config) networking; mapImportedConfigRecursively = mapConfig: map (m: modArgs: let mod = if builtins.isFunction m || builtins.isAttrs m then lib.unifyModuleSyntax null null (lib.applyIfFunction null m modArgs) else lib.unifyModuleSyntax (toString m) (toString m) (lib.applyIfFunction (toString m) (import m) modArgs); in mod // { imports = mapImportedConfigRecursively mapConfig mod.imports; config = mapConfig mod.config; } ); in { imports = [ ../../base/unbound.nix ../../defaults.nix ./debug.nix ./fileSystems.nix ./hardware.nix #./netdata.nix ./networking.nix #./prometheus.nix ./sanoid.nix ./shorewall.nix ./syncoid.nix ./system.nix ./transmission.nix ./users.nix ]; deployment = { targetEnv = "none"; #targetHost = (builtins.elemAt networking.interfaces.enp5s0.ipv4.addresses 0).address; keys = { "id_ed25519" = { text = pass "servers/losurdo/root/ssh/id_ed25519"; user = "root"; group = "root"; destDir = "/root/.ssh"; permissions = "0400"; }; }; }; }