{ config, pkgs, lib, ... }: { home.username = "ttm"; home.homeDirectory = if lib.strings.hasInfix "darwin" pkgs.system then /Users/ttm else /home/ttm; home.stateVersion = "22.05"; # Let Home Manager install and manage itself. programs.home-manager.enable = true; # Enable integration with generic Linux OSs targets.genericLinux.enable = pkgs.stdenv.isLinux; home.packages = with pkgs; [ # Defined in Xonsh overlay xonsh_with_plugins # Jump to directories zoxide # Better cat bat # Better find fd # Better df duf htop fzf ncdu ripgrep git tmux kitty nodePackages.pyright coreutils zstd ]; programs.direnv.enable = true; programs.direnv.nix-direnv.enable = true; programs.direnv.stdlib = '' # From https://github.com/direnv/direnv/wiki/Customizing-cache-location : ''${XDG_CACHE_HOME:=$HOME/.cache} declare -A direnv_layout_dirs direnv_layout_dir() { echo "''${direnv_layout_dirs[$PWD]:=$( local path="''${PWD//[^a-zA-Z0-9]/-}" echo "$XDG_CACHE_HOME/direnv/layouts/''${path:1}" )}" } ''; programs.emacs.enable = true; programs.emacs.package = pkgs.emacs28NativeComp; programs.emacs.extraPackages = epkgs: [ epkgs.vterm ]; }