feat: add some stuff that is useful for elixir

This commit is contained in:
Teesh 2026-02-17 16:15:01 +02:00
parent 47a59616fd
commit 99a6121348
4 changed files with 118 additions and 10 deletions

View file

@ -2,7 +2,7 @@
flake.modules.nixos.base = {pkgs, ...}: {
environment.systemPackages = [pkgs.eza];
environment.shellAliases = {
"eza" = "${pkgs.eza}/bin/eza -lah --sort=type --icons=auto";
"eza" = "${pkgs.eza}/bin/eza -lah --sort=type --icons=auto --git-ignore";
"ls" = "${pkgs.eza}/bin/eza";
};
};

View file

@ -6,7 +6,10 @@
programs.neovim.defaultEditor = true;
};
flake.modules.homeManager.base = {pkgs, ...}: {
flake.modules.homeManager.base = {pkgs, ...}: let
system = pkgs.stdenv.hostPlatform.system;
expert = inputs.expert.packages.${system}.expert;
in {
imports = [inputs.lazyvim.homeManagerModules.default];
programs.neovim.enable = true;
@ -14,11 +17,13 @@
programs.lazyvim = {
enable = true;
extraPackages = with pkgs; [
nixd
alejandra
statix
];
extraPackages = with pkgs;
[
nixd
alejandra
statix
]
++ [expert];
plugins.catppuccin = ''
return { "LazyVim/LazyVim", opts = { colorscheme = "catppuccin" } }
'';
@ -72,6 +77,18 @@
}
}
'';
plugins.elixir = ''
return {
{
"neovim/nvim-lspconfig",
opts = {
servers = {
expert = {},
},
},
},
}
'';
extras = {
lang.nix = {
enable = true;
@ -108,6 +125,13 @@
installDependencies = true;
};
lang.elixir.enable = true;
lang.elixir.installDependencies = true;
lang.gleam.enable = true;
lang.gleam.installDependencies = true;
lang.erlang.enable = true;
lang.erlang.installDependencies = true;
# only reason we don't add `pkgs.claude-code` to base is because base is meant to be things for servers,
# we do need neovim on the server but we don't need a clanker on there too!
#