71 lines
1.3 KiB
Nix
71 lines
1.3 KiB
Nix
{ pkgs, ... }:
|
|
|
|
let
|
|
pythonPkgs = with pkgs.python3Packages; [
|
|
python-lsp-server
|
|
python-lsp-ruff
|
|
];
|
|
nodePkgs = with pkgs.nodePackages; [
|
|
vscode-langservers-extracted
|
|
typescript
|
|
svelte-language-server
|
|
yaml-language-server
|
|
typescript-language-server
|
|
bash-language-server
|
|
];
|
|
in
|
|
{
|
|
home = {
|
|
sessionVariables = {
|
|
EDITOR = "hx";
|
|
VISUAL = "hx";
|
|
};
|
|
|
|
file.".config/helix/config.toml".text = ''
|
|
theme = "monokai_pro_spectrum"
|
|
|
|
[editor]
|
|
cursorline = true
|
|
true-color = true
|
|
gutters = ["diff", "diagnostics", "line-numbers", "spacer"]
|
|
|
|
[editor.cursor-shape]
|
|
insert = "bar"
|
|
normal = "block"
|
|
select = "underline"
|
|
|
|
[editor.lsp]
|
|
display-messages = true
|
|
|
|
[editor.indent-guides]
|
|
render = true
|
|
|
|
[editor.statusline]
|
|
left = ["mode", "spinner"]
|
|
center = ["file-name"]
|
|
'';
|
|
|
|
file.".config/helix/languages.toml".text = ''
|
|
[[language]]
|
|
name = "nix"
|
|
formatter = { command = "nixpkgs-fmt" }
|
|
|
|
[[language]]
|
|
name = "python"
|
|
formatter = { command = "black", args = [ "-" ] }
|
|
'';
|
|
|
|
packages = with pkgs.unstablePkgs; [
|
|
black
|
|
helix
|
|
clang-tools
|
|
rust-analyzer
|
|
nil
|
|
texlab
|
|
nixpkgs-fmt
|
|
ruff
|
|
shellcheck
|
|
] ++ pythonPkgs ++ nodePkgs;
|
|
};
|
|
}
|