| 10 Nov 2025 |
| @ieda:matrix.org left the room. | 13:33:38 |
| 11 Nov 2025 |
| Mirko Lenz changed their display name from mlenz to Mirko Lenz. | 08:07:19 |
purrtner | Interesting. On my machine nixpkgs-review is broken, which is surprising. | 08:18:22 |
delafthi | I‘m usually running nixpks-review with https://github.com/Defelo/nixpkgs-review-gha. But let me test it on my local machine. | 11:48:38 |
| leah changed their display name from saige leah to leah. | 12:23:35 |
delafthi | no, nixpks-review works fine for me | 16:38:59 |
Ben Sparks | In reply to @purrtner:matrix.org Interesting. On my machine nixpkgs-review is broken, which is surprising. Are you getting an error related to a schema? | 16:40:35 |
niklaskorz | I was gonna say "what version are you running" | 16:41:01 |
niklaskorz | In reply to @benjaminsparks:chat.alugha.app Are you getting an error related to a schema? That's been fixed though (the biome thingy) | 16:41:12 |
| oak 🏳️🌈♥️ changed their profile picture. | 19:20:44 |
| 12 Nov 2025 |
jonhermansen | Is it normal that darwin-rebuild wants to clobber /etc/bashrc and /etc/zshrc ?
user@desktop mac-flake % sudo nix --extra-experimental-features "nix-command flakes" run nix-darwin/master#darwin-rebuild -- switch --flake .#desktop
warning: $HOME ('/Users/user') is not owned by you, falling back to the one defined in the 'passwd' file ('/var/root')
building the system configuration...
error: Unexpected files in /etc, aborting activation
The following files have unrecognized content and would be overwritten:
/etc/bashrc
/etc/zshrc
Please check there is nothing critical in these files, rename them by adding .before-nix-darwin to the end, and then try again.
| 00:53:20 |
jonhermansen | It's a fairly fresh install of Tahoe, I guess I was just surprised it was necessary. Oh, maybe this is how Nix stuff gets injected into PATH? | 00:59:19 |
samasaur | it is, yes. that said what we normally do is add the hashes of the macOS-provided files to nix-darwin itself so that they are "recognized" and can be overwritten automatically | 01:49:46 |
samasaur | are you on the latest nix-darwin? | 01:49:56 |
jonhermansen | I think I'm on the latest nix-darwin (trying to install master). I think I actually caused this problem 😇 because I messed with the Nix installer.
My /nix and /nix/store are on ZFS and so I had to disable the launchd service which attaches and mounts the APFS disk.
Hmm, OK, mea culpa. I didn't realize nix-darwin would try to manage the plist file too. I actually made the plist immutable, ran darwin-rebuild switch again, and got this
cp: cannot remove '/Library/LaunchDaemons/org.nixos.nix-daemon.plist': Operation not permitted | 01:53:58 |
jonhermansen | I'll have to find a way to import and mount my ZFS filesytems before the nix-daemon service fires | 01:54:24 |
samasaur | the nix-daemon service runs /bin/wait4path, so you should be okay to just replace the org.nixos.darwin-store.plist file? | 01:55:53 |
samasaur | not to trivialize that ofc | 01:56:05 |
jonhermansen | During the Nix installation, it also modified /etc/bashrc I think. I thought I accepted the Nix installer's copy of /etc/bashrc. My install is not typical, but I was curious about the "first-time installation" step of darwin-rebuild | 01:56:06 |
jonhermansen | That makes sense, except I deleted it :p I can find it and put it back | 01:56:27 |
samasaur | re: your original issue, there's no special first-time installation logic. nix-darwin will refuse to overwrite any files in /etc that aren't either a) managed by nix-darwin; b) have a "known hash" | 01:58:01 |
jonhermansen | I wasn't sure exactly where to add my ZFS import / mount steps, and so I had put them into the nix-daemon plist but clearly that was not the right idea | 01:58:01 |
jonhermansen | It makes me wonder what the hell I did to those files so that they didn't have a known hash. | 01:58:38 |
samasaur | we just include known hashes for the macOS-provided, upstream nix installer–provided, and determinate nix installer–provided zshrc, zprofile, bashrc, etc. | 01:58:42 |
jonhermansen | That makes good sense, and its reasonable that it asked me if I wanted to clobber them in that case! | 01:59:31 |
samasaur | most of them are listed here, and you can see how they are set | 02:00:19 |
samasaur | not entirely uncommon. often global installs of things (via non-nix) will modify these files so that the tools are in PATH | 02:01:13 |
jonhermansen | It looks like I have two backups. One which was before I installed Nix, and the other was the one that didn't match a known hash.
user@desktop:~/ > cat /etc/bashrc.backup-before-nix
# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
return
fi
PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize
[ -r "/etc/bashrc_$TERM_PROGRAM" ] && . "/etc/bashrc_$TERM_PROGRAM"
user@desktop:~/ > cat /etc/bashrc.bak
# Nix
if [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then
. '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'
fi
# End Nix
# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
return
fi
PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize
[ -r "/etc/bashrc_$TERM_PROGRAM" ] && . "/etc/bashrc_$TERM_PROGRAM"
| 02:03:31 |
samasaur | that's actually the happy path to some extent, because the main alternative (/etc/paths.d) is ignored by nix-darwin | 02:03:31 |
samasaur | at least this way you catch it | 02:03:37 |