93 Commits
Author SHA1 Message Date
Anish Pallati c1403be257 programs/devenv: init module
Signed-off-by: Anish Pallati <i@anish.land>
2026-07-19 00:17:39 -04:00
Angel J deadc7204c mas: add module for Mac App Store management
Signed-off-by: Angel J <78835633+Iamanaws@users.noreply.github.com>
2026-06-25 18:43:32 -07:00
Martin Häcker a0a51c56f0 nixpkgs.config: Add allowUnfreePackages option
Also make sure it merges correctly and verify with a test.

This was added in nixpkgs some time ago and is quite a nice addition as
it merges additively (in contrast to allowUnfreePredicate) thus allowing
to localize allowUnfreePackage specifications to all the locations in
your local config where unfree packages are added.
2026-04-01 21:03:30 +02:00
Malo Bourgon c68f5d1387 modules/homebrew: add onActivation.cleanup "check" mode
Closes #1032

Add `"check"` to the `onActivation.cleanup` enum. When set, nix-darwin runs
`brew bundle cleanup` during system checks to detect Homebrew packages that
are installed but not present in the generated Brewfile. If extra packages
are found, activation fails with a list of them and remediation steps.

Unlike `"uninstall"` and `"zap"`, the `"check"` mode never removes packages
-- it only reports. This runs during both `darwin-rebuild check` and
`darwin-rebuild switch`, matching the behavior of all other system checks.
2026-02-12 10:24:39 -08:00
Malo Bourgon ca6f8609c3 modules/homebrew: add shell integration options
Add `enableBashIntegration`, `enableFishIntegration`, and
`enableZshIntegration` options that evaluate `brew shellenv` to set up
Homebrew's environment and shell completions. This automates the
boilerplate that every nix-darwin Homebrew user currently writes manually.

All three shells use `interactiveShellInit`, consistent with direnv and
home-manager conventions. Fish additionally sets up completions paths in
the same hook.
2026-02-12 10:24:39 -08:00
Ihar Hrachyshka 05a5979906 networking: add dhcpClientId option to set DHCP Client ID 2026-01-18 14:10:56 -05:00
Angel J d70b24c2a8 test(gnupg): add tests for gnupg agent configuration
Signed-off-by: Angel J <78835633+Iamanaws@users.noreply.github.com>
2025-12-26 07:44:43 -08:00
Ryan Cao a4ecab1763 networking: modify firewall settings only if explicitly set 2025-10-24 14:23:07 +01:00
squat 0e3b855456 add test
Signed-off-by: squat <lserven@gmail.com>
2025-05-23 02:58:23 +02:00
r17x 7386d8878e services/dnscrypt-proxy: init 2025-02-28 19:58:19 +07:00
Ihar HrachyshkaandGitHub 1d9f622484 Revert "Add networking.hosts and .hostFiles from nixos " 2025-02-26 09:24:15 -05:00
ibizaman bde9fa6f64 add networking.hosts and .hostFiles from nixos 2025-02-24 08:57:05 +01:00
Emily c796587d2e nix: remove nix.useDaemon
We now assume the daemon is used unconditionally when we manage the
Nix installation.

The `nix.gc` and `nix.optimise` services lose their `$NIX_REMOTE`
setting rather than making it unconditional, as the NixOS `nix.gc`
module does not set it. Possibly it should, but I think uniformity
between the two systems is better than diverging, even though I kind
of hate that the non‐daemon method of access is even a thing.
2025-02-07 19:44:59 +00:00
Emily e182d8dff6 nix: add nix.enable option to disable Nix management
This is an equivalent of the `nix.enable` option from NixOS
and Home Manager. On NixOS, it mostly serves to allow building
fixed‐configuration systems without any Nix installation at
all. It should work for that purpose with nix-darwin too, and the
implementation is largely the same, but the main use case is more
similar to the Home Manager option: to allow the use of nix-darwin
with an unmanaged system installation of Nix, including when there
is another service expecting to manage it, as with Determinate.

By providing an escape hatch to opt out of Nix management entirely,
this will also allow us to consolidate and simplify our existing Nix
installation management, by being more opinionated about things like
taking ownership of the daemon and the build users. Porting one option
from NixOS lets us drop two that only ever existed in nix-darwin and
reduce overall complexity.
2025-02-07 19:44:59 +00:00
Michael Hoang 2ff55ab1c5 manual: get revision information when called from flake 2024-11-09 19:46:07 +11:00
Michael Hoang 68637ee7db flake: expose jobs from release.nix as a flattened attrset 2024-11-07 15:26:53 +11:00
Michael Hoang 56ac6182d3 release: remove unnecessary use of release-lib 2024-11-07 11:41:51 +11:00
Michael Hoang c904f6cdcb release: rename release to release-lib to match NixOS
https://github.com/NixOS/nixpkgs/blob/2d2a9ddbe3f2c00747398f3dc9b05f7f2ebb0f53/pkgs/top-level/release.nix#L56-L58
2024-11-07 11:41:51 +11:00
Michael Hoang 8a03b1850b release: remove package jobs 2024-11-07 11:41:51 +11:00
Michael Hoang e11dd028d3 release: remove unstable job
This job is actually in Nixpkgs at https://github.com/NixOS/nixpkgs/blob/2d2a9ddbe3f2c00747398f3dc9b05f7f2ebb0f53/pkgs/top-level/release.nix#L90-L139.
2024-11-07 11:41:51 +11:00
Michael Hoang 1a8c6cac8c release: fix tests not running on aarch64-darwin 2024-11-07 11:41:51 +11:00
Sandro JäckelandMichael Hoang 6eea6b4a75 Reuse nixpkgs instead of accessing channel
This fixes pure evaluation in flakes
2024-10-29 16:18:04 +11:00
Nick Hu 72e93853c2 module: add aerospace service 2024-10-16 22:50:44 +01:00
Michael HoangandGitHub c266b57bbe Merge pull request #1077 from rsrohitsingh682/add-netadata
feat: add netdata service
2024-10-04 09:44:43 +10:00
Rohit Singh 239d802869 netdata: add netdata service in nix-darwin. 2024-10-03 23:42:10 +05:30
Emily 04e3cfc822 version: make system.stateVersion mandatory
When testing the Sequoia UID change, I discovered that @mjm
didn’t have `system.stateVersion` set; I suspect this is not too
uncommon. Let’s make it required now, like NixOS is trying to,
to improve our backwards‐compatibility story in anticipation of
starting to cut release branches.
2024-09-12 18:35:10 +01:00
Prav!nandamsynist fa0d64721f module: add jankyborders service
- Added the jankyborders service.
- Introduced changes for whitelist and blacklist options and assertions.
- emoved path reference from launchd argument.
- Corrected missing trailing newline in default.nix.
2024-07-21 02:54:45 +05:30
Malo Bourgon 398510f601 Add nix.optimise module 2024-03-27 12:50:04 -07:00
Vincent Haupert 21b92addaf github-runners: init module
Adds a new module which allows to configure multiple GitHub self-hosted
runners on Darwin. The module is heavily inspired by the nixpkgs NixOS
module. Its implementation differs in some ways:

- There's currently no way to configure the user/group which runs the
  runner. All configured runners share the same user and group.
- No automatic cleanup.
- No advanced sandboxing apart from user/group isolation
2024-01-22 10:27:11 +01:00
Wael M. NasreddineandWael M. Nasreddine e58bcb921b programs.ssh: write ssh known_hosts only if there are any set 2023-09-15 08:24:20 -07:00
Emily 75c2925c57 release: give test derivations meaningful names 2023-08-03 09:47:40 +01:00
ryane 6adc4c680b eternal-terminal: add module
Adds an eternal-terminal module. Much of the implementation is borrowed
from the corresponding nixos module:
https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/networking/eternal-terminal.nix
2023-07-23 08:20:28 -04:00
Emily 69648c6cbb doc/manual: use nixos-render-docs
Now that all the DocBook documentation is gone, we can switch to the
new NixOS documentation generator. No meaningful change in HTML output,
except that I removed the rather pointless preface and changed the
title accordingly. Manual page output is greatly improved; it was
kind of broken before. The `sed` hack is pretty gross but I have
confirmed that nixpkgs will be happy to accept a PR to make things
a little more customizable.

This also drops the `manual` alias (deprecated in nixpkgs in 2018
and imported into nix-darwin), and `manualEpub` (because the NixOS
documentation generator doesn't support it and also nobody wants this
as an ebook).
2023-06-24 10:48:55 +01:00
Nathan Henrie ed993c5038 Add system terminfo to TERMINFO_DIRS by default 2022-10-19 15:09:28 -06:00
Malo Bourgon 55e198cf5a Add somes tests for homebrew module 2022-08-30 13:30:05 -07:00
Mario Rodas f3aa13d141 spotifyd: add spotifyd service 2021-03-11 04:20:00 +00:00
happysalada dcbc6a4433 nexdns: add module and tests 2020-11-27 11:28:26 +09:00
Andrew Seward fe814c5e91 Add some test coverage for redis service 2020-11-02 19:26:39 -08:00
Thibault Gagnaux 11413f94b2 Adds lorri service. 2020-08-29 16:35:43 +02:00
cmacrae 7ebda10e40 module: add spacebar service 2020-05-14 19:41:28 +01:00
cmacrae 7ef533e8d1 module: add yabai service 2020-05-10 22:35:54 +01:00
Daiderd JordanandGitHub f885aff4c9 Merge pull request #195 from hauleth/ft/add-dnsmasq-service
Add DNSmasq service
2020-05-03 18:57:17 +02:00
Łukasz Niemier 43b7a6901b test: add tests for new service 2020-04-28 19:06:45 +02:00
Wael M. NasreddineandWael M. Nasreddine cee84f4ea0 launchd: allow customization of the default launchd prefix 2020-04-14 15:01:37 -07:00
Daiderd Jordan 3fde04a384 tmux: add test for #173 2019-11-02 17:18:39 +01:00
Jason Felice 26c6e5f758 port autossh service from nixos 2019-07-02 10:44:34 -04:00
Daiderd Jordan da88e60bca release.nix: add manual builds 2019-05-04 15:39:32 +02:00
Daiderd Jordan af7cd05699 launchd: add basic test for daemons/agents 2019-03-22 20:49:53 +01:00
Wael M. Nasreddine 59d84f93e4 do actually source the test 2019-02-20 08:39:14 -08:00
Daiderd Jordan c50ba6a354 security.pki: add test for ca-certificates.crt 2019-01-15 22:14:56 +01:00