diff --git a/hosts/garand-laptop/config.nix b/hosts/garand-laptop/config.nix index af516ea..e580cd5 100644 --- a/hosts/garand-laptop/config.nix +++ b/hosts/garand-laptop/config.nix @@ -11,7 +11,7 @@ ./config/nixpkgs.nix ./config/nixpkgs/clients.nix - ./config/nixpkgs/codium.nix + # ./config/nixpkgs/codium.nix ./config/nixpkgs/fundamentals.nix ./config/nixpkgs/gaming.nix ./config/nixpkgs/multimedia.nix diff --git a/hosts/garand-laptop/config/nixpkgs/codium.nix b/hosts/garand-laptop/config/nixpkgs/codium.nix index ea3ed62..2a670da 100644 --- a/hosts/garand-laptop/config/nixpkgs/codium.nix +++ b/hosts/garand-laptop/config/nixpkgs/codium.nix @@ -1,240 +1,240 @@ -# TODO: Usunąć ten plik po przeniesieniu konfiguracji -{pkgs, ...}: { - environment = { - systemPackages = with pkgs; [ - (vscode-with-extensions.override { - vscode = vscodium; - vscodeExtensions = with 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 - grapecity.gc-excelviewer - gruntfuggly.todo-tree - hediet.vscode-drawio - 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 - ] - ++ 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 = "django"; - publisher = "bigonesystems"; - version = "1.0.2"; - hash = "sha256-UBmvaCiNQ84qpAObDWyFL18TVFBn0z/6SBDKWeAIzTc="; - } - { - name = "align-imports"; - publisher = "danielcanada"; - version = "0.1.0"; - hash = "sha256-Aj87mxOGer24O24/4/bGQqgLpgoBvfwOCKQyJ8NLplU="; - } - { - name = "one-dark-pro-monokai-darker"; - publisher = "eserozvataf"; - version = "1.1.0"; - hash = "sha256-jUjBiy0CD7jw2WBMvM3h8bEC2ySEuj7532dC3v9lpyI="; - } - { - name = "imports-sorter"; - publisher = "glhrmoura"; - version = "0.1.6"; - hash = "sha256-M+SWEJAwn8wPJJ+abi2mN0ziK7P6Sjt0iRAKSyTWvkg="; - } - { - 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 = "better-syntax"; - publisher = "jeff-hykin"; - version = "2.1.0"; - hash = "sha256-gvEItVs0IKn7N7vfnm5N/B79xeMxO8xkPwWLNPOs9zY="; - } - { - 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"; - publisher = "moalamri"; - version = "0.2.6"; - hash = "sha256-VPEp4gtXH787iK0RxjfciIZO1cjkYacjNELzjzcs/FI="; - } - { - 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 = "svg-preview"; - publisher = "simonsiefke"; - version = "2.8.3"; - hash = "sha256-hIVe1MmkyuHoDa56ZQUsSAGMlKWABoQ0FBOfgZZDbCw="; - } - { - 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="; - } - ]; - }) - ]; - }; -} +# # TODO: Usunąć ten plik po przeniesieniu konfiguracji +# {pkgs, ...}: { +# environment = { +# systemPackages = with pkgs; [ +# (vscode-with-extensions.override { +# vscode = vscodium; +# vscodeExtensions = with 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 +# grapecity.gc-excelviewer +# gruntfuggly.todo-tree +# hediet.vscode-drawio +# 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 +# ] +# ++ 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 = "django"; +# publisher = "bigonesystems"; +# version = "1.0.2"; +# hash = "sha256-UBmvaCiNQ84qpAObDWyFL18TVFBn0z/6SBDKWeAIzTc="; +# } +# { +# name = "align-imports"; +# publisher = "danielcanada"; +# version = "0.1.0"; +# hash = "sha256-Aj87mxOGer24O24/4/bGQqgLpgoBvfwOCKQyJ8NLplU="; +# } +# { +# name = "one-dark-pro-monokai-darker"; +# publisher = "eserozvataf"; +# version = "1.1.0"; +# hash = "sha256-jUjBiy0CD7jw2WBMvM3h8bEC2ySEuj7532dC3v9lpyI="; +# } +# { +# name = "imports-sorter"; +# publisher = "glhrmoura"; +# version = "0.1.6"; +# hash = "sha256-M+SWEJAwn8wPJJ+abi2mN0ziK7P6Sjt0iRAKSyTWvkg="; +# } +# { +# 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 = "better-syntax"; +# publisher = "jeff-hykin"; +# version = "2.1.0"; +# hash = "sha256-gvEItVs0IKn7N7vfnm5N/B79xeMxO8xkPwWLNPOs9zY="; +# } +# { +# 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"; +# publisher = "moalamri"; +# version = "0.2.6"; +# hash = "sha256-VPEp4gtXH787iK0RxjfciIZO1cjkYacjNELzjzcs/FI="; +# } +# { +# 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 = "svg-preview"; +# publisher = "simonsiefke"; +# version = "2.8.3"; +# hash = "sha256-hIVe1MmkyuHoDa56ZQUsSAGMlKWABoQ0FBOfgZZDbCw="; +# } +# { +# 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="; +# } +# ]; +# }) +# ]; +# }; +# } diff --git a/hosts/garand-laptop/home/codium.nix b/hosts/garand-laptop/home/codium.nix index 0ef2f55..bbd6cc3 100644 --- a/hosts/garand-laptop/home/codium.nix +++ b/hosts/garand-laptop/home/codium.nix @@ -1,19 +1,23 @@ -{pkgs, ...}: let +{ + pkgs, + lib, + ... +}: let default = import ./codium/default.nix {inherit pkgs;}; - webdev = import ./codium/webdev-vue.nix.nix {inherit pkgs;}; - django = import ./codium/python-django.nix.nix {inherit pkgs;}; - tauri = import ./codium/rust-tauri.nix.nix {inherit pkgs;}; - bevy = import ./codium/rust-bevy.nix.nix {inherit pkgs;}; + webdev-vue = import ./codium/webdev-vue.nix {inherit pkgs;}; + python-django = import ./codium/python-django.nix {inherit pkgs;}; + rust-tauri = import ./codium/rust-tauri.nix {inherit pkgs;}; + rust-bevy = import ./codium/rust-bevy.nix {inherit pkgs;}; in { - programs.vscode = { + programs.vscode = lib.mkDefault { enable = true; package = pkgs.vscodium; profiles = { inherit (default.programs.vscode.profiles) default; - inherit (webdev.programs.vscode.profiles) webdev; - inherit (django.programs.vscode.profiles) django; - inherit (tauri.programs.vscode.profiles) tauri; - inherit (bevy.programs.vscode.profiles) bevy; + inherit (webdev-vue.programs.vscode.profiles) webdev-vue; + inherit (python-django.programs.vscode.profiles) python-django; + inherit (rust-tauri.programs.vscode.profiles) rust-tauri; + inherit (rust-bevy.programs.vscode.profiles) rust-bevy; }; }; } diff --git a/hosts/garand-laptop/home/codium/default.nix b/hosts/garand-laptop/home/codium/default.nix index 8af7bc9..9cd51e1 100644 --- a/hosts/garand-laptop/home/codium/default.nix +++ b/hosts/garand-laptop/home/codium/default.nix @@ -1,8 +1,261 @@ {pkgs, ...}: { programs.vscode.profiles.default = { - extensions = with pkgs.vscode-extensions; [ - ]; + extensions = with pkgs.vscode-extensions; + [ + christian-kohler.path-intellisense + continue.continue + davidanson.vscode-markdownlint + donjayamanne.githistory + ethansk.restore-terminals + formulahendry.auto-close-tag + formulahendry.auto-rename-tag + gruntfuggly.todo-tree + jnoortheen.nix-ide + mechatroner.rainbow-csv + ms-azuretools.vscode-docker + 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 + tamasfe.even-better-toml + ms-ceintl.vscode-language-pack-pl + ] + ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ + { + name = "one-dark-pro-monokai-darker"; + publisher = "eserozvataf"; + version = "1.1.0"; + hash = "sha256-jUjBiy0CD7jw2WBMvM3h8bEC2ySEuj7532dC3v9lpyI="; + } + { + name = "tab-indent-space-align"; + publisher = "j-zeppenfeld"; + version = "0.0.3"; + hash = "sha256-+WEdYJOVWW7YumfzLkvZmrnpUiC85oLsG1BKMwL1NHc="; + } + { + name = "polacode-2019"; + publisher = "jeff-hykin"; + version = "0.6.1"; + hash = "sha256-SbfsD28gaVHAmJskUuc1Q8kA47jrVa3OO5Ur7ULk3jI="; + } + { + name = "csv-to-table"; + publisher = "phplasma"; + version = "1.4.1"; + hash = "sha256-npe7cQ4lAZr8HCyQSJmVsCDUJcOhGhL6y1QtUtqUY50="; + } + { + name = "bash-debug"; + publisher = "rogalmic"; + version = "0.3.9"; + hash = "sha256-f8FUZCvz/PonqQP9RCNbyQLZPnN5Oce0Eezm/hD19Fg="; + } + { + name = "svg-preview"; + publisher = "simonsiefke"; + version = "2.8.3"; + hash = "sha256-hIVe1MmkyuHoDa56ZQUsSAGMlKWABoQ0FBOfgZZDbCw="; + } + { + 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 = "prettify-json"; + publisher = "mohsen1"; + version = "0.0.3"; + hash = "sha256-lvds+lFDzt1s6RikhrnAKJipRHU+Dk85ZO49d1sA8uo="; + } + ]; userSettings = { + # Editor appearance and behavior + "editor.cursorBlinking" = "expand"; + "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"; + "editor.hover.enabled" = true; + "editor.gotoLocation.multipleDefinitions" = "goto"; + # 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; + # File associations + "files.associations" = { + "*.html" = "html"; + "*.txt" = "plaintext"; + }; + # Navigation and intellisense + "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; + # 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" + ]; + # Security and trust + "security.workspace.trust.untrustedFiles" = "open"; + # Remote development + "remote.autoForwardPortsSource" = "hybrid"; + # Misc + "vsintellicode.modify.editor.suggestSelection" = "automaticallyOverrodeDefaultValue"; + "githubLocalActions.workflowsDirectory" = ".gitea/workflows"; }; + languageSnippets = { + "jsonc,json,jsonl" = { + "Restore Terminals" = { + body = [ + " \"restoreTerminals.terminals\": [" + " {" + " \"splitTerminals\": [" + " {" + " \"name\": \"server\"," + " \"commands\": [\"npm i\", \"npm run dev\"]" + " }," + " {" + " \"name\": \"client\"," + " \"commands\": [\"npm run dev:client\"]" + " }," + " {" + " \"name\": \"test\"," + " \"commands\": [\"jest --watch\"]" + " }" + " ]" + " }," + " {" + " \"splitTerminals\": [" + " {" + " \"name\": \"build & e2e\"," + " \"commands\": [\"npm run eslint\", \"npm run build\", \"npm run e2e\"]," + " \"shouldRunCommands\": false" + " }," + " {" + " \"name\": \"worker\"," + " \"commands\": [\"npm-run-all --parallel redis tsc-watch-start worker\"]" + " }" + " ]" + " }" + " ]" + ]; + description = "Boilerplate for restore terminals"; + prefix = [ + "term" + ]; + }; + }; + "nix" = { + "Nix-Shell-Default" = { + body = [ + "{" + " pkgs ? import {}," + "}:" + "pkgs.mkShell {" + " packages = with pkgs; [];" + "}" + ]; + description = "Podstawa do shelli nix"; + prefix = [ + "nix-shell" + ]; + }; + }; + }; + 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'"; + } + ]; }; } diff --git a/hosts/garand-laptop/home/codium/lib.nix b/hosts/garand-laptop/home/codium/lib.nix new file mode 100644 index 0000000..20b8596 --- /dev/null +++ b/hosts/garand-laptop/home/codium/lib.nix @@ -0,0 +1,23 @@ +{...}: { + # This function merges a default profile with specific overrides + # It takes the default profile settings, extensions, keybindings, etc., and merges them with profile-specific ones + mergeProfile = defaultProfile: specificProfile: { + extensions = (defaultProfile.extensions or []) ++ (specificProfile.extensions or []); + + userSettings = (defaultProfile.userSettings or {}) // (specificProfile.userSettings or {}); + + # Merge keybindings by concatenating arrays + keybindings = (defaultProfile.keybindings or []) ++ (specificProfile.keybindings or []); + + languageSnippets = + (defaultProfile.languageSnippets or {}) + // (let + snippets = specificProfile.languageSnippets or {}; + mergeSnippets = language: defaultSnippets: + if builtins.hasAttr language snippets + then defaultSnippets // snippets.${language} + else defaultSnippets; + in + builtins.mapAttrs mergeSnippets (defaultProfile.languageSnippets or {})); + }; +} diff --git a/hosts/garand-laptop/home/codium/python-django.nix b/hosts/garand-laptop/home/codium/python-django.nix index b167e32..89da412 100644 --- a/hosts/garand-laptop/home/codium/python-django.nix +++ b/hosts/garand-laptop/home/codium/python-django.nix @@ -1,8 +1,62 @@ -{pkgs, ...}: { - programs.vscode.profiles.python-django = { - extensions = with pkgs.vscode-extensions; [ - ]; - userSettings = { +{pkgs}: let + defaultProfile = import ./default.nix {inherit pkgs;}; + lib = import ./lib.nix {inherit pkgs;}; +in { + programs.vscode.profiles.python-django = + lib.mergeProfile + defaultProfile.programs.vscode.profiles.default + { + # Only add Python-specific extensions here + extensions = with pkgs.vscode-extensions; + [ + # Add Python/Django-specific extensions only + # ms-python.python + # ms-python.vscode-pylance + ] + ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ + # Additional Python-specific extensions from marketplace + { + name = "kylin-python"; + publisher = "kylinideteam"; + version = "0.4.2"; + hash = "sha256-LhOsIvECrxLCnRjUVffS4G4fFsdP70iP/twoNoto354="; + } + ]; + + # Only override or add Python-specific settings + userSettings = { + # "python.linting.enabled" = true; + # "python.formatting.provider" = "black"; + # Other Python-specific settings + }; + + # Add Python-specific keybindings (optional) + keybindings = [ + # For example: + # { + # "key" = "ctrl+shift+p"; + # "command" = "python.execInTerminal"; + # "when" = "editorLangId == 'python'"; + # } + ]; + + # Only add Python-specific snippets + languageSnippets = { + "python" = { + "Main" = { + body = [ + "def main() -> None:" + " ..." + "if __name__ == '__main__':" + " main()" + ]; + description = "boilerplate dla main"; + prefix = [ + "main" + ]; + }; + # Other Python snippets + }; + }; }; - }; } diff --git a/hosts/garand-laptop/home/codium/rust-bevy.nix b/hosts/garand-laptop/home/codium/rust-bevy.nix index 39ff665..254aa6b 100644 --- a/hosts/garand-laptop/home/codium/rust-bevy.nix +++ b/hosts/garand-laptop/home/codium/rust-bevy.nix @@ -1,8 +1,239 @@ {pkgs, ...}: { programs.vscode.profiles.rust-bevy = { - extensions = with pkgs.vscode-extensions; [ - ]; + extensions = with pkgs.vscode-extensions; + [ + christian-kohler.path-intellisense + continue.continue + davidanson.vscode-markdownlint + donjayamanne.githistory + ethansk.restore-terminals + formulahendry.auto-close-tag + formulahendry.auto-rename-tag + gruntfuggly.todo-tree + jnoortheen.nix-ide + mechatroner.rainbow-csv + ms-azuretools.vscode-docker + 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 + tamasfe.even-better-toml + ms-ceintl.vscode-language-pack-pl + ] + ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ + { + name = "one-dark-pro-monokai-darker"; + publisher = "eserozvataf"; + version = "1.1.0"; + hash = "sha256-jUjBiy0CD7jw2WBMvM3h8bEC2ySEuj7532dC3v9lpyI="; + } + { + name = "tab-indent-space-align"; + publisher = "j-zeppenfeld"; + version = "0.0.3"; + hash = "sha256-+WEdYJOVWW7YumfzLkvZmrnpUiC85oLsG1BKMwL1NHc="; + } + { + name = "polacode-2019"; + publisher = "jeff-hykin"; + version = "0.6.1"; + hash = "sha256-SbfsD28gaVHAmJskUuc1Q8kA47jrVa3OO5Ur7ULk3jI="; + } + { + name = "csv-to-table"; + publisher = "phplasma"; + version = "1.4.1"; + hash = "sha256-npe7cQ4lAZr8HCyQSJmVsCDUJcOhGhL6y1QtUtqUY50="; + } + { + name = "bash-debug"; + publisher = "rogalmic"; + version = "0.3.9"; + hash = "sha256-f8FUZCvz/PonqQP9RCNbyQLZPnN5Oce0Eezm/hD19Fg="; + } + { + name = "svg-preview"; + publisher = "simonsiefke"; + version = "2.8.3"; + hash = "sha256-hIVe1MmkyuHoDa56ZQUsSAGMlKWABoQ0FBOfgZZDbCw="; + } + { + 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 = "prettify-json"; + publisher = "mohsen1"; + version = "0.0.3"; + hash = "sha256-lvds+lFDzt1s6RikhrnAKJipRHU+Dk85ZO49d1sA8uo="; + } + ]; userSettings = { + # Editor appearance and behavior + "editor.cursorBlinking" = "expand"; + "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"; + "editor.hover.enabled" = true; + "editor.gotoLocation.multipleDefinitions" = "goto"; + # 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; + # File associations + "files.associations" = { + "*.html" = "html"; + "*.txt" = "plaintext"; + }; + # Navigation and intellisense + "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; + # 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" + ]; + # Security and trust + "security.workspace.trust.untrustedFiles" = "open"; + # Remote development + "remote.autoForwardPortsSource" = "hybrid"; + # Misc + "vsintellicode.modify.editor.suggestSelection" = "automaticallyOverrodeDefaultValue"; + "githubLocalActions.workflowsDirectory" = ".gitea/workflows"; + }; + languageSnippets = { + "jsonc,json,jsonl" = { + "Restore Terminals" = { + body = [ + " \"restoreTerminals.terminals\": [" + " {" + " \"splitTerminals\": [" + " {" + " \"name\": \"server\"," + " \"commands\": [\"npm i\", \"npm run dev\"]" + " }," + " {" + " \"name\": \"client\"," + " \"commands\": [\"npm run dev:client\"]" + " }," + " {" + " \"name\": \"test\"," + " \"commands\": [\"jest --watch\"]" + " }" + " ]" + " }," + " {" + " \"splitTerminals\": [" + " {" + " \"name\": \"build & e2e\"," + " \"commands\": [\"npm run eslint\", \"npm run build\", \"npm run e2e\"]," + " \"shouldRunCommands\": false" + " }," + " {" + " \"name\": \"worker\"," + " \"commands\": [\"npm-run-all --parallel redis tsc-watch-start worker\"]" + " }" + " ]" + " }" + " ]" + ]; + description = "Boilerplate for restore terminals"; + prefix = [ + "term" + ]; + }; + }; + "nix" = { + "Nix-Shell-Default" = { + body = [ + "{" + " pkgs ? import {}," + "}:" + "pkgs.mkShell {" + " packages = with pkgs; [];" + "}" + ]; + description = "Podstawa do shelli nix"; + prefix = [ + "nix-shell" + ]; + }; + }; }; }; } diff --git a/hosts/garand-laptop/home/codium/rust-tauri.nix b/hosts/garand-laptop/home/codium/rust-tauri.nix index b2d1409..ff88d28 100644 --- a/hosts/garand-laptop/home/codium/rust-tauri.nix +++ b/hosts/garand-laptop/home/codium/rust-tauri.nix @@ -1,8 +1,239 @@ {pkgs, ...}: { programs.vscode.profiles.rust-tauri = { - extensions = with pkgs.vscode-extensions; [ - ]; + extensions = with pkgs.vscode-extensions; + [ + christian-kohler.path-intellisense + continue.continue + davidanson.vscode-markdownlint + donjayamanne.githistory + ethansk.restore-terminals + formulahendry.auto-close-tag + formulahendry.auto-rename-tag + gruntfuggly.todo-tree + jnoortheen.nix-ide + mechatroner.rainbow-csv + ms-azuretools.vscode-docker + 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 + tamasfe.even-better-toml + ms-ceintl.vscode-language-pack-pl + ] + ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ + { + name = "one-dark-pro-monokai-darker"; + publisher = "eserozvataf"; + version = "1.1.0"; + hash = "sha256-jUjBiy0CD7jw2WBMvM3h8bEC2ySEuj7532dC3v9lpyI="; + } + { + name = "tab-indent-space-align"; + publisher = "j-zeppenfeld"; + version = "0.0.3"; + hash = "sha256-+WEdYJOVWW7YumfzLkvZmrnpUiC85oLsG1BKMwL1NHc="; + } + { + name = "polacode-2019"; + publisher = "jeff-hykin"; + version = "0.6.1"; + hash = "sha256-SbfsD28gaVHAmJskUuc1Q8kA47jrVa3OO5Ur7ULk3jI="; + } + { + name = "csv-to-table"; + publisher = "phplasma"; + version = "1.4.1"; + hash = "sha256-npe7cQ4lAZr8HCyQSJmVsCDUJcOhGhL6y1QtUtqUY50="; + } + { + name = "bash-debug"; + publisher = "rogalmic"; + version = "0.3.9"; + hash = "sha256-f8FUZCvz/PonqQP9RCNbyQLZPnN5Oce0Eezm/hD19Fg="; + } + { + name = "svg-preview"; + publisher = "simonsiefke"; + version = "2.8.3"; + hash = "sha256-hIVe1MmkyuHoDa56ZQUsSAGMlKWABoQ0FBOfgZZDbCw="; + } + { + 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 = "prettify-json"; + publisher = "mohsen1"; + version = "0.0.3"; + hash = "sha256-lvds+lFDzt1s6RikhrnAKJipRHU+Dk85ZO49d1sA8uo="; + } + ]; userSettings = { + # Editor appearance and behavior + "editor.cursorBlinking" = "expand"; + "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"; + "editor.hover.enabled" = true; + "editor.gotoLocation.multipleDefinitions" = "goto"; + # 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; + # File associations + "files.associations" = { + "*.html" = "html"; + "*.txt" = "plaintext"; + }; + # Navigation and intellisense + "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; + # 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" + ]; + # Security and trust + "security.workspace.trust.untrustedFiles" = "open"; + # Remote development + "remote.autoForwardPortsSource" = "hybrid"; + # Misc + "vsintellicode.modify.editor.suggestSelection" = "automaticallyOverrodeDefaultValue"; + "githubLocalActions.workflowsDirectory" = ".gitea/workflows"; + }; + languageSnippets = { + "jsonc,json,jsonl" = { + "Restore Terminals" = { + body = [ + " \"restoreTerminals.terminals\": [" + " {" + " \"splitTerminals\": [" + " {" + " \"name\": \"server\"," + " \"commands\": [\"npm i\", \"npm run dev\"]" + " }," + " {" + " \"name\": \"client\"," + " \"commands\": [\"npm run dev:client\"]" + " }," + " {" + " \"name\": \"test\"," + " \"commands\": [\"jest --watch\"]" + " }" + " ]" + " }," + " {" + " \"splitTerminals\": [" + " {" + " \"name\": \"build & e2e\"," + " \"commands\": [\"npm run eslint\", \"npm run build\", \"npm run e2e\"]," + " \"shouldRunCommands\": false" + " }," + " {" + " \"name\": \"worker\"," + " \"commands\": [\"npm-run-all --parallel redis tsc-watch-start worker\"]" + " }" + " ]" + " }" + " ]" + ]; + description = "Boilerplate for restore terminals"; + prefix = [ + "term" + ]; + }; + }; + "nix" = { + "Nix-Shell-Default" = { + body = [ + "{" + " pkgs ? import {}," + "}:" + "pkgs.mkShell {" + " packages = with pkgs; [];" + "}" + ]; + description = "Podstawa do shelli nix"; + prefix = [ + "nix-shell" + ]; + }; + }; }; }; } diff --git a/hosts/garand-laptop/home/codium/webdev-vue.nix b/hosts/garand-laptop/home/codium/webdev-vue.nix index e168ab1..4e129f7 100644 --- a/hosts/garand-laptop/home/codium/webdev-vue.nix +++ b/hosts/garand-laptop/home/codium/webdev-vue.nix @@ -1,8 +1,239 @@ {pkgs, ...}: { programs.vscode.profiles.webdev-vue = { - extensions = with pkgs.vscode-extensions; [ - ]; + extensions = with pkgs.vscode-extensions; + [ + christian-kohler.path-intellisense + continue.continue + davidanson.vscode-markdownlint + donjayamanne.githistory + ethansk.restore-terminals + formulahendry.auto-close-tag + formulahendry.auto-rename-tag + gruntfuggly.todo-tree + jnoortheen.nix-ide + mechatroner.rainbow-csv + ms-azuretools.vscode-docker + 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 + tamasfe.even-better-toml + ms-ceintl.vscode-language-pack-pl + ] + ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ + { + name = "one-dark-pro-monokai-darker"; + publisher = "eserozvataf"; + version = "1.1.0"; + hash = "sha256-jUjBiy0CD7jw2WBMvM3h8bEC2ySEuj7532dC3v9lpyI="; + } + { + name = "tab-indent-space-align"; + publisher = "j-zeppenfeld"; + version = "0.0.3"; + hash = "sha256-+WEdYJOVWW7YumfzLkvZmrnpUiC85oLsG1BKMwL1NHc="; + } + { + name = "polacode-2019"; + publisher = "jeff-hykin"; + version = "0.6.1"; + hash = "sha256-SbfsD28gaVHAmJskUuc1Q8kA47jrVa3OO5Ur7ULk3jI="; + } + { + name = "csv-to-table"; + publisher = "phplasma"; + version = "1.4.1"; + hash = "sha256-npe7cQ4lAZr8HCyQSJmVsCDUJcOhGhL6y1QtUtqUY50="; + } + { + name = "bash-debug"; + publisher = "rogalmic"; + version = "0.3.9"; + hash = "sha256-f8FUZCvz/PonqQP9RCNbyQLZPnN5Oce0Eezm/hD19Fg="; + } + { + name = "svg-preview"; + publisher = "simonsiefke"; + version = "2.8.3"; + hash = "sha256-hIVe1MmkyuHoDa56ZQUsSAGMlKWABoQ0FBOfgZZDbCw="; + } + { + 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 = "prettify-json"; + publisher = "mohsen1"; + version = "0.0.3"; + hash = "sha256-lvds+lFDzt1s6RikhrnAKJipRHU+Dk85ZO49d1sA8uo="; + } + ]; userSettings = { + # Editor appearance and behavior + "editor.cursorBlinking" = "expand"; + "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"; + "editor.hover.enabled" = true; + "editor.gotoLocation.multipleDefinitions" = "goto"; + # 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; + # File associations + "files.associations" = { + "*.html" = "html"; + "*.txt" = "plaintext"; + }; + # Navigation and intellisense + "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; + # 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" + ]; + # Security and trust + "security.workspace.trust.untrustedFiles" = "open"; + # Remote development + "remote.autoForwardPortsSource" = "hybrid"; + # Misc + "vsintellicode.modify.editor.suggestSelection" = "automaticallyOverrodeDefaultValue"; + "githubLocalActions.workflowsDirectory" = ".gitea/workflows"; + }; + languageSnippets = { + "jsonc,json,jsonl" = { + "Restore Terminals" = { + body = [ + " \"restoreTerminals.terminals\": [" + " {" + " \"splitTerminals\": [" + " {" + " \"name\": \"server\"," + " \"commands\": [\"npm i\", \"npm run dev\"]" + " }," + " {" + " \"name\": \"client\"," + " \"commands\": [\"npm run dev:client\"]" + " }," + " {" + " \"name\": \"test\"," + " \"commands\": [\"jest --watch\"]" + " }" + " ]" + " }," + " {" + " \"splitTerminals\": [" + " {" + " \"name\": \"build & e2e\"," + " \"commands\": [\"npm run eslint\", \"npm run build\", \"npm run e2e\"]," + " \"shouldRunCommands\": false" + " }," + " {" + " \"name\": \"worker\"," + " \"commands\": [\"npm-run-all --parallel redis tsc-watch-start worker\"]" + " }" + " ]" + " }" + " ]" + ]; + description = "Boilerplate for restore terminals"; + prefix = [ + "term" + ]; + }; + }; + "nix" = { + "Nix-Shell-Default" = { + body = [ + "{" + " pkgs ? import {}," + "}:" + "pkgs.mkShell {" + " packages = with pkgs; [];" + "}" + ]; + description = "Podstawa do shelli nix"; + prefix = [ + "nix-shell" + ]; + }; + }; }; }; } diff --git a/hosts/garand-laptop/home/home.nix b/hosts/garand-laptop/home/home.nix index 52f6f4f..655dc59 100644 --- a/hosts/garand-laptop/home/home.nix +++ b/hosts/garand-laptop/home/home.nix @@ -7,6 +7,7 @@ dexApps = import ../../../scripts/dex-apps.nix {inherit pkgs;}; in { # Home Manager Settings + nixpkgs.config.allowUnfree = true; home = { username = "${username}"; homeDirectory = "/home/${username}";