Add inline documentation for lib

This commit is contained in:
DashieTM 2024-08-25 18:16:09 +02:00
parent c4f6dae54b
commit 8c9f699269

View file

@ -1,4 +1,5 @@
{ inputs, pkgs, ... }: { { inputs, pkgs, ... }:
{
/** /**
Builds system given a list of system names which are placed within your hosts/ directory. Note that each system has its own directory in hosts/ as well. Builds system given a list of system names which are placed within your hosts/ directory. Note that each system has its own directory in hosts/ as well.
@ -20,29 +21,43 @@
:::{.example} :::{.example}
```nix ```nix
nixosConfigurations = nixosConfigurations =
(inputs.dashNix.dashNixLib.build_systems [ "nixos" ] ./.); (build_systems [ "nixos" ] ./.);
``` ```
::: :::
*/ */
build_systems = systems: root: build_systems =
builtins.listToAttrs (map (name: { systems: root:
builtins.listToAttrs (
map (name: {
name = name; name = name;
value = let value =
let
mod = root + /hosts/${name}/configuration.nix; mod = root + /hosts/${name}/configuration.nix;
additionalNixosConfig = root + /hosts/${name}/hardware.nix; additionalNixosConfig = root + /hosts/${name}/hardware.nix;
additionalHomeConfig = root + /hosts/${name}/home.nix; additionalHomeConfig = root + /hosts/${name}/home.nix;
in inputs.nixpkgs.lib.nixosSystem { in
specialArgs = { inherit inputs pkgs mod additionalHomeConfig root; }; inputs.nixpkgs.lib.nixosSystem {
modules = [ specialArgs = {
inherit
inputs
pkgs
mod
additionalHomeConfig
root
;
};
modules =
[
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
inputs.stylix.nixosModules.stylix inputs.stylix.nixosModules.stylix
../base ../base
../home ../home
../modules ../modules
mod mod
] ++ inputs.nixpkgs.lib.optional ]
(builtins.pathExists additionalNixosConfig) additionalNixosConfig ++ inputs.nixpkgs.lib.optional (builtins.pathExists additionalNixosConfig) additionalNixosConfig
++ inputs.nixpkgs.lib.optional (builtins.pathExists mod) mod; ++ inputs.nixpkgs.lib.optional (builtins.pathExists mod) mod;
}; };
}) systems); }) systems
);
} }