{ config, pkgs, lib, ... }: with lib; let xterm-colors = pkgs.writeShellScriptBin "256-xterm-colors" # sh '' for i in {0..255} ; do printf "\x1b[38;5;%sm%3d\e[0m " "$i" "$i" if (( i == 15 )) || (( i > 15 )) && (( (i-15) % 6 == 0 )); then printf "\n"; fi done ''; xterm-background-colors = pkgs.writeShellScriptBin "256-xterm-colors-background" # sh '' for i in {0..255} ; do printf "\x1b[48;5;%sm%3d\e[0m " "$i" "$i" if (( i == 15 )) || (( i > 15 )) && (( (i-15) % 6 == 0 )); then printf "\n"; fi done ''; cfg = config.programs.custom.shellTools; in { options.programs.custom.shellTools.enable = mkEnableOption "enable shell tools"; config = mkIf cfg.enable { environment.systemPackages = [ xterm-colors xterm-background-colors ]; }; }