<KarlJoad>
How would I go about getting the path to my user's home directory? I used `${config.users.users.<name>.home}` to try and get it, and I get the error "error: attribute 'users' missing, at /home/karl/.config/nixpkgs/home.nix:16:15", even though I have `config` as an argument to the home.nix function module.
<KarlJoad>
How would I go about getting the path to my user's home directory? I used `${config.users.users.<name>.home}` to try and get it, and I get the error "error: attribute 'users' missing, at /home/karl/.config/nixpkgs/home.nix:16:15", even though I have `config` as an argument to the home.nix function module.
KarlJoad has quit [Quit: Konversation terminated!]
<NobbZ[m]>
That looks like a nixOS config, which isn't available in Home-Manager.
KarlJoad has quit [Quit: Konversation terminated!]
evanjs has quit [Read error: Connection reset by peer]
evanjs has joined #home-manager
asymptotically has quit [Remote host closed the connection]
asymptotically has joined #home-manager
spacekookie has joined #home-manager
<rycee>
For HM the `home.homeDirectory` option is the right one to use if you want to access the path to the home directory.
<Dandellion>
Is there some way to get the real path of home.nix ?
<rycee>
At evaluation time?
<rycee>
In Nix code or shell code?
<Dandellion>
I've only needed it for something like, `source $HOME/somerepo/somefile.sh`
<Dandellion>
But i think i should just use home.file and put them somewhere well known
<rycee>
To get the fully normalized path I think you'd need to use a tool like `realpath`.
<rycee>
If you don't need to follow symlinks then I guess the `toString ./path/to/file` Nix idiom would work in most cases.
quinn has joined #home-manager
cole-h has joined #home-manager
asymptotically has quit [Ping timeout: 240 seconds]
asymptotically has joined #home-manager
theduke has joined #home-manager
theduke_ has joined #home-manager
theduke_ has quit [Client Quit]
<theduke>
Hi there.
<theduke>
Is there some way to extend/add additional packages, like with overlays for regular nix?
theduke_ has joined #home-manager
<theduke>
Ah well, I guess cloning the repo locally is the only way for now
theduke_ has quit [Quit: Leaving]
<immae>
theduke: overlays can add new packages (if I understood correctly your question)
<immae>
Oh
<immae>
I didn’t see I was in home-manager channel :)
<immae>
sorry theduke ignore me
<theduke>
immae: you shall be forgiven ;)
<theduke>
so for nixos I can view all options via `man configuration.nix`
<theduke>
Is there something similar for home-manager or do I have to read the code?
<immae>
man home-configuration.nix (once home-manager is installed)
<immae>
For the older question, overlays in regular nix will be available in home-manager too
<theduke>
ah, that makes sense. and of course it is right there in the Usage section of the README....
<theduke>
thanks
<immae>
Is that what you wanted, or do you want to extend them "inside" the home-manager configuration?
<theduke>
I'd just like to add new packages without a local checkout
<immae>
Can you specify "where" you want to add new packages? In your shell PATH, or in the "pkgs" variable of the home configuration?
<theduke>
ideally by modifying `pkgs`, like I would add a regular nix package in overlays.nix
<immae>
then just do it in overlays.nix and you’ll get it in home-manager too ;)
<theduke>
soo I see that quite a few packages will write configuration files to $HOME, even if a program offers eg an env var to set the config location.
<theduke>
Is that part of a deliberate policy?
<theduke>
Which is a pattern I have used a lot in my custom nix configuration to keep $HOME clean
<theduke>
or would PRs be accepted that add this behaviour behind an option?
<theduke>
practical example, `mpv` will look for configuration in `$MPV_HOME`, if it is set. Which could just point to the `/nix/store/...` location
asymptotically has quit [Ping timeout: 240 seconds]