Files
nixos-config/hosts/default.nix
T
jory 62c70dab19
CI / Flake check (aarch64-linux) (push) Failing after 17m27s
CI / Flake check (x86_64-linux) (push) Failing after 53m5s
CI / Pre-commit checks (x86_64-linux) (push) Successful in 11s
chore: improve code formatting and configuration across multiple files
The diff shows comprehensive code cleanup and formatting improvements across 18 files, including cleaner argument structures, additional package configurations, and improved formatting in the `home/terminal/software/git.nix` hook script.
2026-07-20 06:52:25 +02:00

115 lines
2.9 KiB
Nix

{
self,
inputs,
...
}: let
# shorten paths
inherit (inputs.nixpkgs.lib) nixosSystem;
# Server uses its own pinned 24.05 nixpkgs (kept isolated from the laptop's unstable)
nixosSystem24 = inputs.nixos-24-05.lib.nixosSystem;
unstablePkgs = import inputs.nixpkgs-unstable {system = "x86_64-linux";};
mod = "${self}/system";
home = "${self}/home";
# get the basic config to build on top of
inherit (import "${self}/system") tty desktop laptop;
# get these into the module system
specialArgs = {inherit inputs self;};
# shared modules for all configurations (personal + work)
sharedModules = [
./aesthetic
"${mod}/services/gnome-services.nix"
"${mod}/core/limine.nix"
"${home}"
"${self}/work"
inputs.sops-nix.nixosModules.sops
];
in {
flake.nixosConfigurations = {
# TTY: desktop headless (no GUI)
tty = nixosSystem {
inherit specialArgs;
modules = tty ++ sharedModules;
};
# Desktop: desktop with GUI
desktop = nixosSystem {
inherit specialArgs;
modules = desktop ++ sharedModules;
};
# Laptop: laptop with GUI + battery + bluetooth
laptop = nixosSystem {
inherit specialArgs;
modules =
laptop
++ sharedModules
++ [
"${mod}/services/location.nix"
];
};
# Laptop UEFI: explicit UEFI boot mode
laptop-uefi = nixosSystem {
inherit specialArgs;
modules =
laptop
++ sharedModules
++ [
"${mod}/services/location.nix"
({...}: {
boot.loader.limine.bootMode = "uefi";
})
];
};
# Laptop BIOS: explicit BIOS boot mode
laptop-bios = nixosSystem {
inherit specialArgs;
modules =
laptop
++ sharedModules
++ [
"${mod}/services/location.nix"
({...}: {
boot.loader.limine.bootMode = "bios";
boot.loader.limine.biosDevice = "/dev/nvme0n1";
})
];
};
# Laptop work: laptop profile + work modules (himmelblau, cisco, mdatp)
laptop-work = nixosSystem {
inherit specialArgs;
modules =
laptop
++ sharedModules
++ [
"${mod}/services/location.nix"
{
work.cisco.enable = true;
work.himmelblau.enable = true;
work.mdatp.enable = true;
}
];
};
# Server: severijnse.eu (Hetzner) — fully isolated under servers/hetzner/.
# Uses nixos-24.05 + disko + sops-nix and does NOT inherit the laptop's shared modules.
hetzner = nixosSystem24 {
system = "x86_64-linux";
specialArgs = {
inherit inputs self unstablePkgs;
};
modules = [
inputs.disko.nixosModules.disko
inputs.sops-nix.nixosModules.sops
"${self}/servers/hetzner/hosts/hetzner/hardware-configuration.nix"
"${self}/servers/hetzner/hosts/hetzner/default.nix"
];
};
};
}