nix/nixos/default.nix
2023-09-21 21:47:59 +09:00

84 lines
2.1 KiB
Nix

{ 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;
}