Compare commits
6 Commits
9ab0525b5e
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 9aa6d64771 | |||
| 710c36a126 | |||
| 99c605c09d | |||
| 79a3fe3fc5 | |||
| 627d5c5952 | |||
| b061203715 |
@@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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"
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
flake.modules.homeManager.keyring = {
|
||||||
|
services.gnome-keyring.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user