X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fsystem.nix;h=64fc2d972b3452ed61ec7137ec6497ee54100694;hb=8a304ef46e1ad221253f883a8a296a12018e3d30;hp=fba504e9a584dafb1fae8c609bd8439075a61a92;hpb=8d213e2b1c934f6861f76aad5eb7c11097fa97de;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/system.nix b/modules/private/system.nix index fba504e..64fc2d9 100644 --- a/modules/private/system.nix +++ b/modules/private/system.nix @@ -1,14 +1,21 @@ -{ pkgs, privateFiles, ... }: +{ pkgs, lib, config, name, ... }: { 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 + ''; + }; nixpkgs.overlays = builtins.attrValues (import ../../overlays); _module.args = { pkgsNext = import {}; pkgsPrevious = import {}; - myconfig = { - inherit privateFiles; - env = import "${privateFiles}/environment.nix"; - }; }; services.journald.extraConfig = '' @@ -16,15 +23,63 @@ 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.wget + + pkgs.cnagios + nagios-cli + ]; + }; - environment.systemPackages = [ - pkgs.vim - ]; + users.mutableUsers = false; + environment.etc.cnagios.source = "${pkgs.cnagios}/share/doc/cnagios"; + environment.systemPackages = + let + home-manager = builtins.fetchGit { + url = "https://github.com/rycee/home-manager.git"; + rev = "ef64bc598f28818d56c86629dad98b468af9c071"; + ref = "release-19.03"; + }; + in + [ + pkgs.git + pkgs.vim + ] ++ + (lib.optional + (builtins.length (config.hostEnv.users pkgs) > 0) + ((pkgs.callPackage home-manager {}).home-manager) + ); }; }