NixOS/system/default.nix

69 lines
1.6 KiB
Nix
Raw Normal View History

2024-06-12 09:54:11 +07:00
{ hardware-configuration, profile-path, config, ... }:
{
imports = [
profile-path
hardware-configuration
./modules
2024-06-13 13:52:45 +07:00
./services
2024-06-13 00:50:38 +07:00
./podman
2024-06-12 23:37:10 +07:00
./docker
2024-06-12 09:54:11 +07:00
./programs.nix
./user.nix
./keyboard.nix
];
2024-06-12 18:09:56 +07:00
security.sudo.wheelNeedsPassword = config.profile.security.sudo.wheelNeedsPassword;
2024-06-12 09:54:11 +07:00
networking.hostName = config.profile.hostname;
systemd.services.NetworkManager-wait-online.enable = !config.profile.networking.disableWaitOnline;
2024-06-12 09:54:11 +07:00
nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.extraOptions = ''
http-connections = 8
connect-timeout = 5
'';
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "id_ID.UTF-8";
LC_IDENTIFICATION = "id_ID.UTF-8";
LC_MEASUREMENT = "id_ID.UTF-8";
LC_MONETARY = "id_ID.UTF-8";
LC_NAME = "id_ID.UTF-8";
LC_NUMERIC = "id_ID.UTF-8";
LC_PAPER = "id_ID.UTF-8";
LC_TELEPHONE = "id_ID.UTF-8";
LC_TIME = "id_ID.UTF-8";
};
time.timeZone = "Asia/Jakarta";
2024-07-08 15:29:48 +07:00
documentation.enable = true;
2024-06-12 09:54:11 +07:00
documentation.man = {
man-db.enable = false;
generateCaches = true;
mandoc.enable = true;
};
2024-06-12 18:09:56 +07:00
system.stateVersion = config.profile.system.stateVersion;
2024-06-12 09:54:11 +07:00
systemd.services.decrypt-sops = {
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = ''/run/current-system/activate'';
Type = "oneshot";
Restart = "on-failure"; # because oneshot
RestartSec = "10s";
};
};
}