<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