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

feat: add wakatime lsp for helix

dunkirk.sh 133fe4c5 d7f5d057

verified
+98 -2
+66 -1
flake.lock
··· 415 415 "type": "github" 416 416 } 417 417 }, 418 + "gitignore_2": { 419 + "inputs": { 420 + "nixpkgs": [ 421 + "wakatime-ls", 422 + "nixpkgs" 423 + ] 424 + }, 425 + "locked": { 426 + "lastModified": 1709087332, 427 + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", 428 + "owner": "hercules-ci", 429 + "repo": "gitignore.nix", 430 + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", 431 + "type": "github" 432 + }, 433 + "original": { 434 + "owner": "hercules-ci", 435 + "repo": "gitignore.nix", 436 + "type": "github" 437 + } 438 + }, 418 439 "hardware": { 419 440 "locked": { 420 441 "lastModified": 1758663926, ··· 871 892 "nur": "nur", 872 893 "soapdump": "soapdump", 873 894 "spicetify-nix": "spicetify-nix", 874 - "terminal-wakatime": "terminal-wakatime" 895 + "terminal-wakatime": "terminal-wakatime", 896 + "wakatime-ls": "wakatime-ls" 897 + } 898 + }, 899 + "rust-overlay": { 900 + "inputs": { 901 + "nixpkgs": [ 902 + "wakatime-ls", 903 + "nixpkgs" 904 + ] 905 + }, 906 + "locked": { 907 + "lastModified": 1748746145, 908 + "narHash": "sha256-bwkCAK9pOyI2Ww4Q4oO1Ynv7O9aZPrsIAMMASmhVGp4=", 909 + "owner": "oxalica", 910 + "repo": "rust-overlay", 911 + "rev": "12a0d94a2f2b06714f747ab97b2fa546f46b460c", 912 + "type": "github" 913 + }, 914 + "original": { 915 + "owner": "oxalica", 916 + "repo": "rust-overlay", 917 + "type": "github" 875 918 } 876 919 }, 877 920 "soapdump": { ··· 1052 1095 "original": { 1053 1096 "owner": "taciturnaxolotl", 1054 1097 "repo": "terminal-wakatime", 1098 + "type": "github" 1099 + } 1100 + }, 1101 + "wakatime-ls": { 1102 + "inputs": { 1103 + "gitignore": "gitignore_2", 1104 + "nixpkgs": [ 1105 + "nixpkgs" 1106 + ], 1107 + "rust-overlay": "rust-overlay" 1108 + }, 1109 + "locked": { 1110 + "lastModified": 1752245636, 1111 + "narHash": "sha256-T6nLp1UsnKwrL7coEgH+aTcTavM5OIiNRufA3sM2okk=", 1112 + "owner": "mrnossiom", 1113 + "repo": "wakatime-ls", 1114 + "rev": "711644814c8e6842499c6c0852407321e9901597", 1115 + "type": "github" 1116 + }, 1117 + "original": { 1118 + "owner": "mrnossiom", 1119 + "repo": "wakatime-ls", 1055 1120 "type": "github" 1056 1121 } 1057 1122 }
+5
flake.nix
··· 87 87 url = "github:taciturnaxolotl/soapdump"; 88 88 inputs.nixpkgs.follows = "nixpkgs"; 89 89 }; 90 + 91 + wakatime-ls = { 92 + url = "github:mrnossiom/wakatime-ls"; 93 + inputs.nixpkgs.follows = "nixpkgs"; 94 + }; 90 95 }; 91 96 92 97 outputs =
+27 -1
modules/home/apps/helix.nix
··· 2 2 lib, 3 3 config, 4 4 pkgs, 5 + inputs, 5 6 ... 6 7 }: 7 8 { ··· 31 32 vscode-langservers-extracted 32 33 kotlin-language-server 33 34 harper 35 + inputs.wakatime-ls.packages.${pkgs.system}.default 34 36 ]; 35 37 settings = { 36 38 theme = "catppuccin_macchiato"; ··· 42 44 completion-replace = true; 43 45 end-of-line-diagnostics = "hint"; 44 46 color-modes = true; 45 - # rainbow-brackets = true; enable next release 46 47 inline-diagnostics.cursor-line = "warning"; 47 48 file-picker.hidden = false; 48 49 indent-guides = { 49 50 render = true; 50 51 character = "╎"; 51 52 skip-levels = 0; 53 + rainbow-option = "normal"; 52 54 }; 53 55 soft-wrap.enable = false; 54 56 auto-save = { ··· 96 98 biome = { 97 99 command = "${pkgs.biome}/bin/biome"; 98 100 args = [ "lsp-proxy" ]; 101 + }; 102 + wakatime = { 103 + command = "wakatime-ls"; 99 104 }; 100 105 }; 101 106 language = [ ··· 104 109 language-servers = [ 105 110 "clangd" 106 111 "harper-ls" 112 + "wakatime" 107 113 ]; 108 114 } 109 115 { ··· 111 117 language-servers = [ 112 118 "neocmakelsp" 113 119 "harper-ls" 120 + "wakatime" 114 121 ]; 115 122 } 116 123 { ··· 118 125 language-servers = [ 119 126 "clangd" 120 127 "harper-ls" 128 + "wakatime" 121 129 ]; 122 130 } 123 131 { ··· 125 133 language-servers = [ 126 134 "OmniSharp" 127 135 "harper-ls" 136 + "wakatime" 128 137 ]; 129 138 } 130 139 { ··· 132 141 language-servers = [ 133 142 "gopls" 134 143 "harper-ls" 144 + "wakatime" 135 145 ]; 136 146 } 137 147 { ··· 139 149 language-servers = [ 140 150 "jdtls" 141 151 "harper-ls" 152 + "wakatime" 142 153 ]; 143 154 } 144 155 { ··· 150 161 } 151 162 "biome" 152 163 "harper-ls" 164 + "wakatime" 153 165 ]; 154 166 auto-format = true; 155 167 } ··· 162 174 } 163 175 "biome" 164 176 "harper-ls" 177 + "wakatime" 165 178 ]; 166 179 auto-format = true; 167 180 } ··· 170 183 language-servers = [ 171 184 "lua-language-server" 172 185 "harper-ls" 186 + "wakatime" 173 187 ]; 174 188 } 175 189 { ··· 177 191 language-servers = [ 178 192 "nil" 179 193 "harper-ls" 194 + "wakatime" 180 195 ]; 181 196 } 182 197 { ··· 184 199 language-servers = [ 185 200 "intelephense" 186 201 "harper-ls" 202 + "wakatime" 187 203 ]; 188 204 } 189 205 { ··· 191 207 language-servers = [ 192 208 "pylsp" 193 209 "harper-ls" 210 + "wakatime" 194 211 ]; 195 212 } 196 213 { ··· 198 215 language-servers = [ 199 216 "ruby-lsp" 200 217 "harper-ls" 218 + "wakatime" 201 219 ]; 202 220 } 203 221 { ··· 205 223 language-servers = [ 206 224 "rust-analyzer" 207 225 "harper-ls" 226 + "wakatime" 208 227 ]; 209 228 } 210 229 { ··· 212 231 language-servers = [ 213 232 "bash-language-server" 214 233 "harper-ls" 234 + "wakatime" 215 235 ]; 216 236 } 217 237 { ··· 219 239 language-servers = [ 220 240 "sourcekit-lsp" 221 241 "harper-ls" 242 + "wakatime" 222 243 ]; 223 244 } 224 245 { ··· 226 247 language-servers = [ 227 248 "taplo" 228 249 "harper-ls" 250 + "wakatime" 229 251 ]; 230 252 } 231 253 { ··· 237 259 } 238 260 "biome" 239 261 "harper-ls" 262 + "wakatime" 240 263 ]; 241 264 auto-format = true; 242 265 } ··· 249 272 } 250 273 "biome" 251 274 "harper-ls" 275 + "wakatime" 252 276 ]; 253 277 auto-format = true; 254 278 } ··· 260 284 except-features = [ "format" ]; 261 285 } 262 286 "biome" 287 + "wakatime" 263 288 ]; 264 289 } 265 290 { ··· 267 292 language-servers = [ 268 293 "kotlin-language-server" 269 294 "harper-ls" 295 + "wakatime" 270 296 ]; 271 297 } 272 298 ];