{ lib, pkgs, modulesPath, ... }: { imports = [ (modulesPath + "/profiles/minimal.nix") ]; # Installing a new system within the nspawn means that the /sbin/init script # just needs to be updated, as there is no bootloader. system.build.installBootLoader = pkgs.writeScript "install-sbin-init.sh" '' #!${pkgs.runtimeShell} ${pkgs.coreutils}/bin/ln -fs "$1/init" /sbin/init ''; system.activationScripts.installInitScript = lib.mkForce '' ${pkgs.coreutils}/bin/ln -fs $systemConfig/init /sbin/init ''; boot.isContainer = true; networking.hostName = "PABU"; nix = { settings = { experimental-features = [ "nix-command" "flakes" ]; auto-optimise-store = true; }; }; users.groups.gandalf = { gid = 1000; }; users.users.gandalf = { isNormalUser = true; home = "/home/gandalf"; createHome = true; group = "gandalf"; extraGroups = [ "wheel" ]; }; security.sudo.wheelNeedsPassword = false; programs.nix-ld = { enable = true; }; environment.systemPackages = with pkgs; [ git neovim gcc clang-tools cargo nodejs_24 jdk tree-sitter python3 go unzip ]; system.stateVersion = "24.05"; }