# A very basic NixOS VM configuration intended for testing out the given # workflow module. It's a good thing the baseline for the configuration is not # tedious to set up for simpler configs like this. { workflow, extraModules ? [ ], extraHomeModules ? [ ] }: let pkgs = import { }; config' = import { }; lib = pkgs.lib; in import { inherit lib; modules = extraModules ++ [ ({ config, lib, pkgs, ... }: { imports = [ (lib.private.mapHomeManagerUser "alice" { password = ""; extraGroups = [ "wheel" ]; description = "There is no password"; isNormalUser = true; createHome = true; home = "/home/alice"; }) ]; config = { home-manager.useUserPackages = lib.mkDefault true; home-manager.useGlobalPkgs = lib.mkDefault true; home-manager.sharedModules = extraHomeModules ++ [ ({ config, lib, ... }: { xdg.userDirs.createDirectories = lib.mkForce true; _module.args.foodogsquaredLib = import ../../lib/extras/home-manager-set.nix { inherit lib; }; }) ]; _module.args.foodogsquaredLib = import ../../lib/extras/nixos-set.nix { inherit lib; }; workflows.workflows.${workflow}.enable = true; nixpkgs.overlays = [ config'.overlays.default ]; system.stateVersion = "23.11"; }; }) ]; }