Compare commits
6 Commits
9ab0525b5e
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 9aa6d64771 | |||
| 710c36a126 | |||
| 99c605c09d | |||
| 79a3fe3fc5 | |||
| 627d5c5952 | |||
| b061203715 |
@@ -22,6 +22,7 @@
|
||||
stablePkgs.mongodb-compass
|
||||
scc
|
||||
nodejs
|
||||
mariadb
|
||||
];
|
||||
|
||||
programs.lazygit = {
|
||||
@@ -47,5 +48,6 @@
|
||||
};
|
||||
flake.modules.nixos.openvpn = {
|
||||
programs.openvpn3.enable = true;
|
||||
services.resolved.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -13,9 +13,14 @@
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
svelteLanguageServer = pkgs.svelte-language-server.overrideAttrs (
|
||||
finalAttrs: _: {
|
||||
finalAttrs: previousAttrs: {
|
||||
version = "0.18.3";
|
||||
|
||||
pnpmWorkspaces = [
|
||||
"svelte-language-server..."
|
||||
"typescript-svelte-plugin..."
|
||||
];
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "sveltejs";
|
||||
repo = "language-tools";
|
||||
@@ -34,6 +39,37 @@
|
||||
fetcherVersion = 3;
|
||||
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
|
||||
@@ -43,23 +79,31 @@
|
||||
defaultEditor = true;
|
||||
package = inputs.helix.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
||||
extraPackages = with pkgs; [
|
||||
vtsls
|
||||
svelteLanguageServer
|
||||
tailwindcss-language-server
|
||||
|
||||
nixd
|
||||
nixfmt
|
||||
oxfmt
|
||||
|
||||
simple-completion-language-server
|
||||
|
||||
odin
|
||||
ols
|
||||
|
||||
rust-analyzer
|
||||
rustfmt
|
||||
cargo
|
||||
];
|
||||
|
||||
settings = {
|
||||
theme = "kanagawa";
|
||||
theme = "kanagawa-custom";
|
||||
editor = {
|
||||
soft-wrap.enable = true;
|
||||
lsp = {
|
||||
auto-document-highlight = true;
|
||||
display-inlay-hints = true;
|
||||
display-inlay-hints = false;
|
||||
};
|
||||
rainbow-brackets = true;
|
||||
line-number = "relative";
|
||||
@@ -81,23 +125,79 @@
|
||||
};
|
||||
};
|
||||
|
||||
themes.kanagawa-custom = {
|
||||
inherits = "kanagawa";
|
||||
"ui.highlight".underline = {
|
||||
color = "dragonBlue";
|
||||
style = "line";
|
||||
};
|
||||
};
|
||||
|
||||
languages = {
|
||||
language-server.scls = {
|
||||
command = "simple-completion-language-server";
|
||||
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 = [
|
||||
{
|
||||
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";
|
||||
formatter = {
|
||||
command = "oxfmt";
|
||||
args = [ "--stdin-filepath=%{buffer_name}" ];
|
||||
command = "${pkgs.coreutils}/bin/env";
|
||||
args = [
|
||||
"NODE_PATH=%{workspace_directory}/node_modules"
|
||||
"oxfmt"
|
||||
"--stdin-filepath=%{buffer_name}"
|
||||
];
|
||||
};
|
||||
auto-format = true;
|
||||
language-servers = [
|
||||
"scls"
|
||||
"svelteserver"
|
||||
"tailwindcss-ls"
|
||||
];
|
||||
}
|
||||
{
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
flake.modules.homeManager.keyring = {
|
||||
services.gnome-keyring.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -61,6 +61,7 @@ in
|
||||
homeModules.primary-terminal-kitty
|
||||
homeModules.terminal-foot
|
||||
homeModules.noctalia
|
||||
homeModules.keyring
|
||||
{
|
||||
programs.discord = {
|
||||
enable = true;
|
||||
|
||||
Reference in New Issue
Block a user