X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fsystem.nix;h=5f3d79e2850b727a88bcfba235e2a5f887cc8f7e;hb=792ccef2c82a055a2cc4801de028312b0b1199ea;hp=bca6e19ceb836bc8abc509cb4aaa650896d60c8a;hpb=2053ddac783c931053676ebc2b02bc8b82d89399;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/system.nix b/modules/private/system.nix index bca6e19..5f3d79e 100644 --- a/modules/private/system.nix +++ b/modules/private/system.nix @@ -1,31 +1,37 @@ -{ pkgs, lib, config, name, ... }: +{ pkgs, lib, config, name, nodes, ... }: { config = { - services.duplyBackup.profiles.system = { - rootDir = "/var/lib"; - excludeFile = lib.mkAfter '' - + /var/lib/nixos - + /var/lib/udev - + /var/lib/udisks2 - + /var/lib/systemd - + /var/lib/private/systemd - - /var/lib - ''; + deployment.secrets."secret_vars.yml" = { + source = builtins.toString ../../nixops/secrets/vars.yml; + destination = config.secrets.secretsVars; + owner.user = "root"; + owner.group = "root"; + permissions = "0400"; }; + + networking.extraHosts = builtins.concatStringsSep "\n" + (lib.mapAttrsToList (n: v: "${v.config.hostEnv.ips.main.ip4} ${n}") nodes); + + users.extraUsers.root.openssh.authorizedKeys.keys = [ config.myEnv.sshd.rootKeys.nix_repository ]; + secrets.deleteSecretsVars = true; + secrets.gpgKeys = [ + ../../nixops/public_keys/Immae.pub + ]; + secrets.secretsVars = "/run/keys/vars.yml"; + + services.openssh.enable = true; + nixpkgs.overlays = builtins.attrValues (import ../../overlays) ++ [ (self: super: { postgresql = self.postgresql_pam; mariadb = self.mariadb_pam; }) # don’t put them as generic overlay because of home-manager ]; - _module.args = { - pkgsNext = import {}; - pkgsPrevious = import {}; - }; services.journald.extraConfig = '' - MaxLevelStore="warning" - MaxRetentionSec="1year" + #Should be "warning" but disabled for now, it prevents anything from being stored + MaxLevelStore=info + MaxRetentionSec=1year ''; users.users = @@ -65,15 +71,20 @@ pkgs.cnagios nagios-cli + + pkgs.pv + pkgs.smartmontools ]; }; - users.mutableUsers = false; + users.mutableUsers = lib.mkDefault false; environment.etc.cnagios.source = "${pkgs.cnagios}/share/doc/cnagios"; environment.systemPackages = [ pkgs.git pkgs.vim + pkgs.rsync + pkgs.strace ] ++ (lib.optional (builtins.length (config.hostEnv.users pkgs) > 0) pkgs.home-manager);