1
0

default.nix 2.0 KB

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