51 lines
1.7 KiB
Nix
Executable file
51 lines
1.7 KiB
Nix
Executable file
{ inputs, system, secrets, config, lib, ... }:
|
|
{
|
|
imports = [ ./meta.nix ];
|
|
|
|
config = {
|
|
home-manager = let
|
|
entrypoint = {
|
|
imports = [
|
|
# Import meta options for configuring the configuration
|
|
./meta.nix
|
|
# Import all of my config
|
|
./config
|
|
];
|
|
|
|
home.stateVersion = "24.05";
|
|
|
|
# Inherit my home manager config options
|
|
meta.home-manager = config.meta.home-manager;
|
|
};
|
|
in lib.mkMerge [
|
|
## General home-manager.* options
|
|
{
|
|
# Allow user installation of packages
|
|
useGlobalPkgs = true;
|
|
useUserPackages = true;
|
|
sharedModules = [
|
|
# Import plasma manager and all of my custom modules for use
|
|
inputs.plasma-manager.homeManagerModules.plasma-manager
|
|
inputs.flatpaks.homeManagerModules.declarative-flatpak
|
|
./modules
|
|
];
|
|
# Inherit all of my nixos config custom arguments
|
|
extraSpecialArgs = {
|
|
inherit inputs system secrets;
|
|
};
|
|
|
|
# Hopefully avoid file conflicts
|
|
backupFileExtension = "bak";
|
|
}
|
|
|
|
# The nixos home-manager module and the nix-on-droid compatibility have different options,
|
|
# so this handles both in the same file
|
|
|
|
(if (config.meta.home-manager.interface == "nixos") then {
|
|
users.ty = entrypoint;
|
|
} else {
|
|
config = entrypoint;
|
|
})
|
|
];
|
|
};
|
|
}
|