all repos — nixfiles @ 2e2883cbb2f61bfebbad09fa2a082df7375e8fe4

System and user configuration, managed by nix and home-manager

system/hosts/marvin.nix (view raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
{
  config,
  pkgs,
  ...
}:
{
  imports = [
    ../roles/nix-build-client.nix

    ../settings/darwin.nix
    ../settings/programs/shell.nix
    ../settings/programs/base.nix
  ];

  system.primaryUser = "alin";
  system.primaryUserHome = "/Users/alin";
  users.users."${config.system.primaryUser}".openssh.authorizedKeys.keys = [
    "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBENXbdPPOq0mA+9bPklpUkikvIXjCEKE5IRwNPNMr5/Ta1J/ND737fexCjEb7YPoAJtaf0gD/JThQQi/RxDTvy4= alin@alin.ovh"
  ];

  services.openssh.extraConfig = ''
    PermitUserEnvironment yes
    AcceptEnv TERM_PROGRAM
  '';

  networking = {
    hostName = "marvin";
    localHostName = "Paranoid-Android";
  };

  services.redis = {
    enable = true;
    bind = "127.0.0.1 ::1";
    extraConfig = ''
      save ""
    '';
  };

  services.tailscale = {
    enable = true;
  };
  environment.etc."resolver/ts.net".text = ''
    nameserver fd7a:115c:a1e0::53
  '';

  environment.shells = with pkgs; [
    fish
    "/Users/alin/.local/state/nix/profile/bin/fish"
  ];

  environment.variables.LANG = "en_GB.UTF-8";

  # Used for backwards compatibility, please read the changelog before changing.
  # $ darwin-rebuild changelog
  system.stateVersion = 4;
  ids.gids.nixbld = 350;

  nix.linux-builder = {
    enable = false; # will be needed for building the rosetta image
    systems = [ "aarch64-linux" ];
    speedFactor = 8;
  };

  nix-rosetta-builder = {
    enable = true;
    onDemand = true;
    onDemandLingerMinutes = 10;
    memory = "8GiB";
    speedFactor = 8;
    permitNonRootSshAccess = true;
  };
}