nixfiles/home/programming/editors/vscode.nix

47 lines
1.4 KiB
Nix

{ config, nixosConfig, pkgs, ... }:
let
configDir = "Code";
userDir = if pkgs.stdenv.hostPlatform.isDarwin then
"$HOME/Library/Application Support/${configDir}/User"
else
"${config.xdg.configHome}/${configDir}/User";
font-size = if nixosConfig.networking.hostName == "tablet" then 16 else 24;
in {
programs.vscode = {
enable = true;
userSettings = {
"editor.tabSize" = 4;
"terminal.integrated.shellIntegration.enabled" = false;
"github.gitAuthentication" = false;
"editor.fontSize" = 24;
"editor.fontFamily" = "'Comic Code'";
"terminal.integrated.fontSize" = 24;
"editor.codeLensFontFamily" = "'Comic Code'";
"editor.inlayHints.fontFamily" = "'Comic Code'";
"markdown.preview.fontFamily" = "'Comic Code'";
"terminal.integrated.fontFamily" = "'Comic Code'";
"files.autoSave" = "afterDelay";
};
};
programs.vscode.extensions = with pkgs;
[ vscode-extensions.matklad.rust-analyzer ];
# make config changeable
#home = {
# activation = {
# afterWriteBoundary = {
# after = [ "writeBoundary" ];
# before = [ ];
# data = ''
# vscodeDir="${userDir}"
# $DRY_RUN_CMD cat "$vscodeDir/settings.json" > "$vscodeDir/settings_whatever.json"
# $DRY_RUN_CMD rm -f "$vscodeDir/settings.json"
# $DRY_RUN_CMD cp "$vscodeDir/settings_whatever.json" "$vscodeDir/settings.json"
# '';
# };
# };
#};
}