summaryrefslogtreecommitdiff
path: root/home/shell-utils/default.nix
blob: f9ab43535506712efd7a3e28853aca7e921e6d80 (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
# 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
    ]
    ++ 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
      '')
    ];
}