Compare commits

...

6 Commits

Author SHA1 Message Date
kiri 9aa6d64771 updates 2026-08-12 11:47:07 +02:00
kiri 710c36a126 updates 2026-08-05 17:06:25 +02:00
kiri 99c605c09d updates 2026-08-05 17:05:44 +02:00
kiri 79a3fe3fc5 feat: helix updates 2026-07-29 19:37:29 +02:00
kiri 627d5c5952 feat: helix updates 2026-07-27 16:50:11 +02:00
kiri b061203715 feat: add tailwindcss and fix oxfmt 2026-07-26 21:06:04 +02:00
4 changed files with 113 additions and 5 deletions
+2
View File
@@ -22,6 +22,7 @@
stablePkgs.mongodb-compass stablePkgs.mongodb-compass
scc scc
nodejs nodejs
mariadb
]; ];
programs.lazygit = { programs.lazygit = {
@@ -47,5 +48,6 @@
}; };
flake.modules.nixos.openvpn = { flake.modules.nixos.openvpn = {
programs.openvpn3.enable = true; programs.openvpn3.enable = true;
services.resolved.enable = true;
}; };
} }
+105 -5
View File
@@ -13,9 +13,14 @@
{ pkgs, ... }: { pkgs, ... }:
let let
svelteLanguageServer = pkgs.svelte-language-server.overrideAttrs ( svelteLanguageServer = pkgs.svelte-language-server.overrideAttrs (
finalAttrs: _: { finalAttrs: previousAttrs: {
version = "0.18.3"; version = "0.18.3";
pnpmWorkspaces = [
"svelte-language-server..."
"typescript-svelte-plugin..."
];
src = pkgs.fetchFromGitHub { src = pkgs.fetchFromGitHub {
owner = "sveltejs"; owner = "sveltejs";
repo = "language-tools"; repo = "language-tools";
@@ -34,6 +39,37 @@
fetcherVersion = 3; fetcherVersion = 3;
hash = "sha256-fY3hrCkr/soJk1gp39/jec8lT2ZJI27xRBCZi006oWA="; hash = "sha256-fY3hrCkr/soJk1gp39/jec8lT2ZJI27xRBCZi006oWA=";
}; };
buildPhase = builtins.replaceStrings
[ "pnpm run --filter=svelte-language-server... build" ]
[ ''
pnpm run --filter=svelte-language-server... build
pnpm --filter=typescript-svelte-plugin exec tsc \
-p ./ \
--pretty false \
--types node \
--typeRoots ../../node_modules/.pnpm/node_modules/@types
'' ]
previousAttrs.buildPhase;
installPhase = builtins.replaceStrings
[ "pnpm install --filter=svelte-language-server..." ]
[ "pnpm install --filter=svelte-language-server... --filter=typescript-svelte-plugin..." ]
previousAttrs.installPhase;
postInstall = (previousAttrs.postInstall or "") + ''
substituteInPlace \
"$out/lib/node_modules/svelte-language-server/packages/language-server/node_modules/@vscode/emmet-helper/lib/cjs/emmetHelper.js" \
--replace-fail \
"'jsx.enabled': syntax === 'jsx'," \
"'jsx.enabled': syntax === 'jsx' || syntax === 'html',"
ln -s ../packages/typescript-plugin \
"$out/lib/node_modules/svelte-language-server/node_modules/typescript-svelte-plugin"
ln -s ../packages/language-server/node_modules/svelte \
"$out/lib/node_modules/svelte-language-server/node_modules/svelte"
'';
} }
); );
in in
@@ -43,23 +79,31 @@
defaultEditor = true; defaultEditor = true;
package = inputs.helix.packages.${pkgs.stdenv.hostPlatform.system}.default; package = inputs.helix.packages.${pkgs.stdenv.hostPlatform.system}.default;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
vtsls
svelteLanguageServer svelteLanguageServer
tailwindcss-language-server
nixd nixd
nixfmt nixfmt
oxfmt oxfmt
simple-completion-language-server simple-completion-language-server
odin
ols
rust-analyzer rust-analyzer
rustfmt
cargo
]; ];
settings = { settings = {
theme = "kanagawa"; theme = "kanagawa-custom";
editor = { editor = {
soft-wrap.enable = true; soft-wrap.enable = true;
lsp = { lsp = {
auto-document-highlight = true; auto-document-highlight = true;
display-inlay-hints = true; display-inlay-hints = false;
}; };
rainbow-brackets = true; rainbow-brackets = true;
line-number = "relative"; line-number = "relative";
@@ -81,23 +125,79 @@
}; };
}; };
themes.kanagawa-custom = {
inherits = "kanagawa";
"ui.highlight".underline = {
color = "dragonBlue";
style = "line";
};
};
languages = { languages = {
language-server.scls = { language-server.scls = {
command = "simple-completion-language-server"; command = "simple-completion-language-server";
environment.SNIPPETS_PATH = "${pkgs.vimPlugins.friendly-snippets}/snippets"; environment.SNIPPETS_PATH = "${pkgs.vimPlugins.friendly-snippets}/snippets";
}; };
language-server.vtsls.config.vtsls = {
autoUseWorkspaceTsdk = true;
tsserver.globalPlugins = [
{
name = "typescript-svelte-plugin";
location = "${svelteLanguageServer}/lib/node_modules/svelte-language-server";
enableForWorkspaceTypeScriptVersions = true;
}
];
};
language = [ language = [
{
name = "javascript";
language-servers = [
"vtsls"
"scls"
];
auto-format = true;
}
{
name = "jsx";
language-servers = [
"vtsls"
"scls"
];
auto-format = true;
}
{
name = "typescript";
language-servers = [
"vtsls"
"scls"
];
auto-format = true;
}
{
name = "tsx";
language-servers = [
"vtsls"
"scls"
];
auto-format = true;
}
{ {
name = "svelte"; name = "svelte";
formatter = { formatter = {
command = "oxfmt"; command = "${pkgs.coreutils}/bin/env";
args = [ "--stdin-filepath=%{buffer_name}" ]; args = [
"NODE_PATH=%{workspace_directory}/node_modules"
"oxfmt"
"--stdin-filepath=%{buffer_name}"
];
}; };
auto-format = true; auto-format = true;
language-servers = [ language-servers = [
"scls" "scls"
"svelteserver" "svelteserver"
"tailwindcss-ls"
]; ];
} }
{ {
+5
View File
@@ -0,0 +1,5 @@
{
flake.modules.homeManager.keyring = {
services.gnome-keyring.enable = true;
};
}
+1
View File
@@ -61,6 +61,7 @@ in
homeModules.primary-terminal-kitty homeModules.primary-terminal-kitty
homeModules.terminal-foot homeModules.terminal-foot
homeModules.noctalia homeModules.noctalia
homeModules.keyring
{ {
programs.discord = { programs.discord = {
enable = true; enable = true;