100 lines
2.8 KiB
Nix
100 lines
2.8 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;
|
|
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;
|
|
};
|
|
}
|