1
0

default.nix 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. { outputs, ... }: {
  2. imports =
  3. [
  4. outputs.modules.global.nix-config
  5. ./system.nix
  6. ./software.nix
  7. ]
  8. ++ (builtins.attrValues outputs.modules.darwin);
  9. # NOTE: might be valuable to put this in it's own file
  10. # nix.linux-builder = {
  11. # enable = true;
  12. # ephemeral = true;
  13. # package = pkgs.darwin.linux-builder;
  14. # supportedFeatures = [ "kvm" "benchmark" "big-parallel" "nixos-test" ];
  15. # maxJobs = 4;
  16. # config = {
  17. # # nix.settings.sandbox = false;
  18. # virtualisation = {
  19. # darwin-builder = {
  20. # diskSize = 40 * 1024;
  21. # memorySize = 8 * 1024;
  22. # };
  23. # cores = 6;
  24. # };
  25. # };
  26. # };
  27. # nix.settings.system-features = [ "nixos-test" "apple-virt" "nixos-test" "benchmark" "big-parallel" "kvm" ];
  28. # nix.settings.extra-platforms = [ "aarch64-linux" ];
  29. # launchd.daemons.linux-builder = {
  30. # serviceConfig = {
  31. # StandardOutPath = "/var/log/darwin-builder.log";
  32. # StandardErrorPath = "/var/log/darwin-builder.log";
  33. # };
  34. # };
  35. # NOTE: this seems to be needed to make nix work in fish
  36. programs.fish = {
  37. enable = true;
  38. vendor = {
  39. completions.enable = true;
  40. config.enable = true;
  41. functions.enable = true;
  42. };
  43. };
  44. # TODO: move into module:
  45. # system.activationScripts.extraActivation.text = lib.mkAfter ''
  46. # # disable spotlight
  47. # echo "disable spotlight..." >&2
  48. # mdutil -i off /
  49. # '';
  50. # TODO:
  51. # - Proton Mail Bridge
  52. # - Proton Drive set up home folders
  53. programs = {
  54. nix-index.enable = true;
  55. gnupg.agent.enable = true;
  56. };
  57. users.users.thomas.home = "/Users/thomas";
  58. users.groups.nix-users.members = [ "thomas" ];
  59. ids.gids.nixbld = 350;
  60. nix.settings.trusted-users = [ "thomas" ];
  61. networking = {
  62. hostName = "meili";
  63. remote-login = true;
  64. };
  65. time.timeZone = "America/Los_Angeles";
  66. system.stateVersion = 4;
  67. }