persiskv deployment
[myNix.git] / lbhost / conf.common.nix
blob2f09e27dcaf3f616e08d894da9a148064ee0f665
1 { config
2 , ...
3 }:
6   # This value determines the NixOS release from which the default
7   # settings for stateful data, like file locations and database versions
8   # on your system were taken. It‘s perfectly fine and recommended to leave
9   # this value at the release version of the first install of this system.
10   # Before changing this value read the documentation for this option
11   # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
12   system.stateVersion = "21.11"; # Did you read the comment?
14   # Set your time zone.
15   time.timeZone = "Asia/Singapore";
16   # Enable unfree packages
17   nixpkgs.config.allowUnfree = true;
19   # Journald logging rate limit
20   services.journald = {
21     rateLimitInterval = "60s";
22     rateLimitBurst = 300;
23     extraConfig = ''
24       SystemMaxUse=1G
25     '';
26   };
28   # Nix binary cache
29   nix.settings = {
30     substituters = [
31       "https://func-xyz.cachix.org"
32       "https://mycabin.cachix.org"
33       "https://armv6l.cachix.org"
34       "https://cache.nixos.org/"
35     ];
36     trusted-public-keys = [
37       "func-xyz.cachix.org-1:2zBrDzhrnCQpEgVIeGaVIa10//hzev5wQ5+eotk+lkU="
38       "mycabin.cachix.org-1:EB8uIBYqRZI/ORZV0OmbYC+A7TNbsdAkYtWkNgHvpLY="
39       "armv6l.cachix.org-1:ivETyNDh8A3OTlypyAtzJEQd2hfQuaU8N6rwfg41xyA="
40     ];
41   };
43   # Nix store space optimising
44   nix.settings.auto-optimise-store = true;
45   nix.gc = {
46     automatic = true;
47     dates = "03:15";
48     persistent = true;
49     options = "--delete-older-than 7d";
50   };
52   networking.domain = "lb.func.xyz";
53   networking.search = [ config.networking.domain ];
55   # The global useDHCP flag is deprecated, therefore explicitly set to false here.
56   # Per-interface useDHCP will be mandatory in the future, so this generated config
57   # replicates the default behaviour.
58   networking.useDHCP = false;
59   # Enable ipv6 for all
60   networking.enableIPv6 = true;
61   # The tempAddresses for IPv6 will issue a random v6 IP, which is not able to
62   # identify the server. But will leak privacy protecting for private host.
63   # Set this for each interface if needed.
64   networking.tempAddresses = "disabled";
65   # Disable network manager, all configuration shall be manually config here
66   networking.networkmanager.enable = false;
67   # Open ports in the firewall.
68   # networking.firewall.allowedTCPPorts = [ ... ];
69   # networking.firewall.allowedUDPPorts = [ ... ];
70   # Or disable the firewall altogether.
71   networking.firewall.enable = false;