2023-08-31 13:22:44 +02:00
|
|
|
{ lib, config, pkgs, hostname, stateVersion, username, desktop, gpu, inputs, platform, theme, ... }: {
|
2023-08-23 07:30:15 +02:00
|
|
|
imports = [
|
2023-09-20 13:29:33 +02:00
|
|
|
# Modules
|
|
|
|
inputs.disko.nixosModules.disko
|
|
|
|
|
2023-08-23 07:30:15 +02:00
|
|
|
# Services
|
2023-08-23 12:24:47 +02:00
|
|
|
./common/services/openssh.nix
|
|
|
|
./common/services/promtail.nix
|
|
|
|
./common/services/fail2ban.nix
|
2023-08-23 07:30:15 +02:00
|
|
|
./common/services/telegraf.nix
|
|
|
|
./common/services/tailscale.nix
|
2023-08-27 13:51:24 +02:00
|
|
|
./common/services/gnupg-agent.nix
|
2023-08-31 06:11:44 +02:00
|
|
|
./common/services/opensnitch.nix
|
2023-08-23 07:30:15 +02:00
|
|
|
|
2023-08-29 06:52:14 +02:00
|
|
|
# CLI Software
|
|
|
|
./common/software/cli/weechat.nix
|
|
|
|
|
2023-08-23 12:24:47 +02:00
|
|
|
# NixOS Modules
|
2023-08-23 07:30:15 +02:00
|
|
|
./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};
|
|
|
|
|
2023-09-21 14:47:59 +02:00
|
|
|
# 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;
|
|
|
|
|
2023-08-23 07:30:15 +02:00
|
|
|
# List packages installed in system profile
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
sbctl
|
|
|
|
wget
|
|
|
|
killall
|
|
|
|
curl
|
|
|
|
glxinfo
|
|
|
|
neofetch
|
|
|
|
rsync
|
|
|
|
git
|
|
|
|
duf
|
2023-08-27 05:55:57 +02:00
|
|
|
ncdu
|
2023-08-23 07:30:15 +02:00
|
|
|
du-dust
|
|
|
|
home-manager
|
|
|
|
btop
|
2023-08-23 13:02:55 +02:00
|
|
|
iftop
|
|
|
|
nload
|
2023-08-23 07:30:15 +02:00
|
|
|
iotop
|
2023-08-23 15:59:51 +02:00
|
|
|
sops
|
|
|
|
gnupg
|
2023-08-28 12:35:59 +02:00
|
|
|
jq
|
2023-09-15 03:51:26 +02:00
|
|
|
eza
|
2023-09-15 15:49:56 +02:00
|
|
|
cryptsetup
|
|
|
|
parted
|
2023-09-21 05:46:44 +02:00
|
|
|
screen
|
2023-08-23 07:30:15 +02:00
|
|
|
];
|
|
|
|
|
|
|
|
# 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;
|
|
|
|
}
|