]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/system.nix
Upgrade to nixos-unstable
[perso/Immae/Config/Nix.git] / modules / private / system.nix
index e929661a2131b2806f0d9d938d9f26ceb4869220..70b74d00bcd95862bcdf829d0b48e3c8a84626aa 100644 (file)
@@ -1,4 +1,4 @@
-{ pkgs, lib, ... }:
+{ pkgs, lib, config, name, ... }:
 {
   config = {
     services.duplyBackup.profiles.system = {
       MaxRetentionSec="1year"
       '';
 
+    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
+          ];
+      };
+
     users.mutableUsers = false;
-    users.users.root.packages = [
-      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
-    ];
 
+    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);
   };
 }