From 471434366baa0ea0a6ad9019e97b3cbf01e519fc Mon Sep 17 00:00:00 2001 From: cy Date: Mon, 3 Mar 2025 09:26:57 -0500 Subject: [PATCH] vscode stuff and ccache --- flake.lock | 6 +- home/codium.nix | 330 ++++++++++++++++++++++------------------ hosts/ytnix/default.nix | 3 + 3 files changed, 188 insertions(+), 151 deletions(-) diff --git a/flake.lock b/flake.lock index e23b7b6..1550e29 100644 --- a/flake.lock +++ b/flake.lock @@ -1328,11 +1328,11 @@ ] }, "locked": { - "lastModified": 1740827838, - "narHash": "sha256-xHWVg/CgaJqID4BUxqqJ47ESXRzWOxRNhJ9+jBXKuLc=", + "lastModified": 1740924345, + "narHash": "sha256-TO8Ttb+7PeKBkUe8vUrBt6Vxg3RMeQp4ARmlWQfcWrs=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "02d071ae1fadb1a63c6122d307ca5eb7e6b4feb9", + "rev": "1fc267a10f46200e32f0850caa396bd1ba4ba08e", "type": "github" }, "original": { diff --git a/home/codium.nix b/home/codium.nix index 1844269..ee1b67e 100644 --- a/home/codium.nix +++ b/home/codium.nix @@ -10,156 +10,190 @@ extensions = # if unfree # with pkgs.vscode-marketplace; - with pkgs.open-vsx; [ - vscodevim.vim - jnoortheen.nix-ide - github.github-vscode-theme - rust-lang.rust-analyzer - shd101wyy.markdown-preview-enhanced - fwcd.kotlin - alefragnani.bookmarks - tomrijndorp.find-it-faster - streetsidesoftware.code-spell-checker - ]; - userSettings = { - "workbench.colorTheme" = "GitHub Dark Default"; - "files.autoSave" = "onFocusChange"; - "editor.fontFamily" = "IBM Plex Mono"; - "editor.fontSize" = 15; - "window.zoomLevel" = 0.5; - "security.promptForLocalFileProtocolHandling" = false; - "security.promptForRemoteFileProtocolHandling" = false; - "markdown-preview-enhanced.previewTheme" = "github-dark.css"; - "editor.minimap.enabled" = false; - "explorer.confirmDelete" = false; - "explorer.confirmDragAndDrop" = false; - "editor.acceptSuggestionOnEnter" = "off"; - "editor.acceptSuggestionOnCommitCharacter" = false; - "workbench.startupEditor" = "none"; - "git.openRepositoryInParentFolders" = "never"; + ( + with pkgs.open-vsx; + [ + vscodevim.vim + jnoortheen.nix-ide + github.github-vscode-theme + rust-lang.rust-analyzer + shd101wyy.markdown-preview-enhanced + alefragnani.bookmarks + tomrijndorp.find-it-faster + streetsidesoftware.code-spell-checker + emilast.logfilehighlighter + ] + ); + userSettings = + let + vimCommonKeyBindings = [ + { + "before" = [ "C-a" ]; + "commands" = [ "cursorHome" ]; + } + { + "before" = [ "C-e" ]; + "commands" = [ "cursorEnd" ]; + } + ]; + in + { + "workbench.colorTheme" = "GitHub Dark Default"; + "workbench.startupEditor" = "none"; + "workbench.enableExperiments" = false; + "files.autoSave" = "onFocusChange"; + "editor.fontFamily" = "IBM Plex Mono"; + "editor.fontSize" = 15; + "editor.minimap.enabled" = false; + "window.zoomLevel" = 0.5; + "security.promptForLocalFileProtocolHandling" = false; + "security.promptForRemoteFileProtocolHandling" = false; + "explorer.confirmDelete" = false; + "explorer.confirmDragAndDrop" = false; + "editor.acceptSuggestionOnEnter" = "off"; + "editor.acceptSuggestionOnCommitCharacter" = false; + "git.openRepositoryInParentFolders" = "never"; + "git.ignoreLimitWarning" = true; + "extensions.ignoreRecommendations" = true; + "telemetry.enableTelemetry" = false; + "telemetry.telemetryLevel" = "off"; + "window.titleBarStyle" = "custom"; - # terminal stuff - "terminal.integrated.cursorBlinking" = true; - "terminal.integrated.cursorStyle" = "line"; - "terminal.integrated.customGlyphs" = false; - "terminal.integrated.env.linux" = { - # https://github.com/tomrijndorp/vscode-finditfaster/issues/112#issuecomment-2475227546 - FZF_DEFAULT_OPTS = "--bind ctrl-n:down,ctrl-p:up"; + # terminal stuff + "terminal.integrated.cursorBlinking" = true; + "terminal.integrated.cursorStyle" = "line"; + "terminal.integrated.customGlyphs" = false; + "terminal.integrated.env.linux" = { + # https://github.com/tomrijndorp/vscode-finditfaster/issues/112#issuecomment-2475227546 + FZF_DEFAULT_OPTS = "--bind ctrl-n:down,ctrl-p:up"; + }; + # don't let the workbench handle terminal keys like ctrl+n and friends + "terminal.integrated.sendKeybindingsToShell" = true; + "terminal.integrated.allowChords" = false; + + "markdown-preview-enhanced.previewTheme" = "github-dark.css"; + "nix.enableLanguageServer" = true; + "nix.serverPath" = "nil"; + "bookmarks.saveBookmarksInProject" = true; + + "cSpell.enabledFileTypes" = { + "markdown" = true; + "*" = false; + }; + + # vim stuff + "vim.leader" = ","; + "vim.normalModeKeyBindings" = vimCommonKeyBindings ++ [ + { + "before" = [ ";" ]; + "after" = [ ":" ]; + "silent" = true; + } + { + "before" = [ + "" + "m" + ]; + "commands" = [ "bookmarks.toggle" ]; + } + { + "before" = [ + "" + "l" + ]; + "commands" = [ "bookmarks.toggleLabeled" ]; + } + { + "before" = [ + "" + "b" + ]; + "commands" = [ "bookmarks.list" ]; + } + { + "before" = [ + "" + "s" + ]; + "commands" = [ "workbench.action.toggleSidebarVisibility" ]; + } + { + "before" = [ + "" + "f" + "f" + ]; + "commands" = [ "find-it-faster.findFiles" ]; + } + { + "before" = [ + "" + "f" + "g" + ]; + "commands" = [ "find-it-faster.findWithinFiles" ]; + } + { + "before" = [ + "" + "f" + "t" + ]; + "commands" = [ "find-it-faster.findWithinFilesWithType" ]; + } + # "gd" for definitions is by default + { + "before" = [ + "g" + "r" + ]; + "commands" = [ "editor.action.goToReferences" ]; + } + # the default is weird when you need to go back within a file + { + "before" = [ "C-o" ]; + "commands" = [ "workbench.action.navigateBack" ]; + } + { + "before" = [ "C-i" ]; + "commands" = [ "workbench.action.navigateForward" ]; + } + # insert line without leaving normal mode + { + "before" = [ + "" + "o" + ]; + "commands" = [ "editor.action.insertLineAfter" ]; + } + { + "before" = [ + "" + "O" + ]; + "commands" = [ "editor.action.insertLineBefore" ]; + } + ]; + "vim.insertModeKeyBindings" = vimCommonKeyBindings ++ [ + { + "before" = [ "C-k" ]; + "commands" = [ "acceptSelectedSuggestion" ]; + } + ]; + "vim.visualModeKeyBindings" = vimCommonKeyBindings ++ [ + { + "before" = [ ">" ]; + "commands" = [ "editor.action.indentLines" ]; + } + { + "before" = [ "<" ]; + "commands" = [ "editor.action.outdentLines" ]; + } + ]; + "extensions.experimental.affinity" = { + "vscodevim.vim" = 1; + }; }; - # don't let the workbench handle terminal keys like ctrl+n and friends - "terminal.integrated.sendKeybindingsToShell" = true; - "terminal.integrated.allowChords" = false; - - "nix.enableLanguageServer" = true; - "nix.serverPath" = "nil"; - - "cSpell.enabledFileTypes" = { - "markdown" = true; - "*" = false; - }; - - # vim stuff - "vim.leader" = ","; - "vim.normalModeKeyBindings" = [ - { - "before" = [ ";" ]; - "after" = [ ":" ]; - "silent" = true; - } - { - "before" = [ - "" - "m" - ]; - "commands" = [ "bookmarks.toggle" ]; - } - { - "before" = [ - "" - "l" - ]; - "commands" = [ "bookmarks.toggleLabeled" ]; - } - { - "before" = [ - "" - "b" - ]; - "commands" = [ "bookmarks.list" ]; - } - { - "before" = [ - "" - "s" - ]; - "commands" = [ "workbench.action.toggleSidebarVisibility" ]; - } - { - "before" = [ - "" - "f" - "f" - ]; - "commands" = [ "find-it-faster.findFiles" ]; - } - { - "before" = [ - "" - "f" - "g" - ]; - "commands" = [ "find-it-faster.findWithinFiles" ]; - } - { - "before" = [ - "" - "f" - "t" - ]; - "commands" = [ "find-it-faster.findWithinFilesWithType" ]; - } - # "gd" for definitions is by default - { - "before" = [ - "g" - "r" - ]; - "commands" = [ "editor.action.goToReferences" ]; - } - # the default is weird when you need to go back within a file - { - "before" = [ "C-o" ]; - "commands" = [ "workbench.action.navigateBack" ]; - } - { - "before" = [ "C-i" ]; - "commands" = [ "workbench.action.navigateForward" ]; - } - ]; - "vim.insertModeKeyBindings" = [ - { - "before" = [ "C-a" ]; - "commands" = [ "cursorHome" ]; - } - { - "before" = [ "C-e" ]; - "commands" = [ "cursorEnd" ]; - } - ]; - "vim.visualModeKeyBindings" = [ - { - "before" = [ ">" ]; - "commands" = [ "editor.action.indentLines" ]; - } - { - "before" = [ "<" ]; - "commands" = [ "editor.action.outdentLines" ]; - } - ]; - "extensions.experimental.affinity" = { - "vscodevim.vim" = 1; - }; - }; }; }; } diff --git a/hosts/ytnix/default.nix b/hosts/ytnix/default.nix index 42d9217..cd321c4 100644 --- a/hosts/ytnix/default.nix +++ b/hosts/ytnix/default.nix @@ -407,4 +407,7 @@ enable = true; binfmt = true; }; + + programs.ccache.enable = true; + nix.settings.extra-sandbox-paths = [ config.programs.ccache.cacheDir ]; }