89 lines
2.1 KiB
Nix
89 lines
2.1 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
package = pkgs.unstable.vscodium;
|
|
|
|
vscodePname = package.pname;
|
|
|
|
configDir =
|
|
{
|
|
"vscode" = "Code";
|
|
"vscode-insiders" = "Code - Insiders";
|
|
"vscodium" = "VSCodium";
|
|
}
|
|
.${vscodePname};
|
|
|
|
userDir =
|
|
if pkgs.stdenv.hostPlatform.isDarwin
|
|
then "Library/Application Support/${configDir}/User"
|
|
else "${config.xdg.configHome}/${configDir}/User";
|
|
|
|
configFilePath = "${userDir}/settings.json";
|
|
keybindingsFilePath = "${userDir}/keybindings.json";
|
|
in {
|
|
xdg.configFile."${config.home.homeDirectory}/${configFilePath}".source =
|
|
config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/Projects/nix-dots/user/modules/vscode/settings.json";
|
|
|
|
xdg.configFile."${config.home.homeDirectory}/${keybindingsFilePath}".source =
|
|
config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/Projects/nix-dots/user/modules/vscode/keybindings.json";
|
|
|
|
programs = {
|
|
vscode = {
|
|
enable = true;
|
|
inherit package;
|
|
extensions = with pkgs.open-vsx; [
|
|
# Editor
|
|
vscodevim.vim
|
|
pkgs.vscode-marketplace.miguelsolorio.min-theme
|
|
pkgs.vscode-extensions.streetsidesoftware.code-spell-checker
|
|
mkhl.direnv
|
|
|
|
# Git
|
|
mhutchie.git-graph
|
|
waderyan.gitblame
|
|
|
|
# SQL
|
|
qwtel.sqlite-viewer
|
|
|
|
# Web Development
|
|
astro-build.astro-vscode
|
|
redwan-hossain.auto-rename-tag-clone
|
|
bradlc.vscode-tailwindcss
|
|
vue.volar
|
|
svelte.svelte-vscode
|
|
dbaeumer.vscode-eslint
|
|
esbenp.prettier-vscode
|
|
antfu.iconify
|
|
csstools.postcss
|
|
ms-playwright.playwright
|
|
|
|
# Dart / Flutter
|
|
dart-code.dart-code
|
|
|
|
# Go
|
|
golang.go
|
|
|
|
# Java
|
|
redhat.java
|
|
vscjava.vscode-java-debug
|
|
vscjava.vscode-java-test
|
|
vscjava.vscode-maven
|
|
vscjava.vscode-java-dependency
|
|
|
|
# Nix
|
|
jnoortheen.nix-ide
|
|
kamadorueda.alejandra
|
|
|
|
# Rust
|
|
rust-lang.rust-analyzer
|
|
|
|
# R
|
|
reditorsupport.r
|
|
quarto.quarto
|
|
];
|
|
};
|
|
};
|
|
}
|