Files
nixos/home-manager/development/vscode.nix
worble c3171bd792 remove nftables (linux uses this by default now anyways i think?)
add busybox since its basically expected by some programs (comes with xz)
make virtualisation a proper module so i can flip between docker and podman (i will make podman work one day i swear)
add waydroid back in
electrum is busted for now
make resharper a bit more modular
add new firefox bs
2025-11-07 11:28:21 +00:00

124 lines
4.0 KiB
Nix

{ inputs, pkgs, ... }:
let
openvsx = inputs.nix-vscode-extensions.extensions.x86_64-linux.open-vsx;
vscode-marketplace = inputs.nix-vscode-extensions.extensions.x86_64-linux.vscode-marketplace;
version = "0.0.13";
resharper-code = (pkgs.vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "resharper-code";
version = version;
publisher = "jetbrains";
};
vsix = builtins.fetchurl {
name = "jetbrains.resharper-code.zip";
url = "https://download.jetbrains.com/product?code=VSCRS&latest&distribution=linuxX64&type=eap&version=${version}";
sha256 = "sha256:1sq5sx8hfy853n6zpi1irjq7s3pyv87h8hl44qk0rb29d98sqxl0";
};
}).overrideAttrs (old: {
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.makeBinaryWrapper ];
postFixup = ''
wrapProgram $out/share/vscode/extensions/jetbrains.resharper-code/resharper/linux-x64/JetBrains.VsCode.Backend \
--prefix LD_LIBRARY_PATH : ${pkgs.dotnet-sdk.icu}/lib
'';
});
in
{
home.packages = with pkgs;[
nerd-fonts.space-mono
];
programs = {
vscode = {
enable = true;
package = pkgs.vscodium;
mutableExtensionsDir = false;
profiles.default = {
enableUpdateCheck = false;
enableExtensionUpdateCheck = false;
extensions = [
resharper-code # Requires DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1
] ++ (with openvsx;[
biomejs.biome
mkhl.direnv
dracula-theme.theme-dracula
dbaeumer.vscode-eslint
pkief.material-icon-theme
jnoortheen.nix-ide
esbenp.prettier-vscode
loriscro.super
mads-hartmann.bash-ide-vscode
ms-vscode.wasm-wasi-core
rust-lang.rust-analyzer
tamasfe.even-better-toml
mikestead.dotenv
ms-python.python
ms-python.debugpy
charliermarsh.ruff
]) ++ (with vscode-marketplace;[
bradlc.vscode-tailwindcss
]);
userSettings = with pkgs;{
"workbench.iconTheme" = "material-icon-theme";
"window.titleBarStyle" = "custom";
"workbench.colorTheme" = "Dracula Theme";
"explorer.compactFolders" = false;
"chat.commandCenter.enabled" = false;
"terminal.integrated.automationProfile.linux" = {
"path" = "/bin/sh";
};
"editor.fontFamily" = "'SpaceMono Nerd Font', 'monospace', monospace";
"editor.fontSize" = 16;
"editor.formatOnSave" = true;
"editor.codeActionsOnSave" = {
"source.organizeImports" = "always";
};
"files.autoSave" = "onWindowChange";
"[typescript]" = {
"editor.defaultFormatter" = "biomejs.biome";
};
"[javascript]" = {
"editor.defaultFormatter" = "biomejs.biome";
};
"[javascriptreact]" = {
"editor.defaultFormatter" = "biomejs.biome";
};
"[typescriptreact]" = {
"editor.defaultFormatter" = "biomejs.biome";
};
"[json]" = {
"editor.defaultFormatter" = "biomejs.biome";
};
"[jsonc]" = {
"editor.defaultFormatter" = "biomejs.biome";
};
# "biome.lsp.bin" = "${biome}/bin/biome";
#"biome.requireConfigFile" = true;
"typescript.preferences.preferTypeOnlyAutoImports" = true;
"nix.enableLanguageServer" = true; # Enable LSP.
"nix.serverPath" = "${nixd}/bin/nixd"; # The path to the LSP server executable.
"nix.serverSettings" = {
nixd = {
formatting.command = [ "${nixpkgs-fmt}/bin/nixpkgs-fmt" ];
};
};
"bashIde.shellcheckPath" = "${shellcheck}/bin/shellcheck";
"bashIde.shfmt.path" = "${shfmt}/bin/shfmt";
"rust-analyzer.rustfmt.overrideCommand" = [ "${rustfmt}/bin/rustfmt" ];
"tailwindCSS.classFunctions" = [ "cva" "cx" ];
};
};
};
};
}