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 <[email protected]> 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 <[email protected]>: >> >> 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 >> > [email protected] >> > 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 >> [email protected] >> http://lists.science.uu.nl/mailman/listinfo/nix-dev >> > > > > -- > Sincerely, > Arseniy Seroka > > _______________________________________________ > nix-dev mailing list > [email protected] > http://lists.science.uu.nl/mailman/listinfo/nix-dev > -- Nicolas Pierron http://www.linkedin.com/in/nicolasbpierron - http://nbp.name/ _______________________________________________ nix-dev mailing list [email protected] http://lists.science.uu.nl/mailman/listinfo/nix-dev
