Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crup installation #9669

Closed
1 task done
jeevanghimire opened this issue Dec 27, 2023 · 1 comment
Closed
1 task done

Crup installation #9669

jeevanghimire opened this issue Dec 27, 2023 · 1 comment

Comments

@jeevanghimire
Copy link

jeevanghimire commented Dec 27, 2023

Platform

  • macOS

Additional information

Output

Output

<!--sh <(curl -L https://nixos.org/nix/install) --daemon
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:100  4052  100  4052    0     0   2762      0  0:00:01  0:00:01 --:--:-- 24263
downloading Nix 2.19.2 binary tarball for aarch64-darwin from 'https://releases.nixos.org/nix/nix-2.19.2/nix-2.19.2-aarch64-darwin.tar.xz' to '/var/folders/kd/xf0g3xtj7sscyfgks_2bbsvh0000gn/T/nix-binary-tarball-unpack.XXXXXXXXXX.SSpbWL1YOr'...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:  7 10.9M    7  879k    0     0  1210k      0  0:00:09 --:--:--  0:00: 67 10.9M   67 7570k    0     0  4385k      0  0:00:02  0:00:01  0:00:100 10.9M  100 10.9M    0     0  5047k      0  0:00:02  0:00:02 --:--:-- 5050k
Switching to the Multi-user Installer
Welcome to the Multi-User Nix Installation

This installation tool will set up your computer with the Nix package
manager. This will happen in a few stages:

1. Make sure your computer doesn't already have Nix. If it does, I
   will show you instructions on how to clean up your old install.

2. Show you what I am going to install and where. Then I will ask
   if you are ready to continue.

3. Create the system users (uids [301..332]) and groups (gid 30000)
   that the Nix daemon uses to run builds.

4. Perform the basic installation of the Nix files daemon.

5. Configure your shell to import special Nix Profile files, so you
   can use Nix.

6. Start the Nix daemon.

Would you like to see a more detailed list of what I will do?
[y/n] y


I will:

 - make sure your computer doesn't already have Nix files
   (if it does, I will tell you how to clean them up.)
 - create local users (see the list above for the users I'll make)
 - create a local group (nixbld)
 - install Nix in to /nix
 - create a configuration file in /etc/nix
 - set up the "default profile" by creating some Nix-related files in
   /var/root
 - back up /etc/bashrc to /etc/bashrc.backup-before-nix
 - update /etc/bashrc to include some Nix configuration
 - back up /etc/zshrc to /etc/zshrc.backup-before-nix
 - update /etc/zshrc to include some Nix configuration
 - back up /etc/bash.bashrc to /etc/bash.bashrc.backup-before-nix
 - update /etc/bash.bashrc to include some Nix configuration
 - create a Nix volume and a LaunchDaemon to mount it
 - create a LaunchDaemon (at /Library/LaunchDaemons/org.nixos.nix-daemon.plist) for nix-daemon

Ready to continue?
[y/n] y


---- let's talk about sudo -----------------------------------------------------
This script is going to call sudo a lot. Every time I do, it'll
output exactly what it'll do, and why.

Just like this:

---- sudo execution ------------------------------------------------------------
I am executing:

    $ sudo echo

to demonstrate how our sudo prompts look


This might look scary, but everything can be undone by running just a
few commands. I used to ask you to confirm each time sudo ran, but it
was too many times. Instead, I'll just ask you this one time:

Can I use sudo?
[y/n] y

Yay! Thanks! Let's get going!

~~> Fixing any leftover Nix volume state
Before I try to install, I'll check for any existing Nix volume config
and ask for your permission to remove it (so that the installer can
start fresh). I'll also ask for permission to fix any issues I spot.

---- Found existing Nix volume -------------------------------------------------
  special:	disk3s7
     uuid:	3B8C1B42-6950-4BE9-B4F5-EE347313800E
encrypted:	yes


---- sudo execution ------------------------------------------------------------
---- sudo execution ------------------------------------------------------------
I am executing:
I am executing:


    $ sudo security find-generic-password -s 3B8C1B42-6950-4BE9-B4F5-EE347313800E -w
    $ sudo /usr/sbin/diskutil apfs unlockVolume disk3s7 -verify -stdinpassphrase -user 3B8C1B42-6950-4BE9-B4F5-EE347313800E


to confirm keychain has a password that unlocks this volume
to confirm the password actually unlocks the volume


Verifying the specific cryptographic user 3B8C1B42-6950-4BE9-B4F5-EE347313800E on APFS Volume disk3s7
Passphrase valid
Found a working decryption password in keychain :)


~~> Checking for artifacts of previous installs
Before I try to install, I'll check for signs Nix already is or has
been installed on this system.

---- oh no! --------------------------------------------------------------------
I back up shell profile/rc scripts before I add Nix to them.
I need to back up /etc/zshrc to /etc/zshrc.backup-before-nix,
but the latter already exists.

Here's how to clean up the old backup file:

1. Back up (copy) /etc/zshrc and /etc/zshrc.backup-before-nix
   to another location, just in case.

2. Ensure /etc/zshrc.backup-before-nix does not have anything
   Nix-related in it. If it does, something is probably quite
   wrong. Please open an issue or get in touch immediately.

3. Once you confirm /etc/zshrc is backed up and
   /etc/zshrc.backup-before-nix doesn't mention Nix, run:
   mv /etc/zshrc.backup-before-nix /etc/zshrc

We'd love to help if you need it.

You can open an issue at
https://github.com/NixOS/nix/issues/new?labels=installer&template=installer.md

Or get in touch with the community: https://nixos.org/community -->

Priorities

Add 👍 to issues you find important.

@abathur
Copy link
Member

abathur commented Dec 27, 2023

You'll have to follow the uninstall instructions before reinstalling it: https://nixos.org/manual/nix/stable/installation/uninstall.html#macos

For future reference: If you are reinstalling because Nix was missing from your PATH after a macOS update, you don't have to reinstall to fix this. The macOS update is overwriting the shell hook, but you can just replace it. See #3616 for more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants