nixos-config/setups/nixos.nix
Gabriel Arazas a29b1ee5e0
flake.nix: filter NixOS config as images and deployments
Though there are systems that can be used for both. For now, we'll use
the deploy key as a surefire attribute that it is used for deployment
while having an intended output image format. The best solution is
simply have a conditional config for certain output formats.
2023-12-25 19:54:54 +08:00

71 lines
1.6 KiB
Nix

# 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.
{ lib, inputs }:
{
ni = {
systems = [ "x86_64-linux" ];
format = null;
modules = [
inputs.nur.nixosModules.nur
inputs.nix-index-database.nixosModules.nix-index
{
nixpkgs.overlays = [
# Neovim nightly!
inputs.neovim-nightly-overlay.overlays.default
# Emacs unstable version!
inputs.emacs-overlay.overlays.default
# Helix master!
inputs.helix-editor.overlays.default
# Access to NUR.
inputs.nur.overlay
];
}
];
};
plover = {
systems = [ "x86_64-linux" ];
format = null;
domain = "foodogsquared.one";
deploy = {
hostname = "plover.foodogsquared.one";
auto-rollback = true;
magic-rollback = true;
};
};
void = {
systems = [ "x86_64-linux" ];
format = "vm";
};
bootstrap = {
systems = [ "aarch64-linux" "x86_64-linux" ];
format = "install-iso";
nixpkgs-channel = "nixos-unstable-small";
};
graphical-installer = {
systems = [ "aarch64-linux" "x86_64-linux" ];
format = "install-iso";
};
winnowing = {
systems = [ "x86_64-linux" ];
format = null;
modules = [
inputs.nixos-wsl.nixosModules.default
];
};
}