<energizer>
is there a way to set the desktop background with HM?
Emantor has joined #home-manager
<cole-h>
There might be a setting for whatever DE/WM you use. But not globally, AFAIK
ashkitten has quit [Quit: WeeChat 2.8]
ashkitten has joined #home-manager
<dsal>
Is there a way to diff generations?
<cole-h>
nix-diff maybe?
cole-h has quit [Quit: Goodbye]
__monty__ has joined #home-manager
hmpffff has joined #home-manager
hmpffff has quit [Quit: nchrrrr…]
hoplaahei has joined #home-manager
<hoplaahei>
hi. Why do most examples of home-manager have people installing packages in home-directory rather than system-wide? Is there some specific advantage to this? Or just choice? e.g., multi-user system, portability reasons.
<__monty__>
Those are the advantages. Have configuration.nix set up everything system-wide and nothing else and share home.nix.
<hoplaahei>
so for single user system it is easier to just set everything in /etc/nixos/configuration.nix?
hoplaahei has quit [Quit: Konversation terminated!]
hoplaahei has joined #home-manager
<__monty__>
Wouldn't say easier. It's an option.
<__monty__>
HM does more than install packages.
<hoplaahei>
ok I think I will install packages globally, but use home-manager to mange home dir configs. Thanks for the help.
hmpffff has joined #home-manager
hoplaahei has quit [Read error: Connection reset by peer]
hoplaahei has joined #home-manager
hoplaahei has quit [Remote host closed the connection]
<energizer>
HM writes files outside the store, which is useful. how can i do that in my own nix code?
<immae>
energizer: you cannot do it in nix, nix only ever changes the nix store. hm (and nixos-rebuild) comes with scripts that do the dirty tasks
<immae>
(the script itself is generated via nix, but the end run happens "outside" of nix)
<energizer>
how does stuff get into /var?
<immae>
same
<immae>
via scripts
<immae>
you can create a script that will be run during the activation phase, but you cannot write a derivation that modifies the home or /var
<immae>
in home-manager you can add actions via home.activation
<immae>
(read the documentation, it comes with some warning for dry-run/idempotency issues)
<energizer>
i see
<energizer>
what's the nixos equivalent of home.activation?
<energizer>
aha, looks like system.activationScripts
<immae>
yes exactly :)
<energizer>
does system.activationScripts have an automatic cleanup system like hm.dag does, which will remove files that aren't in the new generation?
<immae>
I don’t think so no
<immae>
maybe with options like nix.gc or so?
<immae>
(if you’re interested in the nixos part your question may better have its place in #nixos btw)
<{^_^}>
#1091 (by misuzu, 4 weeks ago, open): activation-init: ignore error from `find` when `/nix/var/nix/profiles/per-user/$USER` doesn't exist
eraserhd has joined #home-manager
<eraserhd>
So, the harrowing ordeal of my configs not sticking is solved... It was a pre-Catalina Darwin single-user install, and the Catalina upgrade, I moved the Nix store to a writable partition and symlinked. I did not, apparently, set the permissions nicely.
<eraserhd>
weechat, noticing new plugins, updated its config files, and apparently overrode permissions in the store, when it started.
<eraserhd>
I am now running a multi-user nix so that nothing could even do that, but also killed the now-corrupt store and re-installed nix.
<cole-h>
Just an FYI eraserhd: Weechat overwrites sec.conf when you exit (assuming you have the contents salted+hashed or whatever), even if none of the contents have changed