Live data from Hacker News

Nix Home Manager Option Search

mipmip.github.io

11–20 of 33 posts

Re: Nix Home Manager Option Search

#11

I "love" these projects that won't even describe what they do on their front page or even in their manual. Of course everybody has 30 minutes to spare to try to understand what it is.

Home-Manager is a project that brings declarative user home directory management to Nix. You can have it set up dotfiles, user systemd services, etc. All the things to do with stuff in your home directory.

The documentation for Home-Manager that is generated is an extremely large html file with every option listed. It is not easy to read or discover options in. The linked tool provides a search field to query the available options for Home-Manager, making it much easier to digest. This is similar to the NixOS Options search tool which does the same job of providing search for NixOS options.

Re: Nix Home Manager Option Search

#12

I "love" these projects that won't even describe what they do on their front page or even in their manual. Of course everybody has 30 minutes to spare to try to understand what it is.

I agree that that would be good, however I do think this is the kind of thing where if you have use for it then you'll probably recognize it on sight.

Re: Nix Home Manager Option Search

#13

I "love" these projects that won't even describe what they do on their front page or even in their manual. Of course everybody has 30 minutes to spare to try to understand what it is.

it's a way to configure and generate your apps dotfiles declaratively using nix (expression) language

Re: Nix Home Manager Option Search

#15

I "love" these projects that won't even describe what they do on their front page or even in their manual. Of course everybody has 30 minutes to spare to try to understand what it is.

Home-Manager is a project that brings declarative user home directory management to Nix. You can have it set up dotfiles, user systemd services, etc. All the things to do with stuff in your home directory. The documentation for Home-Manager that is generated is an extremely large html file with every option listed. It is not easy to read or discover options in. The linked tool provides a search field to query the ava…

Thanks, I thought it was some kind of home (house) automation. Do you have an example of what it's useful for? Why would I "manage" my home directory?

Re: Nix Home Manager Option Search

#16

Earlier quoted context omitted.

Home-Manager is a project that brings declarative user home directory management to Nix. You can have it set up dotfiles, user systemd services, etc. All the things to do with stuff in your home directory. The documentation for Home-Manager that is generated is an extremely large html file with every option listed. It is not easy to read or discover options in. The linked tool provides a search field to query the ava…

Thanks, I thought it was some kind of home (house) automation. Do you have an example of what it's useful for? Why would I "manage" my home directory?

Declarative home environments are pretty great. Being able to reproduce your entire user setup is fantastic when you manage multiple machines or want to make future migrations.

I run NixOS and use Home-Manager as well. This lets me define my entire system in addition to my user home contents declaratively. So with this configuration I can apply NixOS & Home-Manager to get the same results anywhere.

Here is an example of my Home-Manager configuration: https://github.com/jakehamilton/config/blob/a3da20eeab74a50a...

In this example I configure Git. This gets written to my user home's config directory.

Re: Nix Home Manager Option Search

#17

Earlier quoted context omitted.

Home-Manager is a project that brings declarative user home directory management to Nix. You can have it set up dotfiles, user systemd services, etc. All the things to do with stuff in your home directory. The documentation for Home-Manager that is generated is an extremely large html file with every option listed. It is not easy to read or discover options in. The linked tool provides a search field to query the ava…

Thanks, I thought it was some kind of home (house) automation. Do you have an example of what it's useful for? Why would I "manage" my home directory?

Many command line programs keep their configurations somewhere under $HOME. These are often called "dotfiles".

If you ever use more than one machine, likely you'll want the same configuration available on all those machines.. so you'll want some way to copy them to a new machine.

Some dotfile managers are quite simple, like dotbot. https://github.com/anishathalye/dotbot

Home Manager from the Nix community is a bit more sophisticated. It allows for writing configurations in the Nix language, which is nice if you know/like Nix. (Nix is a powerful/expressive package manager. Nix is to apt-get what vim is to notepad).

Re: Nix Home Manager Option Search

#19

Earlier quoted context omitted.

Thanks, I thought it was some kind of home (house) automation. Do you have an example of what it's useful for? Why would I "manage" my home directory?

Declarative home environments are pretty great. Being able to reproduce your entire user setup is fantastic when you manage multiple machines or want to make future migrations. I run NixOS and use Home-Manager as well. This lets me define my entire system in addition to my user home contents declaratively. So with this configuration I can apply NixOS & Home-Manager to get the same results anywhere. Here is an example…

Where the "home config" in this case can be much more than just text files and, for example, can include the actual apps installed locally. So when you define your `.git/config` file, you can include `diff.external = ${pkgs.difft}` to refer to a locally installed version of app `difft` and home-manager does the right thing. You can also manage your user services through systemd or launchd.

Re: Nix Home Manager Option Search

#20

Is there a good way of getting this sort of thing for nix projects in general? I often find myself cloning the repo for it just so I can grep for `mkOption` and I often wonder if there's a smarter way.

Some services have a very heavy meta description. I can't think of one for home-manager right now, but in nixos caddy config is not easy to read from source.
Post reply on HN