mew
Some checks failed
ci/woodpecker/push/build-cache Pipeline failed

This commit is contained in:
Lucy Hochkamp 2025-10-30 20:54:22 +01:00
parent 6002b09ca6
commit 9b13868f9a
10 changed files with 343 additions and 172 deletions

View file

@ -362,7 +362,7 @@ in
"user-filters" =
''marketplace.visualstudio.com##+js(rpnt, script, /"(DisableVSCodeDownloadButtonEnabled|Microsoft\\.VisualStudio\\.Services\\.Gallery\\.DisableVSCodeDownloadButton)":true/, "$1":false)'';
"hostnameSwitchesString" =
"no-large-media: behind-the-scene false\nno-remote-fonts: * true\nno-csp-reports: * true";
"no-large-media: behind-the-scene false\nno-remote-fonts: * false\nno-csp-reports: * true";
};
};

View file

@ -22,20 +22,21 @@ in
# nodePackages_latest.prettier
dprint
markdown-oxide
codebook
# codebook
## python
# ruff-lsp
# nodePackages_latest.pyright
# inputs.csharp-language-server.packages.${pkgs.system}.csharp-language-server
]
++ (optionals cfg.withLargeLSPs [
netcoredbg
nodePackages_latest.typescript-language-server
nodePackages_latest.vscode-langservers-extracted
typescript
# jsonnet-language-server
# jsonnet
lazygit
ltex-ls-plus # languagetool
tinymist # typst lsp
]);
programs.helix = {
@ -107,8 +108,7 @@ in
keys = {
normal = {
space."=" = ":fmt";
"C-g" =
":sh tmux popup -d \"#{pane_current_path}\" -xC -yC -w80%% -h80%% -E lazygit";
"C-g" = ":sh tmux popup -d \"#{pane_current_path}\" -xC -yC -w80%% -h80%% -E lazygit";
"C-t" = ":sh tmux split-window -v -l '35%%'";
"C-h" = ":sh tmux select-pane -t '{left-of}'";
"C-l" = ":sh tmux select-pane -t '{right-of}'";
@ -143,55 +143,143 @@ in
language-server.csharp = {
command = "csharp-language-server";
};
language-server.codebook = {
command = "codebook-lsp";
args = ["serve"];
};
language = flatten [
(map
(x: {
name = x;
language-servers = [
"typescript-language-server"
"eslint"
];
#formatter = { command = "dprint"; args = [ "fmt" "--stdin" x ]; };
# formatter = { command = "prettier"; args = [ "--parser" "typescript" ]; };
})
[
"typescript"
"javascript"
"jsx"
"tsx"
]
)
{
name = "nix";
formatter = {
command = "nixpkgs-fmt";
};
}
{
name = "python";
language-servers = [
"pyright"
"ruff"
language-server.ltex = {
command = "ltex-ls-plus";
config = {
additionalRules.motherTongue = "de-DE";
additionalRules.enablePickyRules = true;
language = [
"en-US"
"de-DE"
];
}
{
name = "markdown";
language-servers = ["codebook"];
}
{
name = "c-sharp";
language-servers = [ "csharp" ];
formatter = {
command = "dotnet";
args = [ "csharpier" ];
};
};
};
language-server.tinymist = {
command = "tinymist";
};
# language-server.nil = {
# command = "nil";
# config.nil.nix = {
# maxMemoryMB = 5120;
# flake = {
# autoEvalInputs = true;
# autoArchive = true;
# };
# };
# };
language =
let
applySingleConfig =
languages: config:
let
applied =
foldl'
(
acc: l:
if (any (x: l.name == x) config.languages) then
{
done = acc.done ++ [
(mkMerge [
l
config.conf
])
];
notFound = filter (x: x != l.name) acc.notFound;
}
else
{
done = acc.done ++ [ l ];
notFound = acc.notFound;
}
)
{
done = [ ];
notFound = config.languages;
}
languages;
in
applied.done ++ (map (x: { name = x; } // config.conf) applied.notFound);
applyConfs = lspConfs: languages: foldl' applySingleConfig languages lspConfs;
in
applyConfs
[
{
languages = [
"typescript"
"javascript"
"jsx"
"tsx"
];
conf = {
language-servers = [
"typescript-language-server"
"eslint"
];
};
}
{
languages = [
"markdown"
"typst"
"bibtex"
"comment"
"latex"
"html"
];
conf = {
language-servers = [
"ltex"
];
};
}
]
[
{
name = "__common__";
scope = "source.__common__";
file-types = [ ];
language-servers = [
"ltex"
];
}
# {
# name = "nix";
# language-servers = [
# "nixd"
# ];
# formatter = {
# command = "nixpkgs-fmt";
# };
# }
{
name = "python";
language-servers = [
"pyright"
"ruff"
];
}
{
name = "markdown";
language-servers = [
"markdown-oxide"
];
}
{
name = "typst";
language-servers = [
"tinymist"
];
}
{
name = "c-sharp";
language-servers = [ "csharp" ];
formatter = {
command = "dotnet";
args = [ "csharpier" ];
};
}
];
}
];
};
};
};