{ lib, inputs, config, pkgs, ... }: with lib; let cfg = config.programs.atuin; in { options.terminal = { nixUpdateLocation = mkOption { type = types.str; }; flakeUpdateLocation = mkOption { type = types.str; }; }; config = { home.packages = with pkgs;[ blesh (nerdfonts.override { fonts = [ "SpaceMono" ]; }) ]; programs = { bash = { enable = true; bashrcExtra = '' source $(blesh-share)/ble.sh bleopt canvas_winch_action=redraw-prev ''; }; starship.enable = true; atuin.enable = true; zellij = { enable = true; enableBashIntegration = true; settings = { theme = "dracula"; }; }; direnv = { enable = true; enableBashIntegration = true; nix-direnv.enable = true; }; git = { enable = true; delta.enable = true; }; gitui = { enable = true; }; helix.enable = true; bat = { enable = true; }; eza = { enable = true; enableBashIntegration = true; git = true; extraOptions = [ "--color=auto" "--icons=always" "--group-directories-first" "--header" ]; }; bottom = { enable = true; }; fd = { enable = true; }; ripgrep = { enable = true; }; topgrade = { enable = true; settings = { misc = { assume_yes = true; }; linux = { nix_arguments = "--flake ${config.terminal.nixUpdateLocation}"; }; pre_commands = { nix-flake-update = "sudo nix flake update --flake ${config.terminal.flakeUpdateLocation}"; }; }; }; alacritty = { enable = true; settings = { font = { normal = { family = "SpaceMono Nerd Font"; style = "Regular"; }; size = 14; }; }; }; }; }; }