{ pkgs
, lib
, config
, ... }: with lib; let
  cfg = config.home.vscode;
in {
  options.home.vscode = {
    enable = mkEnableOption "vscode text editor";
  };

  config = {
    users.homeModules = [
      # this module passes vscode configuration to home-manager
      { passthrough.vscode = cfg; }
    ];

    users.home.persist.directories = mkIf cfg.enable [ ".config/VSCodium" ];
  };
}