dotfiles/nix/home/global/default.nix

63 lines
1.4 KiB
Nix

{ inputs, outputs, lib, config, pkgs, ... }: {
imports = [
../features/cli
] ++ (builtins.attrValues outputs.homeManagerModules);
nixpkgs = {
overlays = builtins.attrValues outputs.overlays;
config = {
allowUnfree = true;
allowUnfreePredicate = (_: true);
};
};
nix = {
package = lib.mkDefault pkgs.nix;
settings = {
experimental-features = ["nix-command" "flakes" "repl-flake" ];
warn-dirty = false;
};
};
home = {
username = lib.mkDefault "john";
homeDirectory = lib.mkDefault "/home/${config.home.username}";
stateVersion = lib.mkDefault "23.05";
sessionVariables = {
EDITOR = "vim";
};
};
programs = {
home-manager.enable = true;
direnv = {
enable = lib.mkDefault true;
nix-direnv.enable = true;
};
fish = {
enable = true;
shellInit = "source ${config.home.homeDirectory}/.nix-profile/etc/profile.d/nix.fish";
functions = {
switch-home = "home-manager switch -b backup --flake ${config.home.homeDirectory}/.dotfiles#$USER@$(hostname -s)";
};
};
git = {
enable = lib.mkDefault true;
delta.enable = true;
userEmail = lib.mkDefault "john@bowdre.net";
userName = lib.mkDefault "John Bowdre";
extraConfig = {
init.defaultBranch = "main";
pull.rebase = false;
};
};
};
targets.genericLinux.enable = true;
}