Compare commits
11 Commits
ed6af93008
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 9aa6d64771 | |||
| 710c36a126 | |||
| 99c605c09d | |||
| 79a3fe3fc5 | |||
| 627d5c5952 | |||
| b061203715 | |||
| 9ab0525b5e | |||
| 8e2bfc551e | |||
| 66d0a1fddd | |||
| e6ae751ff2 | |||
| cc6dc0d872 |
Generated
+30
-55
@@ -75,6 +75,24 @@
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1782949081,
|
||||
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"llm-agents",
|
||||
@@ -95,29 +113,9 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769996383,
|
||||
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"helix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs": "nixpkgs",
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
@@ -172,7 +170,7 @@
|
||||
"llm-agents": {
|
||||
"inputs": {
|
||||
"bun2nix": "bun2nix",
|
||||
"flake-parts": "flake-parts",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
@@ -193,25 +191,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"lux-pkgs": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772315038,
|
||||
"narHash": "sha256-YL6NQd97AiZGe/Q4ZWxZaguKVHL0pfNvP/Cqgl/oh4g=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "d7660146e70475c096bed703e4dad687a58e13dc",
|
||||
"revCount": 1,
|
||||
"type": "git",
|
||||
"url": "ssh://gitea@orion/kiri/lux-pkgs"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "ssh://gitea@orion/kiri/lux-pkgs"
|
||||
}
|
||||
},
|
||||
"niri": {
|
||||
"inputs": {
|
||||
"niri-stable": "niri-stable",
|
||||
@@ -329,27 +308,27 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1772173633,
|
||||
"narHash": "sha256-MOH58F4AIbCkh6qlQcwMycyk5SWvsqnS/TCfnqDlpj4=",
|
||||
"owner": "NixOS",
|
||||
"lastModified": 1784796856,
|
||||
"narHash": "sha256-wWFrV5/Qbm+lyt5x20E/bSbfJiGKMo4RCxZV8cl/WZI=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c0f3d81a7ddbc2b1332be0d8481a672b4f6004d6",
|
||||
"rev": "e2587caef70cea85dd97d7daab492899902dbf5d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1769909678,
|
||||
"narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=",
|
||||
"lastModified": 1782614948,
|
||||
"narHash": "sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC+eBu2zKlp8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "72716169fe93074c333e8d0173151350670b824c",
|
||||
"rev": "db3f255737b94216eb71cce308e2912cf6bc2d7c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -467,15 +446,11 @@
|
||||
"inputs": {
|
||||
"disko": "disko",
|
||||
"elephant": "elephant",
|
||||
"flake-parts": [
|
||||
"lux-pkgs",
|
||||
"flake-parts"
|
||||
],
|
||||
"flake-parts": "flake-parts",
|
||||
"helix": "helix",
|
||||
"home-manager": "home-manager",
|
||||
"import-tree": "import-tree",
|
||||
"llm-agents": "llm-agents",
|
||||
"lux-pkgs": "lux-pkgs",
|
||||
"niri": "niri",
|
||||
"nix-index-database": "nix-index-database",
|
||||
"nix-wrapper-modules": "nix-wrapper-modules",
|
||||
|
||||
@@ -6,11 +6,8 @@
|
||||
url = "github:nix-community/disko";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
flake-parts.follows = "lux-pkgs/flake-parts";
|
||||
helix = {
|
||||
url = "github:helix-editor/helix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
helix.url = "github:helix-editor/helix";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
@@ -47,8 +44,6 @@
|
||||
inputs.elephant.follows = "elephant";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
lux-pkgs.url = "git+ssh://gitea@orion/kiri/lux-pkgs";
|
||||
};
|
||||
|
||||
outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } (inputs.import-tree ./modules);
|
||||
|
||||
@@ -22,12 +22,9 @@
|
||||
stablePkgs.mongodb-compass
|
||||
scc
|
||||
nodejs
|
||||
mariadb
|
||||
];
|
||||
|
||||
programs.zsh.initContent = ''
|
||||
eval "$(devenv hook zsh)"
|
||||
'';
|
||||
|
||||
programs.lazygit = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
@@ -42,9 +39,15 @@
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
|
||||
config.global = {
|
||||
hide_env_diff = true;
|
||||
log_format = "↳ %s";
|
||||
};
|
||||
};
|
||||
};
|
||||
flake.modules.nixos.openvpn = {
|
||||
programs.openvpn3.enable = true;
|
||||
services.resolved.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,12 +1,26 @@
|
||||
{ inputs, ... }:
|
||||
{
|
||||
flake.modules.nixos.helix = {
|
||||
nix.settings = {
|
||||
extra-substituters = [ "https://helix.cachix.org" ];
|
||||
extra-trusted-public-keys = [
|
||||
"helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs="
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
flake.modules.homeManager.helix =
|
||||
{ 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";
|
||||
@@ -25,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
|
||||
@@ -34,22 +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";
|
||||
@@ -71,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;
|
||||
};
|
||||
}
|
||||
@@ -17,7 +17,6 @@ in
|
||||
settings = {
|
||||
trusted-users = [ "@wheel" ];
|
||||
use-xdg-base-directories = true;
|
||||
auto-optimise-store = true;
|
||||
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
|
||||
@@ -15,6 +15,7 @@ in
|
||||
nixosModules.nix
|
||||
nixosModules.locale-nl
|
||||
nixosModules.sops-password
|
||||
nixosModules.helix
|
||||
];
|
||||
|
||||
home-manager = {
|
||||
|
||||
@@ -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