{ pkgs, ... }@all: with all;
{
  config = lib.mkIf (hyper.host != "NxACE") {
    home.packages = [
      pkgs.vscodium
      pkgs.nixpkgs-fmt
    ];
    programs.vscode = {
      enable = true;
      package = pkgs.vscodium;
      profiles.default ={
        userSettings = {
          workbench.colorTheme = "Just Black";
          editor.fontFamily = "'${rice.font.code.name}', 'monospace', monospace";
          remote.SSH.useLocalServer = false;
        };
        keybindings = [
          {
            key = "ctrl+d";
            command = "editor.action.deleteLines";
            when = "textInputFocus";
          }
          {
            key = "ctrl+shift+d";
            command = "editor.action.duplicateSelection";
            when = "textInputFocus";
          }
          {
            # unset so that ctrl d is not set twice
            key = "";
            command = "editor.action.addSelectionToNextFindMatch";
            when = "editorFocus";
          }
          {
            # unset so that ctrl shift d is not set twice
            key = "";
            command = "workbench.view.debug";
          }
        ];

        extensions = with pkgs.vscode-extensions; [
          jnoortheen.nix-ide
          ms-python.python
          ms-python.black-formatter
          redhat.vscode-yaml
          redhat.vscode-xml
          ms-python.python
          mhutchie.git-graph
          github.vscode-pull-request-github
          esbenp.prettier-vscode
          gencer.html-slim-scss-css-class-completion
          donjayamanne.githistory
          mads-hartmann.bash-ide-vscode
          bungcip.better-toml
          arrterian.nix-env-selector
        ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
          {
            name = "just-black";
            publisher = "nur";
            version = "3.1.1";
            sha256 = "sha256-fatJZquCDsLDFGVzBol2D6LIZUbZ6GzqcVEFAwLodW0=";
          }
          {
            name = "vscode-sshfs";
            publisher = "Kelvin";
            version = "1.26.1";
            sha256 = "sha256-WO9vYELNvwmuNeI05sUBE969KAiKYtrJ1fRfdZx3OYU=";
          }
          {
            name = "color-highlight";
            publisher = "naumovs";
            version = "2.8.0";
            sha256 = "sha256-mT2P1lEdW66YkDRN6fi0rmmvvyBfXiJjAUHns8a8ipE=";
          }
          {
            name = "dancehelix";
            publisher = "silverquark";
            version = "0.5.16";
            sha256 = "sha256-oHwtlbB18ctEnfStDOpJ+2/Kq41JZog8FVhTa1/s7m0=";
          }
        ];
        enableUpdateCheck = false;
        enableExtensionUpdateCheck = false;
      };
    };
  };
  
  # imports = if hyper.host != "NxACE" then [
  #   # Make vscode settings writable
  #   (import
  #     (builtins.fetchurl {
  #       url = "https://gist.githubusercontent.com/piousdeer/b29c272eaeba398b864da6abf6cb5daa/raw/41e569ba110eb6ebbb463a6b1f5d9fe4f9e82375/mutability.nix";
  #       sha256 = "4b5ca670c1ac865927e98ac5bf5c131eca46cc20abf0bd0612db955bfc979de8";
  #     })
  #     { inherit config pkgs; lib = lib; })

  #   (import
  #     (builtins.fetchurl {
  #       url = "https://gist.githubusercontent.com/piousdeer/b29c272eaeba398b864da6abf6cb5daa/raw/41e569ba110eb6ebbb463a6b1f5d9fe4f9e82375/vscode.nix";
  #       sha256 = "fed877fa1eefd94bc4806641cea87138df78a47af89c7818ac5e76ebacbd025f";
  #     })
  #     { inherit config pkgs; lib = lib; })
  # ] else [];
}
