jrolfs has joined #nix-darwin
jrolfs__ has joined #nix-darwin
jrolfs__ has quit [Ping timeout: 240 seconds]
jrolfs has quit [Ping timeout: 264 seconds]
jrolfs has joined #nix-darwin
jrolfs__ has joined #nix-darwin
zzamboni has quit [Quit: Leaving.]
jrolfs has quit [Ping timeout: 240 seconds]
jrolfs__ has quit [Ping timeout: 248 seconds]
jrolfs has joined #nix-darwin
jrolfs has quit [Ping timeout: 248 seconds]
jrolfs__ has joined #nix-darwin
jrolfs has joined #nix-darwin
jrolfs__ has quit [Ping timeout: 240 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]
jrolfs__ has joined #nix-darwin
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: 252 seconds]
jrolfs has joined #nix-darwin
jrolfs__ has joined #nix-darwin
pjan_ has quit [Quit: Textual IRC Client: www.textualapp.com]
jrolfs__ has quit [Ping timeout: 260 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: 240 seconds]
Sonarpulse has quit [Ping timeout: 276 seconds]
jrolfs has joined #nix-darwin
<pjan_> Are there any plans to include a module that can manage configurations living in the $HOME folder?
<pjan_> The approach johnw took (https://github.com/jwiegley/nix-config/blob/master/darwin-configuration.nix#L203) is a bit unfortunate I feel. Would be nicer if this could be handled more natively
jrolfs has quit [Ping timeout: 248 seconds]
jrolfs__ has quit [Ping timeout: 268 seconds]
jrolfs has joined #nix-darwin
jrolfs__ has joined #nix-darwin
Sonarpulse has joined #nix-darwin
<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's what I have in my config
<disasm> and then I just cd into my nixpkgs directory (in my case ~/nixpkgs/darwin) and use regular git commands to keep it up-to-date
<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> it appears to have no meaning here
<clever> check the help for [[
<clever> help [[
<clever> [[ ... ]]: [[ expression ]] Execute conditional command.
<johnw> i found it on SO
<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
<clever> it points to the current generation
jrolfs__ has joined #nix-darwin
<johnw> oh
<johnw> hmm
<johnw> what does yours look like?
<clever> ah wait, slightly off
<clever> lrwxrwxrwx 1 root root 19 Jan 2 12:35 current-system -> /run/current-system
<clever> [clever@amd-nixos:~]$ ls -ltrh /nix/var/nix/gcroots/
jrolfs has joined #nix-darwin
<clever> [clever@amd-nixos:~]$ ls -ltrh /nix/var/nix/gcroots/per-user/clever/
<clever> total 0
<johnw> ah, what I do have is /nix/var/nix/gcroots/profiles/per-user/johnw
<clever> johnw: its entirely empty on nixos, the gcroots version isnt used there
<johnw> for some reason, home-manager doesn't expect "profiles/" to be part of the path, but here it is
<johnw> i'll just fix home-manager
<clever> your profiles directory is in the wrong place
<clever> [clever@amd-nixos:~]$ ls -ltrh /nix/var/nix/profiles/per-user/clever/
<johnw> hmm?
<clever> it shouldnt be in gcroots
<johnw> I have both:
<johnw> /nix/var/nix/profiles/per-user/$USER
<johnw> and
<johnw> /nix/var/nix/gcroots/profiles/per-user/$USER
<clever> double-check that one isnt a symlink
<johnw> the latter?
<clever> ls -lh /nix/var/nix/gcroots/profiles
<johnw> gcroots/profiles is a symlink to /nix/var/nix/profiles
<clever> yeah
<johnw> what's in your gcroots?
<johnw> ok
<johnw> thanks
<clever> also of note, i'm on nixos
<johnw> i'll just make gcroots/per-user/johnw
jrolfs__ has quit [Ping timeout: 240 seconds]
jrolfs__ has joined #nix-darwin
<johnw> lib/generators.nix is pretty cool
zzamboni has joined #nix-darwin
jrolfs__ has quit [Ping timeout: 240 seconds]
jrolfs has quit [Ping timeout: 240 seconds]
<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
<johnw> but is much harder to "just try out"
<johnw> when is Nix 1.12 coming out?
<contrapumpkin> "soon"
<contrapumpkin> it needs more stress testing
<contrapumpkin> I've been using it for months now and reporting bugs
<contrapumpkin> not sure if niksnut has a firmer timeline, but I doubt it
jrolfs has joined #nix-darwin
jrolfs__ has joined #nix-darwin
<LnL> the future is now pkgs.nixUnstable :)
<johnw> ok, I'm now using nixUnstable
jrolfs has quit [Ping timeout: 252 seconds]
jrolfs__ has quit [Ping timeout: 252 seconds]
<contrapumpkin> report all the bugs!
<johnw> k
<contrapumpkin> all of them!!
<contrapumpkin> if you miss even one, I'll be sad
<acowley> Anyone have any suggestion for avoiding https://github.com/NixOS/nixpkgs/issues/33272 ?
zzamboni has joined #nix-darwin
<LnL> nix-env -f '<nixpkgs>' -iA bashInteractive
<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
<johnw> no?
<johnw> it just doesn't expand ~
<johnw> but otherwise it works
jrolfs__ has quit [Ping timeout: 260 seconds]
<LnL> :t builtins.toPath "/foo" # a string :D
<LnL> this works ~/. + "/foo"
jrolfs has quit [Ping timeout: 268 seconds]
<johnw> bizarre
<johnw> nope
<johnw> ~/. + "/foo bar" doesn't work
<johnw> but toPath does
<LnL> works for me, even with spaces
<johnw> here I get an error from home-manager about the space
<johnw> but this works: builtins.toPath("${home_directory}/src/home/Library/Scripts/Applications/Media\ Pro")
<johnw> the \ isn't even necessary with toPath
<LnL> what about "${toString ~/.}/foo bar"
jrolfs__ has joined #nix-darwin
jrolfs has joined #nix-darwin
<johnw> why is that better than toPath?
<LnL> toPath = id AFAIK
<johnw> if I want to use ${file} syntax in a script, how do I escape that?
<johnw> ah
<johnw> \${foo}
<johnw> doh, no
<pikajude> LnL: does nix-darwin support modes for files in etc?
<LnL> yes, you can use your own drv
<johnw> how does that set the mode?
<pikajude> i guess "source" involves copying/symlinking it
<LnL> you mean something other than the executable bit?
<johnw> I actually need this too
<johnw> I want to write /etc/pdnsd.conf, owned by root, mode 0600
<johnw> pdnsd won't use it otherwise
<johnw> right now I'm working around nix-darwin by copying it to temp file and setting the mode of that
<LnL> oh, no only symlinks and that's not possible for store paths
jrolfs__ has quit [Ping timeout: 248 seconds]
jrolfs has quit [Ping timeout: 240 seconds]
<johnw> ok, I've split out all my home config into a home-manager file
jrolfs has joined #nix-darwin
jrolfs__ has joined #nix-darwin
zzamboni has joined #nix-darwin
zzamboni has quit [Client Quit]
jrolfs has quit [Ping timeout: 240 seconds]
jrolfs__ has quit [Ping timeout: 248 seconds]
zzamboni has joined #nix-darwin
jrolfs has joined #nix-darwin
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
zzamboni has quit [Quit: Leaving.]
jrolfs__ has quit [Ping timeout: 248 seconds]
jrolfs has quit [Ping timeout: 264 seconds]
zzamboni has joined #nix-darwin
szicari has quit [Quit: szicari]
jrolfs has joined #nix-darwin
jrolfs__ has joined #nix-darwin
jrolfs__ has quit [Ping timeout: 248 seconds]
jrolfs has quit [Ping timeout: 240 seconds]
zzamboni has quit [Quit: Leaving.]
jrolfs has joined #nix-darwin
jrolfs__ has joined #nix-darwin
johnw has quit [Ping timeout: 265 seconds]
contrapumpkin has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
johnw has joined #nix-darwin
jrolfs has quit [Ping timeout: 248 seconds]
jrolfs has joined #nix-darwin
jrolfs has quit [Ping timeout: 260 seconds]
jrolfs__ has quit [Ping timeout: 256 seconds]
jrolfs has joined #nix-darwin
jrolfs__ has joined #nix-darwin
johnw has quit [Ping timeout: 252 seconds]
johnw has joined #nix-darwin
johnw has quit [Ping timeout: 265 seconds]
johnw has joined #nix-darwin
jrolfs has quit [Ping timeout: 268 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: 264 seconds]
johnw has quit [Ping timeout: 252 seconds]
<LnL> jeeze, this mariadb issue is annoying