user/settings/development/base.nix (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | { config
, pkgs
, ...
}:
{
imports = [ ../../modules/tabnine.nix ];
home.packages = with pkgs;
[
shellcheck
shfmt
dockerfile-language-server-nodejs
yaml-language-server
lua-language-server
taplo # toml
marksman
license-cli
just
mosh
curlHTTP3
xh
htmlq
jq
dasel
miller
watchexec
entr
litecli
skopeo
docker-credential-helpers
dive
] ++ (lib.optionals stdenv.isDarwin [
lima
colima
docker-client
]);
home.sessionVariables = {
FLY_NO_UPDATE_CHECK = "1";
MOSH_TITLE_NOPREFIX = "1";
LIMA_INSTANCE = "nixos";
};
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;
};
justfile = {
indent_style = "tab";
tab_width = 4;
};
Makefile = {
indent_style = "tab";
tab_width = 4;
};
};
};
home.shellAliases = {
j = "just";
er = "direnv reload";
ea = "direnv allow";
ex = "direnv exec";
es = "direnv status";
curl3 = "${pkgs.curlHTTP3}/bin/curl --http3";
};
programs.direnv = {
enable = true;
nix-direnv = {
enable = true;
};
config = {
global = {
disable_stdin = true;
load_dotenv = true;
strict_env = true;
hide_env_diff = true;
};
whitelist = {
prefix = with config.home; [
"${homeDirectory}/projects/alanpearce.eu"
];
};
};
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;
};
}
|