vic/mk-darwin-system
Small Nix utility to create an M1 aarch64-darwin (nixFlakes + nix-darwin + home-manager) system.
{ "defaultBranch": "main", "description": "Small Nix utility to create an M1 aarch64-darwin (nixFlakes + nix-darwin + home-manager) system.", "fullName": "vic/mk-darwin-system", "homepage": "", "language": "Nix", "name": "mk-darwin-system", "pushedAt": "2023-10-23T06:25:49Z", "stargazersCount": 73, "updatedAt": "2025-10-16T17:40:17Z", "url": "https://github.com/vic/mk-darwin-system"}Deprecation Notice
Section titled “Deprecation Notice”NOTE: This repo is now read-only, since I (vic) am no longer using MacOS since early 2023. You can still find a much more maintained and better alternative at https://github.com/srid/nixos-flake
Old README
- Create your system flake:
nix flake new my-system --template github:vic/mk-darwin-system#minimal
cd my-systemgit initgit add .-
Change the values of
hostNameanduserNameinsideflake.nix. -
Create files inside
nix/hostConfigurationsandnix/homeConfigurations. -
See if everything is ok by running:
nix flake check -
Activate your system running:
nix run
Examples
Section titled “Examples”-
yours, send a pull-request.
References
Section titled “References”- Files inside
nix/hostConfigurationscan set any nix-darwin option. - Files inside
nix/homeConfigurationscan set any home-manager option. - Using nix-darwin brew options it’s possible to install packages from Homebrew taps, casks, Mac App Store Apps and Docker containers. Note that these would be installed as system packages.
- When your nix files get bigger you can split them using conventional NixOS Modules
imports = []. - Be sure to also check this nice Nix language tutorial