{ pkgs , lib , config , ... }: with lib; let cfg = config.home.util; gui = with config.global.gpu; enable && session; in { options.home.util = { minimal = mkEnableOption "minimal system environment with less packages"; }; config = { users.homeModules = [ # this module passes util configuration to home-manager { passthrough.util = cfg; } ]; programs.zsh.enable = true; environment.shells = singleton pkgs.zsh; users.home.persist.directories = [ ] ++ optionals (!cfg.minimal) [ ".cache/nix-index" ] ++ optionals gui [ ".local/share/Mission Planner" ".config/ExpressLRS Configurator" ".config/betaflight-configurator" ".config/inav-configurator" ]; }; }