83 lines
2 KiB
Nix
83 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
|
||
|
};
|
||
|
};
|
||
|
}
|