{
config,
pkgs,
...
}:
{
home.packages = with pkgs; [
shellcheck
shfmt
dockerfile-language-server
yaml-language-server
lua-language-server
taplo # toml
marksman
tokei
just
just-lsp
remake
curlHTTP3
xh
htmlq
jq
watchexec
entr
personal.projectdo
litecli
];
home.sessionVariables = {
FLY_NO_UPDATE_CHECK = "1";
};
programs.emacs.extraPackages =
epkgs:
(with epkgs; [
(treesit-grammars.with-grammars (
grammars: with grammars; [
tree-sitter-bash
tree-sitter-fish
tree-sitter-just
tree-sitter-make
tree-sitter-dockerfile
tree-sitter-sql
]
))
]);
programs.nixvim.plugins = {
lsp.servers = {
bashls.enable = true;
fish_lsp.enable = true;
taplo.enable = true;
docker_compose_language_service.enable = true;
dockerls.enable = true;
};
};
programs.zed-editor.extensions = [
"toml"
"git-firefly"
"dockerfile"
"make"
"sql"
"nix"
"basher"
"env"
"ini"
"fish"
"just"
"elisp"
"ssh-config"
"caddyfile"
"awk"
];
editorconfig = {
enable = true;
settings = {
"*" = {
charset = "utf-8";
end_of_line = "lf";
trim_trailing_whitespace = true;
insert_final_newline = true;
indent_style = "space";
indent_size = 2;
tab_width = 2;
};
"*.fish" = {
indent_size = 4;
};
"*.md" = {
trim_trailing_whitespace = false;
};
justfile = {
indent_style = "tab";
};
Makefile = {
indent_style = "tab";
tab_width = 4;
};
};
};
programs.fish.shellAbbrs = {
b = {
function = "projectdo_build";
};
r = {
function = "projectdo_run";
};
t = {
function = "projectdo_test";
};
p = {
function = "projectdo_tool";
};
ciq = "laminarc queue $(basename $PWD) ref=refs/heads/$(git branch --show-current) rev=$(git rev-parse @)";
};
home.shellAliases = {
j = "just";
make = "remake";
er = "direnv reload";
ea = "direnv allow";
ex = "direnv exec";
es = "direnv status";
laminarc = "ssh linde laminarc";
};
programs.direnv = {
enable = true;
nix-direnv = {
enable = true;
};
config = {
global = {
disable_stdin = true;
load_dotenv = true;
strict_env = false;
hide_env_diff = true;
};
whitelist = {
prefix = with config.home; [
"${homeDirectory}/projects/alin.ovh"
"${homeDirectory}/projects/github.com/alanpearce"
"${homeDirectory}/projects/codeberg.org/alanpearce"
];
};
};
stdlib = ''
declare -A direnv_layout_dirs
direnv_layout_dir() {
echo "''${direnv_layout_dirs[$PWD]:=$(
local hash="$(${pkgs.coreutils}/bin/sha256sum - <<<"''${PWD}" | cut -c-7)"
local path="''${PWD//[^a-zA-Z0-9]/-}"
echo "${config.xdg.cacheHome}/direnv/layouts/''${hash}''${path}"
)}"
}
'';
};
services.lorri = {
enable = pkgs.stdenv.isLinux;
};
}
user/settings/development/base.nix (view raw)