system/home/modules/dev_tools.nix

54 lines
1.3 KiB
Nix

{ config, lib, pkgs, ... }:
let
exaPackage = pkgs.exa.override { gitSupport = false; };
in
{
programs.exa = {
enable = true;
package = exaPackage;
};
programs.zsh.shellAliases =
let
defaultArgs = "--icons --classify --group-directories-first --all";
bin = "${exaPackage}/bin/exa ${defaultArgs}";
in
lib.mkIf config.programs.zsh.enable {
ls = "${bin} --oneline";
lt = "${bin} --tree --level=3";
ll = "${bin} --long --header";
};
programs.direnv = {
enable = true;
nix-direnv.enable = true;
};
programs.zoxide = {
enable = true;
enableZshIntegration = config.programs.zsh.enable;
};
home.packages = with pkgs; [
# tools
xh # friendly and fast tool for sending HTTP requests
fd # a simple, fast and user-friendly alternative to find
bat # a cat clone with syntax highlighting and git integration
ripgrep # a fuzzy finder
vnetod # a tool to change env sections
d2 # text to diagram
wd2 # my wrapper for d2
gnumake
libnotify # tool to send notifications via cli
# TODO: Uncomment when https://github.com/tweag/FawltyDeps/pull/272 is merged
# fawltydeps # Python dependency checker
deno
nickel
nixpkgs-fmt # nix formatter
nil # nix lsp server
docker-compose
];
}