{ config, lib, pkgs, inputs, ... }: { # Let Home Manager install and manage itself. programs.home-manager.enable = true; imports = [ ./packages-minimal.nix ]; home.keyboard.options = [ "caps:escape" ]; programs.bash = { enable = true; historyControl = [ "ignoredups" "ignorespace" ]; historyFileSize = 10000; # set shell prompt & tty for the gnu pinentry (otherwise gnupg will crash) initExtra = '' export GPG_TTY=`tty` # this shouldn't be necessary, but apparently nix is broken ... NIX_PATH=$HOME/.nix-defexpr/channels''${NIX_PATH:+:}$NIX_PATH PS1='\[\033[1;36m\] >>> [\j|\u@\w]\$: \[\033[00m\]' ''; shellAliases = { ll = "ls -slF"; }; }; programs.starship = { enable = true; enableBashIntegration = true; enableFishIntegration = true; settings = { directory.truncation_length = 10; }; }; programs.fish = { enable = true; shellAliases = { nix-shell = "nix-shell --command fish"; le = "exa"; ll = "exa -lh --icons"; llt = "exa -lh --tree --icons"; lt = "exa --tree --icons"; }; functions = { fish_greeting = { body = ""; }; }; }; programs.bat = { enable = true; config.wrap = "never"; }; programs.git = { enable = true; package = pkgs.gitAndTools.gitFull; userEmail = "stuebinm@disroot.org"; userName = "stuebinm"; signing = { # signByDefault = true; key = "0x8FBE8AAD32FA12B7"; }; extraConfig = { log.showSignature = true; init.defaultBranch = "main"; }; # diff-so-fancy.enable = true; difftastic.enable = true; delta = { enable = false; options = { decorations = { commit-decoration-style = "bold yellow"; file-decoration-style = "bold blue"; file-style = "bold yellow"; }; features = "decorations line-numbers navigate"; whitespace-error-style = "22 reverse"; }; }; }; programs.htop = { package = pkgs.htop-vim; enable = true; settings = { fields = "0 48 17 18 38 46 47 49 1"; sort_key = 46; sort_direction = -1; hide_kernel_threads = 1; hide_userland_threads = 0; shadow_other_users = 1; show_program_path = 0; highlight_base_name = 1; find_comm_in_cmdline = 1; header_margin = 1; show_cpu_usage = 1; color_scheme = 5; enable_mouse = 1; delay = 15; header_layout = "two_67_33"; column_meters_0 = "AllCPUs Memory Swap"; column_meter_modes_0 = "1 1 1"; column_meters_1 = "Tasks LoadAverage Uptime NetworkIO"; column_meter_modes_1 = "2 2 2 2"; }; }; }