Skip to content

FlameFlag/darwin-packages

Repository files navigation

darwin-packages

Platform Nix Flake Architecture License Last Commit Stars

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

Usage

Add as a flake input

{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
    darwin-packages.url = "github:flameflag/darwin-packages";
  };
}

Use the overlay (recommended)

{
  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 ];
        })
      ];
    };
  };
}

Use legacyPackages

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
];

Cherry-picking a subset

nixpkgs.overlays = [
  (final: prev: {
    inherit (prev.extend darwin-packages.overlays.default) ghostty;
  })
];

Packages

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

About

A minimal nixpkgs-like clone that focuses on providing Darwin-specific packages built from source

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors