philr has quit [Ping timeout: 260 seconds]
alexteves has quit [Remote host closed the connection]
palmerlao has joined #nix-darwin
<palmerlao> Hi, I'm trying to build some native code on High Sierra, and get an error like ld: framework not found IOKit
<palmerlao> I found https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/darwin/apple-source-releases/IOKit/default.nix, which I believe indicates that IOKit can be provisioned via Nix
<palmerlao> However, the following does not match any derivations: nix-env -qaP .\*IOKit.\*
<clever> > darwin.IOKit
<clever> palmerlao: the above is the attrpath you need
trcc has joined #nix-darwin
periklis has joined #nix-darwin
periklis has quit [Remote host closed the connection]
periklis has joined #nix-darwin
trcc has quit [Remote host closed the connection]
trcc has joined #nix-darwin
trcc has quit [Read error: Connection reset by peer]
trcc has joined #nix-darwin
trcc has quit [Read error: Connection reset by peer]
trcc has joined #nix-darwin
hamishmack has quit [Ping timeout: 240 seconds]
LnL has quit [Read error: Connection reset by peer]
LnL has joined #nix-darwin
hamishmack has joined #nix-darwin
hamishmack has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
hamishmack has joined #nix-darwin
__Sander__ has joined #nix-darwin
philr has joined #nix-darwin
palmerlao has quit [Ping timeout: 252 seconds]
periklis has quit [Ping timeout: 246 seconds]
disasm has quit [Ping timeout: 240 seconds]
<gchristensen> LnL: ping
<LnL> pong
<gchristensen> LnL: should Nix 2.1's installer default to single-user for Darwin?
<gchristensen> niksnut and I are talking about disabling it for linux due to selinux problems
<LnL> hmm
<LnL> if we don't for linux I'd say definitively yes
<gchristensen> ok
<LnL> did I mention the activation I idea I had for upgrading?
<gchristensen> no, I don't think so
<LnL> so, there's 2 main problems I see with the daemon install at the moment
<LnL> 1. we shouldn't put profiles in /var/root since they will disappear
<LnL> that's fine for the default profile since we can reference it directly, but the default nixpkgs channel doesn't work if managed by root
trcc_ has joined #nix-darwin
<LnL> 2. nix upgrade-nix isn't smart enough to update the daemon
<LnL> so what if it executed nix-env -p <profile> -i /path/to/nix and /path/to/nix/share/nix/activate
<gchristensen> hmm yeah this seems good
trcc has quit [Ping timeout: 246 seconds]
<LnL> we could make the nix expression put the correct activation steps like launchchtl load in there
trcc has joined #nix-darwin
trcc_ has quit [Ping timeout: 240 seconds]
<gchristensen> yeah
<gchristensen> ok I've got to go for about 50min
<LnL> I should really turn of batch notifications for discourse, I almost never look at it :/
trcc has quit [Remote host closed the connection]
trcc has joined #nix-darwin
<gchristensen> you should! it is good!
philr has quit [Ping timeout: 252 seconds]
alexteves has joined #nix-darwin
thefloweringash has joined #nix-darwin
trcc has quit [Remote host closed the connection]
trcc has joined #nix-darwin
trcc has quit [Ping timeout: 246 seconds]
__Sander__ has quit [Quit: Konversation terminated!]
<gchristensen> LnL: https://github.com/NixOS/nix/pull/2388 mind checking this out?
<{^_^}> nix#2388 (by grahamc, 1 minute ago, open): Document multi-user installation, and add release notes about it being the default on 2.1
<LnL> soon...
<gchristensen> LnL: can you help me write up some stuff about why multi-user Nix is good?
<gchristensen> if you say ideas I can do the docbook + formalizing
<gchristensen> running on empty for the "creative" part of it though
<LnL> I'm writing a post, but a short summary of stuff I can think of
<gchristensen> thanks
<LnL> urgh, there's something I thought of that I forgo
<LnL> forgot*
<LnL> but: security (build users and trusted users), build isolation (eg. aborting), user error (editing)
<LnL> basically, if you start doing more than substituting packages from the cache you probably should be using it
<gchristensen> I don't know how full-time documentation writers do it
<gchristensen> I wrote 200 lines today and feel just exhausted
philr has joined #nix-darwin
<LnL> yeah, I get the same
philr has quit [Quit: WeeChat 2.2]
Mark___ has joined #nix-darwin
Mark___ is now known as MarkRBM
disasm has joined #nix-darwin
<gchristensen> LnL: so you're thinking we should move back to single-user by default in all cases
<LnL> yeah not default, but recommended?
<LnL> if that makes any sens
<gchristensen> what if yes by default, but we specifically call out --no-daemon as a cheap way to try nix
<LnL> I was thinking the opposite
<gchristensen> I know :)
ejpcmac has joined #nix-darwin
<ejpcmac> +1 for your proposition gchristensen. I like the way Nix is integrated with the deamon, but some users could want to opt-out or just have a way to try. Also, getting a multi-user version on other Linux distros like on darwin would be good.
<LnL> default no daemon followed by a section on what the daemon does and why you should really be using it
<gchristensen> whoa ejpcmac how long have you been here?
<gchristensen> which proposal?
<ejpcmac> Or maybe prompt the user for a choice interactively? (It’s greater than a command line switch)
<gchristensen> ejpcmac: what if multi-user by default, but we specifically call out --no-daemon as a cheap way to try nix very obviously near the install command
<ejpcmac> gchristensen: The --no-daemon one. But an interactive prompt should be better. I’me in this room for a few week, but here for a couple of minutes only
<gchristensen> oh ok :)
<ejpcmac> Good evening by the way :)
<gchristensen> OH
<gchristensen> you're on Matrix so you can see messages from before you joined
<LnL> gchristensen: my thought is that a new user shouldn't have to read the full section but get the thing that's easy to uninstall by default
<gchristensen> yeah
<ejpcmac> Yes, I’ll check
<LnL> but if we change the default back I'd definitely want the section that tries to convince you not to use a nix-daemon less install
<gchristensen> I'm so torn X)
* ejpcmac reads LnL’s post on discourse
<gchristensen> I'm torn between ...
<gchristensen> on one hand, a cheap-easy way by default for newbies to have a good experience, but the default being not great
<LnL> I probably didn't make that part very clear in the post
<ejpcmac> I’m a quite new user (using actively Nix for a month and a half now). I remember my two first installs: the first one on Fedora and the second one on my MacBook. I’ve effectively been a bit surprised by the daemon stuff at first.
<gchristensen> unfortunately the multi-user Nix installer for Fedora breaks if you have selinux on :$
<ejpcmac> However, I find this is a lot more clean than my current install on Fedora.
<ejpcmac> gchristensen: I haven’t managed to get it work actually. But it is not a problem since I’ll switch to NixOS at work.
<gchristensen> ya5y
<LnL> heh :p
<ejpcmac> My thought is the best option is to provide an interactive installer that shows some documentation about both options and let the user choose. With something like “If you just want to try Nix to get a preview, you should choose the single-user install”.
<gchristensen> that is workable
<gchristensen> I think :)
<gchristensen> LnL: what do you think about that
<LnL> that's cheating, what if there's no tty? :D
<gchristensen> ^.^
<gchristensen> -> multi-user if possible
<gchristensen> X)
<ejpcmac> I think also about projects using Nix as a build system: you should make people install Nix in an easily-uninstallable way. Maybe they just want to collaborate on the project and run a Nix shell and don’t care about Nix but that.
<ejpcmac> LnL: Add an opt-out switch for this very case.
<LnL> my point is that you still have to choose a default
<gchristensen> I know your point, hehe
<ejpcmac> Someone calling the script without tty should know what he tries to do.
<gchristensen> I'm just ... :|
<gchristensen> I can't make a rational decision, LnL
<LnL> but asking during install might be a good idea
<johnw> yes
<gchristensen> what is your opinion, johnw
<johnw> one sec, popsicle, phone
<LnL> hmm, that's a good idea
<gchristensen> popsicle?
<gchristensen> always a good idea
<clever> for linux, nix-bundle can help make nix more easily removed/added
<elvishjerricco> LnL: Oh, btw, dunno if you remember me trying to find a way to deal with Apple sshd not reading symlinked config files; I ended up writing an `environment.etc`-like module that copied files into place and tagged them at the top with a comment.
<elvishjerricco> LnL: I recently realized I could just use hard links and felt very dumb :P
<elvishjerricco> So I think it'd be good for `environment.etc` to have a way to link files with hard links. Then it can just search the `static` dir for symlinks whose targets have the same inode as an /etc file
<LnL> yeah, hardlinks are a bit more tricky
<elvishjerricco> Not as tricky as finding files with corresponding tag comments :P
<elvishjerricco> Or are there subtleties about hard links I need to be aware of?
<gchristensen> LnL: if nix 2.1 comes out things the way they are: multi-user darwin by default, multi-user linux by default, do you think it would be a mistake?
<LnL> no, but maybe make it a bit more clear in the documentation then
<LnL> it currently just explains you can opt out, not why you'd want to
<LnL> urgh, I still think it would be better tho :/
<LnL> johnw: what do you think?
<johnw> I register the file into place with a symlink, named "<foo>.orig", and then copy it into "<foo>"
<johnw> so that I can see where it came from
<LnL> gchristensen: oh, this installer uses test -t 0
<LnL> err, n/m I confused the numbers
<LnL> gchristensen: but how about this, test -t 1 => require choice, test -t 0 => ask choice
<LnL> and let's presume if the installer from a non interactive terminal it's something automated in which case it's probably not a regular user
<gchristensen> yeah
<LnL> I do something similar in the nix-darwin installer
<LnL> these are for questions, allowing cat answers.txt | install for something automated
<LnL> but editing the config only makes sense when there's a human involved
<LnL> I'll make something tomorrow