Files
infra/nixos/modules/base.nix
T
Dmitry 54b4a23446
NixOS switch mini-pc / switch (push) Successful in 14s
Deploy cloud-pc / deploy (push) Failing after 29s
NixOS switch cloud-pc / switch (push) Successful in 11s
Extract Shared NixOS Settings
2026-05-30 17:25:18 +03:00

86 lines
1.8 KiB
Nix

{ pkgs, ... }:
{
nix = {
settings = {
experimental-features = [ "nix-command" "flakes" ];
auto-optimise-store = true;
};
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
};
boot = {
tmp.cleanOnBoot = true;
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
};
systemd.network.wait-online.anyInterface = true;
systemd.services.nix-daemon.environment = {
HTTPS_PROXY = "http://192.168.1.10:10172";
HTTP_PROXY = "http://192.168.1.10:10172";
NO_PROXY = "localhost,127.0.0.0/8,::1,192.168.1.0/24";
};
time.timeZone = "Europe/Moscow";
i18n.defaultLocale = "ru_RU.UTF-8";
i18n.supportedLocales = [
"ru_RU.UTF-8/UTF-8"
"en_US.UTF-8/UTF-8"
];
users.users.ada = {
isNormalUser = true;
shell = pkgs.bashInteractive;
extraGroups = [
"wheel"
"docker"
];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIWNsUQmppB6cQccXX1ZaBbFIcmM6RmghsTVbG9TgoZB ada@ada-x1"
];
};
services.openssh = {
enable = true;
settings = {
PasswordAuthentication = false;
KbdInteractiveAuthentication = false;
PermitRootLogin = "no";
PubkeyAuthentication = true;
};
};
security.sudo.extraRules = [
{
users = [ "ada" ];
commands = [
{
command = "/run/current-system/sw/bin/nixos-rebuild";
options = [ "NOPASSWD" ];
}
];
}
];
environment.systemPackages = with pkgs; [
git
restic
resticprofile
htop
];
systemd.tmpfiles.rules = [
"d /opt/services 0755 ada users - -"
"Z /opt/services - ada users - -"
"d /opt/data 0755 ada users - -"
"d /opt/configs 0755 ada users - -"
];
}