{ config, pkgs, ... }: let configDir = "Code"; userDir = if pkgs.stdenv.hostPlatform.isDarwin then "$HOME/Library/Application Support/${configDir}/User" else "${config.xdg.configHome}/${configDir}/User"; in { programs.vscode = { enable = true; userSettings = { "editor.tabSize" = 4; "workbench.preferredDarkColorTheme" = "SynthWave '84"; "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"; "synthwave84.disableGlow" = true; }; }; 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" # ''; # }; # }; #}; }