An opinionated NixOS configuration with Hyprland, featuring: - Modular flake-based architecture - Parameterized user configuration (username, timezone, locale, etc.) - Classical/antiquity theme with Thomas Cole wallpapers - Full Hyprland setup with waybar, rofi, swaync - Custom utility scripts (screenshots, screen recording, WiFi QR) - Neovim with LSP support - Interactive installer for existing NixOS systems - ISO builder for fresh installations Flake outputs: - nixosConfigurations.example - Test configuration - nixosConfigurations.installer - ISO installer - packages.iso - Bootable ISO image - apps.default - Interactive installer - lib.mkHost - Host builder function - templates.default - Starter template Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
26 lines
609 B
Nix
26 lines
609 B
Nix
# Boot configuration
|
|
# Supports both systemd-boot (default) and Limine
|
|
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
nomarchyConfig,
|
|
...
|
|
}: let
|
|
# For ISO builds, we'll use Limine; for regular installs, systemd-boot
|
|
useSystemdBoot = nomarchyConfig.bootloader or "systemd-boot" == "systemd-boot";
|
|
in {
|
|
# Systemd-boot (default for NixOS installs)
|
|
boot.loader.systemd-boot = lib.mkIf useSystemdBoot {
|
|
enable = true;
|
|
configurationLimit = 10;
|
|
};
|
|
|
|
boot.loader.efi.canTouchEfiVariables = useSystemdBoot;
|
|
|
|
# Limine support (for ISO)
|
|
boot.loader.limine = lib.mkIf (!useSystemdBoot) {
|
|
enable = true;
|
|
};
|
|
}
|