blob: 35ea7c3695bf20f33bb8a73f3ae91954c991d688 [file] [log] [blame]
Skyler Grey252927a2022-10-18 22:18:15 +01001{ pkgs, ... }: {
Skyler Grey7418e822022-09-01 23:57:06 +01002 # Basic shell scripting utilities, they don't deserve their own file but I use
3 # them
Skyler Grey341ba3c2022-10-31 00:09:34 +00004 config = {
5 environment.systemPackages = with pkgs; [
6 jq
7 bc
8 (sd.overrideAttrs (oldAttrs: {
9 postInstall = ''
10 mv $out/bin/sd $out/bin/s
11 '';
12 }))
13 lnav
14 dogdns
15 iproute2
16 xcp
17 fd
18 procs
19 grex
Skyler Greycb2e9482022-10-31 00:15:16 +000020 btop
21 rustscan
Skyler Grey5385f042022-10-31 00:24:37 +000022 gping
Skyler Grey341ba3c2022-10-31 00:09:34 +000023 ];
Skyler Grey341ba3c2022-10-31 00:09:34 +000024 };
Skyler Grey59e2ebe2022-09-04 19:14:20 +010025
26 home = {
27 programs = {
28 exa.enable = true;
29 bat.enable = true;
30 zsh.initExtra = ''
Skyler Grey1010db92022-09-05 03:21:48 +010031 function ls {
32 if [ -t 1 ] ; then
33 ${pkgs.exa}/bin/exa --icons -lghF --git --group-directories-first --color always "$@" | less --quit-if-one-screen
34 else
35 ${pkgs.coreutils}/bin/ls "$@"
36 fi
37 }
38 unalias ls
Skyler Grey59e2ebe2022-09-04 19:14:20 +010039 '';
40 };
41 home.shellAliases = {
42 cat = "${pkgs.bat}/bin/bat --wrap never --pager \"less -+S\"";
Skyler Grey341ba3c2022-10-31 00:09:34 +000043 dig = "${pkgs.dogdns}/bin/dog";
44 ip = "${pkgs.iproute2}/bin/ip -c --brief";
45 ipo = "${pkgs.iproute2}/bin/ip";
Skyler Grey341ba3c2022-10-31 00:09:34 +000046 cp = "${pkgs.xcp}/bin/xcp";
47 cpo = "${pkgs.coreutils}/bin/cp";
48 ps = "${pkgs.procs}/bin/procs";
Skyler Greycb2e9482022-10-31 00:15:16 +000049 htop = "${pkgs.btop}/bin/btop";
Skyler Grey59e2ebe2022-09-04 19:14:20 +010050 };
51 };
Skyler Grey7418e822022-09-01 23:57:06 +010052}