Re: [Nix-dev] Nix User Profile (NixUP)

2015-11-25 Thread Nicolas Pierron
Nice work, I will see if I can replace some of my Makefiles by NixUP
as soon as I finish the security update branch work.

On Wed, Nov 25, 2015 at 8:07 PM, Arseniy Seroka  wrote:
> Hello! Where I can take a look at some examples of nixup configurations?

https://github.com/ts468/nixpkgs/blob/upstream.nixuser/profile.nix

> 2015-11-25 16:00 GMT+03:00 Matthias Beyer :
>>
>> From what I read in your mail, this looks promising. I hope it is not
>> just advertising.
>>
>> Will test asap I can come up with some time. Beeing a student does not
>> mean you have time for all the things... :-(
>>
>> On 25-11-2015 13:08:41, Thomas Strobel wrote:
>> > Hi!
>> >
>> > I'm very happy to say that a new version of NixUP is available for
>> > testing. You can find the latest version at [1]. Please read
>> > NIXUP_README.md for help on how to test NixUP.
>> >
>> >
>> > What is Nix User Profile (NixUP)? NixUP is a declarative configuration
>> > for the user environment. It is an equivalent to the NixOS configuration
>> > method that is based around 'nixos-rebuild' and
>> > '/etc/nixos/configuration.nix'. NixUP provides a module system for
>> > configuring the user environment and is intended as a replacement for
>> > the imperative 'nix-env' commands. NixUP allows to, e.g., install
>> > packages, manage user defined services and to manage resources.
>> >
>> >
>> > NixUP consists of a new program, called 'nixup' and a declarative
>> > configuration rooted at '$XDG_CONFIG_HOME/nixup/profile.nix' (e.g.
>> > ~/.config/nixup/profile.nix). Basically, the workflow for managing the
>> > NixUP user profile is the same as how the NixOS system configuration is
>> > being managed. The 'profile.nix' is edited by the user, and then turned
>> > into an active environment through 'nixup'.
>> >
>> > The important commands for using 'nixup' are:
>> >
>> > nixup build
>> >-- Builds a user profile. By default the profile is defined
>> >   in $XDG_CONFIG_HOME/nixup/profile.nix.
>> >
>> > nixup login
>> >-- Builds a user profile that will be activated on the next login.
>> >   That is similar to nixos-rebuild boot.
>> >
>> > nixup switch
>> >-- Builds a user profile and immediately switches to it.
>> >
>> > nixup edit
>> >-- Opens an editor with the current configuration.
>> >
>> >
>> > NixUP also brings an small program that helps to install and to remove
>> > software packages. If 'config.imperativeNix.enable=true' is set in the
>> > 'profile.nix' configuration, then a program 'nix-package' becomes
>> > available that manages a list of packages to be installed into the user
>> > environment. By default the list is maintained at
>> > '$XDG_CONFIG_HOME/nixup/packages.nix', from where the list is read by a
>> > module of the NixUP system.
>> >
>> > The commands for using 'nix-package' are:
>> >
>> > nix-package install hello
>> >
>> > nix-package remove hello
>> >
>> > Note that the packages are not pinned at a particular version but are
>> > linked to the currently active nixpkgs channel. A way to pin a package
>> > will be provided later.
>> >
>> >
>> > Besides managing software packages, NixUP also provides a way to manage
>> > user controlled services. NixUP allows to define services for 'systemd
>> > --user', similarly to how NixOS allows to define services for 'systemd'.
>> > That means that the feature of managing services within NixUP is bound
>> > very tightly to 'systemd', and will not be available on other platforms
>> > like OSX or Windows.
>> >
>> >
>> > The last interesting feature of NixUP is that is allows to manage
>> > resources. That means, it allows to define files in 'profile.nix' that
>> > are then linked into the $HOME directory of a user, or into any
>> > sub-directory of $HOME. The necessary sub-directories and links are
>> > created as needed, and automatically removed when the 'profile.nix'
>> > changes. Automatically created sub-directories are removed if they are
>> > empty after all links have been removed. So NixUP has a built-in way for
>> > managing, e.g., dot-files.
>> >
>> >
>> > The plan is now to test NixUP and hopefully merge NixUP into NixOS. The
>> > next step then will then be to extend NixOS and NixUP so that the same
>> > configuration can be written into the NixOS user declaration of
>> > 'configuration.nix' and into the user's NixUP 'profile.nix'. After that,
>> > we could generalize the NixOS modules of those services that could also
>> > run as user services and make them available for both NixOS and NixUP.
>> > In the long run, NixUP should be developed into an extensive collection
>> > of user modules that allow to declaratively configure and manage user
>> > applications and user services.
>> >
>> >
>> > Please let me know what you think, and please try to test NixUP! :)
>> >
>> >
>> > Best regards,
>> > Thomas
>> >
>> >
>> > [1] https://github.com/NixOS/nixpkgs/pull/9250
>> > ___
>> > nix-dev mailing list
>> > nix-dev@lists.science.

Re: [Nix-dev] Nix User Profile (NixUP)

2015-11-25 Thread Arseniy Seroka
Hello! Where I can take a look at some examples of nixup configurations?

2015-11-25 16:00 GMT+03:00 Matthias Beyer :

> From what I read in your mail, this looks promising. I hope it is not
> just advertising.
>
> Will test asap I can come up with some time. Beeing a student does not
> mean you have time for all the things... :-(
>
> On 25-11-2015 13:08:41, Thomas Strobel wrote:
> > Hi!
> >
> > I'm very happy to say that a new version of NixUP is available for
> > testing. You can find the latest version at [1]. Please read
> > NIXUP_README.md for help on how to test NixUP.
> >
> >
> > What is Nix User Profile (NixUP)? NixUP is a declarative configuration
> > for the user environment. It is an equivalent to the NixOS configuration
> > method that is based around 'nixos-rebuild' and
> > '/etc/nixos/configuration.nix'. NixUP provides a module system for
> > configuring the user environment and is intended as a replacement for
> > the imperative 'nix-env' commands. NixUP allows to, e.g., install
> > packages, manage user defined services and to manage resources.
> >
> >
> > NixUP consists of a new program, called 'nixup' and a declarative
> > configuration rooted at '$XDG_CONFIG_HOME/nixup/profile.nix' (e.g.
> > ~/.config/nixup/profile.nix). Basically, the workflow for managing the
> > NixUP user profile is the same as how the NixOS system configuration is
> > being managed. The 'profile.nix' is edited by the user, and then turned
> > into an active environment through 'nixup'.
> >
> > The important commands for using 'nixup' are:
> >
> > nixup build
> >-- Builds a user profile. By default the profile is defined
> >   in $XDG_CONFIG_HOME/nixup/profile.nix.
> >
> > nixup login
> >-- Builds a user profile that will be activated on the next login.
> >   That is similar to nixos-rebuild boot.
> >
> > nixup switch
> >-- Builds a user profile and immediately switches to it.
> >
> > nixup edit
> >-- Opens an editor with the current configuration.
> >
> >
> > NixUP also brings an small program that helps to install and to remove
> > software packages. If 'config.imperativeNix.enable=true' is set in the
> > 'profile.nix' configuration, then a program 'nix-package' becomes
> > available that manages a list of packages to be installed into the user
> > environment. By default the list is maintained at
> > '$XDG_CONFIG_HOME/nixup/packages.nix', from where the list is read by a
> > module of the NixUP system.
> >
> > The commands for using 'nix-package' are:
> >
> > nix-package install hello
> >
> > nix-package remove hello
> >
> > Note that the packages are not pinned at a particular version but are
> > linked to the currently active nixpkgs channel. A way to pin a package
> > will be provided later.
> >
> >
> > Besides managing software packages, NixUP also provides a way to manage
> > user controlled services. NixUP allows to define services for 'systemd
> > --user', similarly to how NixOS allows to define services for 'systemd'.
> > That means that the feature of managing services within NixUP is bound
> > very tightly to 'systemd', and will not be available on other platforms
> > like OSX or Windows.
> >
> >
> > The last interesting feature of NixUP is that is allows to manage
> > resources. That means, it allows to define files in 'profile.nix' that
> > are then linked into the $HOME directory of a user, or into any
> > sub-directory of $HOME. The necessary sub-directories and links are
> > created as needed, and automatically removed when the 'profile.nix'
> > changes. Automatically created sub-directories are removed if they are
> > empty after all links have been removed. So NixUP has a built-in way for
> > managing, e.g., dot-files.
> >
> >
> > The plan is now to test NixUP and hopefully merge NixUP into NixOS. The
> > next step then will then be to extend NixOS and NixUP so that the same
> > configuration can be written into the NixOS user declaration of
> > 'configuration.nix' and into the user's NixUP 'profile.nix'. After that,
> > we could generalize the NixOS modules of those services that could also
> > run as user services and make them available for both NixOS and NixUP.
> > In the long run, NixUP should be developed into an extensive collection
> > of user modules that allow to declaratively configure and manage user
> > applications and user services.
> >
> >
> > Please let me know what you think, and please try to test NixUP! :)
> >
> >
> > Best regards,
> > Thomas
> >
> >
> > [1] https://github.com/NixOS/nixpkgs/pull/9250
> > ___
> > nix-dev mailing list
> > nix-dev@lists.science.uu.nl
> > http://lists.science.uu.nl/mailman/listinfo/nix-dev
>
> --
> Mit freundlichen Grüßen,
> Kind regards,
> Matthias Beyer
>
> Proudly sent with mutt.
> Happily signed with gnupg.
>
> ___
> nix-dev mailing list
> nix-dev@lists.science.uu.nl
> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>
>


-- 
Sinc

Re: [Nix-dev] Nix User Profile (NixUP)

2015-11-25 Thread Matthias Beyer
From what I read in your mail, this looks promising. I hope it is not
just advertising.

Will test asap I can come up with some time. Beeing a student does not
mean you have time for all the things... :-(

On 25-11-2015 13:08:41, Thomas Strobel wrote:
> Hi!
> 
> I'm very happy to say that a new version of NixUP is available for 
> testing. You can find the latest version at [1]. Please read 
> NIXUP_README.md for help on how to test NixUP.
> 
> 
> What is Nix User Profile (NixUP)? NixUP is a declarative configuration 
> for the user environment. It is an equivalent to the NixOS configuration 
> method that is based around 'nixos-rebuild' and 
> '/etc/nixos/configuration.nix'. NixUP provides a module system for 
> configuring the user environment and is intended as a replacement for 
> the imperative 'nix-env' commands. NixUP allows to, e.g., install 
> packages, manage user defined services and to manage resources.
> 
> 
> NixUP consists of a new program, called 'nixup' and a declarative 
> configuration rooted at '$XDG_CONFIG_HOME/nixup/profile.nix' (e.g. 
> ~/.config/nixup/profile.nix). Basically, the workflow for managing the 
> NixUP user profile is the same as how the NixOS system configuration is 
> being managed. The 'profile.nix' is edited by the user, and then turned 
> into an active environment through 'nixup'.
> 
> The important commands for using 'nixup' are:
> 
> nixup build
>-- Builds a user profile. By default the profile is defined
>   in $XDG_CONFIG_HOME/nixup/profile.nix.
> 
> nixup login
>-- Builds a user profile that will be activated on the next login.
>   That is similar to nixos-rebuild boot.
> 
> nixup switch
>-- Builds a user profile and immediately switches to it.
> 
> nixup edit
>-- Opens an editor with the current configuration.
> 
> 
> NixUP also brings an small program that helps to install and to remove 
> software packages. If 'config.imperativeNix.enable=true' is set in the 
> 'profile.nix' configuration, then a program 'nix-package' becomes 
> available that manages a list of packages to be installed into the user 
> environment. By default the list is maintained at 
> '$XDG_CONFIG_HOME/nixup/packages.nix', from where the list is read by a 
> module of the NixUP system.
> 
> The commands for using 'nix-package' are:
> 
> nix-package install hello
> 
> nix-package remove hello
> 
> Note that the packages are not pinned at a particular version but are 
> linked to the currently active nixpkgs channel. A way to pin a package 
> will be provided later.
> 
> 
> Besides managing software packages, NixUP also provides a way to manage 
> user controlled services. NixUP allows to define services for 'systemd 
> --user', similarly to how NixOS allows to define services for 'systemd'. 
> That means that the feature of managing services within NixUP is bound 
> very tightly to 'systemd', and will not be available on other platforms 
> like OSX or Windows.
> 
> 
> The last interesting feature of NixUP is that is allows to manage 
> resources. That means, it allows to define files in 'profile.nix' that 
> are then linked into the $HOME directory of a user, or into any 
> sub-directory of $HOME. The necessary sub-directories and links are 
> created as needed, and automatically removed when the 'profile.nix' 
> changes. Automatically created sub-directories are removed if they are 
> empty after all links have been removed. So NixUP has a built-in way for 
> managing, e.g., dot-files.
> 
> 
> The plan is now to test NixUP and hopefully merge NixUP into NixOS. The 
> next step then will then be to extend NixOS and NixUP so that the same 
> configuration can be written into the NixOS user declaration of 
> 'configuration.nix' and into the user's NixUP 'profile.nix'. After that, 
> we could generalize the NixOS modules of those services that could also 
> run as user services and make them available for both NixOS and NixUP. 
> In the long run, NixUP should be developed into an extensive collection 
> of user modules that allow to declaratively configure and manage user 
> applications and user services.
> 
> 
> Please let me know what you think, and please try to test NixUP! :)
> 
> 
> Best regards,
> Thomas
> 
> 
> [1] https://github.com/NixOS/nixpkgs/pull/9250
> ___
> nix-dev mailing list
> nix-dev@lists.science.uu.nl
> http://lists.science.uu.nl/mailman/listinfo/nix-dev

-- 
Mit freundlichen Grüßen,
Kind regards,
Matthias Beyer

Proudly sent with mutt.
Happily signed with gnupg.


signature.asc
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Nix User Profile (NixUP)

2015-11-25 Thread Tomasz Czyż
Awesome! I'll test.

2015-11-25 12:08 GMT+00:00 Thomas Strobel :

> Hi!
>
> I'm very happy to say that a new version of NixUP is available for
> testing. You can find the latest version at [1]. Please read
> NIXUP_README.md for help on how to test NixUP.
>
>
> What is Nix User Profile (NixUP)? NixUP is a declarative configuration
> for the user environment. It is an equivalent to the NixOS configuration
> method that is based around 'nixos-rebuild' and
> '/etc/nixos/configuration.nix'. NixUP provides a module system for
> configuring the user environment and is intended as a replacement for
> the imperative 'nix-env' commands. NixUP allows to, e.g., install
> packages, manage user defined services and to manage resources.
>
>
> NixUP consists of a new program, called 'nixup' and a declarative
> configuration rooted at '$XDG_CONFIG_HOME/nixup/profile.nix' (e.g.
> ~/.config/nixup/profile.nix). Basically, the workflow for managing the
> NixUP user profile is the same as how the NixOS system configuration is
> being managed. The 'profile.nix' is edited by the user, and then turned
> into an active environment through 'nixup'.
>
> The important commands for using 'nixup' are:
>
> nixup build
>-- Builds a user profile. By default the profile is defined
>   in $XDG_CONFIG_HOME/nixup/profile.nix.
>
> nixup login
>-- Builds a user profile that will be activated on the next login.
>   That is similar to nixos-rebuild boot.
>
> nixup switch
>-- Builds a user profile and immediately switches to it.
>
> nixup edit
>-- Opens an editor with the current configuration.
>
>
> NixUP also brings an small program that helps to install and to remove
> software packages. If 'config.imperativeNix.enable=true' is set in the
> 'profile.nix' configuration, then a program 'nix-package' becomes
> available that manages a list of packages to be installed into the user
> environment. By default the list is maintained at
> '$XDG_CONFIG_HOME/nixup/packages.nix', from where the list is read by a
> module of the NixUP system.
>
> The commands for using 'nix-package' are:
>
> nix-package install hello
>
> nix-package remove hello
>
> Note that the packages are not pinned at a particular version but are
> linked to the currently active nixpkgs channel. A way to pin a package
> will be provided later.
>
>
> Besides managing software packages, NixUP also provides a way to manage
> user controlled services. NixUP allows to define services for 'systemd
> --user', similarly to how NixOS allows to define services for 'systemd'.
> That means that the feature of managing services within NixUP is bound
> very tightly to 'systemd', and will not be available on other platforms
> like OSX or Windows.
>
>
> The last interesting feature of NixUP is that is allows to manage
> resources. That means, it allows to define files in 'profile.nix' that
> are then linked into the $HOME directory of a user, or into any
> sub-directory of $HOME. The necessary sub-directories and links are
> created as needed, and automatically removed when the 'profile.nix'
> changes. Automatically created sub-directories are removed if they are
> empty after all links have been removed. So NixUP has a built-in way for
> managing, e.g., dot-files.
>
>
> The plan is now to test NixUP and hopefully merge NixUP into NixOS. The
> next step then will then be to extend NixOS and NixUP so that the same
> configuration can be written into the NixOS user declaration of
> 'configuration.nix' and into the user's NixUP 'profile.nix'. After that,
> we could generalize the NixOS modules of those services that could also
> run as user services and make them available for both NixOS and NixUP.
> In the long run, NixUP should be developed into an extensive collection
> of user modules that allow to declaratively configure and manage user
> applications and user services.
>
>
> Please let me know what you think, and please try to test NixUP! :)
>
>
> Best regards,
> Thomas
>
>
> [1] https://github.com/NixOS/nixpkgs/pull/9250
> ___
> nix-dev mailing list
> nix-dev@lists.science.uu.nl
> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>



-- 
Tomasz Czyż
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] Nix User Profile (NixUP)

2015-11-25 Thread Thomas Strobel
Hi!

I'm very happy to say that a new version of NixUP is available for 
testing. You can find the latest version at [1]. Please read 
NIXUP_README.md for help on how to test NixUP.


What is Nix User Profile (NixUP)? NixUP is a declarative configuration 
for the user environment. It is an equivalent to the NixOS configuration 
method that is based around 'nixos-rebuild' and 
'/etc/nixos/configuration.nix'. NixUP provides a module system for 
configuring the user environment and is intended as a replacement for 
the imperative 'nix-env' commands. NixUP allows to, e.g., install 
packages, manage user defined services and to manage resources.


NixUP consists of a new program, called 'nixup' and a declarative 
configuration rooted at '$XDG_CONFIG_HOME/nixup/profile.nix' (e.g. 
~/.config/nixup/profile.nix). Basically, the workflow for managing the 
NixUP user profile is the same as how the NixOS system configuration is 
being managed. The 'profile.nix' is edited by the user, and then turned 
into an active environment through 'nixup'.

The important commands for using 'nixup' are:

nixup build
   -- Builds a user profile. By default the profile is defined
  in $XDG_CONFIG_HOME/nixup/profile.nix.

nixup login
   -- Builds a user profile that will be activated on the next login.
  That is similar to nixos-rebuild boot.

nixup switch
   -- Builds a user profile and immediately switches to it.

nixup edit
   -- Opens an editor with the current configuration.


NixUP also brings an small program that helps to install and to remove 
software packages. If 'config.imperativeNix.enable=true' is set in the 
'profile.nix' configuration, then a program 'nix-package' becomes 
available that manages a list of packages to be installed into the user 
environment. By default the list is maintained at 
'$XDG_CONFIG_HOME/nixup/packages.nix', from where the list is read by a 
module of the NixUP system.

The commands for using 'nix-package' are:

nix-package install hello

nix-package remove hello

Note that the packages are not pinned at a particular version but are 
linked to the currently active nixpkgs channel. A way to pin a package 
will be provided later.


Besides managing software packages, NixUP also provides a way to manage 
user controlled services. NixUP allows to define services for 'systemd 
--user', similarly to how NixOS allows to define services for 'systemd'. 
That means that the feature of managing services within NixUP is bound 
very tightly to 'systemd', and will not be available on other platforms 
like OSX or Windows.


The last interesting feature of NixUP is that is allows to manage 
resources. That means, it allows to define files in 'profile.nix' that 
are then linked into the $HOME directory of a user, or into any 
sub-directory of $HOME. The necessary sub-directories and links are 
created as needed, and automatically removed when the 'profile.nix' 
changes. Automatically created sub-directories are removed if they are 
empty after all links have been removed. So NixUP has a built-in way for 
managing, e.g., dot-files.


The plan is now to test NixUP and hopefully merge NixUP into NixOS. The 
next step then will then be to extend NixOS and NixUP so that the same 
configuration can be written into the NixOS user declaration of 
'configuration.nix' and into the user's NixUP 'profile.nix'. After that, 
we could generalize the NixOS modules of those services that could also 
run as user services and make them available for both NixOS and NixUP. 
In the long run, NixUP should be developed into an extensive collection 
of user modules that allow to declaratively configure and manage user 
applications and user services.


Please let me know what you think, and please try to test NixUP! :)


Best regards,
Thomas


[1] https://github.com/NixOS/nixpkgs/pull/9250
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev