vscode: overhaul extensions + fix remote ssh

This commit is contained in:
uku 2024-01-20 02:20:11 +01:00
parent fca1dd4676
commit 12c820431c
Signed by: uku
GPG key ID: 7D01D7B105E77166
3 changed files with 127 additions and 32 deletions

View file

@ -135,6 +135,22 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_3": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
@ -191,6 +207,24 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_3": {
"inputs": {
"systems": "systems_5"
},
"locked": {
"lastModified": 1681202837,
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"gitignore": { "gitignore": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -353,6 +387,7 @@
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
"lanzaboote": "lanzaboote", "lanzaboote": "lanzaboote",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"vscode-extensions": "vscode-extensions",
"vscode-server": "vscode-server" "vscode-server": "vscode-server"
} }
}, },
@ -441,6 +476,21 @@
"type": "github" "type": "github"
} }
}, },
"systems_5": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": { "utils": {
"inputs": { "inputs": {
"systems": "systems_2" "systems": "systems_2"
@ -459,9 +509,31 @@
"type": "github" "type": "github"
} }
}, },
"vscode-extensions": {
"inputs": {
"flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_2",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1705627293,
"narHash": "sha256-qwKYsN3tG5TaOt3gV3/wljrR+NYc8xEg8e8io9egn4I=",
"owner": "nix-community",
"repo": "nix-vscode-extensions",
"rev": "f0e4ca7d52508cdea17a70290d64f1c71d5c26bc",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-vscode-extensions",
"type": "github"
}
},
"vscode-server": { "vscode-server": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_3",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]

View file

@ -39,6 +39,11 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
vscode-extensions = {
url = "github:nix-community/nix-vscode-extensions";
inputs.nixpkgs.follows = "nixpkgs";
};
vscode-server = { vscode-server = {
url = "github:nix-community/nixos-vscode-server"; url = "github:nix-community/nixos-vscode-server";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";

View file

@ -1,14 +1,30 @@
{pkgs, ...}: { {
hm = { pkgs,
home.packages = with pkgs; [vscode]; vscode-extensions,
...
}: let
inherit (pkgs.stdenv.hostPlatform) system;
extensions = vscode-extensions.extensions.${system};
programs.vscode = { patched = with pkgs.vscode-extensions; [
enable = true; ms-python.python
enableUpdateCheck = false; ms-vscode.cpptools
ms-vscode-remote.remote-ssh
rust-lang.rust-analyzer
wakatime.vscode-wakatime
];
in {
hm.programs.vscode = {
enable = true;
enableUpdateCheck = false;
enableExtensionUpdateCheck = false;
mutableExtensionsDir = false;
extensions = with pkgs.vscode-extensions; [ extensions = with extensions.vscode-marketplace;
patched
++ [
# style # style
# bierner.markdown-preview-github-styles bierner.markdown-preview-github-styles
catppuccin.catppuccin-vsc catppuccin.catppuccin-vsc
# git # git
@ -19,12 +35,11 @@
github.copilot github.copilot
editorconfig.editorconfig editorconfig.editorconfig
mkhl.direnv mkhl.direnv
tailscale.vscode-tailscale
usernamehw.errorlens usernamehw.errorlens
wakatime.vscode-wakatime
# rust # rust
# dustypomerleau.rust-syntax dustypomerleau.rust-syntax
rust-lang.rust-analyzer
serayuzgur.crates serayuzgur.crates
tamasfe.even-better-toml tamasfe.even-better-toml
@ -32,39 +47,42 @@
jnoortheen.nix-ide jnoortheen.nix-ide
# cpp # cpp
# mesonbuild.mesonbuild mesonbuild.mesonbuild
ms-vscode.cmake-tools ms-vscode.cmake-tools
ms-vscode.cpptools
ms-vscode.makefile-tools ms-vscode.makefile-tools
twxs.cmake twxs.cmake
xaver.clang-format xaver.clang-format
# python # python
# donjayamanne.python-environment-manager donjayamanne.python-environment-manager
ms-python.python
ms-python.vscode-pylance ms-python.vscode-pylance
# java # java
redhat.java redhat.java
]; ];
userSettings = { userSettings = {
"cmake.configureOnOpen" = true; "cmake.configureOnOpen" = true;
"editor.fontFamily" = "'Iosevka Nerd Font', monospace"; "editor.fontFamily" = "'Iosevka Nerd Font', monospace";
"editor.fontSize" = 16; "editor.fontSize" = 16;
"editor.formatOnSave" = true; "editor.formatOnSave" = true;
"editor.inlineSuggest.enabled" = true; "editor.inlineSuggest.enabled" = true;
"files.autoSave" = "afterDelay"; "files.autoSave" = "afterDelay";
"nix.enableLanguageServer" = true; "nix.enableLanguageServer" = true;
"nix.serverPath" = "nil"; "nix.serverPath" = "nil";
"rust-analyzer.check.command" = "clippy"; "rust-analyzer.check.command" = "clippy";
"terminal.integrated.fontFamily" = "Iosevka Nerd Font"; "terminal.integrated.fontFamily" = "Iosevka Nerd Font";
"workbench.colorTheme" = "Catppuccin Macchiato"; "workbench.colorTheme" = "Catppuccin Macchiato";
"errorLens.messageBackgroundMode" = "message"; "errorLens.messageBackgroundMode" = "message";
"java.jdt.ls.java.home" = "${pkgs.jdk17}/lib/openjdk"; "java.jdt.ls.java.home" = "${pkgs.jdk17}/lib/openjdk";
# fix for segfault on hyprland # fix for segfault on hyprland
"window.titleBarStyle" = "custom"; "window.titleBarStyle" = "custom";
"remote.SSH.useLocalServer" = false;
"remote.SSH.remotePlatform" = {
"etna.fossa-macaroni.ts.net" = "linux";
"contabo.fossa-macaroni.ts.net" = "linux";
}; };
}; };
}; };