{ config, lib, pkgs, ... }: { imports = [ ]; options.me = { vscode.enable = lib.mkOption { type = lib.types.bool; default = false; example = true; description = "Whether we want to install vscode."; }; }; config = lib.mkIf config.me.vscode.enable ( lib.mkMerge [ (lib.mkIf config.me.graphical { allowedUnfree = [ "vscode" "vscode-with-extensions" "vscode-extension-ms-vscode-remote-remote-ssh" ]; environment.systemPackages = with pkgs; [ (vscode-with-extensions.override { vscodeExtensions = with vscode-extensions; [ bbenoist.nix ms-python.python ms-azuretools.vscode-docker ms-vscode-remote.remote-ssh ] # ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ # { # name = "remote-ssh-edit"; # publisher = "ms-vscode-remote"; # version = "0.47.2"; # sha256 = "1hp6gjh4xp2m1xlm1jsdzxw9d8frkiidhph6nvl24d0h8z34w49g"; # } # ] ; }) ]; home-manager.users.talexander = { pkgs, ... }: { home.file.".config/Code/User/settings.json" = { source = ./files/settings.json; }; home.file.".config/Code/User/keybindings.json" = { source = ./files/keybindings.json; }; }; }) ] ); }