Refactor home modules and update configs
- Remove unused `pkgs` import from hardware and adjust user stateVersion to 25.11 with updated wheel comment. - Split Bash aliases and functions into separate modules and rename `bash.nix` to `bash/default.nix` with imports. - Delete old Bash alias/function files and consolidate them under the new structure. - Simplify `bat.nix` by removing commented style lines. - Increase Cava `frame_rate` from 60 to 144 and clean up legacy color settings. - Refactor Chromium configuration: separate extensions into `extensions.nix` and use a minimal default module. - Replace large Kitty config with minimal enable/module and import `extra-config.nix` and `settings.nix`. - Overhaul Librewolf setup: extract profiles, extensions, search, and settings into dedicated files. - Update home `default.nix` imports to reflect new module paths and remove obsolete references. - Modularize SwayNC by moving settings and style to separate files. - Add explicit Vesktop package definition. - Remove old VSCode module; introduce VSCodium with profile-based extensions, keybindings, and user settings. - Reorganize XDG portal and desktop entries into modular files. - Rebuild Zed configuration: split user settings, language models, languages, LSP, extensions, and extra packages into distinct files.
This commit is contained in:
6
modules/home/vscodium/profiles/default.nix
Normal file
6
modules/home/vscodium/profiles/default.nix
Normal file
@@ -0,0 +1,6 @@
|
||||
_: {
|
||||
imports = [
|
||||
./default
|
||||
# add more profiles here
|
||||
];
|
||||
}
|
||||
7
modules/home/vscodium/profiles/default/default.nix
Normal file
7
modules/home/vscodium/profiles/default/default.nix
Normal file
@@ -0,0 +1,7 @@
|
||||
_: {
|
||||
imports = [
|
||||
./extensions.nix
|
||||
./keybindings.nix
|
||||
./user-settings.nix
|
||||
];
|
||||
}
|
||||
239
modules/home/vscodium/profiles/default/extensions.nix
Normal file
239
modules/home/vscodium/profiles/default/extensions.nix
Normal file
@@ -0,0 +1,239 @@
|
||||
{pkgs, ...}: {
|
||||
programs.vscode.profiles.default.extensions = with pkgs.vscode-extensions;
|
||||
[
|
||||
batisteo.vscode-django
|
||||
bradlc.vscode-tailwindcss
|
||||
christian-kohler.npm-intellisense
|
||||
christian-kohler.path-intellisense
|
||||
continue.continue
|
||||
davidanson.vscode-markdownlint
|
||||
dbaeumer.vscode-eslint
|
||||
donjayamanne.githistory
|
||||
esbenp.prettier-vscode
|
||||
ethansk.restore-terminals
|
||||
formulahendry.auto-close-tag
|
||||
formulahendry.auto-rename-tag
|
||||
gruntfuggly.todo-tree
|
||||
jnoortheen.nix-ide
|
||||
mechatroner.rainbow-csv
|
||||
ms-azuretools.vscode-docker
|
||||
njpwerner.autodocstring
|
||||
octref.vetur
|
||||
oderwat.indent-rainbow
|
||||
shd101wyy.markdown-preview-enhanced
|
||||
streetsidesoftware.code-spell-checker
|
||||
supermaven.supermaven
|
||||
tomoki1207.pdf
|
||||
visualstudioexptteam.intellicode-api-usage-examples
|
||||
visualstudioexptteam.vscodeintellicode
|
||||
vscode-icons-team.vscode-icons
|
||||
vue.volar
|
||||
wholroyd.jinja
|
||||
yoavbls.pretty-ts-errors
|
||||
tamasfe.even-better-toml
|
||||
ms-ceintl.vscode-language-pack-pl
|
||||
rust-lang.rust-analyzer
|
||||
fill-labs.dependi
|
||||
usernamehw.errorlens
|
||||
bierner.docs-view
|
||||
stkb.rewrap
|
||||
ms-vscode.live-server
|
||||
vadimcn.vscode-lldb
|
||||
batisteo.vscode-django
|
||||
vitaliymaz.vscode-svg-previewer
|
||||
]
|
||||
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
||||
{
|
||||
name = "goto-alias";
|
||||
publisher = "antfu";
|
||||
version = "0.2.1";
|
||||
hash = "sha256-BJBJVG/zW2BW6K0UqQ4EE12VVIxW3g+z5CecZXRPIrM=";
|
||||
}
|
||||
{
|
||||
name = "vite";
|
||||
publisher = "antfu";
|
||||
version = "0.2.5";
|
||||
hash = "sha256-F3uaqoaLXLE7M8OPzNIIUSraTBeRMwtjxrbgQyMIyZE=";
|
||||
}
|
||||
{
|
||||
name = "django-html";
|
||||
publisher = "bibhasdn";
|
||||
version = "1.3.0";
|
||||
hash = "sha256-7xVJVcjmwl6917lqkTa0KFwMLkAvHkNT2wVML14gVCk=";
|
||||
}
|
||||
{
|
||||
name = "one-dark-pro-monokai-darker";
|
||||
publisher = "eserozvataf";
|
||||
version = "1.1.0";
|
||||
hash = "sha256-jUjBiy0CD7jw2WBMvM3h8bEC2ySEuj7532dC3v9lpyI=";
|
||||
}
|
||||
{
|
||||
name = "bootstrap-intellisense";
|
||||
publisher = "hossaini";
|
||||
version = "3.0.2";
|
||||
hash = "sha256-stZfbh42HncdRzFZ9ShumZ9Tuery9RF9c8rk3TD3P2g=";
|
||||
}
|
||||
{
|
||||
name = "tab-indent-space-align";
|
||||
publisher = "j-zeppenfeld";
|
||||
version = "0.0.3";
|
||||
hash = "sha256-+WEdYJOVWW7YumfzLkvZmrnpUiC85oLsG1BKMwL1NHc=";
|
||||
}
|
||||
{
|
||||
name = "bun-lockb";
|
||||
publisher = "jaaxxx";
|
||||
version = "0.0.7";
|
||||
hash = "sha256-CkdH/luVTFycRn4Td6ovFnEQep+tVEIXsyUjhfJwfN4=";
|
||||
}
|
||||
{
|
||||
name = "search-node-modules";
|
||||
publisher = "jasonnutter";
|
||||
version = "1.3.0";
|
||||
hash = "sha256-X2CkCVF46McnXDlASlRHKixlAzR+hU4ys8A8JsbpfYI=";
|
||||
}
|
||||
{
|
||||
name = "polacode-2019";
|
||||
publisher = "jeff-hykin";
|
||||
version = "0.6.1";
|
||||
hash = "sha256-SbfsD28gaVHAmJskUuc1Q8kA47jrVa3OO5Ur7ULk3jI=";
|
||||
}
|
||||
{
|
||||
name = "vsc-python-indent";
|
||||
publisher = "kevinrose";
|
||||
version = "1.21.0";
|
||||
hash = "sha256-SvJhVG8sofzV0PebZG4IIORX3AcfmErDQ00tRF9fk/4=";
|
||||
}
|
||||
{
|
||||
name = "json-to-ts";
|
||||
publisher = "mariusalchimavicius";
|
||||
version = "1.8.0";
|
||||
hash = "sha256-WoSycVtUAkVXv7BDuh+jFbnaU1IdVLvVjOYuIuUp79M=";
|
||||
}
|
||||
{
|
||||
name = "inline-fold-new";
|
||||
publisher = "ctf0";
|
||||
version = "0.0.2";
|
||||
hash = "sha256-DpXTBYN1Ohh3ZvvpUtas0G99fZcimsp1NL7mpIC07yk=";
|
||||
}
|
||||
{
|
||||
name = "mdc";
|
||||
publisher = "nuxt";
|
||||
version = "0.3.1";
|
||||
hash = "sha256-YJ+7gzDjA8kzxBwGLpEmfx0erJdgAntWc2OrK2zp9DM=";
|
||||
}
|
||||
{
|
||||
name = "nuxtr-vscode";
|
||||
publisher = "nuxtr";
|
||||
version = "0.2.16";
|
||||
hash = "sha256-DVoq8zdlJ2ch8PCG34f1PRkILym9XdclUHQ9s2B5OME=";
|
||||
}
|
||||
{
|
||||
name = "bun-vscode";
|
||||
publisher = "oven";
|
||||
version = "0.0.28";
|
||||
hash = "sha256-WlGqqKbfrV0gqCCdVo/UFF+Gnxhq0TNJ4LuHwFaFYXA=";
|
||||
}
|
||||
{
|
||||
name = "csv-to-table";
|
||||
publisher = "phplasma";
|
||||
version = "1.4.1";
|
||||
hash = "sha256-npe7cQ4lAZr8HCyQSJmVsCDUJcOhGhL6y1QtUtqUY50=";
|
||||
}
|
||||
{
|
||||
name = "nuxt-snippets";
|
||||
publisher = "praburangki";
|
||||
version = "1.8.0";
|
||||
hash = "sha256-qrWrrDO/Ie/mdygw18C0mrPzNQzZLsd+fapUyTVhc14=";
|
||||
}
|
||||
{
|
||||
name = "bash-debug";
|
||||
publisher = "rogalmic";
|
||||
version = "0.3.9";
|
||||
hash = "sha256-f8FUZCvz/PonqQP9RCNbyQLZPnN5Oce0Eezm/hD19Fg=";
|
||||
}
|
||||
{
|
||||
name = "vs-code-prettier-eslint";
|
||||
publisher = "rvest";
|
||||
version = "6.0.0";
|
||||
hash = "sha256-PogNeKhIlcGxUKrW5gHvFhNluUelWDGHCdg5K+xGXJY=";
|
||||
}
|
||||
{
|
||||
name = "vscode-preview-docs";
|
||||
publisher = "selemondev";
|
||||
version = "0.1.7";
|
||||
hash = "sha256-Q9bEIb2m6cqHtdVjOaNivfYvbc5/VVdabM2NVTwBOFA=";
|
||||
}
|
||||
{
|
||||
name = "autoimport";
|
||||
publisher = "steoates";
|
||||
version = "1.5.4";
|
||||
hash = "sha256-7iIwJJsoNbtTopc+BQ+195aSCLqdNAaGtMoxShyhBWY=";
|
||||
}
|
||||
{
|
||||
name = "code-spell-checker-polish";
|
||||
publisher = "streetsidesoftware";
|
||||
version = "2.1.3";
|
||||
hash = "sha256-MZeTvK9dO4Kj6hK+afJPWGmnKBtlLrrnoqtUd5s2te0=";
|
||||
}
|
||||
{
|
||||
name = "vscode-pets";
|
||||
publisher = "tonybaloney";
|
||||
version = "1.30.0";
|
||||
hash = "sha256-RxOA6xQ29JuB0NzEqMDkF9W1U+AsvgAOzGbtIUw0WyM=";
|
||||
}
|
||||
{
|
||||
name = "explorer";
|
||||
publisher = "vitest";
|
||||
version = "1.17.0";
|
||||
hash = "sha256-7OePMFsWIyrPkAW/+SRiOoowluLMEszEjWmBsW0LPpc=";
|
||||
}
|
||||
{
|
||||
name = "prettify-json";
|
||||
publisher = "mohsen1";
|
||||
version = "0.0.3";
|
||||
hash = "sha256-lvds+lFDzt1s6RikhrnAKJipRHU+Dk85ZO49d1sA8uo=";
|
||||
}
|
||||
{
|
||||
name = "uv-toolkit";
|
||||
publisher = "the0807";
|
||||
version = "0.0.2";
|
||||
hash = "sha256-OXHUwynWm4RqJYjcv5qXt5DyjFDxtNjZFNpnd22gUgg=";
|
||||
}
|
||||
{
|
||||
name = "kylin-python";
|
||||
publisher = "kylinideteam";
|
||||
version = "0.4.2";
|
||||
hash = "sha256-LhOsIvECrxLCnRjUVffS4G4fFsdP70iP/twoNoto354=";
|
||||
}
|
||||
{
|
||||
name = "rust-flash-snippets";
|
||||
publisher = "lorenzopirro";
|
||||
version = "3.1.1";
|
||||
hash = "sha256-L8x/OqbrsKDmyphzV3CDpoZ27rTnPS0U1YGv9KakW+U=";
|
||||
}
|
||||
{
|
||||
name = "rustowl-vscode";
|
||||
publisher = "cordx56";
|
||||
version = "0.3.4";
|
||||
hash = "sha256-sM4CxQfdtDkZg5B7gxw66k7ZpIfHQFORIukHRpg0+S8=";
|
||||
}
|
||||
{
|
||||
name = "vscode-coverage-gutters";
|
||||
publisher = "ryanluker";
|
||||
version = "2.13.0";
|
||||
hash = "sha256-qgPKGikqNIeZkKfd0P0keAdxRl9XNzvEJKQy58eaUZk=";
|
||||
}
|
||||
{
|
||||
name = "vscode-change-case";
|
||||
publisher = "hjdarnel";
|
||||
version = "1.4.0";
|
||||
hash = "sha256-6LS4MrG16054DQkPmr7BQJeekpEtcL2NtRe0Ckfq2w4=";
|
||||
}
|
||||
{
|
||||
name = "vscode-bevy-inspector";
|
||||
publisher = "splo";
|
||||
version = "0.3.0";
|
||||
hash = "sha256-f0FAgQ0wm3FYPz5qpMHWHnTf3un0xw+5gcyBG7PYM2E=";
|
||||
}
|
||||
];
|
||||
}
|
||||
24
modules/home/vscodium/profiles/default/keybindings.nix
Normal file
24
modules/home/vscodium/profiles/default/keybindings.nix
Normal file
@@ -0,0 +1,24 @@
|
||||
_: {
|
||||
programs.vscode.profiles.default.keybindings = [
|
||||
{
|
||||
"key" = "tab";
|
||||
"command" = "-editor.emmet.action.expandAbbreviation";
|
||||
"when" = "config.emmet.triggerExpansionOnTab && editorTextFocus && !editorReadonly && !editorTabMovesFocus";
|
||||
}
|
||||
{
|
||||
"key" = "tab";
|
||||
"command" = "-editor.action.inlineSuggest.jump";
|
||||
"when" = "inlineEditIsVisible && tabShouldJumpToInlineEdit && !editorHoverFocused && !editorTabMovesFocus && !suggestWidgetVisible";
|
||||
}
|
||||
{
|
||||
"key" = "tab";
|
||||
"command" = "-Alignment Preserving Indent";
|
||||
"when" = "editorTextFocus && !editorReadOnly && !editorTabMovesFocus && !inSnippetMode && !suggestWidgetVisible && config.editor.tabCompletion != 'on'";
|
||||
}
|
||||
{
|
||||
"key" = "tab";
|
||||
"command" = "-Alignment Preserving Indent";
|
||||
"when" = "editorTextFocus && !editorReadOnly && !editorTabMovesFocus && !hasOtherSuggestions && !inSnippetMode && !suggestWidgetVisible && config.editor.tabCompletion == 'on'";
|
||||
}
|
||||
];
|
||||
}
|
||||
162
modules/home/vscodium/profiles/default/user-settings.nix
Normal file
162
modules/home/vscodium/profiles/default/user-settings.nix
Normal file
@@ -0,0 +1,162 @@
|
||||
_: {
|
||||
programs.vscode.profiles.default.userSettings = {
|
||||
"editor.foldingImportsByDefault" = true;
|
||||
"editor.fontFamily" = "FiraCode Nerd Font";
|
||||
"editor.formatOnPaste" = true;
|
||||
"editor.formatOnSave" = true;
|
||||
"editor.guides.bracketPairs" = false;
|
||||
"editor.guides.indentation" = false;
|
||||
"editor.inlayHints.enabled" = "off";
|
||||
"editor.inlineSuggest.showToolbar" = "always";
|
||||
"editor.largeFileOptimizations" = false;
|
||||
"editor.minimap.enabled" = false;
|
||||
"editor.quickSuggestions" = {
|
||||
"strings" = "on";
|
||||
};
|
||||
"editor.suggestFontSize" = 16;
|
||||
"editor.suggestLineHeight" = 30;
|
||||
"editor.tabSize" = 2;
|
||||
"editor.unicodeHighlight.ambiguousCharacters" = false;
|
||||
"editor.unicodeHighlight.invisibleCharacters" = false;
|
||||
"editor.wordWrap" = "off";
|
||||
# Workbench settings
|
||||
"workbench.colorCustomizations" = {
|
||||
"editor.lineHighlightBackground" = "#1073cf2d";
|
||||
"editor.lineHighlightBorder" = "#9fced11f";
|
||||
};
|
||||
"workbench.colorTheme" = "One Dark Pro Monokai Darker";
|
||||
"workbench.iconTheme" = "vscode-icons";
|
||||
"workbench.startupEditor" = "none";
|
||||
# Terminal settings
|
||||
"terminal.integrated.fontFamily" = "FiraCode Nerd Fonts Mono";
|
||||
# Git settings
|
||||
"git.confirmSync" = false;
|
||||
"git.enableSmartCommit" = true;
|
||||
# Explorer settings
|
||||
"explorer.confirmDelete" = false;
|
||||
"explorer.confirmDragAndDrop" = false;
|
||||
# Diff editor settings
|
||||
"diffEditor.ignoreTrimWhitespace" = false;
|
||||
"diffEditor.wordWrap" = "off";
|
||||
# Zen mode settings
|
||||
"zenMode.centerLayout" = false;
|
||||
"zenMode.hideActivityBar" = false;
|
||||
"zenMode.hideLineNumbers" = false;
|
||||
# Language specific settings
|
||||
"[typescript]" = {
|
||||
"editor.defaultFormatter" = "esbenp.prettier-vscode";
|
||||
};
|
||||
"[vue]" = {
|
||||
"editor.defaultFormatter" = "esbenp.prettier-vscode";
|
||||
};
|
||||
"[jsonc]" = {
|
||||
"editor.defaultFormatter" = "vscode.json-language-features";
|
||||
};
|
||||
"[json]" = {
|
||||
"editor.defaultFormatter" = "vscode.json-language-features";
|
||||
};
|
||||
"[python]" = {
|
||||
"editor.tabSize" = 4;
|
||||
};
|
||||
# File associations
|
||||
"files.associations" = {
|
||||
"*.html" = "html";
|
||||
"*.txt" = "plaintext";
|
||||
};
|
||||
# JavaScript/TypeScript settings
|
||||
"javascript.updateImportsOnFileMove.enabled" = "always";
|
||||
"typescript.updateImportsOnFileMove.enabled" = "always";
|
||||
# Python settings
|
||||
"python.linting.pylintEnabled" = false;
|
||||
"python.linting.flake8Enabled" = true;
|
||||
"python.linting.flake8Args" = [
|
||||
"--line-width=119"
|
||||
"--ignore=T000;E501;E265;E266;N802;D;Q;W504"
|
||||
"--exclude=migrations;mocks"
|
||||
];
|
||||
"python.linting.enabled" = true;
|
||||
"python.formatting.provider" = "yapf";
|
||||
"python.formatting.yapfArgs" = [
|
||||
"--style={based_on_style = pep8; column_limit = 119; dedent_closing_brackets = true; split_before_first_argument = true; coalesce_brackets = false; split_before_dict_set_generator = false; allow_split_before_dict_value = false; split_all_comma_separated_values = false; split_before_arithmetic_operator = false; split_before_logical_operator = false; split_before_named_assigns = false}"
|
||||
];
|
||||
"python.languageServer" = "Jedi";
|
||||
"python.jediMemoryLimit" = 1024;
|
||||
"python.jedi.hover.enable" = true;
|
||||
"python.jedi.hover.detailed" = false;
|
||||
"python.jedi.hover.signature" = true;
|
||||
"python.analysis.completeFunctionParens" = true;
|
||||
"editor.hover.enabled" = true;
|
||||
# Vue settings
|
||||
"vue.codeActions.enabled" = false;
|
||||
"vue.format.script.initialIndent" = true;
|
||||
"vue.format.style.initialIndent" = true;
|
||||
"vue.splitEditors.icon" = true;
|
||||
"vue.splitEditors.layout.left" = [
|
||||
"script"
|
||||
"scriptSetup"
|
||||
];
|
||||
"vue.splitEditors.layout.right" = [
|
||||
"template"
|
||||
"customBlocks"
|
||||
"style"
|
||||
];
|
||||
"vetur.ignoreProjectWarning" = true;
|
||||
"vetur.languageFeatures.codeActions" = false;
|
||||
"vetur.useWorkspaceDependencies" = true;
|
||||
"prettier.vueIndentScriptAndStyle" = true;
|
||||
# // Nuxt settings
|
||||
"nuxtr.defaultPackageManager" = "Bun";
|
||||
"nuxtr.monorepoMode.DirectoryName" = "";
|
||||
"nuxtr.openItemsAfterCreation" = true;
|
||||
"nuxtr.piniaFiles.defaultTemplate" = "setup";
|
||||
"nuxtr.vueFiles.firstTag" = "script";
|
||||
"nuxtr.vueFiles.style.defaultLanguage" = "postcss";
|
||||
# CSS/Tailwind settings
|
||||
"tailwindCSS.emmetCompletions" = true;
|
||||
# Syntax highlighting and appearance
|
||||
"indentRainbow.colorOnWhiteSpaceOnly" = true;
|
||||
"indentRainbow.indicatorStyle" = "light";
|
||||
"indentRainbow.lightIndicatorStyleLineWidth" = 4;
|
||||
# Spelling and language
|
||||
"cSpell.language" = "en;pl";
|
||||
"cSpell.userWords" = [
|
||||
"garand"
|
||||
"Garand's"
|
||||
"garandplg"
|
||||
"garands"
|
||||
"lockb"
|
||||
"Shadcn"
|
||||
"Vite"
|
||||
];
|
||||
# Navigation and intellisense
|
||||
"editor.gotoLocation.multipleDefinitions" = "goto";
|
||||
"path-intellisense.extensionOnImport" = true;
|
||||
# Markdown settings
|
||||
"markdown-preview-enhanced.previewTheme" = "one-dark.css";
|
||||
# Extension specific settings
|
||||
"supermaven.allowGitignore" = true;
|
||||
"supermaven.enable" = {
|
||||
"*" = true;
|
||||
};
|
||||
"continue.enableTabAutocomplete" = false;
|
||||
"continue.showInlineTip" = false;
|
||||
"continue.telemetryEnabled" = false;
|
||||
"hediet.vscode-drawio.resizeImages" = null;
|
||||
"todo-tree.highlights.useColourScheme" = true;
|
||||
"vite.autoStart" = false;
|
||||
# Security and trust
|
||||
"security.workspace.trust.untrustedFiles" = "open";
|
||||
# Remote development
|
||||
"remote.autoForwardPortsSource" = "hybrid";
|
||||
"[plaintext]" = {
|
||||
"editor.unicodeHighlight.ambiguousCharacters" = false;
|
||||
"editor.unicodeHighlight.invisibleCharacters" = false;
|
||||
};
|
||||
"python.diagnostics.sourceMapsEnabled" = true;
|
||||
"vsintellicode.modify.editor.suggestSelection" = "automaticallyOverrodeDefaultValue";
|
||||
"githubLocalActions.workflowsDirectory" = ".gitea/workflows";
|
||||
"errorLens.excludeBySource" = [
|
||||
"cSpell"
|
||||
];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user