{ lib, config, pkgs, hostname, stateVersion, username, desktop, gpu, inputs, platform, theme, ... }: { imports = [ # Modules inputs.disko.nixosModules.disko # Services ./common/services/openssh.nix ./common/services/promtail.nix ./common/services/fail2ban.nix ./common/services/telegraf.nix ./common/services/tailscale.nix ./common/services/gnupg-agent.nix ./common/services/opensnitch.nix # CLI Software ./common/software/cli/weechat.nix # NixOS Modules ./common/modules/fonts.nix # Font Configs ./common/modules/networking.nix # Initial Networking configs ./common/modules/nixos.nix # NixOS related items ./users/${username} ./hosts/${hostname} ] ++ lib.optional (builtins.isString desktop) ./common/desktops/${desktop}; # Bootloader boot.loader.efi.canTouchEfiVariables = true; boot.tmp.cleanOnBoot = true; # Plymouth splash screen boot.plymouth.enable = true; # https://github.com/adi1090x/plymouth-themes boot.plymouth.theme = "red_loader"; boot.plymouth.themePackages = [ pkgs.adi1090x-plymouth-themes ]; boot.initrd.systemd.enable = true; boot.kernelParams = ["quiet"]; # SecureBoot boot.loader.systemd-boot.enable = lib.mkForce false; # List packages installed in system profile environment.systemPackages = with pkgs; [ sbctl wget killall curl glxinfo neofetch rsync git duf ncdu du-dust home-manager btop iftop nload iotop sops gnupg jq eza cryptsetup parted screen ]; # Select internationalisation properties. i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "en_US.UTF-8"; LC_IDENTIFICATION = "en_US.UTF-8"; LC_MEASUREMENT = "en_US.UTF-8"; LC_MONETARY = "en_US.UTF-8"; LC_NAME = "en_US.UTF-8"; LC_NUMERIC = "en_US.UTF-8"; LC_PAPER = "en_US.UTF-8"; LC_TELEPHONE = "en_US.UTF-8"; LC_TIME = "en_US.UTF-8"; }; system.stateVersion = stateVersion; }