{ pkgs, lib, config, ... }: let cfg = config.pim.vscode; in { options.pim.vscode.enable = lib.mkEnableOption "vscode"; config = lib.mkIf cfg.enable { programs.vscode = { enable = true; package = pkgs.vscodium; extensions = with pkgs.vscode-extensions; [ vscodevim.vim marp-team.marp-vscode jnoortheen.nix-ide mkhl.direnv ]; userSettings = { "nix.enableLanguageServer" = true; "nix.serverPath" = lib.getExe pkgs.nil; "terminal.integrated.defaultProfile.linux" = "fish"; "explorer.confirmDragAndDrop" = false; "explorer.confirmPasteNative" = false; "explorer.confirmDelete" = false; }; }; }; }