NixOS deployment for LinuxLab
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.

54 lines
738 B

1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
  1. id:
  2. { lib, ... }:
  3. with lib;
  4. let
  5. client =
  6. if id != null
  7. then (import ../clients.nix).${id}
  8. else null;
  9. in
  10. {
  11. imports = [
  12. ./hardware.nix
  13. ./gpu.nix
  14. ./home.nix
  15. ./users.nix
  16. ./desktop.nix
  17. ./programs.nix
  18. ];
  19. deployment = optionalAttrs (client != null) {
  20. inherit (client) targetHost;
  21. tags = [ "client" ];
  22. };
  23. _module.args = {
  24. inherit id client;
  25. };
  26. networking = {
  27. hostName = mkForce (if id != null
  28. then "client-${id}"
  29. else "client");
  30. useDHCP = mkForce true;
  31. };
  32. services.hardware.bolt.enable = true;
  33. security.rtkit.enable = true;
  34. services.avahi = {
  35. enable = true;
  36. nssmdns4 = true;
  37. nssmdns6 = true;
  38. };
  39. system.stateVersion = "24.05";
  40. }