summaryrefslogtreecommitdiff
path: root/home/shell-utils/default.nix
blob: 8635cebda605871e01552649711ee483bfa5a45b (plain)
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
# This module adds some common shell utilities to my home managed environment.
{pkgs, ...}: let
  isLinux = pkgs.stdenv.isLinux;
  isDarwin = pkgs.stdenv.isDarwin;
in {
  home.packages = with pkgs;
    [
      human-sleep
      ripgrep
      jc
      jq
      nowrap
      echoargs
    ]
    ++ lib.optionals isLinux [
      file # File is not included in NixOS, but *is* included in Darwin.
    ]
    ++ lib.optionals isDarwin [
      pbv
      trash
      disable-sleep

      # Unlike the `stat` command on Linux (from coreutils or whatever), OSX's
      # `stat` does not automatically use the nicer format when stdout is a
      # sterminal.
      (pkgs.writeShellScriptBin "stat" ''
        if [ -t 1 ]; then
          /usr/bin/stat -x "$@"
        else
          /usr/bin/stat "$@"
        fi
      '')
    ];
}