Home Manager: Difference between revisions
imported>Krey No edit summary |
imported>Krey No edit summary |
||
Line 11: | Line 11: | ||
"${builtins.fetchTarball https://github.com/rycee/home-manager/archive/master.tar.gz}/nixos" | "${builtins.fetchTarball https://github.com/rycee/home-manager/archive/master.tar.gz}/nixos" | ||
]; | ]; | ||
home-manager.users. | home-manager.users.my_username = { ... } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Managing your dotfiles == | |||
Home Manager has options to configure many common tools. As an example, adding the following | |||
<syntaxhighlight lang="nix> | |||
programs.git = { | |||
enable = true; | |||
userName = "my_git_username"; | |||
userEmail = "my_git_username@gmail.com"; | |||
}; | |||
</syntaxhighlight> | |||
will make Home Manager generate a .config/git/config file for you. | |||
Even for programs for which Home Manager doesn't have configuration options, you can use it to manage your dotfiles, e.g. | |||
<syntaxhighlight lang="nix"> | |||
home.file.".config/i3blocks/config".source = "${my-dotfile-dir}/i3blocks.conf" | |||
</syntaxhighlight> | |||
=== Examples === | === Examples === | ||
* [https://github.com/yrashk/nix-home/blob/master/home.nix Yurii Rashkovskii's home.nix] | * [https://github.com/yrashk/nix-home/blob/master/home.nix Yurii Rashkovskii's home.nix] |
Revision as of 15:40, 13 April 2018
Home Manager a basic system for managing a user environment using the Nix package manager together with the Nix libraries found in Nixpkgs. Before attempting to use Home Manager please read the warning.
Configuration
Home Manager is can be configured in ~/.config/nixpkgs/home.nix
or inside configuration.nix.
For the latter, add the following to your config
imports = [
...
"${builtins.fetchTarball https://github.com/rycee/home-manager/archive/master.tar.gz}/nixos"
];
home-manager.users.my_username = { ... }
Managing your dotfiles
Home Manager has options to configure many common tools. As an example, adding the following
programs.git = {
enable = true;
userName = "my_git_username";
userEmail = "my_git_username@gmail.com";
};
will make Home Manager generate a .config/git/config file for you.
Even for programs for which Home Manager doesn't have configuration options, you can use it to manage your dotfiles, e.g.
home.file.".config/i3blocks/config".source = "${my-dotfile-dir}/i3blocks.conf"