AZ-NIX/hosts/AZLT124-L/default.nix
2025-08-28 07:41:04 +02:00

99 lines
2.7 KiB
Nix

{
inputs,
outputs,
pkgs,
lib,
...
}: {
imports = [
# Import only the parts we need from common, avoiding Home Manager conflicts
../common/extraServices
./configuration.nix
./hardware.nix
./programs.nix
./secrets.nix
./services
# Import unstable Home Manager directly
inputs.home-manager-unstable.nixosModules.home-manager
];
# Create the user directly here
users.users."sascha.koenig" = {
hashedPassword = "$y$j9T$ORX4btVZgs9Xjq2oIvzJm0$lXiPwaa0D6t.eMDIx1UBesEAMOkWXBoGwpeI7X0aS8D";
isNormalUser = true;
group = "sascha.koenig";
extraGroups = [
"wheel"
"networkmanager"
"libvirtd"
"flatpak"
"plugdev"
"input"
"kvm"
"qemu-libvirtd"
];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEZbg/Z9mnflXuLahGY8WOSBMqbgeqVIkIwRkquys1Ml sascha.koenig@azintec.com"
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3YEmpYbM+cpmyD10tzNRHEn526Z3LJOzYpWEKdJg8DaYyPbDn9iyVX30Nja2SrW4Wadws0Y8DW+Urs25/wVB6mKl7jgPJVkMi5hfobu3XAz8gwSdjDzRSWJrhjynuaXiTtRYED2INbvjLuxx3X8coNwMw58OuUuw5kNJp5aS2qFmHEYQErQsGT4MNqESe3jvTP27Z5pSneBj45LmGK+RcaSnJe7hG+KRtjuhjI7RdzMeDCX73SfUsal+rHeuEw/mmjYmiIItXhFTDn8ZvVwpBKv7ykgP0jk79ldT3Dv+2Hj0CdAWT2cJAdFX58KQ9jUPT3tBnObSF1lGMI7t77VU= m3tam3re@MBP-Sascha.fritz.box"
];
packages = [inputs.home-manager-unstable.packages.${pkgs.system}.default];
};
users.groups."sascha.koenig" = {};
# Configure Home Manager with unstable
home-manager = {
useUserPackages = true;
extraSpecialArgs = {inherit inputs outputs;};
users."sascha.koenig" = import ../../home/sascha.koenig/AZLT124-L.nix;
};
# Configure nixpkgs to use unstable
nixpkgs = {
overlays = [
outputs.overlays.additions
outputs.overlays.modifications
# Add stable as an overlay since base is unstable
(final: _prev: {
stable = import inputs.nixpkgs {
system = final.system;
config.allowUnfree = true;
};
})
];
config = {
allowUnfree = true;
};
};
# Copy nix settings from common
nix = {
settings = {
experimental-features = "nix-command flakes";
trusted-users = [
"root"
"sascha.koenig"
];
};
gc = {
automatic = true;
options = "--delete-older-than 30d";
};
optimise.automatic = true;
registry =
(lib.mapAttrs (_: flake: {inherit flake;}))
((lib.filterAttrs (_: lib.isType "flake")) (inputs
// {
# Use unstable nixpkgs in registry
nixpkgs = inputs.nixpkgs-unstable;
}));
nixPath = ["/etc/nix/path"];
};
extraServices = {
flatpak.enable = true;
ollama.enable = true;
podman.enable = true;
virtualisation.enable = true;
};
}