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

feat: add wakatime lsp for helix

dunkirk.sh 133fe4c5 d7f5d057

verified
Changed files
+98 -2
modules
home
apps
+66 -1
flake.lock
···
"type": "github"
}
},
"hardware": {
"locked": {
"lastModified": 1758663926,
···
"nur": "nur",
"soapdump": "soapdump",
"spicetify-nix": "spicetify-nix",
-
"terminal-wakatime": "terminal-wakatime"
}
},
"soapdump": {
···
"original": {
"owner": "taciturnaxolotl",
"repo": "terminal-wakatime",
"type": "github"
}
}
···
"type": "github"
}
},
+
"gitignore_2": {
+
"inputs": {
+
"nixpkgs": [
+
"wakatime-ls",
+
"nixpkgs"
+
]
+
},
+
"locked": {
+
"lastModified": 1709087332,
+
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
+
"owner": "hercules-ci",
+
"repo": "gitignore.nix",
+
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
+
"type": "github"
+
},
+
"original": {
+
"owner": "hercules-ci",
+
"repo": "gitignore.nix",
+
"type": "github"
+
}
+
},
"hardware": {
"locked": {
"lastModified": 1758663926,
···
"nur": "nur",
"soapdump": "soapdump",
"spicetify-nix": "spicetify-nix",
+
"terminal-wakatime": "terminal-wakatime",
+
"wakatime-ls": "wakatime-ls"
+
}
+
},
+
"rust-overlay": {
+
"inputs": {
+
"nixpkgs": [
+
"wakatime-ls",
+
"nixpkgs"
+
]
+
},
+
"locked": {
+
"lastModified": 1748746145,
+
"narHash": "sha256-bwkCAK9pOyI2Ww4Q4oO1Ynv7O9aZPrsIAMMASmhVGp4=",
+
"owner": "oxalica",
+
"repo": "rust-overlay",
+
"rev": "12a0d94a2f2b06714f747ab97b2fa546f46b460c",
+
"type": "github"
+
},
+
"original": {
+
"owner": "oxalica",
+
"repo": "rust-overlay",
+
"type": "github"
}
},
"soapdump": {
···
"original": {
"owner": "taciturnaxolotl",
"repo": "terminal-wakatime",
+
"type": "github"
+
}
+
},
+
"wakatime-ls": {
+
"inputs": {
+
"gitignore": "gitignore_2",
+
"nixpkgs": [
+
"nixpkgs"
+
],
+
"rust-overlay": "rust-overlay"
+
},
+
"locked": {
+
"lastModified": 1752245636,
+
"narHash": "sha256-T6nLp1UsnKwrL7coEgH+aTcTavM5OIiNRufA3sM2okk=",
+
"owner": "mrnossiom",
+
"repo": "wakatime-ls",
+
"rev": "711644814c8e6842499c6c0852407321e9901597",
+
"type": "github"
+
},
+
"original": {
+
"owner": "mrnossiom",
+
"repo": "wakatime-ls",
"type": "github"
}
}
+5
flake.nix
···
url = "github:taciturnaxolotl/soapdump";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
···
url = "github:taciturnaxolotl/soapdump";
inputs.nixpkgs.follows = "nixpkgs";
};
+
+
wakatime-ls = {
+
url = "github:mrnossiom/wakatime-ls";
+
inputs.nixpkgs.follows = "nixpkgs";
+
};
};
outputs =
+27 -1
modules/home/apps/helix.nix
···
lib,
config,
pkgs,
...
}:
{
···
vscode-langservers-extracted
kotlin-language-server
harper
];
settings = {
theme = "catppuccin_macchiato";
···
completion-replace = true;
end-of-line-diagnostics = "hint";
color-modes = true;
-
# rainbow-brackets = true; enable next release
inline-diagnostics.cursor-line = "warning";
file-picker.hidden = false;
indent-guides = {
render = true;
character = "╎";
skip-levels = 0;
};
soft-wrap.enable = false;
auto-save = {
···
biome = {
command = "${pkgs.biome}/bin/biome";
args = [ "lsp-proxy" ];
};
};
language = [
···
language-servers = [
"clangd"
"harper-ls"
];
}
{
···
language-servers = [
"neocmakelsp"
"harper-ls"
];
}
{
···
language-servers = [
"clangd"
"harper-ls"
];
}
{
···
language-servers = [
"OmniSharp"
"harper-ls"
];
}
{
···
language-servers = [
"gopls"
"harper-ls"
];
}
{
···
language-servers = [
"jdtls"
"harper-ls"
];
}
{
···
}
"biome"
"harper-ls"
];
auto-format = true;
}
···
}
"biome"
"harper-ls"
];
auto-format = true;
}
···
language-servers = [
"lua-language-server"
"harper-ls"
];
}
{
···
language-servers = [
"nil"
"harper-ls"
];
}
{
···
language-servers = [
"intelephense"
"harper-ls"
];
}
{
···
language-servers = [
"pylsp"
"harper-ls"
];
}
{
···
language-servers = [
"ruby-lsp"
"harper-ls"
];
}
{
···
language-servers = [
"rust-analyzer"
"harper-ls"
];
}
{
···
language-servers = [
"bash-language-server"
"harper-ls"
];
}
{
···
language-servers = [
"sourcekit-lsp"
"harper-ls"
];
}
{
···
language-servers = [
"taplo"
"harper-ls"
];
}
{
···
}
"biome"
"harper-ls"
];
auto-format = true;
}
···
}
"biome"
"harper-ls"
];
auto-format = true;
}
···
except-features = [ "format" ];
}
"biome"
];
}
{
···
language-servers = [
"kotlin-language-server"
"harper-ls"
];
}
];
···
lib,
config,
pkgs,
+
inputs,
...
}:
{
···
vscode-langservers-extracted
kotlin-language-server
harper
+
inputs.wakatime-ls.packages.${pkgs.system}.default
];
settings = {
theme = "catppuccin_macchiato";
···
completion-replace = true;
end-of-line-diagnostics = "hint";
color-modes = true;
inline-diagnostics.cursor-line = "warning";
file-picker.hidden = false;
indent-guides = {
render = true;
character = "╎";
skip-levels = 0;
+
rainbow-option = "normal";
};
soft-wrap.enable = false;
auto-save = {
···
biome = {
command = "${pkgs.biome}/bin/biome";
args = [ "lsp-proxy" ];
+
};
+
wakatime = {
+
command = "wakatime-ls";
};
};
language = [
···
language-servers = [
"clangd"
"harper-ls"
+
"wakatime"
];
}
{
···
language-servers = [
"neocmakelsp"
"harper-ls"
+
"wakatime"
];
}
{
···
language-servers = [
"clangd"
"harper-ls"
+
"wakatime"
];
}
{
···
language-servers = [
"OmniSharp"
"harper-ls"
+
"wakatime"
];
}
{
···
language-servers = [
"gopls"
"harper-ls"
+
"wakatime"
];
}
{
···
language-servers = [
"jdtls"
"harper-ls"
+
"wakatime"
];
}
{
···
}
"biome"
"harper-ls"
+
"wakatime"
];
auto-format = true;
}
···
}
"biome"
"harper-ls"
+
"wakatime"
];
auto-format = true;
}
···
language-servers = [
"lua-language-server"
"harper-ls"
+
"wakatime"
];
}
{
···
language-servers = [
"nil"
"harper-ls"
+
"wakatime"
];
}
{
···
language-servers = [
"intelephense"
"harper-ls"
+
"wakatime"
];
}
{
···
language-servers = [
"pylsp"
"harper-ls"
+
"wakatime"
];
}
{
···
language-servers = [
"ruby-lsp"
"harper-ls"
+
"wakatime"
];
}
{
···
language-servers = [
"rust-analyzer"
"harper-ls"
+
"wakatime"
];
}
{
···
language-servers = [
"bash-language-server"
"harper-ls"
+
"wakatime"
];
}
{
···
language-servers = [
"sourcekit-lsp"
"harper-ls"
+
"wakatime"
];
}
{
···
language-servers = [
"taplo"
"harper-ls"
+
"wakatime"
];
}
{
···
}
"biome"
"harper-ls"
+
"wakatime"
];
auto-format = true;
}
···
}
"biome"
"harper-ls"
+
"wakatime"
];
auto-format = true;
}
···
except-features = [ "format" ];
}
"biome"
+
"wakatime"
];
}
{
···
language-servers = [
"kotlin-language-server"
"harper-ls"
+
"wakatime"
];
}
];