# 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.extend (import ); extraArgs = { nix-colors = import { }; }; 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.sharedModules = extraHomeModules ++ [ ({ config, lib, ... }: { _module.args = extraArgs; xdg.userDirs.createDirectories = lib.mkForce true; }) ]; _module.args = extraArgs; workflows.workflows.${workflow}.enable = true; nixpkgs.overlays = [ config'.overlays.default ]; system.stateVersion = "23.11"; home-manager.useUserPackages = lib.mkDefault true; home-manager.useGlobalPkgs = lib.mkDefault true; }; }) ]; }