run nix fmt
This commit is contained in:
@@ -88,7 +88,9 @@ let
|
|||||||
specialConfig = lib.mkMerge [
|
specialConfig = lib.mkMerge [
|
||||||
(lib.optionalAttrs (configOverrides ? extraUsers) {
|
(lib.optionalAttrs (configOverrides ? extraUsers) {
|
||||||
# Enable each user in the extraUsers list
|
# Enable each user in the extraUsers list
|
||||||
ugaif.users = lib.genAttrs configOverrides.extraUsers (_: { enable = true; });
|
ugaif.users = lib.genAttrs configOverrides.extraUsers (_: {
|
||||||
|
enable = true;
|
||||||
|
});
|
||||||
})
|
})
|
||||||
(lib.optionalAttrs (configOverrides ? buildMethods) {
|
(lib.optionalAttrs (configOverrides ? buildMethods) {
|
||||||
ugaif.host.buildMethods = configOverrides.buildMethods;
|
ugaif.host.buildMethods = configOverrides.buildMethods;
|
||||||
|
|||||||
@@ -20,20 +20,20 @@
|
|||||||
# ========== Boot Configuration ==========
|
# ========== Boot Configuration ==========
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules = [
|
||||||
"xhci_pci" # USB 3.0 support
|
"xhci_pci" # USB 3.0 support
|
||||||
"nvme" # NVMe SSD support
|
"nvme" # NVMe SSD support
|
||||||
"usb_storage" # USB storage devices
|
"usb_storage" # USB storage devices
|
||||||
"sd_mod" # SD card support
|
"sd_mod" # SD card support
|
||||||
"sdhci_pci" # SD card host controller
|
"sdhci_pci" # SD card host controller
|
||||||
];
|
];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-intel" ]; # Intel virtualization support
|
boot.kernelModules = [ "kvm-intel" ]; # Intel virtualization support
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
boot.kernelParams = [
|
boot.kernelParams = [
|
||||||
"quiet" # Minimal boot messages
|
"quiet" # Minimal boot messages
|
||||||
"splash" # Show Plymouth boot splash
|
"splash" # Show Plymouth boot splash
|
||||||
"boot.shell_on_fail" # Emergency shell on boot failure
|
"boot.shell_on_fail" # Emergency shell on boot failure
|
||||||
"udev.log_priority=3" # Reduce udev logging
|
"udev.log_priority=3" # Reduce udev logging
|
||||||
"rd.systemd.show_status=auto" # Show systemd status during boot
|
"rd.systemd.show_status=auto" # Show systemd status during boot
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -20,20 +20,20 @@
|
|||||||
|
|
||||||
# ========== Boot Configuration ==========
|
# ========== Boot Configuration ==========
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules = [
|
||||||
"xhci_pci" # USB 3.0 support
|
"xhci_pci" # USB 3.0 support
|
||||||
"nvme" # NVMe support
|
"nvme" # NVMe support
|
||||||
"usb_storage" # USB storage devices
|
"usb_storage" # USB storage devices
|
||||||
"sd_mod" # SD card support
|
"sd_mod" # SD card support
|
||||||
"sdhci_pci" # SD card host controller
|
"sdhci_pci" # SD card host controller
|
||||||
];
|
];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-intel" ]; # Intel virtualization support
|
boot.kernelModules = [ "kvm-intel" ]; # Intel virtualization support
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
boot.kernelParams = [
|
boot.kernelParams = [
|
||||||
"quiet" # Minimal boot messages
|
"quiet" # Minimal boot messages
|
||||||
"splash" # Show Plymouth boot splash
|
"splash" # Show Plymouth boot splash
|
||||||
"boot.shell_on_fail" # Emergency shell on boot failure
|
"boot.shell_on_fail" # Emergency shell on boot failure
|
||||||
"udev.log_priority=3" # Reduce udev logging
|
"udev.log_priority=3" # Reduce udev logging
|
||||||
"rd.systemd.show_status=auto" # Show systemd status during boot
|
"rd.systemd.show_status=auto" # Show systemd status during boot
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -42,8 +42,8 @@
|
|||||||
ugaif.host.filesystem.swapSize = lib.mkForce "0G";
|
ugaif.host.filesystem.swapSize = lib.mkForce "0G";
|
||||||
ugaif.host.filesystem.device = lib.mkForce "/dev/null"; # Dummy device
|
ugaif.host.filesystem.device = lib.mkForce "/dev/null"; # Dummy device
|
||||||
ugaif.host.buildMethods = lib.mkDefault [
|
ugaif.host.buildMethods = lib.mkDefault [
|
||||||
"iso" # Live ISO image
|
"iso" # Live ISO image
|
||||||
"ipxe" # Network boot
|
"ipxe" # Network boot
|
||||||
];
|
];
|
||||||
|
|
||||||
# Disable disk management for RAM-only systems
|
# Disable disk management for RAM-only systems
|
||||||
|
|||||||
@@ -20,25 +20,25 @@
|
|||||||
# ========== Boot Configuration ==========
|
# ========== Boot Configuration ==========
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules = [
|
||||||
"xhci_pci" # USB 3.0 support
|
"xhci_pci" # USB 3.0 support
|
||||||
"thunderbolt" # Thunderbolt support
|
"thunderbolt" # Thunderbolt support
|
||||||
"nvme" # NVMe SSD support
|
"nvme" # NVMe SSD support
|
||||||
"usb_storage" # USB storage devices
|
"usb_storage" # USB storage devices
|
||||||
"sd_mod" # SD card support
|
"sd_mod" # SD card support
|
||||||
"sdhci_pci" # SD card host controller
|
"sdhci_pci" # SD card host controller
|
||||||
];
|
];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-intel" ]; # Intel virtualization support
|
boot.kernelModules = [ "kvm-intel" ]; # Intel virtualization support
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
boot.kernelParams = [
|
boot.kernelParams = [
|
||||||
"quiet" # Minimal boot messages
|
"quiet" # Minimal boot messages
|
||||||
"splash" # Show Plymouth boot splash
|
"splash" # Show Plymouth boot splash
|
||||||
"boot.shell_on_fail" # Emergency shell on boot failure
|
"boot.shell_on_fail" # Emergency shell on boot failure
|
||||||
"udev.log_priority=3" # Reduce udev logging
|
"udev.log_priority=3" # Reduce udev logging
|
||||||
"rd.systemd.show_status=auto" # Show systemd status during boot
|
"rd.systemd.show_status=auto" # Show systemd status during boot
|
||||||
"i915.enable_psr=0" # Disable Panel Self Refresh (stability)
|
"i915.enable_psr=0" # Disable Panel Self Refresh (stability)
|
||||||
"i915.enable_dc=0" # Disable display power saving
|
"i915.enable_dc=0" # Disable display power saving
|
||||||
"i915.enable_fbc=0" # Disable framebuffer compression
|
"i915.enable_fbc=0" # Disable framebuffer compression
|
||||||
];
|
];
|
||||||
|
|
||||||
# ========== Hardware Configuration ==========
|
# ========== Hardware Configuration ==========
|
||||||
|
|||||||
@@ -31,30 +31,30 @@
|
|||||||
# ========== Container-Specific Configuration ==========
|
# ========== Container-Specific Configuration ==========
|
||||||
boot.isContainer = true;
|
boot.isContainer = true;
|
||||||
boot.loader.systemd-boot.enable = lib.mkForce false; # No bootloader in container
|
boot.loader.systemd-boot.enable = lib.mkForce false; # No bootloader in container
|
||||||
disko.enableConfig = lib.mkForce false; # No disk management in container
|
disko.enableConfig = lib.mkForce false; # No disk management in container
|
||||||
console.enable = true;
|
console.enable = true;
|
||||||
|
|
||||||
# Allow getty to work in containers
|
# Allow getty to work in containers
|
||||||
systemd.services."getty@".unitConfig.ConditionPathExists = [
|
systemd.services."getty@".unitConfig.ConditionPathExists = [
|
||||||
""
|
""
|
||||||
"/dev/%I"
|
"/dev/%I"
|
||||||
];
|
];
|
||||||
|
|
||||||
# Suppress unnecessary systemd units for containers
|
# Suppress unnecessary systemd units for containers
|
||||||
systemd.suppressedSystemUnits = [
|
systemd.suppressedSystemUnits = [
|
||||||
"dev-mqueue.mount"
|
"dev-mqueue.mount"
|
||||||
"sys-kernel-debug.mount"
|
"sys-kernel-debug.mount"
|
||||||
"sys-fs-fuse-connections.mount"
|
"sys-fs-fuse-connections.mount"
|
||||||
];
|
];
|
||||||
|
|
||||||
# ========== Remote Development ==========
|
# ========== Remote Development ==========
|
||||||
services.vscode-server.enable = true;
|
services.vscode-server.enable = true;
|
||||||
|
|
||||||
# ========== System Configuration ==========
|
# ========== System Configuration ==========
|
||||||
system.stateVersion = "25.11";
|
system.stateVersion = "25.11";
|
||||||
ugaif.host.buildMethods = lib.mkDefault [
|
ugaif.host.buildMethods = lib.mkDefault [
|
||||||
"lxc" # LXC container tarball
|
"lxc" # LXC container tarball
|
||||||
"proxmox" # Proxmox VMA archive
|
"proxmox" # Proxmox VMA archive
|
||||||
];
|
];
|
||||||
|
|
||||||
ugaif.sw.enable = lib.mkDefault true;
|
ugaif.sw.enable = lib.mkDefault true;
|
||||||
|
|||||||
@@ -30,26 +30,26 @@ in
|
|||||||
# ========== Boot Configuration ==========
|
# ========== Boot Configuration ==========
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules = [
|
||||||
"xhci_pci" # USB 3.0 support
|
"xhci_pci" # USB 3.0 support
|
||||||
"nvme" # NVMe support (though Surface uses eMMC)
|
"nvme" # NVMe support (though Surface uses eMMC)
|
||||||
"usb_storage" # USB storage devices
|
"usb_storage" # USB storage devices
|
||||||
"sd_mod" # SD card support
|
"sd_mod" # SD card support
|
||||||
"sdhci_pci" # SD card host controller
|
"sdhci_pci" # SD card host controller
|
||||||
];
|
];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-intel" ]; # Intel virtualization support
|
boot.kernelModules = [ "kvm-intel" ]; # Intel virtualization support
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
boot.kernelParams = [
|
boot.kernelParams = [
|
||||||
"quiet" # Minimal boot messages
|
"quiet" # Minimal boot messages
|
||||||
"splash" # Show Plymouth boot splash
|
"splash" # Show Plymouth boot splash
|
||||||
"boot.shell_on_fail" # Emergency shell on boot failure
|
"boot.shell_on_fail" # Emergency shell on boot failure
|
||||||
"udev.log_priority=3" # Reduce udev logging
|
"udev.log_priority=3" # Reduce udev logging
|
||||||
"rd.systemd.show_status=auto" # Show systemd status during boot
|
"rd.systemd.show_status=auto" # Show systemd status during boot
|
||||||
"intel_ipu3_imgu" # Intel camera image processing
|
"intel_ipu3_imgu" # Intel camera image processing
|
||||||
"intel_ipu3_isys" # Intel camera sensor interface
|
"intel_ipu3_isys" # Intel camera sensor interface
|
||||||
"fbcon=map:1" # Framebuffer console mapping
|
"fbcon=map:1" # Framebuffer console mapping
|
||||||
"i915.enable_psr=0" # Disable Panel Self Refresh (breaks resume)
|
"i915.enable_psr=0" # Disable Panel Self Refresh (breaks resume)
|
||||||
"i915.enable_dc=0" # Disable display power saving
|
"i915.enable_dc=0" # Disable display power saving
|
||||||
];
|
];
|
||||||
|
|
||||||
# Use older kernel for better Surface hardware support
|
# Use older kernel for better Surface hardware support
|
||||||
|
|||||||
@@ -19,10 +19,10 @@
|
|||||||
# home-manager.users.myuser.imports = [ inputs.nixos-systems.homeManagerModules.theme ];
|
# home-manager.users.myuser.imports = [ inputs.nixos-systems.homeManagerModules.theme ];
|
||||||
#
|
#
|
||||||
# # Neovim module (requires user parameter):
|
# # Neovim module (requires user parameter):
|
||||||
# home-manager.users.myuser.imports = [
|
# home-manager.users.myuser.imports = [
|
||||||
# (inputs.nixos-systems.homeManagerModules.nvim {
|
# (inputs.nixos-systems.homeManagerModules.nvim {
|
||||||
# user = config.ugaif.users.accounts.myuser;
|
# user = config.ugaif.users.accounts.myuser;
|
||||||
# })
|
# })
|
||||||
# ];
|
# ];
|
||||||
|
|
||||||
{ inputs }:
|
{ inputs }:
|
||||||
@@ -39,8 +39,8 @@ let
|
|||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../sw/ghostty.nix # Terminal emulator
|
../sw/ghostty.nix # Terminal emulator
|
||||||
../sw/python.nix # Python environment
|
../sw/python.nix # Python environment
|
||||||
(import ../sw/${swType} {
|
(import ../sw/${swType} {
|
||||||
inherit
|
inherit
|
||||||
config
|
config
|
||||||
@@ -60,32 +60,30 @@ let
|
|||||||
|
|
||||||
# Helper to create a Home Manager module for nvim (requires user context)
|
# Helper to create a Home Manager module for nvim (requires user context)
|
||||||
# External users can import this with their user data
|
# External users can import this with their user data
|
||||||
mkNvimModule =
|
mkNvimModule = user: (import ../sw/nvim.nix { inherit user; });
|
||||||
user:
|
|
||||||
(import ../sw/nvim.nix { inherit user; });
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
# ========== Full Host Type Modules ==========
|
# ========== Full Host Type Modules ==========
|
||||||
# Complete system configurations including hardware, boot, and software
|
# Complete system configurations including hardware, boot, and software
|
||||||
nix-desktop = import ../hosts/types/nix-desktop.nix { inherit inputs; }; # Desktop workstations
|
nix-desktop = import ../hosts/types/nix-desktop.nix { inherit inputs; }; # Desktop workstations
|
||||||
nix-laptop = import ../hosts/types/nix-laptop.nix { inherit inputs; }; # Laptop systems
|
nix-laptop = import ../hosts/types/nix-laptop.nix { inherit inputs; }; # Laptop systems
|
||||||
nix-surface = import ../hosts/types/nix-surface.nix { inherit inputs; }; # Surface tablets
|
nix-surface = import ../hosts/types/nix-surface.nix { inherit inputs; }; # Surface tablets
|
||||||
nix-lxc = import ../hosts/types/nix-lxc.nix { inherit inputs; }; # Proxmox containers
|
nix-lxc = import ../hosts/types/nix-lxc.nix { inherit inputs; }; # Proxmox containers
|
||||||
nix-wsl = import ../hosts/types/nix-wsl.nix { inherit inputs; }; # WSL2 systems
|
nix-wsl = import ../hosts/types/nix-wsl.nix { inherit inputs; }; # WSL2 systems
|
||||||
nix-ephemeral = import ../hosts/types/nix-ephemeral.nix { inherit inputs; }; # Diskless/RAM-only
|
nix-ephemeral = import ../hosts/types/nix-ephemeral.nix { inherit inputs; }; # Diskless/RAM-only
|
||||||
|
|
||||||
# ========== Software-Only Modules (NixOS) ==========
|
# ========== Software-Only Modules (NixOS) ==========
|
||||||
# For use with custom hardware configurations
|
# For use with custom hardware configurations
|
||||||
sw-desktop = mkSwModule "desktop"; # Full desktop environment
|
sw-desktop = mkSwModule "desktop"; # Full desktop environment
|
||||||
sw-headless = mkSwModule "headless"; # CLI-only systems
|
sw-headless = mkSwModule "headless"; # CLI-only systems
|
||||||
sw-stateless-kiosk = mkSwModule "stateless-kiosk"; # Netboot kiosk
|
sw-stateless-kiosk = mkSwModule "stateless-kiosk"; # Netboot kiosk
|
||||||
sw-tablet-kiosk = mkSwModule "tablet-kiosk"; # Touch-based kiosk
|
sw-tablet-kiosk = mkSwModule "tablet-kiosk"; # Touch-based kiosk
|
||||||
|
|
||||||
# ========== Home Manager Modules ==========
|
# ========== Home Manager Modules ==========
|
||||||
# User-level configuration modules
|
# User-level configuration modules
|
||||||
# Usage: home-manager.users.myuser.imports = [ (inputs.nixos-systems.homeManagerModules.nvim { user = <user-data>; }) ];
|
# Usage: home-manager.users.myuser.imports = [ (inputs.nixos-systems.homeManagerModules.nvim { user = <user-data>; }) ];
|
||||||
homeModules = {
|
homeModules = {
|
||||||
theme = ../sw/theme.nix; # Zsh theme (no params needed)
|
theme = ../sw/theme.nix; # Zsh theme (no params needed)
|
||||||
nvim = mkNvimModule; # Neovim (requires user param)
|
nvim = mkNvimModule; # Neovim (requires user param)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,10 +71,10 @@ in
|
|||||||
environment.systemPackages =
|
environment.systemPackages =
|
||||||
with pkgs;
|
with pkgs;
|
||||||
subtractLists cfg.excludePackages [
|
subtractLists cfg.excludePackages [
|
||||||
htop # System monitor
|
htop # System monitor
|
||||||
binutils # Binary utilities
|
binutils # Binary utilities
|
||||||
zsh # Z shell
|
zsh # Z shell
|
||||||
git # Version control
|
git # Version control
|
||||||
oh-my-posh # Shell prompt theme
|
oh-my-posh # Shell prompt theme
|
||||||
inputs.agenix.packages.${stdenv.hostPlatform.system}.default # Secret management
|
inputs.agenix.packages.${stdenv.hostPlatform.system}.default # Secret management
|
||||||
];
|
];
|
||||||
|
|||||||
Reference in New Issue
Block a user