added nix language server and formatter to vscode

This commit is contained in:
Leyla Becker 2024-11-25 15:01:00 -06:00
parent 265997fc7f
commit 5dd16b04bd
2 changed files with 40 additions and 18 deletions

View file

@ -1,8 +1,12 @@
{ {
lib,
pkgs, pkgs,
inputs, inputs,
osConfig,
... ...
}: { }: let
nix-development-enabled = osConfig.host.nix-development.enable;
in {
nixpkgs = { nixpkgs = {
overlays = [ overlays = [
inputs.nix-vscode-extensions.overlays.default inputs.nix-vscode-extensions.overlays.default
@ -27,19 +31,28 @@
enableUpdateCheck = false; enableUpdateCheck = false;
enableExtensionUpdateCheck = false; enableExtensionUpdateCheck = false;
userSettings = { userSettings = lib.mkMerge [
{
"workbench.colorTheme" = "Atom One Dark"; "workbench.colorTheme" = "Atom One Dark";
"cSpell.userWords" = [ "cSpell.userWords" = [
"webdav" "webdav"
]; ];
}
(lib.mkIf nix-development-enabled {
"nix.enableLanguageServer" = true; "nix.enableLanguageServer" = true;
"nix.serverPath" = "nil";
"[nix]" = {
"editor.defaultFormatter" = "kamadorueda.alejandra";
"editor.formatOnPaste" = true;
"editor.formatOnSave" = true;
"editor.formatOnType" = true;
};
"alejandra.program" = "alejandra";
"nixpkgs" = { "nixpkgs" = {
"expr" = "import <nixpkgs> {}"; "expr" = "import <nixpkgs> {}";
}; };
# "fomratting": { })
# "command": [ "alejandra" ]; ];
# };
};
extensions = ( extensions = (
with open-vsx; with open-vsx;
@ -52,10 +65,6 @@
streetsidesoftware.code-spell-checker-italian streetsidesoftware.code-spell-checker-italian
jeanp413.open-remote-ssh jeanp413.open-remote-ssh
# nix extensions
pinage404.nix-extension-pack
jnoortheen.nix-ide
# html extensions # html extensions
formulahendry.auto-rename-tag formulahendry.auto-rename-tag
ms-vscode.live-server ms-vscode.live-server
@ -75,6 +84,12 @@
# misc extensions # misc extensions
bungcip.better-toml bungcip.better-toml
] ]
++ (lib.lists.optionals nix-development-enabled [
# nix extensions
pinage404.nix-extension-pack
jnoortheen.nix-ide
kamadorueda.alejandra
])
++ ( ++ (
with vscode-marketplace; [ with vscode-marketplace; [
# js extensions # js extensions

View file

@ -1,5 +1,6 @@
{ {
lib, lib,
pkgs,
config, config,
inputs, inputs,
... ...
@ -14,6 +15,12 @@
nix = { nix = {
nixPath = ["nixpkgs=${inputs.nixpkgs}"]; nixPath = ["nixpkgs=${inputs.nixpkgs}"];
}; };
environment.systemPackages = with pkgs; [
# nix language server
nil
# nix formatter
alejandra
];
}) })
]; ];
} }