fixed vs code configuration

This commit is contained in:
Leyla Becker 2025-05-23 20:27:07 -05:00
parent aa15f1ffe5
commit 85e766a571
5 changed files with 56 additions and 155 deletions

View file

@ -8,7 +8,7 @@
hardware = osConfig.host.hardware;
in {
imports = [
./vscode.nix
./vscode/default.nix
./firefox.nix
];

View file

@ -1,123 +0,0 @@
{
lib,
pkgs,
inputs,
osConfig,
...
}: let
nix-development-enabled = osConfig.host.nix-development.enable;
in {
nixpkgs = {
overlays = [
inputs.nix-vscode-extensions.overlays.default
];
};
programs = {
bash.shellAliases = {
code = "codium";
};
vscode = let
extensions = inputs.nix-vscode-extensions.extensions.${pkgs.system};
open-vsx = extensions.open-vsx;
vscode-marketplace = extensions.vscode-marketplace;
in {
enable = true;
package = pkgs.vscodium;
mutableExtensionsDir = false;
profiles.default = {
enableUpdateCheck = false;
enableExtensionUpdateCheck = false;
userSettings = lib.mkMerge [
{
"workbench.colorTheme" = "Atom One Dark";
"cSpell.userWords" = [
"webdav"
];
"javascript.updateImportsOnFileMove.enabled" = "always";
"editor.tabSize" = 2;
"editor.insertSpaces" = false;
}
(lib.mkIf nix-development-enabled {
"nix.enableLanguageServer" = true;
"nix.serverPath" = "nil";
"[nix]" = {
"editor.defaultFormatter" = "kamadorueda.alejandra";
"editor.formatOnPaste" = true;
"editor.formatOnSave" = true;
"editor.formatOnType" = true;
};
"alejandra.program" = "alejandra";
"nixpkgs" = {
"expr" = "import <nixpkgs> {}";
};
})
(lib.mkIf osConfig.services.ollama.enable {
"twinny.fileContextEnabled" = true;
"twinny.enableLogging" = false;
"twinny.completionCacheEnabled" = true;
# builtins.elemAt osConfig.services.ollama.loadModels 0;
})
];
extensions = (
with open-vsx;
[
# vs code feel extensions
ms-vscode.atom-keybindings
akamud.vscode-theme-onedark
streetsidesoftware.code-spell-checker
streetsidesoftware.code-spell-checker-german
streetsidesoftware.code-spell-checker-italian
jeanp413.open-remote-ssh
# html extensions
formulahendry.auto-rename-tag
ms-vscode.live-server
# js extensions
dsznajder.es7-react-js-snippets
dbaeumer.vscode-eslint
standard.vscode-standard
firsttris.vscode-jest-runner
stylelint.vscode-stylelint
tauri-apps.tauri-vscode
# go extensions
golang.go
# astro blog extensions
astro-build.astro-vscode
unifiedjs.vscode-mdx
# misc extensions
tamasfe.even-better-toml
]
++ (
lib.lists.optionals osConfig.services.ollama.enable [
rjmacarthy.twinny
]
)
++ (lib.lists.optionals nix-development-enabled [
# nix extensions
pinage404.nix-extension-pack
jnoortheen.nix-ide
kamadorueda.alejandra
])
++ (
with vscode-marketplace; [
# js extensions
karyfoundation.nearley
]
)
);
};
};
};
}

View file

@ -6,6 +6,7 @@
...
}: let
nix-development-enabled = osConfig.host.nix-development.enable;
ai-tooling-enabled = osConfig.services.ollama.enable;
in {
nixpkgs = {
overlays = [
@ -28,30 +29,42 @@ in {
package = pkgs.vscodium;
mutableExtensionsDir = false;
enableUpdateCheck = false;
enableExtensionUpdateCheck = false;
userSettings = lib.mkMerge [
{
"workbench.colorTheme" = "Atom One Dark";
"cSpell.language" = "en,de-DE,it";
"cSpell.userWords" = import ./user-words.nix;
}
(lib.mkIf nix-development-enabled {
"nix.enableLanguageServer" = true;
"nix.serverPath" = "nil";
"[nix]" = {
"editor.defaultFormatter" = "kamadorueda.alejandra";
"editor.formatOnPaste" = true;
"editor.formatOnSave" = true;
"editor.formatOnType" = true;
};
"alejandra.program" = "alejandra";
"nixpkgs" = {
"expr" = "import <nixpkgs> {}";
};
})
];
profiles.default = {
enableUpdateCheck = false;
enableExtensionUpdateCheck = false;
userSettings = lib.mkMerge [
{
"workbench.colorTheme" = "Atom One Dark";
"cSpell.userWords" = import ./user-words.nix;
"javascript.updateImportsOnFileMove.enabled" = "always";
"editor.tabSize" = 2;
"editor.insertSpaces" = false;
}
(lib.mkIf nix-development-enabled {
"nix.enableLanguageServer" = true;
"nix.serverPath" = "nil";
"[nix]" = {
"editor.defaultFormatter" = "kamadorueda.alejandra";
"editor.formatOnPaste" = true;
"editor.formatOnSave" = true;
"editor.formatOnType" = true;
};
"alejandra.program" = "alejandra";
"nixpkgs" = {
"expr" = "import <nixpkgs> {}";
};
})
(lib.mkIf osConfig.services.ollama.enable {
"twinny.fileContextEnabled" = true;
"twinny.enableLogging" = false;
"twinny.completionCacheEnabled" = true;
# builtins.elemAt osConfig.services.ollama.loadModels 0;
})
];
};
extensions = (
with open-vsx;
@ -76,12 +89,15 @@ in {
stylelint.vscode-stylelint
tauri-apps.tauri-vscode
# go extensions
golang.go
# astro blog extensions
astro-build.astro-vscode
unifiedjs.vscode-mdx
# misc extensions
bungcip.better-toml
tamasfe.even-better-toml
]
++ (lib.lists.optionals nix-development-enabled [
# nix extensions
@ -90,10 +106,14 @@ in {
kamadorueda.alejandra
])
++ (
with vscode-marketplace; [
# js extensions
karyfoundation.nearley
]
with vscode-marketplace;
[
# js extensions
karyfoundation.nearley
]
++ (lib.lists.optionals ai-tooling-enabled [
continue.continue
])
)
);
};

View file

@ -1,3 +1,4 @@
[
"leyla"
"webdav"
]

View file

@ -37,9 +37,12 @@
enable = true;
loadModels = [
"deepseek-coder:6.7b"
"deepseek-r1:8b"
"deepseek-r1:32b"
"llama3.1:8b"
"qwen2.5-coder:1.5b-base"
"nomic-embed-text:latest"
# "deepseek-coder:6.7b"
# "deepseek-r1:8b"
# "deepseek-r1:32b"
];
};