2023-07-26 21:46:31 +00:00
|
|
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
2023-07-23 18:44:51 +00:00
|
|
|
imports = [
|
2023-07-28 22:15:33 +00:00
|
|
|
../features/cli
|
|
|
|
] ++ (builtins.attrValues outputs.homeManagerModules);
|
|
|
|
|
|
|
|
nixpkgs = {
|
|
|
|
overlays = builtins.attrValues outputs.overlays;
|
|
|
|
config = {
|
|
|
|
allowUnfree = true;
|
|
|
|
allowUnfreePredicate = (_: true);
|
|
|
|
};
|
|
|
|
};
|
2023-07-23 18:44:51 +00:00
|
|
|
|
2023-07-28 22:15:33 +00:00
|
|
|
nix = {
|
|
|
|
package = lib.mkDefault pkgs.nix;
|
|
|
|
settings = {
|
|
|
|
experimental-features = ["nix-command" "flakes" "repl-flake" ];
|
|
|
|
warn-dirty = false;
|
|
|
|
};
|
2023-07-23 18:44:51 +00:00
|
|
|
};
|
|
|
|
|
2023-07-26 21:46:31 +00:00
|
|
|
home = {
|
2023-07-28 22:15:33 +00:00
|
|
|
username = lib.mkDefault "john";
|
2023-07-26 21:46:31 +00:00
|
|
|
homeDirectory = lib.mkDefault "/home/${config.home.username}";
|
|
|
|
stateVersion = lib.mkDefault "23.05";
|
2023-07-23 18:44:51 +00:00
|
|
|
|
2023-07-26 21:46:31 +00:00
|
|
|
sessionVariables = {
|
|
|
|
EDITOR = "vim";
|
2023-07-23 18:44:51 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-07-26 21:46:31 +00:00
|
|
|
programs = {
|
|
|
|
home-manager.enable = true;
|
|
|
|
|
2023-07-27 14:50:48 +00:00
|
|
|
direnv = {
|
|
|
|
enable = lib.mkDefault true;
|
|
|
|
nix-direnv.enable = true;
|
|
|
|
};
|
2023-07-26 21:46:31 +00:00
|
|
|
|
|
|
|
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)";
|
|
|
|
};
|
2023-07-23 18:44:51 +00:00
|
|
|
};
|
2023-07-26 21:46:31 +00:00
|
|
|
|
|
|
|
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;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2023-07-23 18:44:51 +00:00
|
|
|
};
|
2023-07-26 21:46:31 +00:00
|
|
|
|
|
|
|
targets.genericLinux.enable = true;
|
2023-07-23 18:44:51 +00:00
|
|
|
}
|