Files
nixos-config/profiles/nixos.nix
Christoph Schmatzler 1d8a0c660c refactor: reduce duplication and improve consistency across hosts
- Centralize home-manager _module.args in profiles/nixos.nix via sharedModules
- Add lib/secrets.nix with mkSyncthingSecrets helper for DRY secret definitions
- Move syncthing device IDs to lib/constants.nix
- Standardize hostname handling (Darwin hosts now use hostname arg)
- Add missing networking.hostName to tahani
- Fix redundant string interpolations
2025-12-23 14:14:47 +00:00

66 lines
1.1 KiB
Nix

{
pkgs,
user,
constants,
inputs,
...
}: {
security.sudo.enable = true;
system.stateVersion = constants.stateVersions.nixos;
time.timeZone = "UTC";
home-manager.sharedModules = [
{_module.args = {inherit user constants inputs;};}
];
nix = {
settings.trusted-users = [user];
gc.dates = "weekly";
nixPath = ["nixos-config=/home/${user}/.local/share/src/nixos-config:/etc/nixos"];
};
boot = {
loader = {
systemd-boot = {
enable = true;
configurationLimit = 42;
};
efi.canTouchEfiVariables = true;
};
initrd.availableKernelModules = [
"xhci_pci"
"ahci"
"nvme"
"usbhid"
"usb_storage"
"sd_mod"
];
kernelPackages = pkgs.linuxPackages_latest;
};
sops.age.sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"];
users.users = {
${user} = {
isNormalUser = true;
home = "/home/${user}";
extraGroups = [
"wheel"
"sudo"
"network"
"systemd-journal"
"docker"
];
shell = pkgs.fish;
openssh.authorizedKeys.keys = constants.sshKeys;
};
root = {
openssh.authorizedKeys.keys = constants.sshKeys;
};
};
home-manager.useGlobalPkgs = true;
}