mirror of
https://codeberg.org/leana8959/.files.git
synced 2025-12-06 14:49:14 +00:00
nix: expose modular configuration combinators
This commit is contained in:
parent
61678660ff
commit
457d196041
3 changed files with 85 additions and 63 deletions
|
|
@ -1,11 +1,68 @@
|
|||
{
|
||||
mkDarwins,
|
||||
mkHomeManagers,
|
||||
mkNixOSes,
|
||||
self,
|
||||
inputs,
|
||||
many,
|
||||
mkDarwin,
|
||||
mkHomeManager,
|
||||
mkNixOS,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
nixpkgsRegistry = {
|
||||
# https://yusef.napora.org/blog/pinning-nixpkgs-flake/
|
||||
# Has to be done here because hm-modules don't have access to flake inputs
|
||||
nix.registry.nixpkgs.flake = inputs.nixpkgs;
|
||||
};
|
||||
|
||||
mkNixOSes = many (
|
||||
mkNixOS
|
||||
(name: _: [
|
||||
self.nixosModules._
|
||||
self.nixosModules.layouts
|
||||
./host/${name}
|
||||
inputs.agenix.nixosModules.default
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
])
|
||||
(
|
||||
name: _: [
|
||||
self.homeModules._
|
||||
./home/${name}
|
||||
nixpkgsRegistry
|
||||
]
|
||||
)
|
||||
);
|
||||
mkDarwins = many (
|
||||
mkDarwin
|
||||
(name: sys: [
|
||||
{ nixpkgs.hostPlatform = sys; }
|
||||
self.nixosModules._
|
||||
self.darwinModules._
|
||||
./host/${name}
|
||||
inputs.home-manager.darwinModules.home-manager
|
||||
])
|
||||
(
|
||||
name: _: [
|
||||
self.homeModules._
|
||||
./home/${name}
|
||||
nixpkgsRegistry
|
||||
]
|
||||
)
|
||||
);
|
||||
mkHomeManagers = many (
|
||||
mkHomeManager (
|
||||
name: _: [
|
||||
self.homeModules._
|
||||
./home/${name}
|
||||
nixpkgsRegistry
|
||||
self.homeModules.auto-gc # Enable user gc only when home-manager is used standalone
|
||||
]
|
||||
)
|
||||
);
|
||||
in
|
||||
|
||||
{
|
||||
imports = [ ./combinators.nix ];
|
||||
imports = [ ./combinators ];
|
||||
|
||||
flake = {
|
||||
darwinConfigurations = mkDarwins {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue