home-manager: refactor & improve inconsistencies #209
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
basically quite large refactor of home-manager module
supersedes #208
changes
home.activation
snippetsgetHomeDirCfg
@lib.nix
)submodule
types (instead of handling both strings and objects throughout the code)method="external"
for both files and directories so one can handle mountpoints management themselves (eg: in a NixOS module forroot
user, which doesn't have dedicated user instance of systemd), see my codefixes
impermanence-hm-mount-info
:findmnt
as opposed to opportunisticmount
parsingbindfs
process dies, but the path is not unmounted properly)fstype
bindfs
instead offuse
bindfs
processes when restartinghome-manager-<USER>.service
(might be a mix oflinger = true
on NixOS) by putting it intobackground.slice
insteadhome.activation
scripts andsystemd.user.services
, shadowing mounts happened A LOT during my testing of the new code and services depending on those mountpointsbackward incompatibilities
systemd
service naming schemes frombindMount-<shell-escaped then sanitized source dir>
tobindMount--<sanitized mountpoint>
without further escapingfiles
&directories
are automatically converted to objects