diff --git a/config/home-manager/darkkirb.nix b/config/home-manager/darkkirb.nix index af18aeb7..70a2cf2c 100644 --- a/config/home-manager/darkkirb.nix +++ b/config/home-manager/darkkirb.nix @@ -21,7 +21,7 @@ ../programs/keepass.nix ../programs/alacritty.nix ../programs/kicad.nix - ../programs/vscode.nix + ../programs/vscode ../programs/misc.nix ] else [ ]); } diff --git a/config/programs/vscode.nix b/config/programs/vscode.nix deleted file mode 100644 index 9abd0c6b..00000000 --- a/config/programs/vscode.nix +++ /dev/null @@ -1,192 +0,0 @@ -{ pkgs, ... }: { - programs.vscode = { - enable = true; - mutableExtensionsDir = false; - extensions = (with pkgs.vscode-extensions; [ - bbenoist.nix - dhall.dhall-lang - dhall.vscode-dhall-lsp-server - eamodio.gitlens - github.copilot - jnoortheen.nix-ide - matklad.rust-analyzer - ms-vscode.cpptools - ms-vscode-remote.remote-ssh - scala-lang.scala - serayuzgur.crates - tamasfe.even-better-toml - redhat.vscode-yaml - ritwickdey.liveserver - vadimcn.vscode-lldb - yzhang.markdown-all-in-one - ]) ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ - { - name = "rust-doc-viewer"; - publisher = "jscearcy"; - version = "2.0.1"; - sha256 = "sha256-bVWM3RlcXY0+fACKrOtq63dHo0neyaw/TuhUxwCxeYs="; - } - { - name = "cargo"; - publisher = "panicbit"; - version = "0.2.3"; - sha256 = "sha256-B0oLZE8wtygTaUX9/qOBg9lJAjUUg2i7B2rfSWJerEU="; - } - { - name = "vscode-rust-test-adapter"; - publisher = "swellaby"; - version = "0.11.0"; - sha256 = "sha256-IgfcIRF54JXm9l2vVjf7lFJOVSI0CDgDjQT+Hw6FO4Q="; - } - { - name = "discord-vscode"; - publisher = "icrawl"; - version = "5.8.0"; - sha256 = "sha256-IU/looiu6tluAp8u6MeSNCd7B8SSMZ6CEZ64mMsTNmU="; - } - { - name = "vscode-test-explorer"; - publisher = "hbenl"; - version = "2.21.1"; - sha256 = "sha256-fHyePd8fYPt7zPHBGiVmd8fRx+IM3/cSBCyiI/C0VAg="; - } - { - name = "test-adapter-converter"; - publisher = "ms-vscode"; - version = "0.1.5"; - sha256 = "sha256-nli4WJ96lL3JssNuwLCsthvphI7saFT2ktWQ46VNooc="; - } - { - name = "material-icon-theme"; - publisher = "PKief"; - version = "4.14.1"; - sha256 = "sha256-OHXi0EfeyKMeFiMU5yg0aDoWds4ED0lb+l6T12XZ3LQ="; - } - { - name = "vscode-direnv"; - publisher = "cab404"; - version = "1.0.0"; - sha256 = "sha256-+nLH+T9v6TQCqKZw6HPN/ZevQ65FVm2SAo2V9RecM3Y="; - } - { - name = "veriloghdl"; - publisher = "mshr-h"; - version = "1.5.3"; - sha256 = "sha256-4BXSG/YllhpXa0z7TqytKyqAKLJvSEsOLt1i6gA+WcE="; - } - { - name = "cmake-tools"; - publisher = "ms-vscode"; - version = "1.10.5"; - sha256 = "sha256-T57uCK1rGe3dBnYbK7QhN2NG3NwTEZm0/EY8S1Pyf7I="; - } - { - name = "cmake"; - publisher = "twxs"; - version = "0.0.17"; - sha256 = "sha256-CFiva1AO/oHpszbpd7lLtDzbv1Yi55yQOQPP/kCTH4Y="; - } - { - name = "better-cpp-syntax"; - publisher = "jeff-hykin"; - version = "1.15.13"; - sha256 = "sha256-ugn7nERz/IZ37mD/WWOWHcaB7nMLkeN+cCTCGCUHpOo="; - } - { - name = "cpptools-themes"; - publisher = "ms-vscode"; - version = "1.0.0"; - sha256 = "sha256-E0cLGPpCwqnisgsDt6OGVlrO02mL/vuwe87qn/oCulk="; - } - { - name = "doxdocgen"; - publisher = "cschlosser"; - version = "1.4.0"; - sha256 = "sha256-InEfF1X7AgtsV47h8WWq5DZh6k/wxYhl2r/pLZz9JbU="; - } - { - name = "clang-tidy"; - publisher = "notskm"; - version = "0.5.1"; - sha256 = "sha256-neAvG8bk8yzpbuSzvVVi8Z3lCr29FBncXx3Sv/KChHw="; - } - { - publisher = "42crunch"; - name = "vscode-openapi"; - version = "4.9.4"; - sha256 = "sha256-rY4sBGXEtMX2VsJ7LArCKPfqi0NVdg0ReKCAPUbCe0Q="; - } - { - publisher = "signageos"; - name = "signageos-vscode-sops"; - version = "0.5.0"; - sha256 = "sha256-pIxr9hqcIFlJKrZUD/Vn5249GRQOy0D/UovG63f4Myg="; - } - { - publisher = "chris-hock"; - name = "pioasm"; - version = "1.0.0"; - sha256 = "sha256-OPDqDBefXQeRPqk24LoJ+wXsCvGO6bgJThRaeOZi5yY="; - } - ]; - userSettings = { - "diffEditor.codeLens" = true; - "editor.bracketPairColorization.enabled" = true; - "editor.cursorSmoothCaretAnimation" = true; - "editor.cursorSurroundingLines" = 3; - "editor.foldingImportsByDefault" = true; - "editor.fontFamily" = "'FiraCode Nerd Font Mono', 'Noto Sans Mono CJK', monospace"; - "editor.formatOnPaste" = true; - "editor.formatOnSave" = true; - "editor.formatOnType" = true; - "editor.guides.bracketPairs" = true; - "editor.inlineSuggest.enabled" = true; - "editor.renderWhitespace" = "all"; - "editor.smoothScrolling" = true; - "editor.suggest.localityBonus" = true; - "editor.suggest.preview" = true; - "editor.suggest.shareSuggestSelections" = true; - "editor.tabCompletion" = "on"; - "editor.tabSize" = 2; - "editor.multiCursorModifier" = "ctrlCmd"; # Multi-Cursor won’t work otherwise - "explorer.experimental.fileNesting.enabled" = true; - "files.insertFinalNewline" = true; - "files.trimFinalNewlines" = true; - "files.trimTrailingWhitespace" = true; - "git.autoStash" = true; - "git.autofetch" = true; - "git.enableCommitSigning" = true; - "git.enableSmartCommit" = true; - "git.fetchOnPull" = true; - "git.rebaseWhenSync" = true; - "nix.enableLanguageServer" = true; - "nix.serverPath" = "${pkgs.rnix-lsp}/bin/rnix-lsp"; - "search.smartCase" = true; - "telemetry.telemetryLevel" = "off"; - "update.mode" = "none"; - "workbench.colorTheme" = "Monokai"; - "workbench.commandPalette.preserveInput" = true; - "workbench.iconTheme" = "material-icon-theme"; - "workbench.list.smoothScrolling" = true; - "C_Cpp.intelliSenseEngine" = "Disabled"; - "C_Cpp.autocomplete" = "Disabled"; - "C_Cpp.errorSquiggles" = "Disabled"; - "clang-tidy.executable" = "${pkgs.llvmPackages_latest.clang-unwrapped}/bin/clang-tidy"; - "cmake.cmakePath" = "${pkgs.cmake}/bin/cmake"; - "github.copilot.enable" = { "*" = true; }; - "crates.listPreReleases" = true; - "css.format.spaceAroundSelectorSeparator" = true; - "less.format.spaceAroundSelectorSeparator" = true; - "scss.format.spaceAroundSelectorSeparator" = true; - "vscode-dhall-lsp-server.executable" = "${pkgs.dhall-lsp-server}/bin/dhall-lsp-server"; - "doxdocgen.generic.useGitUserEmail" = true; - "doxdocgen.generic.useGitUserName" = true; - "git.confirmSync" = false; - "clangd.path" = "${pkgs.llvmPackages_latest.clang-unwrapped}/bin/clangd"; - "verilog.ctags.path" = "${pkgs.ctags}/bin/ctags"; - "verilog.languageServer" = "${pkgs.svls}/bin/svls"; - "verilog.linting.linter" = "${pkgs.verilator}/bin/verilator"; - "redhat.telemetry.enabled" = false; # FUCK OFF - }; - }; -} diff --git a/config/programs/vscode/default.nix b/config/programs/vscode/default.nix new file mode 100644 index 00000000..36fee232 --- /dev/null +++ b/config/programs/vscode/default.nix @@ -0,0 +1,66 @@ +{ pkgs, ... }: { + programs.vscode = { + enable = true; + mutableExtensionsDir = false; + inherit (import ./extensions.nix) extensions; + userSettings = { + "diffEditor.codeLens" = true; + "editor.bracketPairColorization.enabled" = true; + "editor.cursorSmoothCaretAnimation" = true; + "editor.cursorSurroundingLines" = 3; + "editor.foldingImportsByDefault" = true; + "editor.fontFamily" = "'FiraCode Nerd Font Mono', 'Noto Sans Mono CJK', monospace"; + "editor.formatOnPaste" = true; + "editor.formatOnSave" = true; + "editor.formatOnType" = true; + "editor.guides.bracketPairs" = true; + "editor.inlineSuggest.enabled" = true; + "editor.renderWhitespace" = "all"; + "editor.smoothScrolling" = true; + "editor.suggest.localityBonus" = true; + "editor.suggest.preview" = true; + "editor.suggest.shareSuggestSelections" = true; + "editor.tabCompletion" = "on"; + "editor.tabSize" = 2; + "editor.multiCursorModifier" = "ctrlCmd"; # Multi-Cursor won’t work otherwise + "explorer.experimental.fileNesting.enabled" = true; + "files.insertFinalNewline" = true; + "files.trimFinalNewlines" = true; + "files.trimTrailingWhitespace" = true; + "git.autoStash" = true; + "git.autofetch" = true; + "git.enableCommitSigning" = true; + "git.enableSmartCommit" = true; + "git.fetchOnPull" = true; + "git.rebaseWhenSync" = true; + "nix.enableLanguageServer" = true; + "nix.serverPath" = "${pkgs.rnix-lsp}/bin/rnix-lsp"; + "search.smartCase" = true; + "telemetry.telemetryLevel" = "off"; + "update.mode" = "none"; + "workbench.colorTheme" = "Monokai"; + "workbench.commandPalette.preserveInput" = true; + "workbench.iconTheme" = "material-icon-theme"; + "workbench.list.smoothScrolling" = true; + "C_Cpp.intelliSenseEngine" = "Disabled"; + "C_Cpp.autocomplete" = "Disabled"; + "C_Cpp.errorSquiggles" = "Disabled"; + "clang-tidy.executable" = "${pkgs.llvmPackages_latest.clang-unwrapped}/bin/clang-tidy"; + "cmake.cmakePath" = "${pkgs.cmake}/bin/cmake"; + "github.copilot.enable" = { "*" = true; }; + "crates.listPreReleases" = true; + "css.format.spaceAroundSelectorSeparator" = true; + "less.format.spaceAroundSelectorSeparator" = true; + "scss.format.spaceAroundSelectorSeparator" = true; + "vscode-dhall-lsp-server.executable" = "${pkgs.dhall-lsp-server}/bin/dhall-lsp-server"; + "doxdocgen.generic.useGitUserEmail" = true; + "doxdocgen.generic.useGitUserName" = true; + "git.confirmSync" = false; + "clangd.path" = "${pkgs.llvmPackages_latest.clang-unwrapped}/bin/clangd"; + "verilog.ctags.path" = "${pkgs.ctags}/bin/ctags"; + "verilog.languageServer" = "${pkgs.svls}/bin/svls"; + "verilog.linting.linter" = "${pkgs.verilator}/bin/verilator"; + "redhat.telemetry.enabled" = false; # FUCK OFF + }; + }; +} diff --git a/config/programs/vscode/extensions.nix b/config/programs/vscode/extensions.nix new file mode 100644 index 00000000..ab5641be --- /dev/null +++ b/config/programs/vscode/extensions.nix @@ -0,0 +1,207 @@ +{ extensions = [ + { + name = "vscode-openapi"; + publisher = "42Crunch"; + version = "4.9.5"; + sha256 = "125ajcb7vig6a1gnplblqgygw1plg4h3wwfdpzcadzb3lh2g5029"; + } + { + name = "Nix"; + publisher = "bbenoist"; + version = "1.0.1"; + sha256 = "0zd0n9f5z1f0ckzfjr38xw2zzmcxg1gjrava7yahg5cvdcw6l35b"; + } + { + name = "vscode-direnv"; + publisher = "cab404"; + version = "1.0.0"; + sha256 = "0xikkhbzb5cd0a96smj5mr1sz5zxrmryhw56m0139sbg7zwwfwps"; + } + { + name = "pioasm"; + publisher = "chris-hock"; + version = "1.0.0"; + sha256 = "09p7cbk7hnhl9q4viscfy45fq1gv16xf0dm97s8hfpcz2w6fmw1q"; + } + { + name = "doxdocgen"; + publisher = "cschlosser"; + version = "1.4.0"; + sha256 = "1d95znf2vsdzv9jqiigh9zm62dp4m9jz3qcfaxn0n0pvalbiyw92"; + } + { + name = "dhall-lang"; + publisher = "dhall"; + version = "0.0.4"; + sha256 = "0sa04srhqmngmw71slnrapi2xay0arj42j4gkan8i11n7bfi1xpf"; + } + { + name = "vscode-dhall-lsp-server"; + publisher = "dhall"; + version = "0.0.4"; + sha256 = "1zin7s827bpf9yvzpxpr5n6mv0b5rhh3civsqzmj52mdq365d2js"; + } + { + name = "gitlens"; + publisher = "eamodio"; + version = "12.0.6"; + sha256 = "1d7gzxsyxrhvvx2md6gbcwiawd8f3jarxfbv2qhj7xl1phd7zja3"; + } + { + name = "copilot"; + publisher = "GitHub"; + version = "1.17.5850"; + sha256 = "0rzrga8yz0n2gmya4q5d683m0zfflf75ms9nnl6iqd13rxgk8psa"; + } + { + name = "vscode-test-explorer"; + publisher = "hbenl"; + version = "2.21.1"; + sha256 = "022lnkq278ic0h9ggpqcwb3x3ivpcqjimhgirixznq0zvwyrwz3w"; + } + { + name = "discord-vscode"; + publisher = "icrawl"; + version = "5.8.0"; + sha256 = "0r9n2g5rif4y2619wccjqh3pn9rljb3yhblz09pdksmfi2ifakr1"; + } + { + name = "better-cpp-syntax"; + publisher = "jeff-hykin"; + version = "1.15.13"; + sha256 = "1sm40wjiihi4f1zf748bfgp83ihxjrimkzv0xrvqdz3k8jfgn2ds"; + } + { + name = "nix-ide"; + publisher = "jnoortheen"; + version = "0.1.20"; + sha256 = "16mmivdssjky11gmih7zp99d41m09r0ii43n17d4i6xwivagi9a3"; + } + { + name = "rust-doc-viewer"; + publisher = "JScearcy"; + version = "2.0.1"; + sha256 = "12vrn40cfm789qzsrjfy96ilfxzbdbmsr2h0ghz8spaw37fqqmbd"; + } + { + name = "rust-analyzer"; + publisher = "matklad"; + version = "0.3.1043"; + sha256 = "12ynf3hm35070dknr2kmzq9bq1i33zgc3ryamjprxi9964s78446"; + } + { + name = "remote-ssh"; + publisher = "ms-vscode-remote"; + version = "0.79.2022040715"; + sha256 = "041x9q2nb86p5npf5gjmg102phvm4s4nxmirfz7nfa2qlbn2rl74"; + } + { + name = "cmake-tools"; + publisher = "ms-vscode"; + version = "1.11.15"; + sha256 = "0gb2vdls0g7jhrc53z4qlddi27kj3cz7d3pgszlzf82w2l9cya1w"; + } + { + name = "cpptools"; + publisher = "ms-vscode"; + version = "1.10.0"; + sha256 = "0qr5k4bi23rz214ycn85kw9fql2r8y0c3ffdfga7mjcvy4bn9qpv"; + } + { + name = "cpptools-themes"; + publisher = "ms-vscode"; + version = "1.0.0"; + sha256 = "0nds0bx9zsnfgfqgpzlbd79wwnjnhsivf0qbnbiakhj2z8c0niqk"; + } + { + name = "test-adapter-converter"; + publisher = "ms-vscode"; + version = "0.1.6"; + sha256 = "0pj4ln8g8dzri766h9grdvhknz2mdzwv0lmzkpy7l9w9xx8jsbsh"; + } + { + name = "veriloghdl"; + publisher = "mshr-h"; + version = "1.5.3"; + sha256 = "1har7q0flqnx5q74nj3gn8l80aibmnn4xyscddbim5i5yqdx45g0"; + } + { + name = "clang-tidy"; + publisher = "notskm"; + version = "0.5.1"; + sha256 = "0z44hbrbzlhxbzf1j55xpl5fb7gic9avvcz4dvljrwz4qqdjzq4x"; + } + { + name = "cargo"; + publisher = "panicbit"; + version = "0.2.3"; + sha256 = "0idcbri4kpva0yxni0ql6l14knc3h6izxza5d49jidrh9xj0njh7"; + } + { + name = "material-icon-theme"; + publisher = "PKief"; + version = "4.16.0"; + sha256 = "1alj7xbldfj35sajfkas3fspz5n3c6h9q1016qdagns1hmdfzq80"; + } + { + name = "vscode-yaml"; + publisher = "redhat"; + version = "1.7.0"; + sha256 = "1bbjpaypp0mq5akww5f0pkpq01j0xhhvkfr44f4lb2rdhr5nmnvc"; + } + { + name = "LiveServer"; + publisher = "ritwickdey"; + version = "5.7.5"; + sha256 = "0afjp8jr1s0f3ag0q8kw5d8cyd5fh6vzkfx2wdqq4pihm7ivp9xc"; + } + { + name = "scala"; + publisher = "scala-lang"; + version = "0.5.5"; + sha256 = "1gqgamm97sq09za8iyb06jf7hpqa2mlkycbx6zpqwvlwd3a92qr1"; + } + { + name = "crates"; + publisher = "serayuzgur"; + version = "0.5.10"; + sha256 = "1dbhd6xbawbnf9p090lpmn8i5gg1f7y8xk2whc9zhg4432kdv3vd"; + } + { + name = "signageos-vscode-sops"; + publisher = "signageos"; + version = "0.5.0"; + sha256 = "0a1kz1vypilbabzl1jqf2hcksvp7czshym5n594mj84w3bv6p354"; + } + { + name = "vscode-rust-test-adapter"; + publisher = "Swellaby"; + version = "0.11.0"; + sha256 = "111vhl71zzh4il1kh21l49alwlllzcvmdbsxyvk9bq3r24hxq1r2"; + } + { + name = "even-better-toml"; + publisher = "tamasfe"; + version = "0.14.2"; + sha256 = "17djwa2bnjfga21nvyz8wwmgnjllr4a7nvrsqvzm02hzlpwaskcl"; + } + { + name = "cmake"; + publisher = "twxs"; + version = "0.0.17"; + sha256 = "11hzjd0gxkq37689rrr2aszxng5l9fwpgs9nnglq3zhfa1msyn08"; + } + { + name = "vscode-lldb"; + publisher = "vadimcn"; + version = "1.7.0"; + sha256 = "0sdy261fkccff13i0s6kiykkwisinasxy1n23m0xmw72i9w31rhf"; + } + { + name = "markdown-all-in-one"; + publisher = "yzhang"; + version = "3.4.3"; + sha256 = "0z0sdb5vmx1waln5k9fk6s6lj1pzpcm3hwm4xc47jz62iq8930m3"; + } +]; +} \ No newline at end of file