config/modules/home-manager.nix

82 lines
2 KiB
Nix

# This contains default configurations for set of programs
# and configuration, but does not enable many things on it's own.
{
pkgs,
lib,
config,
user,
host,
mainHomeImports,
...
}: let
cfg = config.programs;
in {
imports = mainHomeImports;
programs = {
home-manager.enable = true;
nix-index.enable = true;
direnv = {
enableZshIntegration = true;
nix-direnv.enable = config.programs.direnv.enable;
};
git = {
enable = true;
userName = lib.mkDefault user.name;
userEmail = lib.mkDefault user.email;
ignores = [
(lib.mkIf host.darwin ".DS_Store") # When using Finder
(lib.mkIf host.darwin "._*") # When using non-APFS drives
# ViM and Neovim
".*.swp"
".nvimlog"
];
};
atuin = {
enableBashIntegration = true;
enableFishIntegration = true;
daemon.enable = cfg.atuin.enable;
};
bat = {
extraPackages = with pkgs.bat-extras; [batdiff batman batgrep batwatch batpipe prettybat];
};
hyfetch = {
settings = {
backend = "fastfetch";
preset = user.sexuality;
mode = "rgb";
light_dark = "dark";
lightness = {
};
color_align = {
mode = "horizontal";
};
};
};
fastfetch.enable = cfg.hyfetch.enable;
fish = {
plugins = [
{
name = "tide";
inherit (pkgs.fishPlugins.tide) src;
}
{
name = "!!";
inherit (pkgs.fishPlugins.bang-bang) src;
}
];
shellAliases =
{}
// lib.optionalAttrs (!host.darwin) {
reboot-windows = "sudo efibootmgr --bootnext 0000; sudo reboot -h now";
};
shellInit = ''
batman --export-env | source
'';
##test -r '/Users/${user.username}/.opam/opam-init/init.fish' && source '/Users/${user.username}/.opam/opam-init/init.fish' > /dev/null 2> /dev/null; or true
};
};
}