2024-03-02 10:18:44 +00:00
|
|
|
{ lib
|
|
|
|
, config
|
|
|
|
, pkgs
|
|
|
|
, foodogsquaredLib
|
|
|
|
, foodogsquaredUtils
|
|
|
|
, foodogsquaredModulesPath
|
|
|
|
|
|
|
|
, ... }:
|
2022-03-01 15:07:56 +00:00
|
|
|
|
2023-07-16 10:17:35 +00:00
|
|
|
# Since this will be exported as an installer ISO, you'll have to keep in mind
|
|
|
|
# about the added imports from nixos-generators. In this case, it simply adds
|
|
|
|
# the NixOS installation CD profile.
|
2022-03-01 15:07:56 +00:00
|
|
|
{
|
2024-02-28 13:18:12 +00:00
|
|
|
imports = [
|
2024-03-02 10:18:44 +00:00
|
|
|
"${foodogsquaredModulesPath}/profiles/installer.nix"
|
2024-02-28 13:18:12 +00:00
|
|
|
|
2024-03-02 10:18:44 +00:00
|
|
|
(foodogsquaredUtils.mapHomeManagerUser "nixos" { })
|
2024-02-28 13:18:12 +00:00
|
|
|
];
|
|
|
|
|
2024-02-17 06:58:53 +00:00
|
|
|
config = lib.mkMerge [
|
|
|
|
{
|
2024-03-02 10:18:44 +00:00
|
|
|
# Use the systemd-boot EFI boot loader.
|
|
|
|
boot.loader.systemd-boot = {
|
|
|
|
enable = true;
|
|
|
|
netbootxyz.enable = true;
|
|
|
|
};
|
|
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
2024-02-17 06:58:53 +00:00
|
|
|
boot.kernelPackages = pkgs.linuxPackages_6_6;
|
|
|
|
|
2024-03-02 10:18:44 +00:00
|
|
|
# We'll make NetworkManager manage all of them networks.
|
|
|
|
networking.wireless.enable = false;
|
|
|
|
|
2024-02-17 06:58:53 +00:00
|
|
|
# Use my desktop environment configuration without the apps just to make the
|
|
|
|
# closure size smaller.
|
|
|
|
workflows.workflows.a-happy-gnome = {
|
|
|
|
enable = true;
|
|
|
|
extraApps = [ ];
|
|
|
|
};
|
|
|
|
|
2024-02-28 13:18:12 +00:00
|
|
|
# Install the web browser of course. What would be a graphical installer
|
|
|
|
# without one, yes?
|
|
|
|
programs.firefox = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.firefox-foodogsquared-guest;
|
|
|
|
};
|
|
|
|
|
2024-02-17 06:58:53 +00:00
|
|
|
# Some niceties.
|
|
|
|
suites.desktop.enable = true;
|
|
|
|
|
|
|
|
services.xserver.displayManager = {
|
|
|
|
gdm = {
|
|
|
|
enable = true;
|
|
|
|
autoSuspend = false;
|
|
|
|
};
|
|
|
|
autoLogin = {
|
|
|
|
enable = true;
|
|
|
|
user = "nixos";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
system.stateVersion = "23.11";
|
|
|
|
}
|
|
|
|
|
2024-02-27 13:19:31 +00:00
|
|
|
(lib.mkIf
|
2024-02-28 12:18:03 +00:00
|
|
|
(foodogsquaredLib.isFormat "graphicalIsoImage") {
|
2024-02-17 06:58:53 +00:00
|
|
|
isoImage = {
|
|
|
|
isoBaseName = config.networking.hostName;
|
2024-02-27 13:19:31 +00:00
|
|
|
edition = "A Happy GNOME";
|
2024-02-17 06:58:53 +00:00
|
|
|
|
|
|
|
squashfsCompression = "zstd -Xcompression-level 12";
|
|
|
|
};
|
|
|
|
})
|
|
|
|
];
|
2022-03-01 15:07:56 +00:00
|
|
|
}
|