infrastructure/nixos/common/default.nix

68 lines
1.7 KiB
Nix
Raw Normal View History

2022-07-30 23:35:52 +02:00
{ config, lib, pkgs, inputs, ... }:
2021-10-13 18:17:45 +02:00
{
imports = [
2022-07-30 18:02:40 +02:00
inputs.vault-secrets.nixosModules.vault-secrets
2021-10-13 18:17:45 +02:00
# User account definitions
./users
./services
];
# Clean /tmp on boot.
boot.cleanTmpDir = true;
# Set your time zone.
time.timeZone = "Europe/Amsterdam";
# Nix Settings
nix = {
package = pkgs.nixUnstable;
2022-03-31 12:25:45 +02:00
settings = {
auto-optimise-store = true;
trusted-users = [ "root" "victor" ];
substituters = [
"https://cachix.cachix.org"
"https://nix-community.cachix.org"
"https://nixpkgs-review-bot.cachix.org"
2022-07-30 18:02:40 +02:00
"https://colmena.cachix.org"
2022-03-31 12:25:45 +02:00
];
trusted-public-keys = [
"cachix.cachix.org-1:eWNHQldwUO7G2VkjpnjDbWwy4KQ/HNxht7H4SSoMckM="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"nixpkgs-review-bot.cachix.org-1:eppgiDjPk7Hkzzz7XlUesk3rcEHqNDozGOrcLc8IqwE="
2022-07-30 18:02:40 +02:00
"colmena.cachix.org-1:7BzpDnjjH8ki2CT3f6GdOk7QAzPOl+1t3LvTLXqYcSg="
2022-03-31 12:25:45 +02:00
];
2022-07-30 23:35:52 +02:00
# Also use zsh for root;
2022-07-30 18:02:40 +02:00
};
optimise = {
automatic = true;
dates = [ "weekly" ];
2022-07-30 18:02:40 +02:00
};
2021-10-13 18:17:45 +02:00
extraOptions = ''
2022-03-31 12:25:45 +02:00
experimental-features = nix-command flakes
2021-10-13 18:17:45 +02:00
'';
};
nixpkgs.config.allowUnfree = true;
# Limit the systemd journal to 100 MB of disk or the
# last 7 days of logs, whichever happens first.
services.journald.extraConfig = ''
SystemMaxUse=100M
MaxFileSec=7day
'';
2021-11-21 14:35:09 +01:00
# Enable SSH daemon support.
2021-11-23 17:44:00 +01:00
services.openssh = {
enable = true;
passwordAuthentication = false;
permitRootLogin = "no";
};
2021-11-21 14:35:09 +01:00
2022-07-30 23:35:52 +02:00
vault-secrets = lib.mkIf (config.networking.domain == "olympus") {
2021-11-24 22:41:26 +01:00
vaultPrefix = "secrets/nixos";
2021-11-23 14:26:40 +01:00
vaultAddress = "http://vault.olympus:8200/";
2021-11-22 00:10:21 +01:00
approlePrefix = "olympus-${config.networking.hostName}";
};
2021-10-13 18:17:45 +02:00
}