Files
nix/users/configs/vscode/default.nix
Nikolaos Karaolidis 3d503fd1c2 Expand xdg config
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2024-06-23 20:39:17 +03:00

85 lines
3.2 KiB
Nix

{ user ? throw "user argument is required" }: { inputs, lib, pkgs, ... }:
{
home-manager.users."${user.name}" = {
programs.vscode = {
enable = true;
mutableExtensionsDir = false;
userSettings = {
"diffEditor.ignoreTrimWhitespace" = false;
"editor.accessibilitySupport" = "off";
"editor.cursorBlinking" = "phase";
"editor.cursorSmoothCaretAnimation" = "on";
"editor.formatOnPaste" = true;
"editor.formatOnSave" = true;
"editor.formatOnType" = true;
"editor.indentSize" = "tabSize";
"editor.inlineSuggest.enabled" = true;
"editor.largeFileOptimizations" = false;
"editor.linkedEditing" = true;
"editor.renderFinalNewline" = "on";
"editor.smoothScrolling" = true;
"editor.stickyScroll.enabled" = true;
"editor.suggestSelection" = "first";
"editor.unicodeHighlight.includeComments" = true;
"editor.unicodeHighlight.nonBasicASCII" = true;
"explorer.confirmDelete" = false;
"explorer.confirmDragAndDrop" = false;
"explorer.confirmPasteNative" = false;
"files.autoSave" = "afterDelay";
"files.eol" = "\n";
"files.insertFinalNewline" = true;
"files.trimFinalNewlines" = true;
"files.trimTrailingWhitespace" = true;
"git.allowForcePush" = true;
"git.alwaysSignOff" = true;
"git.autofetch" = "all";
"git.closeDiffOnOperation" = true;
"git.confirmForcePush" = false;
"git.confirmSync" = false;
"git.enableCommitSigning" = true;
"git.enableSmartCommit" = true;
"git.ignoreRebaseWarning" = true;
"git.openRepositoryInParentFolders" = "always";
"git.path" = "${pkgs.git}/bin/git";
"mergeEditor.diffAlgorithm" = "advanced";
"open-in-browser.default" = "firefox";
"security.workspace.trust.enabled" = false;
"telemetry.telemetryLevel" = "off";
"terminal.external.linuxExec" = "kitty";
"terminal.integrated.confirmOnExit" = "hasChildProcesses";
"terminal.integrated.copyOnSelection" = true;
"window.autoDetectHighContrast" = false;
"window.menuBarVisibility" = "toggle";
"workbench.editor.historyBasedLanguageDetection" = true;
"workbench.list.smoothScrolling" = true;
};
};
imports = [
./langs/nix.nix
];
home.persistence = {
"/persist${user.home}".directories = [ ".config/Code" ];
# Bastard:
# - https://github.com/microsoft/vscode/issues/3884
# - https://github.com/nix-community/impermanence/issues/22
# - https://github.com/nix-community/impermanence/pull/97
# "/cache${user.home}".directories = [
# ".config/Code/Cache"
# ".config/Code/CachedConfigurations"
# ".config/Code/CachedData"
# ".config/Code/CachedExtensionVSIXs"
# ".config/Code/CachedExtensions"
# ".config/Code/CachedProfilesData"
# ".config/Code/Code Cache"
# ".config/Code/DawnCache"
# ".config/Code/GPUCache"
# ".config/Code/Service Worker/CacheStorage"
# ".config/Code/Service Worker/ScriptCache"
# ];
};
};
}