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 }