Michael Hoang
fd6660cb91
tests: fix negative asserts with grep
not working
...
Using `grep -v` without `-z` will return 0 even if there is a match
found as all the non-matching lines will be matched. Instead of using
`grep -vqz`, `(! grep ...)` is more readable.
The brackets are necessary as `! grep` will not trigger `set -e`[0], so we
run it inside a subshell to use its non-zero exit code.
[0]: https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html#The-Set-Builtin
2024-10-27 21:26:19 +11:00
Arvin Sevilla
d21a7e30e6
Update pkgs/darwin-installer/default.nix
...
Co-authored-by: Michael Hoang <Enzime@users.noreply.github.com>
2023-08-13 18:04:12 +08:00
Arvin Sevilla
5c22b241f7
chore(installer): capitalize the default option when reading user input
2023-08-13 16:54:23 +08:00
Michael Hoang
7881727017
installer: match flaky installation logic
2023-07-11 18:59:05 +10:00
Michael Hoang
5288a72354
Allow flaky installation with darwin-rebuild
2023-07-11 18:59:05 +10:00
Michael Hoang
1ba9ae3d21
darwin-installer: fix /run
not getting created
2023-06-09 15:25:55 +10:00
Malo Bourgon
ffc8ec5c9a
Add .nix-defexpr to NIX_PATH the way the NixOS module does
2022-08-16 17:41:08 -07:00
Malo Bourgon
7e74c1c9fb
Move build user options to nix
module to improve overlap with NixOS
...
Also add `config.ids` like in NixOS.
2022-08-16 10:41:51 -07:00
Domen Kožar
16c9343b25
move installer into a separate file
2022-01-11 14:14:42 +01:00
Travis A. Everett
94c3e407dd
fix dependence on apfs.util exit code
...
apfs.util (or at least it's newer -t flag) has bad exit code semantics
and will return non-zero codes for both success and errors.
Closes #401 and most-likely fixes #378 as well
2021-12-21 10:07:23 -06:00
Mario Rodas
e78f90f795
darwin-[un]installer: Don't reference deprecated stdenv.lib
...
`stdenv.lib` has been deprecated, and the correct approach is to use
`lib` directly through `pkgs.lib`.
2021-02-23 04:20:00 +00:00
Daiderd Jordan
8834df4317
installer: silence apfs.util output
...
Passing incorrect flags prints help output to stdout so silence
everything.
Fixes #264
2020-12-22 10:14:02 +01:00
Daiderd Jordan
f8a04c7f6d
installer: move channel setup out of activation
...
Fixes #234
2020-12-21 14:23:25 +01:00
Daiderd Jordan
6dd655466d
installer: remove profile step
2020-12-19 12:38:06 +01:00
Daiderd Jordan
f47083bd71
installer: extend test with shell environment checks
2020-12-18 14:53:09 +01:00
Daiderd Jordan
75cab75c22
installer: ensure /etc/static runs last
...
In the case that nix-darwin was installed for a single user installation
and later nix gets reinstalled with the daemon it's possible that
nix-daemon.sh loads afterwards, resulting in unexpected behaviour.
2020-12-18 14:53:08 +01:00
Daiderd Jordan
c6f44ea7ff
installer: handle apfs.util on macOS 11.0 Big Sur
...
The flages of apfs.util changed in 11.0 so try both cases.
Fixes #249
2020-11-15 15:17:13 +01:00
Daiderd Jordan
943a6b25d7
Merge pull request #215 from basvandijk/installer-correct-referencees
...
darwin-[un]installer: make sure all dependencies are part of the closure
2020-08-26 18:21:07 +02:00
Alexandre Esteves
a6f47f87f1
Fix typo
2020-08-26 13:19:51 +01:00
Bas van Dijk
03d3931656
darwin-[un]installer: make sure all dependencies are part of the closure
...
This makes sure the `darwin-installer` and `darwin-uninstaller`
packages can be nix copied to any target and reliably be executed
there.
2020-08-21 21:22:09 +02:00
Daiderd Jordan
47fe6db9c9
darwin-installer: configure zsh
2020-06-17 19:37:33 +02:00
James Ottaway
32fa78821f
Only enable services.nix-daemon
when no config is present upon install
2020-05-17 21:58:35 +10:00
Daiderd Jordan
80a8a591a9
installer: try creating /run using synthetic.conf
...
Since macOS 10.15 Catalina / can't be changed directly anymore.
Fixes #166
2020-03-28 19:12:21 +01:00
Daiderd Jordan
3ec36dd667
darwin-installer: add missing shebang
...
Unclear in which conditions this does or doesn't work but using a
shebang is best practice and ensures an ancient version of bash isn't
used.
Fixes #179
2019-12-14 18:13:33 +01:00
Daiderd Jordan
462a17b1f1
installer: detect multi-user install
2019-07-01 23:02:29 +02:00
Domen Kožar
48a9159b35
darwin-installer: use --show-trace
...
This saved me some debugging
2019-06-25 19:50:37 +02:00
Daiderd Jordan
132a7f0a09
users: increase default nixbld users to 32 and set knownUsers by default
...
Since the users.nix.configureBuildUsers target nixbld users, don't require
them to be added to knownUsers explicitly.
2019-02-21 23:15:09 +01:00
Daiderd Jordan
34a6eca033
Revert "installer: add NIX_PATH fallback in <darwin> lookup"
...
This reverts commit 06f8d83f60
.
2018-10-27 00:14:38 +01:00
Daiderd Jordan
63dfbc93d5
installer: include channels in bootstrap NIX_PATH
2018-10-26 17:47:45 +01:00
Daiderd Jordan
06f8d83f60
installer: add NIX_PATH fallback in <darwin> lookup
...
The nix.nixPath option doesn't include everything, some paths are added
dynamically now.
2018-10-26 17:09:19 +01:00
Daiderd Jordan
79d356909b
installer: don't use pure PATH for editor
...
For the rest of the installer we want to make sure nothing installed by
the user interferes, however a user's editor might be installed
anywhere.
2018-10-26 09:10:28 +01:00
Daiderd Jordan
75add386d3
installer: prefer nix from default profile
...
Using a nix 2.1 nix-channel/nix-env with a 2.0 nix-daemon doesn't work
because the buildenv implementation was moved to the daemon. This means
the nix version of the target darwin system can't be used because the
daemon isn't upgraded yet.
error: unsupported builtin function 'buildenv'
2018-09-14 22:29:08 +02:00
Daiderd Jordan
a893723b95
activation: fix missing /sbin entries in PATH
2018-08-01 21:08:13 +02:00
Kirill Elagin
45f0e832cd
fixup! installer and activation: Sanitise PATH
2018-06-29 19:05:57 +03:00
Kirill Elagin
26bab2fd32
installer and activation: Sanitise PATH
...
This makes sure that the installation and activation processes are “pure”,
i.e. they use only binaries from nixpkgs or ones that come with macOS.
Closes #86 .
2018-06-29 18:51:41 +03:00
Kirill Elagin
2fec230ccc
installer: Bring our own nix-instantiate
2018-06-29 15:15:35 +03:00
Daiderd Jordan
49b899dd97
installer: make configuration writable
...
If the installer is built from a channel or url the example is copied
from the store and won't have write permissions.
2018-04-14 00:28:11 +02:00
Daiderd Jordan
6f1c1049dd
installer: fallback to a default editor
2018-01-24 22:37:40 +01:00
Daiderd Jordan
c2728318fb
installer: add post check
2018-01-17 21:31:47 +01:00
Daiderd Jordan
64a46b7164
uninstaller: add header
2018-01-16 00:58:13 +01:00
Daiderd Jordan
02725e220a
installer: fix editor check
2018-01-16 00:58:12 +01:00
Daiderd Jordan
ac238d0323
installer: ask to edit configuration before installing
...
This is skipped when stdin is not a tty, unlike the other interactive
parts that look at stdout.
2018-01-14 19:08:02 +01:00
Daiderd Jordan
d31dbefca7
installer: configure build users
2018-01-14 17:18:10 +01:00
Daiderd Jordan
d107dfbc3a
installer: move /run creation
2018-01-14 16:07:46 +01:00
Daiderd Jordan
850dc95145
installer: fix patch
2018-01-14 16:07:46 +01:00
Daiderd Jordan
977ed04a60
installer: setup /run
2018-01-13 23:33:27 +01:00
Daiderd Jordan
9dd2d679cb
installer: add --check flag
2018-01-13 23:33:27 +01:00
Daiderd Jordan
32481b542b
installer: init
2018-01-13 23:33:27 +01:00