{ pkgs, config, lib, ... }: with lib; { options.components.terminal.bash.enable = mkOption { type = lib.types.bool; default = config.components.terminal.enable; }; config = mkIf (config.components.terminal.bash.enable) { programs.bash = { enable = true; enableCompletion = true; syntaxHighlighting.enable = true; interactiveShellInit = "set -o vi"; shellAliases = { ls = "ls --color=tty"; l = "ls -CFh"; la = "ls -Ah"; ll = "ls -lh"; lt = "ls -lct --reverse"; less = "less -S"; top = "htop"; version = "date '+%Y%m%d%H%M%S'"; vclip = "xclip -selection clipboard"; df = "df -h"; timestamp = "date +%Y%m%d%H%M%S"; nix-show-garbadge-roots = "ls -lh /nix/var/nix/gcroots/auto/"; }; }; }; }