dotfiles/modules/common/shell/utilities.nix

72 lines
1.5 KiB
Nix
Raw Normal View History

{ config, pkgs, ... }:
2022-04-29 01:23:43 +00:00
let
ignorePatterns = ''
!.env*
!.github/
!.gitignore
!*.tfvars
.terraform/
.target/
/Library/'';
2022-04-29 01:23:43 +00:00
in {
2022-04-28 23:20:46 +00:00
2022-11-05 17:41:09 +00:00
config = {
2022-11-05 17:41:09 +00:00
home-manager.users.${config.user} = {
2022-11-05 17:41:09 +00:00
home.packages = with pkgs; [
age # Encryption
bc # Calculator
dig # DNS lookup
fd # find
htop # Show system processes
inetutils # Includes telnet, whois
jq # JSON manipulation
lf # File viewer
qrencode # Generate qr codes
2022-11-05 17:41:09 +00:00
rsync # Copy folders
ripgrep # grep
sd # sed
tealdeer # Cheatsheets
tree # View directory hierarchy
vimv-rs # Batch rename files
unzip # Extract zips
2022-11-05 17:41:09 +00:00
];
2022-05-06 13:29:25 +00:00
2022-11-05 17:41:09 +00:00
programs.zoxide.enable = true; # Shortcut jump command
2022-11-05 17:41:09 +00:00
home.file = {
".rgignore".text = ignorePatterns;
".fdignore".text = ignorePatterns;
".digrc".text = "+noall +answer"; # Cleaner dig commands
};
2022-04-30 14:21:43 +00:00
2022-11-05 17:41:09 +00:00
programs.bat = {
enable = true; # cat replacement
2023-06-24 21:15:20 +00:00
config = {
theme = config.theme.colors.batTheme;
pager = "less -R"; # Don't auto-exit if one screen
};
2022-04-30 14:21:43 +00:00
};
2022-11-05 17:41:09 +00:00
programs.fish.shellAbbrs = {
cat = "bat"; # Swap cat with bat
2022-04-30 14:21:43 +00:00
};
2022-11-05 17:41:09 +00:00
programs.fish.functions = {
ping = {
description = "Improved ping";
argumentNames = "target";
body = "${pkgs.prettyping}/bin/prettyping --nolegend $target";
};
};
2022-04-30 14:21:43 +00:00
};
2022-04-29 00:46:00 +00:00
};
2022-04-28 23:20:46 +00:00
}