You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
755 B
55 lines
755 B
id:
|
|
|
|
{ lib, ... }:
|
|
|
|
with lib;
|
|
|
|
let
|
|
client =
|
|
if id != null
|
|
then (import ../clients.nix).${id}
|
|
else null;
|
|
|
|
in
|
|
{
|
|
imports = [
|
|
./hardware.nix
|
|
./gpu.nix
|
|
./home.nix
|
|
./users.nix
|
|
./desktop.nix
|
|
./programs.nix
|
|
./docker.nix
|
|
];
|
|
|
|
deployment = optionalAttrs (client != null) {
|
|
inherit (client) targetHost;
|
|
|
|
tags = [ "client" ];
|
|
};
|
|
|
|
_module.args = {
|
|
inherit id client;
|
|
};
|
|
|
|
networking = {
|
|
hostName = mkForce (if id != null
|
|
then "client-${id}"
|
|
else "client");
|
|
|
|
useDHCP = mkForce true;
|
|
};
|
|
|
|
services.hardware.bolt.enable = true;
|
|
|
|
security.rtkit.enable = true;
|
|
|
|
services.avahi = {
|
|
enable = true;
|
|
nssmdns4 = true;
|
|
nssmdns6 = true;
|
|
};
|
|
|
|
system.stateVersion = "24.05";
|
|
}
|
|
|