2024-01-20 02:20:11 +01:00
|
|
|
{
|
|
|
|
pkgs,
|
|
|
|
vscode-extensions,
|
|
|
|
...
|
|
|
|
}: let
|
|
|
|
inherit (pkgs.stdenv.hostPlatform) system;
|
|
|
|
extensions = vscode-extensions.extensions.${system};
|
2023-11-20 03:47:29 +01:00
|
|
|
|
2024-01-20 02:20:11 +01:00
|
|
|
patched = with pkgs.vscode-extensions; [
|
|
|
|
ms-python.python
|
|
|
|
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;
|
2023-11-20 03:47:29 +01:00
|
|
|
|
2024-01-20 02:20:11 +01:00
|
|
|
extensions = with extensions.vscode-marketplace;
|
|
|
|
patched
|
|
|
|
++ [
|
2023-11-25 14:20:19 +01:00
|
|
|
# style
|
2024-01-20 02:20:11 +01:00
|
|
|
bierner.markdown-preview-github-styles
|
2023-11-25 14:20:19 +01:00
|
|
|
catppuccin.catppuccin-vsc
|
2023-11-20 03:47:29 +01:00
|
|
|
|
2023-11-25 14:20:19 +01:00
|
|
|
# git
|
|
|
|
donjayamanne.githistory
|
|
|
|
eamodio.gitlens
|
2023-11-20 03:47:29 +01:00
|
|
|
|
2023-11-25 14:20:19 +01:00
|
|
|
# misc
|
|
|
|
github.copilot
|
|
|
|
editorconfig.editorconfig
|
|
|
|
mkhl.direnv
|
2024-01-20 02:20:11 +01:00
|
|
|
tailscale.vscode-tailscale
|
2023-11-25 14:20:19 +01:00
|
|
|
usernamehw.errorlens
|
2023-11-20 03:47:29 +01:00
|
|
|
|
2023-11-25 14:20:19 +01:00
|
|
|
# rust
|
2024-01-20 02:20:11 +01:00
|
|
|
dustypomerleau.rust-syntax
|
2023-11-25 14:20:19 +01:00
|
|
|
serayuzgur.crates
|
|
|
|
tamasfe.even-better-toml
|
2024-01-25 12:13:13 +01:00
|
|
|
ms-vsliveshare.vsliveshare
|
2023-11-20 03:47:29 +01:00
|
|
|
|
2023-11-25 14:20:19 +01:00
|
|
|
# nix
|
|
|
|
jnoortheen.nix-ide
|
2023-11-20 03:47:29 +01:00
|
|
|
|
2023-11-25 14:20:19 +01:00
|
|
|
# cpp
|
2024-01-20 02:20:11 +01:00
|
|
|
mesonbuild.mesonbuild
|
2023-11-25 14:20:19 +01:00
|
|
|
ms-vscode.cmake-tools
|
|
|
|
ms-vscode.makefile-tools
|
|
|
|
twxs.cmake
|
|
|
|
xaver.clang-format
|
2023-11-20 03:47:29 +01:00
|
|
|
|
2023-11-25 14:20:19 +01:00
|
|
|
# python
|
2024-01-20 02:20:11 +01:00
|
|
|
donjayamanne.python-environment-manager
|
2023-11-25 14:20:19 +01:00
|
|
|
ms-python.vscode-pylance
|
2023-12-25 15:07:39 +01:00
|
|
|
|
|
|
|
# java
|
|
|
|
redhat.java
|
2023-11-25 14:20:19 +01:00
|
|
|
];
|
2023-11-20 03:47:29 +01:00
|
|
|
|
2024-01-20 02:20:11 +01:00
|
|
|
userSettings = {
|
|
|
|
"cmake.configureOnOpen" = true;
|
|
|
|
"editor.fontFamily" = "'Iosevka Nerd Font', monospace";
|
|
|
|
"editor.fontSize" = 16;
|
|
|
|
"editor.formatOnSave" = true;
|
|
|
|
"editor.inlineSuggest.enabled" = true;
|
|
|
|
"files.autoSave" = "afterDelay";
|
|
|
|
"nix.enableLanguageServer" = true;
|
|
|
|
"nix.serverPath" = "nil";
|
|
|
|
"rust-analyzer.check.command" = "clippy";
|
|
|
|
"terminal.integrated.fontFamily" = "Iosevka Nerd Font";
|
|
|
|
"workbench.colorTheme" = "Catppuccin Macchiato";
|
|
|
|
"errorLens.messageBackgroundMode" = "message";
|
|
|
|
"java.jdt.ls.java.home" = "${pkgs.jdk17}/lib/openjdk";
|
2023-11-20 03:47:29 +01:00
|
|
|
|
2024-01-20 02:20:11 +01:00
|
|
|
# fix for segfault on hyprland
|
|
|
|
"window.titleBarStyle" = "custom";
|
|
|
|
|
|
|
|
"remote.SSH.useLocalServer" = false;
|
|
|
|
"remote.SSH.remotePlatform" = {
|
|
|
|
"etna.fossa-macaroni.ts.net" = "linux";
|
|
|
|
"contabo.fossa-macaroni.ts.net" = "linux";
|
2023-11-25 14:20:19 +01:00
|
|
|
};
|
2023-11-20 03:47:29 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|