/ hosts / mac.nix
mac.nix
 1  {
 2    inputs,
 3    self,
 4    ...
 5  }:
 6  let
 7    user = "r4v3n6101";
 8  in
 9  {
10    flake = {
11      darwinConfigurations.r4mac = inputs.nix-darwin.lib.darwinSystem {
12        system = "aarch64-darwin";
13        modules = [
14          self.darwinModules.nix
15          self.darwinModules.r4mac
16          self.darwinModules.customization
17          self.darwinModules.microvm-builder
18        ];
19      };
20  
21      darwinModules.r4mac =
22        { pkgs, ... }:
23        {
24          imports = [
25            inputs.mac-app-util.darwinModules.default
26            inputs.home-manager.darwinModules.home-manager
27            ../yank/yggdrasil.nix
28          ];
29  
30          system = {
31            stateVersion = 6;
32            primaryUser = user;
33          };
34  
35          users.users.${user} = {
36            home = "/Users/${user}";
37            shell = pkgs.fish;
38            openssh.authorizedKeys.keyFiles = [
39              ../keys/id_termius.pub
40            ];
41          };
42  
43          networking = {
44            computerName = "🫨💼";
45            hostName = "r4mac";
46            wakeOnLan.enable = true;
47          };
48  
49          security.pam.services.sudo_local.touchIdAuth = true;
50  
51          environment = with pkgs; {
52            shells = [
53              fish
54            ];
55            systemPackages = [
56              (lib.hiPrio pkgs.uutils-coreutils-noprefix)
57              iina
58            ];
59          };
60  
61          programs.fish.enable = true;
62  
63          services = {
64            openssh.enable = true;
65  
66            yggdrasil = {
67              enable = true;
68              settings = {
69                Peers = [
70                  "tcp://ip4.01.msk.ru.dioni.su:9002"
71                  "tcp://yggdrasil.1337.moe:7676"
72                ];
73              };
74            };
75          };
76  
77          home-manager = {
78            useGlobalPkgs = true;
79            useUserPackages = true;
80            extraSpecialArgs = {
81              inherit inputs;
82            };
83            backupFileExtension = "build";
84            users.${user}.imports = [
85              inputs.mac-app-util.homeManagerModules.default
86              { home.stateVersion = "25.11"; }
87  
88              self.homeModules.tools
89              self.homeModules.kitty
90              self.homeModules.nixvim
91            ];
92          };
93        };
94    };
95  }