{ modulesPath, lib, tlib, config, pkgs, ... }: let inherit (lib.attrsets) mergeAttrsList; inherit (builtins) map; mkThinShim = tlib.mkThinShim pkgs; shimmedPackages = [ "wesnoth" "luanti" "superTuxKart" "mindustry" "shattered-pixel-dungeon" "bzflag" "teeworlds" "xonotic-glx" "taisei" "unvanquished" "zeroad" ]; in rec { imports = [ (modulesPath + "/installer/cd-dvd/iso-image.nix") ]; isoImage = { makeBiosBootable = true; makeEfiBootable = true; makeUsbBootable = true; isoBaseName = lib.mkImageMediaOverride "sprout"; prependToMenuLabel = "Bean sprout ("; appendToMenuLabel = ")"; }; users.users.bean = { description = "Sean Bean"; isNormalUser = true; homeMode = "755"; extraGroups = [ "disk" "cdrom" "audio" "video" "lp" "networkmanager" ]; initialPassword = "boromir"; }; users.users.root.initialPassword = "allalikeallalike"; services.getty.autologinUser = "bean"; services.getty.helpLine = '' As you can see, you are automatically logged in to the "bean" user. Run `startx' to obtain a graphical session. The password for bean is: ${users.users.pod.initialPassword} The password for root is: ${users.users.root.initialPassword} ''; nixpkgs.overlays = [ (final: prev: mergeAttrsList (map (pname: { "${pname}" = (mkThinShim prev.${pname} "nixpkgs#${pname}"); }) shimmedPackages)) ]; }