Comments (2)
Just wanted to leave this here. It appears (after reading the code, and thinking it might work), this actually does work:
# install
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix \
-o /var/root/nix-installer
chmod +x /var/root/nix-installer
/var/root/nix-installer install macos \
--volume-label "Nix Store" \
--root-disk $(diskutil list |grep "Nix Store"|egrep -o '(disk\d+)') \
--no-confirm
Using the --volume-label
and --root-disk
options combined on a on an unmounted apfs disk seems to have the desire effect.
from nix-installer.
Unfortunately the dance of creating a Nix volume is annoyingly complicated as there are many states which the user system may be in which look fine but are otherwise broken. There has been some effort made to support this situation, however it's quite difficult and labor-intensive for me to test accurately as I don't use a Mac and our test Macs don't have external disks.
If you're interested, there is a create_nix_volume.rs
inside src/actions/macos
which composes together several other actions that make up the volume logic. Each of those actions has a plan
function where we try to detect if the step is already completed.
If you run nix-installer plan > plan.json
then review the plan.json
the first entry in actions
should be the volume creation stuff. You can see that some of those plan steps will be state: "Completed"
, those it's properly detecting are already done, however something to do with the volume creation is state: "Uncompleted"
. If you could figure out which one, we could possibly fix the issue.
As a hack/workaround, you can likely change the state
of that first actions
entry to Completed
then run nix-installer install --plan plan.json
and entirely skip volume creation.
There may also be issues around the launchd services we have to provision, as those are relatively tightly bound to the volumes we create, so we may not be out of the woods after this fix.
from nix-installer.
Related Issues (20)
- DNS error during fetch and unpack HOT 1
- Existing `nixbld` user with custom UID different than planned. HOT 1
- Parsing of a faulty APFS volume breaks installation HOT 1
- `/nix` folder does not exist when creating `/nix/var` HOT 2
- Error while syncing `/etc/selinux/targeted/tmp` to filesystem
- Mac APFS volume cannot be unmounted (ThemeWidgetControlViewService) HOT 2
- how to install specific nix version HOT 2
- Created APFS volume is not found HOT 9
- unattended .iso installer HOT 9
- How to pick up fixes in nix-installer? HOT 2
- Unable to run installer if userid 301 already exists HOT 1
- Running installer on macOS over conventional installation HOT 1
- Mac APFS volume cannot be unmounted (Kernel) HOT 2
- <autogenerated-issue> Install failure
- Mac APFS volume cannot be unmounted (script) HOT 1
- nix run nix-darwin -- switch --flake . -> error: unexpected files in /etc, aborting installation HOT 4
- nix upgrade-nix HOT 6
- Non-uinque UID 30032 prevents installation on Arch Linux
- Install fails when /nix/store is a bind mount HOT 1
- error: unable to load seccomp BPF program: Invalid argument HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nix-installer.