2024-08-28 19:30:25 +07:00
|
|
|
{ hardware-configuration, profile-path, config, pkgs, ... }:
|
2024-06-12 09:54:11 +07:00
|
|
|
{
|
|
|
|
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;
|
2024-07-02 14:06:20 +07:00
|
|
|
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
|
|
|
|
'';
|
|
|
|
|
2024-08-28 19:30:25 +07:00
|
|
|
# nix.gc = {
|
|
|
|
# automatic = true;
|
|
|
|
# dates = "weekly";
|
|
|
|
# options = "--delete-older-than 7d";
|
|
|
|
# };
|
2024-06-12 09:54:11 +07:00
|
|
|
|
|
|
|
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";
|
|
|
|
};
|
|
|
|
};
|
2024-08-28 19:30:25 +07:00
|
|
|
|
|
|
|
programs.nh = {
|
|
|
|
enable = true;
|
|
|
|
clean.enable = true;
|
|
|
|
clean.extraArgs = "--keep-since 4d --keep 3";
|
|
|
|
flake = "/home/${config.profile.user.name}/dotfiles";
|
|
|
|
};
|
|
|
|
|
|
|
|
environment.variables.FLAKE = "/home/${config.profile.user.name}/dotfiles";
|
|
|
|
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
# Tools for nh
|
|
|
|
nix-output-monitor
|
|
|
|
nvd
|
|
|
|
];
|
2024-06-12 09:54:11 +07:00
|
|
|
}
|