mirror of
https://github.com/materusPL/nixos-config
synced 2026-07-02 12:46:42 +00:00
configurations: use home-manager module by default
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
{ inputs, materusFlake, ... }:
|
||||
let
|
||||
genHomes = import ./genHomes.nix { inherit inputs; inherit materusFlake; };
|
||||
in
|
||||
genHomes "materus"
|
||||
@@ -0,0 +1,58 @@
|
||||
{ inputs, materusFlake, ... }:
|
||||
let
|
||||
profiles = import ../profile;
|
||||
|
||||
hosts = builtins.attrNames materusFlake.nixosConfigurations;
|
||||
genHomes = username:
|
||||
let
|
||||
#Make host specific user profile "username@host"
|
||||
_list = builtins.map (host: username + "@" + host) hosts;
|
||||
_for = i: (
|
||||
let len = builtins.length hosts; in
|
||||
([{
|
||||
name = builtins.elemAt _list i;
|
||||
value = let host = builtins.elemAt hosts i; in
|
||||
materusFlake.nixosConfigurations.${host}.materusCfg.hm.lib.homeManagerConfiguration {
|
||||
pkgs = materusFlake.nixosConfigurations.${host}.pkgs;
|
||||
extraSpecialArgs = { materusCfg = materusFlake.nixosConfigurations.${host}.materusCfg // { isHm = true; }; };
|
||||
modules = [
|
||||
(materusFlake.selfPath + "/configurations/shared/home/${username}")
|
||||
(materusFlake.selfPath + "/configurations/host/${host}/home/${username}")
|
||||
profiles.homeProfile
|
||||
inputs.private.homeModule
|
||||
materusFlake.nixosConfigurations.${host}.materusCfg.configInputs.sops-nix.homeManagerModules.sops
|
||||
];
|
||||
};
|
||||
}]
|
||||
++ (if ((i + 1) < len) then _for (i + 1) else [ ]))
|
||||
);
|
||||
in
|
||||
(builtins.listToAttrs (_for 0)) // {
|
||||
#Make generic x86_64-linux user profile "username"
|
||||
${username} =
|
||||
let
|
||||
materusCfg = {
|
||||
stable = false;
|
||||
inherit materusFlake;
|
||||
host = "Generic";
|
||||
hm = inputs.configInputs.home-manager;
|
||||
hmAsModule = false;
|
||||
nixerus = inputs.configInputs.nixerus;
|
||||
configInputs = inputs.configInputs;
|
||||
path = materusFlake.selfPath;
|
||||
isHm = true;
|
||||
};
|
||||
in
|
||||
inputs.configInputs.home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import inputs.nixpkgs { system = "x86_64-linux"; config = { allowUnfree = true; }; };
|
||||
extraSpecialArgs = { inherit materusCfg; };
|
||||
modules = [
|
||||
./${username}
|
||||
profiles.homeProfile
|
||||
inputs.private.homeModule
|
||||
materusCfg.configInputs.sops-nix.homeManagerModules.sops
|
||||
];
|
||||
};
|
||||
};
|
||||
in
|
||||
genHomes
|
||||
@@ -0,0 +1,15 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
|
||||
home.username = "materus";
|
||||
home.packages = [ ];
|
||||
|
||||
programs.git.signing.key = lib.mkDefault "28D140BCA60B4FD1";
|
||||
programs.git.userEmail = lib.mkDefault "materus@podkos.pl";
|
||||
programs.git.userName = lib.mkDefault "materus";
|
||||
|
||||
home.stateVersion = lib.mkDefault "23.05";
|
||||
home.homeDirectory = lib.mkDefault "/home/materus";
|
||||
|
||||
programs.home-manager.enable = lib.mkDefault true;
|
||||
}
|
||||
Reference in New Issue
Block a user