X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fsystem.nix;h=b4080ecf971ed5cce33c4a0b6c1196e45f218a4e;hb=3c50eea8d946bf8417f49fa8a4a6e109e0439c7b;hp=fba504e9a584dafb1fae8c609bd8439075a61a92;hpb=8d213e2b1c934f6861f76aad5eb7c11097fa97de;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/system.nix b/modules/private/system.nix index fba504e..b4080ec 100644 --- a/modules/private/system.nix +++ b/modules/private/system.nix @@ -1,14 +1,23 @@ -{ pkgs, privateFiles, ... }: +{ pkgs, lib, config, name, ... }: { config = { - nixpkgs.overlays = builtins.attrValues (import ../../overlays); + 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 + ''; + }; + nixpkgs.overlays = builtins.attrValues (import ../../overlays) ++ [ + (self: super: { postgresql = self.postgresql_pam; }) # don’t put it as generic overlay for home-manager + ]; _module.args = { pkgsNext = import {}; pkgsPrevious = import {}; - myconfig = { - inherit privateFiles; - env = import "${privateFiles}/environment.nix"; - }; }; services.journald.extraConfig = '' @@ -16,15 +25,53 @@ MaxRetentionSec="1year" ''; - users.users.root.packages = [ - pkgs.telnet - pkgs.htop - pkgs.iftop - ]; + users.users = + builtins.listToAttrs (map (x: lib.attrsets.nameValuePair x.name ({ + isNormalUser = true; + home = "/home/${x.name}"; + createHome = true; + linger = true; + } // x)) (config.hostEnv.users pkgs)) + // { + root.packages = let + nagios-cli = pkgs.writeScriptBin "nagios-cli" '' + #!${pkgs.stdenv.shell} + sudo -u naemon ${pkgs.nagios-cli}/bin/nagios-cli -c ${./monitoring/nagios-cli.cfg} + ''; + in + [ + pkgs.telnet + pkgs.htop + pkgs.iftop + pkgs.bind.dnsutils + pkgs.httpie + pkgs.iotop + pkgs.whois + pkgs.ngrep + pkgs.tcpdump + pkgs.tshark + pkgs.tcpflow + pkgs.mitmproxy + pkgs.nmap + pkgs.p0f + pkgs.socat + pkgs.lsof + pkgs.psmisc + pkgs.openssl + pkgs.wget + pkgs.cnagios + nagios-cli + ]; + }; + + users.mutableUsers = false; + + environment.etc.cnagios.source = "${pkgs.cnagios}/share/doc/cnagios"; environment.systemPackages = [ + pkgs.git pkgs.vim - ]; - + ] ++ + (lib.optional (builtins.length (config.hostEnv.users pkgs) > 0) pkgs.home-manager); }; }