]> git.immae.eu Git - perso/Immae/Config/Nix.git/blame - modules/private/system.nix
Adjust some library functions
[perso/Immae/Config/Nix.git] / modules / private / system.nix
CommitLineData
619e4f46 1{ pkgs, lib, config, name, ... }:
8d213e2b
IB
2{
3 config = {
d2e703c5 4 services.duplyBackup.profiles.system = {
6a8252b1
IB
5 rootDir = "/var/lib";
6 excludeFile = lib.mkAfter ''
7 + /var/lib/nixos
8 + /var/lib/udev
9 + /var/lib/udisks2
10 + /var/lib/systemd
11 + /var/lib/private/systemd
12 - /var/lib
13 '';
14 };
8d213e2b
IB
15 nixpkgs.overlays = builtins.attrValues (import ../../overlays);
16 _module.args = {
17 pkgsNext = import <nixpkgsNext> {};
18 pkgsPrevious = import <nixpkgsPrevious> {};
8d213e2b
IB
19 };
20
21 services.journald.extraConfig = ''
22 MaxLevelStore="warning"
23 MaxRetentionSec="1year"
24 '';
25
8a304ef4
IB
26 users.users =
27 builtins.listToAttrs (map (x: lib.attrsets.nameValuePair x.name ({
28 isNormalUser = true;
29 home = "/home/${x.name}";
30 createHome = true;
31 linger = true;
32 } // x)) (config.hostEnv.users pkgs))
33 // {
34 root.packages = let
35 nagios-cli = pkgs.writeScriptBin "nagios-cli" ''
36 #!${pkgs.stdenv.shell}
37 sudo -u naemon ${pkgs.nagios-cli}/bin/nagios-cli -c ${./monitoring/nagios-cli.cfg}
38 '';
39 in
40 [
41 pkgs.telnet
42 pkgs.htop
43 pkgs.iftop
44 pkgs.bind.dnsutils
45 pkgs.httpie
46 pkgs.iotop
47 pkgs.whois
48 pkgs.ngrep
49 pkgs.tcpdump
50 pkgs.tshark
51 pkgs.tcpflow
52 pkgs.mitmproxy
53 pkgs.nmap
54 pkgs.p0f
55 pkgs.socat
56 pkgs.lsof
57 pkgs.psmisc
ca732a83 58 pkgs.openssl
8a304ef4 59 pkgs.wget
781c3202 60
8a304ef4
IB
61 pkgs.cnagios
62 nagios-cli
63 ];
64 };
8d213e2b 65
8a304ef4 66 users.mutableUsers = false;
8d213e2b 67
8a304ef4 68 environment.etc.cnagios.source = "${pkgs.cnagios}/share/doc/cnagios";
258dd18b
IB
69 environment.systemPackages = [
70 pkgs.git
71 pkgs.vim
72 ] ++
73 (lib.optional (builtins.length (config.hostEnv.users pkgs) > 0) pkgs.home-manager);
8d213e2b
IB
74 };
75}