{ 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; shell = pkgs.nushell; 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.stdenv.hostPlatform.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; }; }