5 changed files with 168 additions and 0 deletions
@ -0,0 +1,2 @@ |
|||||
|
use flake . --show-trace |
||||
|
dotenv_if_exists .env |
@ -0,0 +1,56 @@ |
|||||
|
[language-server] |
||||
|
nil = { command = "nil" } |
||||
|
taplo = { command = "taplo", args = ["lsp", "stdio"] } |
||||
|
yaml-language-server = { command = "yaml-language-server", args = ["--stdio"] } |
||||
|
marksman = { command = "marksman", args = ["server"] } |
||||
|
vscode-json-language-server = { command = "vscode-json-language-server", args = [ |
||||
|
"--stdio", |
||||
|
], config = { json = { validate = { enable = true } } } } |
||||
|
|
||||
|
[language-server.rust-analyzer] |
||||
|
command = "rust-analyzer" |
||||
|
|
||||
|
[language-server.rust-analyzer.config] |
||||
|
inlayHints.bindingModeHints.enable = false |
||||
|
inlayHints.closingBraceHints.minLines = 10 |
||||
|
inlayHints.closureReturnTypeHints.enable = "with_block" |
||||
|
inlayHints.discriminantHints.enable = "fieldless" |
||||
|
inlayHints.lifetimeElisionHints.enable = "skip_trivial" |
||||
|
inlayHints.typeHints.hideClosureInitialization = false |
||||
|
procMacro.enable = true |
||||
|
cargo.features = "all" |
||||
|
check.features = "all" |
||||
|
|
||||
|
[[language]] |
||||
|
name = "nix" |
||||
|
auto-format = true |
||||
|
formatter = { command = "nixpkgs-fmt" } |
||||
|
language-servers = ["nil"] |
||||
|
|
||||
|
[[language]] |
||||
|
name = "toml" |
||||
|
auto-format = true |
||||
|
language-servers = ["taplo"] |
||||
|
|
||||
|
[[language]] |
||||
|
name = "yaml" |
||||
|
auto-format = true |
||||
|
formatter = { command = "prettier", args = ["--parser", "yaml"] } |
||||
|
language-servers = ["yaml-language-server"] |
||||
|
|
||||
|
[[language]] |
||||
|
name = "json" |
||||
|
auto-format = true |
||||
|
formatter = { command = "prettier", args = ["--parser", "json"] } |
||||
|
language-servers = ["vscode-json-language-server"] |
||||
|
|
||||
|
[[language]] |
||||
|
name = "markdown" |
||||
|
auto-format = true |
||||
|
formatter = { command = "prettier", args = ["--parser", "markdown"] } |
||||
|
language-servers = ["marksman"] |
||||
|
|
||||
|
[[language]] |
||||
|
name = "rust" |
||||
|
auto-format = true |
||||
|
language-servers = ["rust-analyzer"] |
@ -0,0 +1,60 @@ |
|||||
|
{ |
||||
|
"nodes": { |
||||
|
"nixpkgs": { |
||||
|
"locked": { |
||||
|
"lastModified": 1757746433, |
||||
|
"narHash": "sha256-fEvTiU4s9lWgW7mYEU/1QUPirgkn+odUBTaindgiziY=", |
||||
|
"owner": "NixOS", |
||||
|
"repo": "nixpkgs", |
||||
|
"rev": "6d7ec06d6868ac6d94c371458fc2391ded9ff13d", |
||||
|
"type": "github" |
||||
|
}, |
||||
|
"original": { |
||||
|
"id": "nixpkgs", |
||||
|
"ref": "nixpkgs-unstable", |
||||
|
"type": "indirect" |
||||
|
} |
||||
|
}, |
||||
|
"root": { |
||||
|
"inputs": { |
||||
|
"nixpkgs": "nixpkgs", |
||||
|
"utils": "utils" |
||||
|
} |
||||
|
}, |
||||
|
"systems": { |
||||
|
"locked": { |
||||
|
"lastModified": 1681028828, |
||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", |
||||
|
"owner": "nix-systems", |
||||
|
"repo": "default", |
||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", |
||||
|
"type": "github" |
||||
|
}, |
||||
|
"original": { |
||||
|
"owner": "nix-systems", |
||||
|
"repo": "default", |
||||
|
"type": "github" |
||||
|
} |
||||
|
}, |
||||
|
"utils": { |
||||
|
"inputs": { |
||||
|
"systems": "systems" |
||||
|
}, |
||||
|
"locked": { |
||||
|
"lastModified": 1731533236, |
||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", |
||||
|
"owner": "numtide", |
||||
|
"repo": "flake-utils", |
||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", |
||||
|
"type": "github" |
||||
|
}, |
||||
|
"original": { |
||||
|
"owner": "numtide", |
||||
|
"repo": "flake-utils", |
||||
|
"type": "github" |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
"root": "root", |
||||
|
"version": 7 |
||||
|
} |
@ -0,0 +1,47 @@ |
|||||
|
{ |
||||
|
inputs = { |
||||
|
nixpkgs.url = "nixpkgs/nixpkgs-unstable"; |
||||
|
utils.url = "github:numtide/flake-utils"; |
||||
|
}; |
||||
|
|
||||
|
outputs = |
||||
|
{ |
||||
|
self, |
||||
|
nixpkgs, |
||||
|
utils, |
||||
|
}: |
||||
|
utils.lib.eachDefaultSystem ( |
||||
|
system: |
||||
|
let |
||||
|
pkgs = import nixpkgs.outPath { |
||||
|
inherit system; |
||||
|
}; |
||||
|
in |
||||
|
{ |
||||
|
devShells.default = pkgs.mkShell { |
||||
|
RUST_BACKTRACE = "full"; |
||||
|
|
||||
|
buildInputs = with pkgs; [ |
||||
|
git |
||||
|
|
||||
|
nil |
||||
|
nixfmt-rfc-style |
||||
|
|
||||
|
rustc |
||||
|
cargo |
||||
|
clippy |
||||
|
rustfmt |
||||
|
rust-analyzer |
||||
|
|
||||
|
nodePackages.prettier |
||||
|
nodePackages.yaml-language-server |
||||
|
nodePackages.vscode-langservers-extracted |
||||
|
markdownlint-cli |
||||
|
nodePackages.markdown-link-check |
||||
|
marksman |
||||
|
taplo |
||||
|
]; |
||||
|
}; |
||||
|
} |
||||
|
); |
||||
|
} |
Loading…
Reference in new issue