home: add helix config
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

This commit is contained in:
Aly Raffauf 2024-07-24 09:26:00 -04:00
parent ccb1d93591
commit 60ef58ba65
4 changed files with 102 additions and 0 deletions

View file

@ -8,6 +8,7 @@
./fastfetch ./fastfetch
./firefox ./firefox
./fuzzel ./fuzzel
./helix
./kitty ./kitty
./keepassxc ./keepassxc
./librewolf ./librewolf

View file

@ -0,0 +1,99 @@
{
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 = "";
};
};
};
};
};
}

View file

@ -38,6 +38,7 @@ in {
fastfetch.enable = lib.mkEnableOption "Fastfetch."; fastfetch.enable = lib.mkEnableOption "Fastfetch.";
firefox.enable = lib.mkEnableOption "Firefox web browser."; firefox.enable = lib.mkEnableOption "Firefox web browser.";
fuzzel.enable = lib.mkEnableOption "Fuzzel app launcher."; fuzzel.enable = lib.mkEnableOption "Fuzzel app launcher.";
helix.enable = lib.mkEnableOption "Helix text editor.";
keepassxc = { keepassxc = {
enable = lib.mkEnableOption "KeePassXC password manager."; enable = lib.mkEnableOption "KeePassXC password manager.";

View file

@ -91,6 +91,7 @@ in {
chromium.enable = true; chromium.enable = true;
fastfetch.enable = true; fastfetch.enable = true;
firefox.enable = true; firefox.enable = true;
helix.enable = true;
keepassxc.enable = true; keepassxc.enable = true;
kitty.enable = true; kitty.enable = true;
tmux.enable = true; tmux.enable = true;