A minimal nixpkgs-like clone that focuses on providing Darwin-specific packages built from source, along with any additional Darwin packages that are missing upstream
Note
This repo mainly exists for demonstration purposes, showing that a lot of macOS GUI software can be built from source, and as a reference for me or anyone else who wishes to upstream the build-from-source process for any of the packages here into nixpkgs
The layout mirrors nixpkgs' pkgs/by-name convention, and the flake exposes
an overlay you can compose into your own nixpkgs so the resulting package set
inherits your config (e.g. allowUnfree) and overlays
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
darwin-packages.url = "github:flameflag/darwin-packages";
};
}{
outputs = { self, nixpkgs, darwin-packages, ... }: {
darwinConfigurations.myHost = nixpkgs.lib.darwinSystem {
modules = [
({ pkgs, ... }: {
nixpkgs.config.allowUnfree = true;
nixpkgs.overlays = [ darwin-packages.overlays.default ];
environment.systemPackages = with pkgs; [ ghostty karabiner-elements ];
})
];
};
};
}Note: legacyPackages is built from the nixpkgs this flake imports with no
config applied, so unfree packages will be refused. Prefer overlays.default
unless you explicitly want this flake's pinned nixpkgs
environment.systemPackages = with darwin-packages.legacyPackages.aarch64-darwin; [
ghostty
karabiner-elements
];nixpkgs.overlays = [
(final: prev: {
inherit (prev.extend darwin-packages.overlays.default) ghostty;
})
];| Package | Version | Description |
|---|---|---|
alt-tab-macos |
10.12.0 |
Windows alt-tab on macOS |
ghostty |
1.3.1 |
Fast, native, feature-rich terminal emulator pushing modern features |
karabiner-elements |
16.0.0 |
Powerful utility for keyboard customization on macOS Ventura (13) or later |
karabiner-elements-vendor |
16.0.0 |
Vendored C++ dependencies (asio, spdlog, pqrs/*, ...) for karabiner-elements |
libkrbn |
16.0.0 |
Karabiner-Elements configuration library (C API over the C++ core) |
stats |
2.12.13 |
macOS system monitor in your menu bar |