Kieran's opinionated (and probably slightly dumb) nix config

chore: make swift an option in helix

dunkirk.sh 77100273 783d365f

verified
Changed files
+44 -33
machines
atalanta
modules
home
apps
+4 -1
machines/atalanta/home/default.nix
···
halloy.enable = true;
spotify.enable = true;
crush.enable = true;
-
helix.enable = true;
};
};
···
halloy.enable = true;
spotify.enable = true;
crush.enable = true;
+
helix = {
+
enable = true;
+
swift = true;
+
};
};
};
+40 -32
modules/home/apps/helix.nix
···
...
}:
{
-
options.atelier.apps.helix.enable = lib.mkEnableOption "Enable helix config";
config = lib.mkIf config.atelier.apps.helix.enable {
programs.helix = {
enable = true;
package = pkgs.evil-helix;
-
extraPackages = with pkgs; [
-
clang-tools # clangd
-
cmake-language-server # neocmakelsp
-
omnisharp-roslyn # OmniSharp
-
gopls
-
jdt-language-server # jdtls
-
typescript-language-server
-
unstable.biome
-
lua-language-server
-
nil # nix
-
nodePackages.intelephense
-
python313Packages.python-lsp-server # pylsp
-
ruby-lsp
-
rust-analyzer
-
nodePackages.bash-language-server
-
sourcekit-lsp
-
taplo
-
vscode-langservers-extracted
-
kotlin-language-server
-
harper
-
inputs.wakatime-ls.packages.${pkgs.system}.default
-
unstable.sourcekit-lsp
-
];
settings = {
theme = "catppuccin_macchiato";
editor = {
···
];
}
{
-
name = "swift";
-
language-servers = [
-
"sourcekit-lsp"
-
"harper-ls"
-
"wakatime"
-
];
-
}
-
{
name = "toml";
language-servers = [
"taplo"
···
name = "kotlin";
language-servers = [
"kotlin-language-server"
"harper-ls"
"wakatime"
];
···
...
}:
{
+
options.atelier.apps.helix = {
+
enable = lib.mkEnableOption "Enable helix config";
+
swift = lib.mkEnableOption "Enable Swift support";
+
};
config = lib.mkIf config.atelier.apps.helix.enable {
programs.helix = {
enable = true;
package = pkgs.evil-helix;
+
extraPackages =
+
with pkgs;
+
[
+
clang-tools # clangd
+
cmake-language-server # neocmakelsp
+
omnisharp-roslyn # OmniSharp
+
gopls
+
jdt-language-server # jdtls
+
typescript-language-server
+
unstable.biome
+
lua-language-server
+
nil # nix
+
nodePackages.intelephense
+
python313Packages.python-lsp-server # pylsp
+
ruby-lsp
+
rust-analyzer
+
nodePackages.bash-language-server
+
taplo
+
vscode-langservers-extracted
+
kotlin-language-server
+
harper
+
inputs.wakatime-ls.packages.${pkgs.system}.default
+
]
+
++ lib.optionals config.atelier.apps.helix.swift [
+
sourcekit-lsp
+
unstable.sourcekit-lsp
+
];
settings = {
theme = "catppuccin_macchiato";
editor = {
···
];
}
{
name = "toml";
language-servers = [
"taplo"
···
name = "kotlin";
language-servers = [
"kotlin-language-server"
+
"harper-ls"
+
"wakatime"
+
];
+
}
+
] ++ lib.optionals config.atelier.apps.helix.swift [
+
{
+
name = "swift";
+
language-servers = [
+
"sourcekit-lsp"
"harper-ls"
"wakatime"
];