inputs: { config, lib, pkgs, ... }: { imports = [ (import ./modules inputs) ]; home.packages = with pkgs; [ wget httpie git ripgrep lsd file unzip lm_sensors # for fish-done libnotify notify-desktop ]; programs.vim = { enable = true; extraConfig = '' set nocompatible set nocp set backspace=indent,eol,start ''; }; home.sessionVariables = { TERM = "xterm-256color"; }; programs.fish = { enable = true; shellAliases = { ls = "lsd"; l = "ls -l"; la = "ls -a"; lla = "ls -la"; lt = "ls --tree"; }; plugins = [ { name = "done"; src = inputs.done; } { name = "bobthefish"; src = inputs.bobthefish; } ]; shellInit = '' # Load nix shit on non-NixOS computers (yea yea laugh it up we all have legacy machines somewhere) if not set -q NIX_PATH set --prepend fish_function_path ${pkgs.fishPlugins.foreign-env}/share/fish/vendor_functions.d fenv source $HOME/.nix-profile/etc/profile.d/nix.sh set -e fish_function_path[1] end ''; interactiveShellInit = '' set TERM xterm-256color set -U __done_min_cmd_duration 2000 set -Ua fish_user_paths ~/.bin set -Ua fish_user_paths ~/.local/bin set -Ua fish_user_paths ~/.npm-global/bin set -Ua fish_user_paths ~/.cargo/bin set -U fish_key_bindings fish_default_key_bindings set -g theme_nerd_fonts yes set -g theme_display_date no eval (${pkgs.direnv}/bin/direnv hook fish) ''; }; }