summaryrefslogtreecommitdiff
path: root/default.nix
AgeCommit message (Collapse)Author
2024-11-21default: expose all the `darwin-*` commandsMichael Hoang
Change `uninstaller` to `darwin-uninstaller` to match flake attribute
2024-11-21installer: removeMichael Hoang
2023-11-16Install darwin-uninstall by default, which includes the 'empty' config it ↵Graham Christensen
switches to Co-Authored-By: Michael Hoang <enzime@users.noreply.github.com>
2023-07-09eval-config: rationalize handling of NixpkgsEmily
This is a big change that disentangles a lot of mistaken assumptions about mixing multiple versions of Nixpkgs, treating external flake inputs as gospel for the source of Nixpkgs and nix-darwin, etc.; the end result should be much simpler conceptually, but it will be a breaking change for anyone using `eval-config.nix` directly. Hopefully that shouldn't be a big issue, as it is more of an internal API and it's quite likely that existing uses may have been broken in the same way the internal ones were. It was previously easy to get into a state where your `lib` comes from nix-darwin's `nixpkgs` input or a global channel and your `pkgs` comes from another major version of Nixpkgs. This is pretty fundamentally broken due to the coupling of `pkgs` to its corresponding `lib`, but the brokenness was hidden much of the time until something surfaced it. Now there is exactly one mandatory `lib` input to system evaluation, and the handling of various additional options like `pkgs` and `system` can be done modularly; maintaining backwards compatibility with the previous calling convention is punted to the `default.nix` and `lib.darwinSystem` entry points. `inputs` is no longer read by nix-darwin or special in any way, merely a convention for user code, and the argument is retained in the entry points only for backwards compatibility. All correct invocations of the entry points should keep working after this change, and some previously-broken ones should be fixed too. The documentation and template have been adjusted to show the newly-recommended modular way of specifying various things, but no deprecation warnings have been introduced yet by this change. There is one potential, mostly cosmetic regression: `system.nixpkgsRevision` and related options are less likely to be set than before, in cases where it is not possible to determine the origin of the package set. Setting `nixpkgs.source` explicitly will make this work again, and I hope to look into sending changes upstream to Nixpkgs to make `lib.trivial.revisionWithDefault` behave properly under flakes, which would fix this regression and potentially allow reducing some of the complexity. Fixes: #669
2023-06-30default.nix: Use nixpkgs.rev if it is setRobert Hensing
This increases the odds of automatically setting system.nixpkgsRevision, which makes the links in the manual nice.
2021-09-08Pass system to darwinSystem rather than eval-config.Drew Hess
This allows us to specify what kind of darwinSystem we want to build, rather than determining it at evaluation time.
2020-10-25reuse evalConfig in default.nixDaiderd Jordan
2020-08-21darwin-[un]installer: make sure all dependencies are part of the closureBas van Dijk
This makes sure the `darwin-installer` and `darwin-uninstaller` packages can be nix copied to any target and reliably be executed there.
2020-03-22fix evaluation of darwin.pkgs for recent nixpkgsDaiderd Jordan
The _module attribute was renamed in https://github.com/NixOS/nixpkgs/commits/dcdd232939232d04c1132b4cc242dd3dac44be8c.
2019-05-04modules: add modules-list.nix and baseModules argumentDaiderd Jordan
2019-02-16sandbox: add module for sandbox profilesDaiderd Jordan
This could be used outside of nix-darwin, but this is mainly useful for services since all of the inputs are known there. { # $ /usr/bin/sandbox-exec -f $profile $coreutils/bin/ls / # ls: cannot access '/': Operation not permitted security.sandbox.profiles.example.closure = [ pkgs.coreutils ]; }
2019-01-15security.pki: add module to configure ca certificatesDaiderd Jordan
This makes NIX_SSL_CERT_FILE configurable and makes /etc/ssl/certs/ca-certificates.crt available like nixos.
2018-09-30initialise fonts modulePiotr Limanowski
2018-09-15synapse-bt: add synapse-bt serviceMario Rodas
2018-09-14synergy: Add module for client and serverMichael Hoang
2018-08-02Add a privoxy serviceCarlos D
2018-06-04Init offlineimap servicePeriklis Tsirakidis
2018-05-18gnupg: add gpg-agent serviceKirill Elagin
Fixes #77.
2018-03-06ssh: add option to configure known hostsDaiderd Jordan
2018-03-03adds skhd modulePiotr Limanowski
2018-02-27defaults: Add screencapture.locationcmacrae
2018-02-23buildkite-agent service: init for nix-darwinRodney Lorrimar
2018-01-29ofborg: init serviceDaiderd Jordan
2018-01-20bash: move fileDaiderd Jordan
2018-01-17checks: rename fileDaiderd Jordan
2018-01-15uninstaller: initDaiderd Jordan
2018-01-14users: add option to configure nixbld users.Daiderd Jordan
2018-01-13installer: initDaiderd Jordan
2018-01-13users: move submodules to separate filesDaiderd Jordan
2018-01-13users: add options for user creationDaiderd Jordan
2018-01-13users: add options to create user groupsDaiderd Jordan
2018-01-08keyboard: add options for keyboard mappingsDaiderd Jordan
Fixes #55
2018-01-06add _file for anonymous packages moduleDaiderd Jordan
2018-01-06nixpkgs: add support for overlaysDaiderd Jordan
2018-01-05defaults: add option for NetBIOSNameDaiderd Jordan
2017-12-13environment-shells: add option to manage /etc/shellsDaiderd Jordan
2017-11-29security-accessibility: remove optionsDaiderd Jordan
The accessibility database has been protected with SIP since macOS 10.12 and there doesn't seem to be another way to configure this programmatically.
2017-10-20nix-info: install by defaultDaiderd Jordan
2017-10-20set modulesPathDaiderd Jordan
2017-10-01system-version: add system.stateVersion optionDaiderd Jordan
2017-09-07modules: add redis serviceDaiderd Jordan
2017-07-28add programs.nix-index moduleDaiderd Jordan
2017-07-23add activation-checksDaiderd Jordan
2017-07-17enable activate-system serice by defaultDaiderd Jordan
2017-07-17hydra: use nix.gc.automaticDaiderd Jordan
2017-07-06Merge pull request #39 from peel/f-networkingDaiderd Jordan
Adds an idea for networking module
2017-07-05Adds an idea for networking modulePiotr Limanowski
The idea is to follow: https://nixos.org/nixos/options.html#networking so we can share even more configuration ideas from NixOS.
2017-07-03Merge pull request #36 from peel/masterDaiderd Jordan
Adds support for ChunkWM
2017-07-02postgresql: init serviceDaiderd Jordan
2017-06-29Adds support for ChunkWMPiotr Limanowski