NixOS/system/default.nix

74 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
./programs.nix
./user.nix
./keyboard.nix
];
security.sudo =
let
cfg = config.profile.security.sudo;
in
{
wheelNeedsPassword = cfg.wheelNeedsPassword;
extraConfig = ''
Defaults timestamp_timeout=30
Defaults timestamp_type=global
'';
};
networking.hostName = config.profile.hostname;
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";
documentation.man = {
man-db.enable = false;
generateCaches = true;
mandoc.enable = true;
};
system.stateVersion = "23.11"; # Did you read the comment?
systemd.services.decrypt-sops = {
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = ''/run/current-system/activate'';
Type = "oneshot";
Restart = "on-failure"; # because oneshot
RestartSec = "10s";
};
};
}