Commit 69e3b87
Changed files (19)
modules
dev
helix
vscode
zed
modules/dev/helix/languages/astro.nix
@@ -9,7 +9,7 @@
tab-width = 2;
unit = " ";
};
- language-servers = ["astro-ls" "tailwindcss-ls" "biome"];
+ language-servers = ["astro-ls" "tailwindcss-ls" "biome" "wakatime"];
}
];
language-server = {
modules/dev/helix/languages/cpp.nix
@@ -1,24 +1,24 @@
{
flake.modules.homeManager.dev-helix = _: {
programs.helix.languages = {
- language = [
- {
- name = "c";
- auto-format = true;
- indent = {
- tab-width = 2;
- unit = " ";
- };
- }
- {
- name = "cpp";
- auto-format = true;
- indent = {
- tab-width = 2;
- unit = " ";
- };
- }
- ];
+ language =
+ builtins.map (
+ lang: {
+ name = lang;
+ auto-format = true;
+ indent = {
+ tab-width = 2;
+ unit = " ";
+ };
+ language-servers = [
+ "clangd"
+ "wakatime"
+ ];
+ }
+ ) [
+ "c"
+ "cpp"
+ ];
language-server.clangd = {
command = "clangd";
args = [
modules/dev/helix/languages/css.nix
@@ -10,7 +10,7 @@
tab-width = 2;
unit = " ";
};
- language-servers = ["biome" "tailwindcss-ls"];
+ language-servers = ["biome" "tailwindcss-ls" "wakatime"];
}
];
};
modules/dev/helix/languages/html.nix
@@ -9,7 +9,7 @@
tab-width = 2;
unit = " ";
};
- language-servers = ["vscode-html-language-server" "tailwindcss-ls" "biome"];
+ language-servers = ["vscode-html-language-server" "tailwindcss-ls" "biome" "wakatime"];
}
];
};
modules/dev/helix/languages/javascript.nix
@@ -11,7 +11,9 @@
name = "typescript-language-server";
except-features = ["format"];
}
+ "tailwindcss-ls"
"biome"
+ "wakatime"
];
}
) [
modules/dev/helix/languages/latex.nix
@@ -1,32 +1,28 @@
{
flake.modules.homeManager.dev-helix = _: {
programs.helix.languages = {
- language = [
- {
- name = "latex";
- auto-format = true;
- indent = {
- tab-width = 2;
- unit = " ";
- };
- formatter = {
- command = "tex-fmt";
- args = ["--stdin"];
- };
- }
- {
- name = "bibtex";
- auto-format = true;
- indent = {
- tab-width = 2;
- unit = " ";
- };
- formatter = {
- command = "tex-fmt";
- args = ["--stdin"];
- };
- }
- ];
+ language =
+ builtins.map (
+ lang: {
+ name = lang;
+ auto-format = true;
+ indent = {
+ tab-width = 2;
+ unit = " ";
+ };
+ formatter = {
+ command = "tex-fmt";
+ args = ["--stdin"];
+ };
+ language-servers = [
+ "texlab"
+ "wakatime"
+ ];
+ }
+ ) [
+ "latex"
+ "bibtex"
+ ];
};
};
}
modules/dev/helix/languages/lua.nix
@@ -27,6 +27,7 @@
".stylua.toml"
".editorconfig"
];
+ language-servers = ["lua-language-server" "wakatime"];
}
];
language-server.lua-language-server = {
modules/dev/helix/languages/markdown.nix
@@ -22,7 +22,7 @@
command = "prettier";
args = ["--parser" "markdown" "--stdin-filepath" "%{buffer_name}"];
};
- language-servers = ["marksman"];
+ language-servers = ["marksman" "wakatime"];
}
];
};
modules/dev/helix/languages/mdx.nix
@@ -27,7 +27,7 @@
command = "prettier";
args = ["--parser" "mdx" "--stdin-filepath" "%{buffer_name}"];
};
- language-servers = ["mdx-language-server"];
+ language-servers = ["mdx-language-server" "wakatime"];
}
];
grammar = [
modules/dev/helix/languages/nix.nix
@@ -9,7 +9,7 @@
tab-width = 2;
unit = " ";
};
- language-servers = ["nixd"];
+ language-servers = ["nixd" "wakatime"];
}
];
language-server = {
modules/dev/helix/languages/rust.nix
@@ -9,6 +9,7 @@
tab-width = 2;
unit = " ";
};
+ language-servers = ["rust-analyzer" "wakatime"];
}
];
language-server.rust-analyzer.config = {
modules/dev/helix/languages/typst.nix
@@ -10,6 +10,7 @@
unit = " ";
};
soft-wrap.enable = true;
+ language-servers = ["tinymist" "wakatime"];
}
];
language-server.tinymist.config = {
modules/dev/helix/languages/wakatime.nix
@@ -0,0 +1,9 @@
+{
+ flake.modules.homeManager.dev-helix = _: {
+ programs.helix.languages = {
+ language-server = {
+ wakatime = {command = "wakatime-ls";};
+ };
+ };
+ };
+}
modules/dev/helix/default.nix
@@ -1,7 +1,10 @@
-{
- flake.modules.homeManager.dev-helix = _: {
+{inputs, ...}: {
+ flake.modules.homeManager.dev-helix = {pkgs, ...}: {
programs.helix = {
enable = true;
+ extraPackages = [
+ inputs.wakatime-ls.packages.${pkgs.stdenv.system}.default
+ ];
settings = {
editor = {
line-number = "relative";
modules/dev/vscode/base-extensions.nix
@@ -20,6 +20,7 @@
shardulm94.trailing-spaces
gruntfuggly.todo-tree
editorconfig.editorconfig
+ wakatime.vscode-wakatime
# LLM
github.copilot
modules/dev/zed/default.nix
@@ -1,5 +1,22 @@
{
- flake.modules.homeManager.dev-zed = {pkgs, ...}: {
+ flake.modules.homeManager.dev-zed = {pkgs, ...}: let
+ wakatime-ls = pkgs.rustPlatform.buildRustPackage (finalAttrs: {
+ pname = "wakatime-ls";
+ version = "0.1.10";
+ src = pkgs.fetchFromGitHub {
+ owner = "wakatime";
+ repo = "zed-wakatime";
+ tag = "v${finalAttrs.version}";
+ hash = "sha256-Jmm+eRHMNBkc6ZzadvkWrfsb+bwEBNM0fnXU4dJ0NgE=";
+ };
+ buildAndTestSubdir = "wakatime-ls";
+ cargoHash = "sha256-x2axmHinxYZ2VEddeCTqMJd8ok0KgAVdUhbWaOdRA30=";
+ meta = {
+ homepage = "https://github.com/wakatime/zed-wakatime/tree/master/wakatime-ls";
+ license = pkgs.lib.licenses.mit;
+ };
+ });
+ in {
programs.zed-editor = {
enable = true;
extraPackages = with pkgs; [
@@ -7,11 +24,17 @@
# Use extraPackages to avoid Zed error with self-downloading binaries without FHS environment
# Alternative: use `zed-editor-fhs` package
package-version-server
+
+ # Used by Zed wakatime plugin, different from another one.
+ wakatime-ls
];
extensions = [
# Appearance
"material-icon-theme"
+ # Utilities
+ "wakatime"
+
# No specific config languages
"biome"
"dart"
modules/dev/packages.nix
@@ -27,6 +27,8 @@
just # Command snippet runner
just-lsp
+ wakatime-cli
+
# === General Purpose Languages === #
# -- C/C++
cmake
flake.lock
@@ -411,6 +411,27 @@
"type": "github"
}
},
+ "gitignore_2": {
+ "inputs": {
+ "nixpkgs": [
+ "wakatime-ls",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1762808025,
+ "narHash": "sha256-XmjITeZNMTQXGhhww6ed/Wacy2KzD6svioyCX7pkUu4=",
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "rev": "cb5e3fdca1de58ccbc3ef53de65bd372b48f567c",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "type": "github"
+ }
+ },
"gnome-shell": {
"flake": false,
"locked": {
@@ -1035,6 +1056,7 @@
"silentSDDM": "silentSDDM",
"stylix": "stylix",
"vaultix": "vaultix",
+ "wakatime-ls": "wakatime-ls",
"wallpapers": "wallpapers"
}
},
@@ -1077,6 +1099,27 @@
"type": "github"
}
},
+ "rust-overlay_3": {
+ "inputs": {
+ "nixpkgs": [
+ "wakatime-ls",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1764557621,
+ "narHash": "sha256-kX5PoY8hQZ80+amMQgOO9t8Tc1JZ70gYRnzaVD4AA+o=",
+ "owner": "oxalica",
+ "repo": "rust-overlay",
+ "rev": "93316876c2229460a5d6f5f052766cc4cef538ce",
+ "type": "github"
+ },
+ "original": {
+ "owner": "oxalica",
+ "repo": "rust-overlay",
+ "type": "github"
+ }
+ },
"silentSDDM": {
"inputs": {
"nixpkgs": "nixpkgs_11"
@@ -1310,6 +1353,28 @@
"type": "github"
}
},
+ "wakatime-ls": {
+ "inputs": {
+ "gitignore": "gitignore_2",
+ "nixpkgs": [
+ "nixpkgs"
+ ],
+ "rust-overlay": "rust-overlay_3"
+ },
+ "locked": {
+ "lastModified": 1764772399,
+ "narHash": "sha256-iZmN5d42tOsmssuFzOf3saUUeXbrwraQmDgh5czuMis=",
+ "owner": "mrnossiom",
+ "repo": "wakatime-ls",
+ "rev": "b8b9c1e612f198d767a64142f34c33ffbd347fae",
+ "type": "github"
+ },
+ "original": {
+ "owner": "mrnossiom",
+ "repo": "wakatime-ls",
+ "type": "github"
+ }
+ },
"wallpapers": {
"flake": false,
"locked": {
flake.nix
@@ -47,6 +47,9 @@
vaultix.url = "github:milieuim/vaultix";
+ wakatime-ls.url = "github:mrnossiom/wakatime-ls";
+ wakatime-ls.inputs.nixpkgs.follows = "nixpkgs";
+
# == Personal inputs ==
nixos-logo.url = "git+https://repo.hpcesia.com/HPCesia/nixos-logo?shallow=1";
nixos-logo.flake = false;