summaryrefslogtreecommitdiff
path: root/common.nix
blob: 0bafc478c623eb3048caf677774842f63b88aecd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
{pkgs, lib, inputs, config,...}: {
  imports = [
    ./modules
  ]; 

  nix.settings.experimental-features = ["nix-command" "flakes"]; 
  nixpkgs = {
    config = {
      allowUnfree = true;
    };
  };
  time.timeZone = "Europe/Amsterdam"; # Set timezone

  sops.defaultSopsFile = ./secrets/secrets.yaml;
  sops.age.sshKeyPaths = ["/etc/ssh_host_ed25519_key"]; 
  sops.age.keyFile = "/var/lib/sops-nix/key.txt"; 
  sops.age.generateKey = true; 

  systemd.oomd = {
    enable = true;
    enableUserSlices = true;
    enableSystemSlice = true;
    enableRootSlice = true;
    extraConfig = {
      SwapUsedLimit="50%"; 
      DefaultMemoryPressureLimit="50%";
      DefaultMemoryPressureDurationSec=20;

    };
  };

  nix.gc = {
    automatic = true; 
    dates = "weekly"; 
    options = "--delete-older-than 30d";
  };
  systemd.services.nix-daemon.serviceConfig = {
    MemoryAccounting = true;
    MemoryMax = "90%";
    OOMScoreAdjust = 500;
  };

  environment.systemPackages = with pkgs; [
    htop
    btop 
    nmap 
    dig
    ripgrep 
    unzip 
    sshfs
    ranger
    file
    lm_sensors 

    # Needed for getting credentials
    age
    sops 
  
    bashInteractive
    coreutils
    utillinux
    iproute2
    iputils
    pciutils 
    usbutils
    vim

    # TODO: Dev stuff, move later
    # This could really make the image smaller 
    git
    pkg-config
    cmake 
    ( hiPrio gcc)
    gnumake
    clang
    rustup
  ];
  
  networking.hosts = {
    "0.0.0.0" = ["apresolve.spotify.com"]; 
  };
  # This option defines the first version of NixOS you have installed on this particular machine,  
  # DO NOT CHANGE UNLESS USING NIXOS-INSTALL
  system.stateVersion = "24.11"; # Did you read the comment?
}