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.

55 lines
751 B

1 week ago
1 week ago
1 week ago
1 week ago
1 week ago
1 week ago
1 week ago
1 week ago
1 week 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. ./docker.nix
  19. ];
  20. deployment = optionalAttrs (client != null) {
  21. targetHost = client.ip;
  22. tags = [ "client" ];
  23. };
  24. _module.args = {
  25. inherit id client;
  26. };
  27. networking = {
  28. hostName = mkForce (if id != null
  29. then "client-${id}"
  30. else "client");
  31. #useDHCP = mkForce true;
  32. };
  33. services.hardware.bolt.enable = true;
  34. security.rtkit.enable = true;
  35. services.avahi = {
  36. enable = true;
  37. nssmdns4 = true;
  38. nssmdns6 = true;
  39. };
  40. system.stateVersion = "24.05";
  41. }