[Nix-dev] Two declarative ways to install a package?

Guillaume Maudoux (Layus) layus.on at gmail.com
Fri Aug 12 18:26:09 CEST 2016



Le 12 août 2016 18:02:49 UTC+02:00, Arnold Krille <arnold at arnoldarts.de> a écrit :
>On Fri, 12 Aug 2016 16:15:46 +0200 "Guillaume Maudoux (Layus)"
><layus.on at gmail.com> wrote:
>> I would rather see it as a convenience.
>> The package is in your store anyway, so better make it available in
>> user shells.
>
>No, only expose what is needed or wanted explicit (explicit is better
>then implicit;-)). Just because I want mpd to run on my machine,
>doesn't mean I want every user to run its own mpd (and wonder why the
>default-port is already in use). For example.
>

I guess m'y use cases are only single-user machines, where the difference between user and system is sometimes fuzzy.

>> With mysql for example, having the mysql command in your path is not
>> strictly necessary, but it would be really annoying not to have it.
>> Forcing users to install it in their own environments could even lead
>> to version mismatches.
>
>This largely depends on the package, doesn't it?
>
>For the mysql-service to expose the mysql-commandline tool is a nice
>convenience, at the same time exposing the mysqld binary is needless
>and allows other apps to use that binary without actually depending on
>it. It also allows foes to use it directly from your environment
>without dealing specially with nix.
>
>For the nginx-package to expose the nginx-daemon binary to your
>environment isa bit useless for the same reasons explained with mysqld
>exposed. But are there user-tools for nginx that should be exposed?
>
>Maybe it would be better if there was a mysql and a mysql-server
>package and the mysql-service would use the mysql-server itself and
>expose the mysql commandline to the environment without exposing the
>server binary?
>
>> If exposing a package from its service happens to be annoying (for
>> whatever reason),
>> may I suggest suggest to pull-request an opt-out option for it ?
>
>For security and sanity reason, it should be opt-in.

I think your point ils valid. But an option is not so useful in this case. Adding the package to the environment directly may even be simpler than enabling the option.

Oh btw, What would you think of a global opt-in option ? Like noXLibs ?

>
>- Arnold
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>nix-dev mailing list
>nix-dev at lists.science.uu.nl
>http://lists.science.uu.nl/mailman/listinfo/nix-dev



More information about the nix-dev mailing list