103 lines
2.7 KiB
Nix
103 lines
2.7 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
config,
|
|
osConfig,
|
|
...
|
|
}: let
|
|
nix-development-enabled = osConfig.host.nix-development.enable;
|
|
ai-tooling-enabled = osConfig.host.ai.enable;
|
|
in {
|
|
imports = [
|
|
./user-words.nix
|
|
];
|
|
|
|
config = lib.mkIf config.user.isDesktopUser {
|
|
programs = {
|
|
bash.shellAliases = {
|
|
code = "codium";
|
|
};
|
|
|
|
vscode = {
|
|
package = pkgs.vscodium;
|
|
|
|
mutableExtensionsDir = false;
|
|
|
|
profiles.default = {
|
|
enableUpdateCheck = false;
|
|
enableExtensionUpdateCheck = false;
|
|
|
|
userSettings = lib.mkMerge [
|
|
{
|
|
"javascript.updateImportsOnFileMove.enabled" = "always";
|
|
"editor.tabSize" = 2;
|
|
"editor.insertSpaces" = false;
|
|
}
|
|
];
|
|
|
|
extraExtensions = {
|
|
# vs code feel
|
|
oneDark.enable = true;
|
|
atomKeybindings.enable = true;
|
|
|
|
# html development
|
|
autoRenameTag.enable = true;
|
|
liveServer.enable = true;
|
|
|
|
# js development
|
|
es7ReactJsSnippets.enable = true;
|
|
tauriVscode.enable = true;
|
|
vscodeEslint.enable = true;
|
|
vscodeJest.enable = true;
|
|
vscodeStandard.enable = true;
|
|
vscodeStylelint.enable = true;
|
|
|
|
# nix development
|
|
alejandra.enable = nix-development-enabled;
|
|
nixIde.enable = nix-development-enabled;
|
|
|
|
# ai tooling
|
|
aiCode = {
|
|
enable = ai-tooling-enabled;
|
|
ollamaHost = "http://defiant:11434";
|
|
};
|
|
};
|
|
|
|
extensions = let
|
|
extension-pkgs = pkgs.nix-vscode-extensions.forVSCodeVersion config.programs.vscode.package.version;
|
|
in (
|
|
(
|
|
with extension-pkgs.open-vsx; [
|
|
# vs code feel extensions
|
|
streetsidesoftware.code-spell-checker
|
|
streetsidesoftware.code-spell-checker-german
|
|
streetsidesoftware.code-spell-checker-italian
|
|
jeanp413.open-remote-ssh
|
|
|
|
# go extensions
|
|
golang.go
|
|
|
|
# astro blog extensions
|
|
astro-build.astro-vscode
|
|
unifiedjs.vscode-mdx
|
|
|
|
# misc extensions
|
|
tamasfe.even-better-toml
|
|
]
|
|
)
|
|
++ (
|
|
with extension-pkgs.vscode-marketplace; (
|
|
[
|
|
# js extensions
|
|
karyfoundation.nearley
|
|
]
|
|
++ (lib.lists.optionals ai-tooling-enabled [
|
|
])
|
|
)
|
|
)
|
|
);
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|