refactor: Module to ugaif and readme update

This commit is contained in:
UGA Innovation Factory
2025-12-15 15:32:40 -05:00
committed by Hunter Halloran
parent c46b0aa685
commit 205f03337a
31 changed files with 577 additions and 271 deletions

View File

@@ -28,16 +28,16 @@
"rd.systemd.show_status=auto"
];
host.filesystem.swapSize = lib.mkDefault "16G";
host.filesystem.device = lib.mkDefault "/dev/nvme0n1";
host.buildMethods = lib.mkDefault [ "installer-iso" ];
ugaif.host.filesystem.swapSize = lib.mkDefault "16G";
ugaif.host.filesystem.device = lib.mkDefault "/dev/nvme0n1";
ugaif.host.buildMethods = lib.mkDefault [ "installer-iso" ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
)
{
modules.sw.enable = true;
modules.sw.type = "desktop";
ugaif.sw.enable = true;
ugaif.sw.type = "desktop";
}
]

View File

@@ -31,10 +31,13 @@
];
# Ephemeral setup: No swap, no disk
host.filesystem.swapSize = lib.mkForce "0G";
host.filesystem.device = lib.mkForce "/dev/null"; # Dummy device
host.buildMethods = lib.mkDefault [ "iso" "ipxe" ];
ugaif.host.filesystem.swapSize = lib.mkForce "0G";
ugaif.host.filesystem.device = lib.mkForce "/dev/null"; # Dummy device
ugaif.host.buildMethods = lib.mkDefault [
"iso"
"ipxe"
];
# Disable Disko config since we are running from RAM/ISO
disko.enableConfig = lib.mkForce false;
@@ -42,7 +45,11 @@
fileSystems."/" = {
device = "none";
fsType = "tmpfs";
options = [ "defaults" "size=50%" "mode=755" ];
options = [
"defaults"
"size=50%"
"mode=755"
];
};
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
@@ -50,7 +57,7 @@
}
)
{
modules.sw.enable = true;
modules.sw.type = "stateless-kiosk";
ugaif.sw.enable = true;
ugaif.sw.type = "stateless-kiosk";
}
]

View File

@@ -35,9 +35,9 @@
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
host.filesystem.device = lib.mkDefault "/dev/nvme0n1";
host.filesystem.swapSize = lib.mkDefault "34G";
host.buildMethods = lib.mkDefault [ "installer-iso" ];
ugaif.host.filesystem.device = lib.mkDefault "/dev/nvme0n1";
ugaif.host.filesystem.swapSize = lib.mkDefault "34G";
ugaif.host.buildMethods = lib.mkDefault [ "installer-iso" ];
# Suspend / logind behavior
services.upower.enable = lib.mkDefault true;
@@ -51,7 +51,7 @@
}
)
{
modules.sw.enable = true;
modules.sw.type = "desktop";
ugaif.sw.enable = true;
ugaif.sw.type = "desktop";
}
]

View File

@@ -35,11 +35,14 @@
];
services.vscode-server.enable = true;
system.stateVersion = "25.11";
host.buildMethods = lib.mkDefault [ "lxc" "proxmox" ];
ugaif.host.buildMethods = lib.mkDefault [
"lxc"
"proxmox"
];
}
)
{
modules.sw.enable = true;
modules.sw.type = "headless";
ugaif.sw.enable = true;
ugaif.sw.type = "headless";
}
]

View File

@@ -43,9 +43,9 @@
boot.kernelPackages = lib.mkForce refKernelPackages;
host.filesystem.swapSize = lib.mkDefault "8G";
host.filesystem.device = lib.mkDefault "/dev/mmcblk0";
host.buildMethods = lib.mkDefault [ "installer-iso" ];
ugaif.host.filesystem.swapSize = lib.mkDefault "8G";
ugaif.host.filesystem.device = lib.mkDefault "/dev/mmcblk0";
ugaif.host.buildMethods = lib.mkDefault [ "installer-iso" ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
@@ -53,7 +53,7 @@
)
inputs.nixos-hardware.nixosModules.microsoft-surface-go
{
modules.sw.enable = true;
modules.sw.type = "tablet-kiosk";
ugaif.sw.enable = true;
ugaif.sw.type = "tablet-kiosk";
}
]

View File

@@ -2,35 +2,38 @@
[
inputs.nixos-wsl.nixosModules.default
inputs.vscode-server.nixosModules.default
({ lib, config, ... }: {
options.host.wsl.user = lib.mkOption {
type = lib.types.str;
default = "engr-ugaif";
description = "The default user to log in as in WSL.";
};
(
{ lib, config, ... }:
{
options.ugaif.host.wsl.user = lib.mkOption {
type = lib.types.str;
default = "engr-ugaif";
description = "The default user to log in as in WSL.";
};
config = {
wsl.enable = true;
wsl.defaultUser = config.host.wsl.user;
# Enable the headless software profile
modules.sw.enable = true;
modules.sw.type = "headless";
config = {
wsl.enable = true;
wsl.defaultUser = config.ugaif.host.wsl.user;
# Fix for VS Code Server in WSL if needed, though vscode-server input exists
services.vscode-server.enable = true;
# Enable the headless software profile
ugaif.sw.enable = true;
ugaif.sw.type = "headless";
# Disable Disko and Bootloader for WSL
disko.enableConfig = lib.mkForce false;
boot.loader.systemd-boot.enable = lib.mkForce false;
boot.loader.grub.enable = lib.mkForce false;
# Fix for VS Code Server in WSL if needed, though vscode-server input exists
services.vscode-server.enable = true;
# Disable networking for wsl (it manages its own networking)
systemd.network.enable = lib.mkForce false;
# Provide dummy values for required options from boot.nix
host.filesystem.device = "/dev/null";
host.filesystem.swapSize = "0G";
};
})
# Disable Disko and Bootloader for WSL
disko.enableConfig = lib.mkForce false;
boot.loader.systemd-boot.enable = lib.mkForce false;
boot.loader.grub.enable = lib.mkForce false;
# Disable networking for wsl (it manages its own networking)
systemd.network.enable = lib.mkForce false;
# Provide dummy values for required options from boot.nix
ugaif.host.filesystem.device = "/dev/null";
ugaif.host.filesystem.swapSize = "0G";
};
}
)
]