49 lines
1.1 KiB
Nix
49 lines
1.1 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
|
|
|
|
nixpkgs-fmt # nix formatter
|
|
nil # nix lsp server
|
|
|
|
docker-compose
|
|
];
|
|
}
|