Compare commits

...

4 Commits

4 changed files with 46 additions and 13 deletions

View File

@ -13,6 +13,7 @@ in {
./programs/atuin.nix ./programs/atuin.nix
./programs/comma.nix ./programs/comma.nix
./programs/direnv.nix
./programs/firefox.nix ./programs/firefox.nix
./programs/gdb.nix ./programs/gdb.nix
./programs/gh.nix ./programs/gh.nix
@ -79,6 +80,8 @@ in {
name = "capitaine-cursors"; name = "capitaine-cursors";
size = 16; size = 16;
}; };
keyboard.options = [ "caps:escape" ];
}; };
news.display = "silent"; news.display = "silent";

8
home/programs/direnv.nix Normal file
View File

@ -0,0 +1,8 @@
{ ... }:
{
programs.direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv.enable = true;
};
}

View File

@ -86,5 +86,12 @@
clean = "git-lfs clean -- %f"; clean = "git-lfs clean -- %f";
}; };
}; };
ignores = [
".vscode"
".direnv"
".envrc"
"shell.nix"
];
}; };
} }

View File

@ -1,12 +1,24 @@
{ pkgs, lib, config, ... }: { pkgs, lib, config, ... }:
let
cfg = config.programs.vscode;
let mapPrefixToSet = prefix: set: mapPrefixToSet = prefix: set:
with lib; attrsets.mapAttrs' (k: v: attrsets.nameValuePair ("${prefix}.${k}") v) set; with lib; attrsets.mapAttrs' (k: v: attrsets.nameValuePair ("${prefix}.${k}") v) set;
# vs-liveshare = pkgs.callPackage ./vscode-extensions/vsliveshare.nix {}; configDir = {
"vscode" = "Code";
"vscode-insiders" = "Code - Insiders";
"vscodium" = "VSCodium";
}.${cfg.package.pname};
userDir = "${config.xdg.configHome}/${configDir}/User";
configFilePath = "${userDir}/settings.json";
in in
{ {
home.file.${configFilePath} = {
target = "${configFilePath}.ro";
onChange = ''install -m660 $(realpath "${configFilePath}.ro") "${configFilePath}"'';
};
programs.vscode ={ programs.vscode ={
enable = true; enable = true;
@ -22,11 +34,13 @@ in
"minimap.enabled" = false; "minimap.enabled" = false;
tabSize = 2; tabSize = 2;
insertSpaces = true; insertSpaces = true;
"inlineSuggest.enabled" = true;
"inlayHints.enabled" = "offUnlessPressed";
detectIndentation = false; detectIndentation = false;
tabCompletion = "onlySnippets"; tabCompletion = "onlySnippets";
snippetSuggestions = "top"; snippetSuggestions = "top";
cursorBlinking = "smooth"; cursorBlinking = "smooth";
cursorSmoothCaretAnimation = true; cursorSmoothCaretAnimation = "on";
multiCursorModifier = "ctrlCmd"; multiCursorModifier = "ctrlCmd";
suggestSelection = "first"; suggestSelection = "first";
cursorStyle = "line"; cursorStyle = "line";
@ -39,7 +53,6 @@ in
centerLayout = true; centerLayout = true;
hideStatusBar = false; hideStatusBar = false;
hideLineNumbers = false; hideLineNumbers = false;
hideTabs = false;
}; };
vim = mapPrefixToSet "vim" { vim = mapPrefixToSet "vim" {
@ -133,6 +146,7 @@ in
"extensions.autoCheckUpdates" = false; "extensions.autoCheckUpdates" = false;
"extensions.autoUpdate" = false; "extensions.autoUpdate" = false;
"diffEditor.ignoreTrimWhitespace" = false; "diffEditor.ignoreTrimWhitespace" = false;
"diffEditor.hideUnchangedRegions" = "enabled";
"emmet.triggerExpansionOnTab" = true; "emmet.triggerExpansionOnTab" = true;
"explorer.confirmDragAndDrop" = false; "explorer.confirmDragAndDrop" = false;
"git.allowForcePush" = true; "git.allowForcePush" = true;
@ -140,7 +154,7 @@ in
"telemetry.telemetryLevel" = "off"; "telemetry.telemetryLevel" = "off";
"terminal.integrated.fontSize" = 14; "terminal.integrated.fontSize" = 14;
"vsintellicode.modify.editor.suggestSelection" = "automaticallyOverrodeDefaultValue"; "vsintellicode.modify.editor.suggestSelection" = "automaticallyOverrodeDefaultValue";
"window.zoomLevel" = 2; "window.zoomLevel" = 1;
# This setting does not support language overrides # This setting does not support language overrides
"files.exclude" = { "files.exclude" = {
@ -270,7 +284,7 @@ in
# jock.svg # jock.svg
# ms-azuretools.vscode-docker # ms-azuretools.vscode-docker
# ms-toolsai.jupyter # ms-toolsai.jupyter
# ms-vscode-remote.remote-ssh ms-vscode-remote.remote-ssh
# ms-vsliveshare.vsliveshare # ms-vsliveshare.vsliveshare
bbenoist.nix bbenoist.nix
christian-kohler.path-intellisense christian-kohler.path-intellisense
@ -289,6 +303,7 @@ in
redhat.vscode-yaml redhat.vscode-yaml
shardulm94.trailing-spaces shardulm94.trailing-spaces
usernamehw.errorlens usernamehw.errorlens
rust-lang.rust-analyzer
# vs-liveshare # vs-liveshare
vscodevim.vim vscodevim.vim
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
@ -307,8 +322,8 @@ in
{ {
name = "comment-anchors"; name = "comment-anchors";
publisher = "ExodiusStudios"; publisher = "ExodiusStudios";
version = "1.9.6"; version = "1.10.3";
sha256 = "1zgvgf6zq1ny3v8b9jjp4j3n27qmiz45g23ljaim92g6hni38wvv"; sha256 = "sha256-IyiiS4jpcghwKI0j8s69uGNZlKnZ0o78ZCT0oZeJER0=";
} }
{ {
name = "vscode-test-explorer"; name = "vscode-test-explorer";
@ -325,8 +340,8 @@ in
{ {
name = "test-adapter-converter"; name = "test-adapter-converter";
publisher = "ms-vscode"; publisher = "ms-vscode";
version = "0.1.4"; version = "0.1.9";
sha256 = "02b04756kfk640hri1xw0p6kwjxwp8d2hpmca0iysfivfcmm1bqn"; sha256 = "sha256-M53jhAVawk2yCeSrLkWrUit3xbDc0zgCK2snbK+BaSs=";
} }
# { # {
# name = "indent-rainbow"; # name = "indent-rainbow";
@ -337,8 +352,8 @@ in
{ {
name = "vscodeintellicode"; name = "vscodeintellicode";
publisher = "VisualStudioExptTeam"; publisher = "VisualStudioExptTeam";
version = "1.2.14"; version = "1.2.30";
sha256 = "1j72v6grwasqk34m1jy3d6w3fgrw0dnsv7v17wca8baxrvgqsm6g"; sha256 = "sha256-f2Gn+W0QHN8jD5aCG+P93Y+JDr/vs2ldGL7uQwBK4lE=";
} }
{ {
name = "keyboard-quickfix"; name = "keyboard-quickfix";