{ config, lib, pkgs, ... }: let unstable = (builtins.getFlake "nixpkgs/382f738a0dab4950bb35d6005c6bca18c876a4d4").legacyPackages.aarch64-linux; in { # Read the changelog before changing this value home.stateVersion = "24.05"; programs.fish = { enable = true; package = unstable.fish; plugins = [ { name = "Hydro"; src = pkgs.fetchFromGitHub { owner = "jethrokuan"; repo = "hydro"; rev = "75ab7168a35358b3d08eeefad4ff0dd306bd80d4"; sha256 = "0cd6fa6g0jdjdsxgy5qja2jx180s26v5hcs71npj5zim9sqvi2j1"; }; } ]; functions = { kubectl = { body = "command kubecolor $argv"; wraps = "kubectl"; }; k = { body = "command kubecolor $argv"; wraps = "kubectl"; }; kubecolor = { body = "command kubecolor $argv"; wraps = "kubectl"; }; }; shellAliases = { vi = "hx"; }; shellInit= '' export EDITOR=hx ''; }; programs.htop = { enable = true; settings = { hide_userland_threads = 1; highlight_base_name = 1; show_program_path = 0; tree_sort_direction = -1; tree_view = 1; update_process_names = 1; }; }; programs.tmux = { enable = true; terminal = "screen-256color"; extraConfig = '' bind-key j command-prompt -p "Join pane:" "join-pane -s '%%'" bind-key p display-popup -h 75% -w 75% -E "tmux new-session -A -s scratch" ''; }; }