setups: add more comments

This commit is contained in:
Gabriel Arazas 2023-12-25 20:01:47 +08:00
parent a29b1ee5e0
commit 3499deb15c
No known key found for this signature in database
GPG Key ID: ADE0C41DAB221FCC
2 changed files with 73 additions and 10 deletions

View File

@ -1,6 +1,34 @@
# This is project data for deploying home-manager users with this flake. Each
# of the users defined here should correspond to one of the home-manager users
# at `./users/home-manager/`.
/*
This is project data for deploying home-manager users with this flake. Each
of the users defined here should correspond to one of the home-manager users
at `./users/home-manager/`.
Schema:
* systems
A list of host platforms to be deployed. When given no systems, it will
be deployed with `x86_64-linux`.
* modules
A list of home-manager modules to be included. Take note there is a
baseline configuration defined at `flake.nix`. You should add modules
very minimally here such as additional overlays, modules, and so forth.
* home-manager-channel
The home-manager branch to be used. By default, it uses the
`home-manager` flake input which follows the `home-manager-unstable`
input.
* nixpkgs-channel
The nixpkgs branch to be included. By default, it uses the `nixpkgs`
flake input which follows the `nixos-unstable` input.
* deploy
An attribute set of options for deploy-rs nodes.
* username
The username of the home-manager user. By default, it will use the
attribute name.
* home-directory
The home directory of the home-manager user. By default, it is
set to "/home/${username}".
*/
{ lib, inputs }:
{

View File

@ -1,13 +1,39 @@
# This is a custom data for this project where it lists the images found in
# this flake. This can range from NixOS configurations intended to be deployed
# for servers and desktops to installers.
#
# The data is then used for the image creation functions found in `flake.nix`.
# Each of the entry should correspond to one of the hosts in `./hosts/`
# directory.
/*
This is a custom data for this project where it lists the images found in
this flake. This can range from NixOS configurations intended to be deployed
for servers and desktops to installers.
The data is then used for the image creation functions found in `flake.nix`.
Each of the entry should correspond to one of the hosts in `./hosts/`
directory.
Schema:
* systems
A list of systems that is expected to be deployed. This is required and
will have a default list of "x86_64-linux" when no system is given.
* format
The image format to be generated from nixos-generators. You can give it
as `null` when not intended to be listed as part of the images which is
often the case for desktop NixOS systems.
* modules
A list of extra NixOS modules to be passed. You'll want to see the
baseline host configuration defined in `flake.nix`.
* deploy
An attribute set of arguments similar to the `deploy` CLI. When this
attribute is present, it will be assumed as part of NixOS configurations
even with `format = null` which is often the case for bare metal NixOS
servers that also has a suitable image format for deployment.
* hostname
The hostname of the host. By default, it assumes the hostname being given
from the attribute name.
* domain
The domain set for the host. Normally given to server systems.
*/
{ lib, inputs }:
{
# The main desktop.
ni = {
systems = [ "x86_64-linux" ];
format = null;
@ -33,6 +59,7 @@
];
};
# A remote server.
plover = {
systems = [ "x86_64-linux" ];
format = null;
@ -44,27 +71,35 @@
};
};
# TODO: Remove extra newlines that are here for whatever reason.
#{{{
void = {
systems = [ "x86_64-linux" ];
format = "vm";
};
#}}}
# The barely customized non-graphical installer.
bootstrap = {
systems = [ "aarch64-linux" "x86_64-linux" ];
format = "install-iso";
nixpkgs-channel = "nixos-unstable-small";
};
# The barely customized graphical installer.
graphical-installer = {
systems = [ "aarch64-linux" "x86_64-linux" ];
format = "install-iso";
};
# The WSL system (that is yet to be used).
winnowing = {
systems = [ "x86_64-linux" ];
format = null;
modules = [
# Well, well, well...
inputs.nixos-wsl.nixosModules.default
];
};
}
# vim:foldmethod=marker