mirror of
https://github.com/alyraffauf/nixcfg.git
synced 2024-11-22 23:23:55 -05:00
Aly Raffauf
60ef58ba65
Some checks are pending
flakehub / flakehub-publish (push) Waiting to run
git-mirror / gitlab-sync (push) Waiting to run
nix-build / default-build (push) Waiting to run
nix-build / fallarbor-build (push) Waiting to run
nix-build / lavaridge-build (push) Waiting to run
nix-build / mauville-build (push) Waiting to run
nix-build / petalburg-build (push) Waiting to run
nix-build / rustboro-build (push) Waiting to run
nix-check / fmt-check (push) Waiting to run
nix-check / eval-check (push) Waiting to run
100 lines
2.4 KiB
Nix
100 lines
2.4 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
config = lib.mkIf config.ar.home.apps.helix.enable {
|
|
programs.helix = {
|
|
enable = true;
|
|
|
|
languages = {
|
|
language-server = {
|
|
rust-analyzer.config = {
|
|
checkOnSave.command = "clippy";
|
|
cargo.features = "all";
|
|
cargo.unsetTest = [];
|
|
};
|
|
|
|
pyright = {
|
|
command = "${pkgs.pyright}/bin/pyright-langserver";
|
|
args = ["--stdio"];
|
|
config = {};
|
|
};
|
|
|
|
nil.command = "${pkgs.nil}/bin/nil";
|
|
|
|
bash-language-server = {
|
|
command = "${pkgs.nodePackages.bash-language-server}/bin/bash-language-server";
|
|
args = ["start"];
|
|
};
|
|
|
|
haskell = {
|
|
command = "${pkgs.haskell-language-server}/bin/haskell-language-server-wrapper";
|
|
args = ["lsp"];
|
|
};
|
|
};
|
|
|
|
language = [
|
|
{
|
|
name = "python";
|
|
auto-format = true;
|
|
language-servers = [{name = "pyright";}];
|
|
formatter = {
|
|
command = "/bin/sh";
|
|
args = ["-c" "${pkgs.isort}/bin/isort - | ${pkgs.black}/bin/black -q -l 120 -C -"];
|
|
};
|
|
}
|
|
{
|
|
name = "nix";
|
|
auto-format = true;
|
|
language-servers = [{name = "nil";}];
|
|
formatter.command = "${pkgs.alejandra}/bin/alejandra";
|
|
}
|
|
{
|
|
name = "bash";
|
|
auto-format = true;
|
|
}
|
|
{
|
|
name = "haskell";
|
|
auto-format = true;
|
|
language-servers = [{name = "haskell";}];
|
|
formatter = {
|
|
command = "${pkgs.ormolu}/bin/ormolu";
|
|
args = ["--no-cabal"];
|
|
};
|
|
}
|
|
];
|
|
};
|
|
|
|
settings = {
|
|
theme = "adwaita-dark";
|
|
editor = {
|
|
color-modes = true;
|
|
cursorline = true;
|
|
|
|
cursor-shape = {
|
|
insert = "bar";
|
|
normal = "block";
|
|
select = "underline";
|
|
};
|
|
|
|
indent-guides.render = true;
|
|
|
|
lsp = {
|
|
display-inlay-hints = true;
|
|
display-messages = true;
|
|
};
|
|
|
|
statusline.center = ["position-percentage"];
|
|
true-color = true;
|
|
whitespace.characters = {
|
|
newline = "↴";
|
|
tab = "⇥";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|