104 lines
2.3 KiB
Nix
104 lines
2.3 KiB
Nix
{ 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
|
|
tmux
|
|
kitty
|
|
nodePackages.pyright
|
|
coreutils
|
|
zstd
|
|
fira-code
|
|
];
|
|
|
|
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 ];
|
|
|
|
fonts.fontconfig.enable = true;
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
aliases = {
|
|
lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit";
|
|
};
|
|
extraConfig = {
|
|
user.name = "Tim McCarthy";
|
|
user.email = "thoomfish@gmail.com";
|
|
color.ui = true;
|
|
init.defaultBranch = "main";
|
|
push.default = "simple";
|
|
pull.rebase = true;
|
|
transfer.fsckobjects = true;
|
|
credential.helper = "store";
|
|
};
|
|
|
|
ignores = [
|
|
".DS_Store"
|
|
".projectile"
|
|
".idea"
|
|
"*.sw?"
|
|
"*.pyc"
|
|
".#*"
|
|
".nrepl-port"
|
|
".rebel_readline_history"
|
|
".auctex-auto"
|
|
"*.synctex.gz"
|
|
".ccls-cache"
|
|
".lein-repl-history"
|
|
"ompile_commands.json"
|
|
"*.egg-info"
|
|
".envrc"
|
|
".vscode"
|
|
".direnv"
|
|
".ipynb_checkpoints"
|
|
"nfer-out"
|
|
".cache"
|
|
];
|
|
|
|
includes = [
|
|
{
|
|
condition = "gitdir/i:~/SRI/";
|
|
contents.user.email = "tim.mccarthy@sri.com";
|
|
}
|
|
];
|
|
};
|
|
}
|