Commit ed72d76
Changed files (6)
home
linux
gui
vscode
home/linux/gui/vscode/profiles/astro.nix
@@ -1,22 +1,18 @@
-{pkgs, ...}: let
- baseExtensions = import ../baseExtensions.nix pkgs;
-in {
- programs.vscode.profiles.Astro = {
+{pkgs, ...}: {
+ Astro = {
userSettings = {
"javascript.suggest.paths" = false;
"typescript.suggest.paths" = false;
};
- extensions =
- (with pkgs.vscode-extensions; [
- astro-build.astro-vscode # Astro LSP
- vue.volar # Vue LSP
- bradlc.vscode-tailwindcss # Tailwind CSS LSP
- unifiedjs.vscode-mdx # MDX LSP
+ extensions = with pkgs.vscode-extensions; [
+ astro-build.astro-vscode # Astro LSP
+ vue.volar # Vue LSP
+ bradlc.vscode-tailwindcss # Tailwind CSS LSP
+ unifiedjs.vscode-mdx # MDX LSP
- dbaeumer.vscode-eslint
- esbenp.prettier-vscode
- ])
- ++ baseExtensions;
+ dbaeumer.vscode-eslint
+ esbenp.prettier-vscode
+ ];
};
}
home/linux/gui/vscode/profiles/cpp.nix
@@ -1,7 +1,5 @@
-{pkgs, ...}: let
- baseExtensions = import ../baseExtensions.nix pkgs;
-in {
- programs.vscode.profiles."C++" = {
+{pkgs, ...}: {
+ "C++" = {
userSettings = {
"clangd.arguments" = [
"--compile-commands-dir=\${workspaceFolder}/.vscode"
@@ -33,7 +31,6 @@ in {
sha256 = "rxx/tG0WqSQoP1nfuknPewDkmEkNBkFBaC2ZrWwTLpg=";
}
]
- )
- ++ baseExtensions;
+ );
};
}
home/linux/gui/vscode/profiles/default.nix
@@ -1,67 +1,81 @@
{
+ # NOTE: the args not used in this file CAN NOT be removed!
+ # Just like haumea in `/outputs`.
+ lib,
mylib,
pkgs,
+ pkgs-unstable,
...
-}: let
- baseExtensions = import ../baseExtensions.nix pkgs;
+} @ args: let
+ baseExtensions = import ../baseExtensions.nix args;
+ profilesList =
+ (map (path: import path args) (mylib.scanModules ./.))
+ ++ [
+ {
+ default = {
+ userSettings = {
+ # --- Editor Settings --- #
+ "editor.fontSize" = 16;
+ "editor.fontLigatures" = true;
+ "editor.guides.bracketPairs" = true;
+ "editor.formatOnSave" = true;
+ "editor.unicodeHighlight.allowedLocales"."zh-hans" = true;
+ # --- Terminal Settings --- #
+ "terminal.integrated.fontSize" = 14;
+ "terminal.integrated.minimumContrastRatio" = 1;
+ "terminal.integrated.defaultProfile.linux" = "fish";
+ # --- Workbench Settings --- #
+ "workbench.colorTheme" = "Catppuccin Macchiato";
+ "workbench.iconTheme" = "material-icon-theme";
+ "workbench.startupEditor" = "none";
+ # --- Extension Settings --- #
+ "GitCommitPlugin.ShowEmoji" = false;
+ "GitCommitPlugin.MaxSubjectCharacters" = 25;
+ "github.copilot.advanced".useLanguageServer = true;
+ "nix.enableLanguageServer" = true;
+ "nix.serverSettings".nil.formatting.command = ["alejandra"];
+ "evenBetterToml.formatter.alignEntries" = true;
+ "evenBetterToml.formatter.alignComments" = true;
+ "evenBetterToml.formatter.allowedBlankLines" = 1;
+ # --- Update Settings --- #
+ "extensions.autoCheckUpdates" = false;
+ "extensions.autoUpdate" = false;
+ "update.mode" = "none";
+ # --- Other Settings --- #
+ # Settings apply to all profiles
+ "telemetry.telemetryLevel" = "off";
+ "security.workspace.trust.untrustedFiles" = "open";
+ "window.newWindowProfile" = "Default";
+ "workbench.settings.applyToAllProfiles" = [
+ # Normal
+ "editor.fontSize"
+ "editor.fontLigatures"
+ "editor.guides.bracketPairs"
+ "editor.formatOnSave"
+ "terminal.integrated.fontSize"
+ "workbench.colorTheme"
+ "workbench.iconTheme"
+ "workbench.startupEditor"
+ # Extension
+ "GitCommitPlugin.ShowEmoji"
+ "GitCommitPlugin.MaxSubjectCharacters"
+ "github.copilot.advanced"
+ "nix.enableLanguageServer"
+ "nix.serverSettings"
+ "evenBetterToml.formatter.alignEntries"
+ "evenBetterToml.formatter.alignComments"
+ "evenBetterToml.formatter.allowedBlankLines"
+ ];
+ };
+ };
+ }
+ ];
+ profiles = lib.mergeAttrsList profilesList;
+ profilesWithBaseExtensions =
+ lib.mapAttrs
+ (_: v: (v // {extensions = v.extensions ++ baseExtensions;}))
+ profiles;
in {
- imports = mylib.scanModules ./.;
-
- programs.vscode.profiles.default = {
- userSettings = {
- # --- Editor Settings --- #
- "editor.fontSize" = 16;
- "editor.fontLigatures" = true;
- "editor.guides.bracketPairs" = true;
- "editor.formatOnSave" = true;
- "editor.unicodeHighlight.allowedLocales"."zh-hans" = true;
- # --- Terminal Settings --- #
- "terminal.integrated.fontSize" = 14;
- "terminal.integrated.minimumContrastRatio" = 1;
- # --- Workbench Settings --- #
- "workbench.colorTheme" = "Catppuccin Macchiato";
- "workbench.iconTheme" = "material-icon-theme";
- "workbench.startupEditor" = "none";
- # --- Extension Settings --- #
- "GitCommitPlugin.ShowEmoji" = false;
- "GitCommitPlugin.MaxSubjectCharacters" = 25;
- "github.copilot.advanced".useLanguageServer = true;
- "nix.enableLanguageServer" = true;
- "nix.serverSettings".nil.formatting.command = ["alejandra"];
- "evenBetterToml.formatter.alignEntries" = true;
- "evenBetterToml.formatter.alignComments" = true;
- "evenBetterToml.formatter.allowedBlankLines" = 1;
- # --- Update Settings --- #
- "extensions.autoCheckUpdates" = false;
- "extensions.autoUpdate" = false;
- "update.mode" = "none";
- # --- Other Settings --- #
- # Settings apply to all profiles
- "telemetry.telemetryLevel" = "off";
- "security.workspace.trust.untrustedFiles" = "open";
- "window.newWindowProfile" = "Default";
- "workbench.settings.applyToAllProfiles" = [
- # Normal
- "editor.fontSize"
- "editor.fontLigatures"
- "editor.guides.bracketPairs"
- "editor.formatOnSave"
- "terminal.integrated.fontSize"
- "workbench.colorTheme"
- "workbench.iconTheme"
- "workbench.startupEditor"
- # Extension
- "GitCommitPlugin.ShowEmoji"
- "GitCommitPlugin.MaxSubjectCharacters"
- "github.copilot.advanced"
- "nix.enableLanguageServer"
- "nix.serverSettings"
- "evenBetterToml.formatter.alignEntries"
- "evenBetterToml.formatter.alignComments"
- "evenBetterToml.formatter.allowedBlankLines"
- ];
- };
-
- extensions = baseExtensions;
- };
+ catppuccin.vscode.profiles.default.icons.enable = false;
+ programs.vscode.profiles = profilesWithBaseExtensions;
}
home/linux/gui/vscode/profiles/rust.nix
@@ -1,15 +1,11 @@
-{pkgs, ...}: let
- baseExtensions = import ../baseExtensions.nix pkgs;
-in {
- programs.vscode.profiles.Rust = {
+{pkgs, ...}: {
+ Rust = {
userSettings = {
};
- extensions =
- (with pkgs.vscode-extensions; [
- rust-lang.rust-analyzer
- vadimcn.vscode-lldb
- ])
- ++ baseExtensions;
+ extensions = with pkgs.vscode-extensions; [
+ rust-lang.rust-analyzer
+ vadimcn.vscode-lldb
+ ];
};
}
home/linux/gui/vscode/profiles/typst.nix
@@ -1,18 +1,14 @@
-{pkgs, ...}: let
- baseExtensions = import ../baseExtensions.nix pkgs;
-in {
- programs.vscode.profiles.Typst = {
+{pkgs, ...}: {
+ Typst = {
userSettings = {
"tinymist.formatterMode" = "typstyle";
"[typst-code]"."editor.wordSeparators" = "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?";
"[typst]"."editor.unicodeHighlight.ambiguousCharacters" = false;
};
- extensions =
- (with pkgs.vscode-extensions; [
- myriad-dreamin.tinymist # Typst LSP
- tomoki1207.pdf # PDF Viewer
- ])
- ++ baseExtensions;
+ extensions = with pkgs.vscode-extensions; [
+ myriad-dreamin.tinymist # Typst LSP
+ tomoki1207.pdf # PDF Viewer
+ ];
};
}
home/linux/gui/vscode/baseExtensions.nix
@@ -1,7 +1,12 @@
-pkgs: (with pkgs.vscode-extensions;
+{
+ pkgs,
+ pkgs-unstable,
+ ...
+}:
+with pkgs.vscode-extensions;
[
# Translation
- # ms-ceintl.vscode-language-pack-zh-hans
+ ms-ceintl.vscode-language-pack-zh-hans
w88975.code-translate
# Appearance
@@ -29,7 +34,7 @@ pkgs: (with pkgs.vscode-extensions;
tamasfe.even-better-toml
redhat.vscode-yaml
]
- ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
+ ++ (pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "git-commit-plugin";
publisher = "redjue";