<pjan_>
Another question: how do you update the systemPackages?
jrolfs__ has quit [Ping timeout: 252 seconds]
jrolfs has quit [Ping timeout: 264 seconds]
jrolfs has joined #nix-darwin
jrolfs__ has joined #nix-darwin
jrolfs has quit [Ping timeout: 240 seconds]
jrolfs__ has quit [Ping timeout: 248 seconds]
pjan_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jrolfs__ has joined #nix-darwin
jrolfs has joined #nix-darwin
jrolfs__ has quit [Ping timeout: 252 seconds]
jrolfs has quit [Ping timeout: 248 seconds]
pjan_ has joined #nix-darwin
<disasm>
pjan_: have you looked into home manager? as for updating, if your not using a local nixpkgs checkout, nix-channel --update should update your channel
<pjan_>
disasm, yeah... home-manager seems to be doing that, but it's not particularly focussed/catering to OSX.
<pjan_>
does `nix-channel --update` also update all the content of the packages set in `environment.systemPackages`?
<disasm>
no, it just updates the channel
<disasm>
darwin-rebuild switch will do that
<disasm>
nixos-rebuild switch --upgrade essentially updates the channel first, and then does a rebuild switch on nixos. darwin-rebuild doesn't have a --upgrade option so you have to manually update the channel (if your using a channel in the first place)
<disasm>
I think a lot of folks here use LnL example with local nixpkgs checkout because we're working on nixpkgs packages as well.
<pjan_>
meaning you clone/update the nixpkgs repo, and read the definitions from there?
jrolfs__ has joined #nix-darwin
<disasm>
pjan_: yeah
jrolfs has joined #nix-darwin
<pjan_>
still pretty new to nix, so thanks for explaining these basics
<disasm>
That line makes it automatically git pull on darwin-rebuild switch
jrolfs__ has quit [Ping timeout: 248 seconds]
jrolfs has quit [Ping timeout: 256 seconds]
<johnw>
hi pjan_
<johnw>
pjan_: fwiw, I felt it was unfortunate too :)
jrolfs__ has joined #nix-darwin
<pjan_>
hi johnw. It was your youtube movie on nix that got me into nix btw. Thanks for that
<johnw>
hey, cool!
jrolfs has joined #nix-darwin
<johnw>
home-manager looks to be exactly what I was beginning to duplicate
<johnw>
it does seem to have some darwin support too
<johnw>
it's knows the right place to configure browserpass, for example
<pjan_>
there is some overlap though (looking at e.g. programs in the modules), and I believe a basic module to enable similar results can be brought into nix-darwin. Would be great if we don't need to bring another piece into the mix to manage this all
<johnw>
true
<disasm>
so... programs is equivalent to programs in nixos. it's for global settings.
<disasm>
for example, programs.zsh sets global zsh configs for all users
<johnw>
at the same time, I see the appeal of separate domains for "system-level" things, such as services that should always be available, and "user-level" things that are specific to just me and my account
<johnw>
I feel strange putting certain environment variable settings into darwin-configuration.nix for example; some are OK there, others feel out of place
<disasm>
other than home manager, there isn't really any way to manage files in your home directory with nix at this time. There's another project called nixup but I think it's kinda stalled.
<disasm>
well, that or the command hack john is using :)
<johnw>
i'm switching to home-manager as we speak :)
jrolfs has quit [Ping timeout: 256 seconds]
jrolfs__ has quit [Ping timeout: 264 seconds]
<johnw>
another line of demarcation is that my "user-level" stuff is generally far more volatile and changing than my "system-level" stuff
<johnw>
I have a feeling that when properly configured, I'll run darwin-rebuild fairly rarely, but home-manager rebuild very often
<johnw>
what does [[ -v HOME_MANAGER_CONFIG ]] mean in bash?
<johnw>
-v FOO tests whether the variable FOO exists or not
<clever>
-v varname
<clever>
True if the shell variable varname is set (has been assigned a value).
<johnw>
ah
<johnw>
wait, help [[ didn't print that...
<clever>
i ran `man bash`, searched for EXPRESSION, then looked thru that
<clever>
the bash man page is huge and tricky to search
<johnw>
huh, I searched man bash first too, but I think the bolded text messed up emacs isearch
<clever>
and -v is in a crap-ton of things
<johnw>
I ask becasue home-manager is dying with bash saying "unbound variable" when -v is supposed to be a test for whether the variable is bound or not
<clever>
try searching for 'True if the shell variable' to get yourself in the right area, then see what works
<clever>
ah
<johnw>
ah, I see the problem
<johnw>
I didn't create /nix/var/nix/gcroots/per-user/johnw/current-home
<clever>
nix-env is supposed to create that symlink
<pjan_>
I think I would like to get LnL's idea of whether managing configs in the home directory is something nix-darwin has ambition to include or not.
jrolfs has joined #nix-darwin
jrolfs__ has joined #nix-darwin
pjan_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jrolfs__ has quit [Ping timeout: 240 seconds]
jrolfs has quit [Ping timeout: 248 seconds]
jrolfs has joined #nix-darwin
jrolfs__ has joined #nix-darwin
zzamboni has quit [Quit: Leaving.]
<LnL>
good morning :)
jrolfs has quit [Ping timeout: 264 seconds]
jrolfs has joined #nix-darwin
jrolfs__ has quit [Ping timeout: 268 seconds]
jrolfs__ has joined #nix-darwin
jrolfs has quit [Ping timeout: 256 seconds]
jrolfs has joined #nix-darwin
pjan_ has joined #nix-darwin
jrolfs__ has quit [Ping timeout: 265 seconds]
jrolfs has quit [Ping timeout: 248 seconds]
jrolfs__ has joined #nix-darwin
jrolfs has joined #nix-darwin
pjan_ has quit [Ping timeout: 260 seconds]
jrolfs has quit [Ping timeout: 240 seconds]
jrolfs__ has quit [Ping timeout: 252 seconds]
jrolfs has joined #nix-darwin
jrolfs__ has joined #nix-darwin
zzamboni has joined #nix-darwin
zzamboni has quit [Quit: Leaving.]
zzamboni has joined #nix-darwin
zzamboni has quit [Client Quit]
jrolfs has quit [Ping timeout: 240 seconds]
jrolfs__ has quit [Ping timeout: 252 seconds]
jrolfs__ has joined #nix-darwin
jrolfs has joined #nix-darwin
zzamboni has joined #nix-darwin
jrolfs__ has quit [Ping timeout: 264 seconds]
jrolfs has quit [Ping timeout: 268 seconds]
__Sander__ has joined #nix-darwin
zzamboni has quit [Quit: Leaving.]
zzamboni has joined #nix-darwin
jrolfs__ has joined #nix-darwin
jrolfs has joined #nix-darwin
domenkozar has quit [Ping timeout: 240 seconds]
domenkozar has joined #nix-darwin
jrolfs__ has quit [Ping timeout: 256 seconds]
jrolfs has quit [Ping timeout: 260 seconds]
jrolfs__ has joined #nix-darwin
jrolfs has joined #nix-darwin
pjan_ has joined #nix-darwin
jrolfs__ has quit [Ping timeout: 252 seconds]
jrolfs has quit [Ping timeout: 256 seconds]
pjan_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
pjan_ has joined #nix-darwin
jrolfs__ has joined #nix-darwin
jrolfs has joined #nix-darwin
<LnL>
pjan_: I think impure files should be avoided as much as possible unless there’s a reason for it, eg. a service that can reload it’s config
<LnL>
pjan_: however that's not always possible, the main reason I didn't add it yet it because I want it to cleanup stale symlinks/files
<pjan_>
I'm fully aligned with you on the purity. Indeed, unfortunate that it's not always possible.
<pjan_>
apart from stale symlinks/files, would it work with generations/rollbacks/...?
<LnL>
that's what makes it a bit tricky, the way etc is implemented is self contained and atomic
<LnL>
but that approach doesn't work for arbitrary files, that would be super slow
jrolfs has quit [Ping timeout: 256 seconds]
jrolfs__ has quit [Ping timeout: 268 seconds]
<pjan_>
how about having a pure core, and an impure (opt-in) extension? Addressing that use-case would probably be good for the adoption, no?
jrolfs has joined #nix-darwin
jrolfs__ has joined #nix-darwin
zzamboni has quit [Quit: Leaving.]
szicari has joined #nix-darwin
zzamboni has joined #nix-darwin
pjan_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
pjan_ has joined #nix-darwin
zzamboni has quit [Quit: Leaving.]
jrolfs__ has quit [Ping timeout: 240 seconds]
jrolfs has quit [Ping timeout: 255 seconds]
jrolfs__ has joined #nix-darwin
jrolfs has joined #nix-darwin
jrolfs__ has quit [Ping timeout: 248 seconds]
jrolfs has quit [Ping timeout: 256 seconds]
jrolfs__ has joined #nix-darwin
pjan_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jrolfs has joined #nix-darwin
pjan_ has joined #nix-darwin
jrolfs__ has quit [Ping timeout: 252 seconds]
pjan_ has quit [Client Quit]
jrolfs has quit [Ping timeout: 240 seconds]
jrolfs__ has joined #nix-darwin
jrolfs has joined #nix-darwin
Sonarpulse has quit [Ping timeout: 265 seconds]
jrolfs__ has quit [Ping timeout: 265 seconds]
jrolfs has quit [Ping timeout: 248 seconds]
jrolfs__ has joined #nix-darwin
jrolfs has joined #nix-darwin
jrolfs__ has quit [Ping timeout: 252 seconds]
jrolfs has quit [Ping timeout: 248 seconds]
jrolfs__ has joined #nix-darwin
jrolfs has joined #nix-darwin
Sonarpulse has joined #nix-darwin
jrolfs__ has quit [Ping timeout: 248 seconds]
jrolfs__ has joined #nix-darwin
jrolfs__ has quit [Ping timeout: 240 seconds]
jrolfs has quit [Ping timeout: 256 seconds]
jrolfs has joined #nix-darwin
jrolfs__ has joined #nix-darwin
jrolfs has quit [Ping timeout: 248 seconds]
jrolfs__ has quit [Ping timeout: 248 seconds]
jrolfs__ has joined #nix-darwin
jrolfs has joined #nix-darwin
jrolfs__ has quit [Ping timeout: 248 seconds]
jrolfs has quit [Ping timeout: 268 seconds]
jrolfs__ has joined #nix-darwin
jrolfs has joined #nix-darwin
__Sander__ has quit [Quit: Konversation terminated!]
dustinm has quit [Quit: Leaving]
jrolfs__ has quit [Ping timeout: 240 seconds]
dustinm has joined #nix-darwin
jrolfs__ has joined #nix-darwin
jrolfs has quit [Ping timeout: 264 seconds]
jrolfs has joined #nix-darwin
jrolfs__ has quit [Ping timeout: 248 seconds]
jrolfs__ has joined #nix-darwin
jrolfs has quit [Ping timeout: 240 seconds]
jrolfs__ has quit [Ping timeout: 252 seconds]
jrolfs has joined #nix-darwin
jrolfs__ has joined #nix-darwin
<johnw>
I definitely see some overlap now between home-manager and LnL's work
<johnw>
especially in the service definitions
jrolfs__ has quit [Ping timeout: 240 seconds]
jrolfs has quit [Ping timeout: 240 seconds]
<LnL>
I didn't even know about home-manager when I started that
<johnw>
yeah, and then there's NixUP which only recently was updated
<LnL>
I think 1.12 will always use that instead of whatever is in your PATH
<acowley>
LnL: *hug*
<acowley>
Thank you!
<acowley>
I upgraded to HS last night on this machine, so of course all my nix stuff broke
<LnL>
howso?
<acowley>
I've spent all day rebuilding and desperately want to get at least something done
<acowley>
LnL: gpg-agent would segfault
<acowley>
LnL: And then my Terminal locked up
<acowley>
I did the HS upgrade on another machine some time back when the lockups were a big deal
<acowley>
and this was not that
<acowley>
It did not freeze the whole system, but Activity Monitor was broken, and Terminal, too.
<LnL>
weird, I use gpg from nixpkgs
<acowley>
So something else segfaulted with a dynamic linking failure relating to libSystem, and I nuked /nix to switch over to to the multi-user setup on this machine
<acowley>
I've used gpg from nixpkgs for a long time. It was just the executable no longer worked after rebooting into HS
<LnL>
maybe you had old stuff in your nix-profile
zzamboni has quit [Quit: Leaving.]
zzamboni has joined #nix-darwin
<acowley>
I'm sure I did
<acowley>
But of course when I go to rebuild my env, I encounter that the revision I'd been using from the cquery repo had been lost upstream. So I update to the latest, and the build had broken on nix.
<acowley>
So I fixed that.
<acowley>
Hours later OpenCV is ready, and then cmake won't let me enter a nix-shell.
<acowley>
Wow, latest cquery with lsp-ui is incredible even if it's more than a little visually noisy.
zzamboni has quit [Quit: Leaving.]
szicari_ has joined #nix-darwin
<johnw>
LnL: you have nixpkgs.config.packageOverrides in your lnl.nix. Could I use an overlays directory instead?
<LnL>
don't think I added support for that yet
szicari has quit [Ping timeout: 260 seconds]
szicari_ is now known as szicari
<LnL>
pretty sure nixpkgs.overlays wasn't in nixos yet when I looked at it
jrolfs__ has joined #nix-darwin
pxc has joined #nix-darwin
jrolfs has joined #nix-darwin
<johnw>
hard to add?
<LnL>
probably not
jrolfs__ has quit [Ping timeout: 264 seconds]
<johnw>
would the best approach be to start by trying to copy from nixpkgs.overlays?
<johnw>
or can we reuse it?
jrolfs has quit [Ping timeout: 256 seconds]
pxc has quit [Ping timeout: 265 seconds]
<LnL>
I don't like the idea of reusing modules since they are pretty tightly coupled
<LnL>
wouldn't want to import something with an activation script that breaks stuff by accident
jrolfs has joined #nix-darwin
jrolfs__ has joined #nix-darwin
<johnw>
is there a way to crawl a directory in a config file?
<LnL>
hmm, how did ncurses sneak into the stdenv
<johnw>
hasn't it always been there?
<LnL>
dunno, I purged a bunch of stuff like openssl a while back
<LnL>
it's clang...
<johnw>
how do I include spaces in a path?
<LnL>
what kind of path
<johnw>
like ~/Library/Application Support/Foo
<johnw>
making it a string gets me an attr type error
<johnw>
there's probably a function to go from str -> path
<LnL>
there's builtins.toPath but that doesn't do what you would expect