initial commit
This commit is contained in:
62
nixos-installer/flake.nix
Normal file
62
nixos-installer/flake.nix
Normal file
@@ -0,0 +1,62 @@
|
||||
{
|
||||
description = "Minimal NixOS configuration for bootstrapping systems";
|
||||
|
||||
inputs = {
|
||||
# FIXME(starter): adjust nixos version for the minimal environment as desired.
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
|
||||
disko.url = "github:nix-community/disko"; # Declarative partitioning and formatting
|
||||
};
|
||||
|
||||
outputs =
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
...
|
||||
}@inputs:
|
||||
let
|
||||
inherit (self) outputs;
|
||||
|
||||
minimalSpecialArgs = {
|
||||
inherit inputs outputs;
|
||||
lib = nixpkgs.lib.extend (self: super: { custom = import ../lib { inherit (nixpkgs) lib; }; });
|
||||
};
|
||||
|
||||
newConfig =
|
||||
name: disk: swapSize:
|
||||
(
|
||||
let
|
||||
diskSpecPath =
|
||||
../hosts/common/disks/btrfs-disk.nix;
|
||||
in
|
||||
nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = minimalSpecialArgs;
|
||||
modules = [
|
||||
inputs.disko.nixosModules.disko
|
||||
diskSpecPath
|
||||
{
|
||||
_module.args = {
|
||||
inherit disk;
|
||||
withSwap = swapSize > 0;
|
||||
swapSize = builtins.toString swapSize;
|
||||
};
|
||||
}
|
||||
./minimal-configuration.nix
|
||||
../hosts/nixos/${name}/hardware-configuration.nix
|
||||
|
||||
{ networking.hostName = name; }
|
||||
];
|
||||
}
|
||||
);
|
||||
in
|
||||
{
|
||||
nixosConfigurations = {
|
||||
# This should mimic what is specified in the respective `nix-config/hosts/[platform]/[hostname]/default.nix`
|
||||
# Add entries for each host you will be bootstrapping
|
||||
|
||||
# host = newConfig "name" disk" "swapSize"
|
||||
# Swap size is in GiB
|
||||
Bellerophon = newConfig "Bellerophon" "/dev/nvme0n1" 16;
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user