• Oinks@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    7
    ·
    edit-2
    2 days ago

    It does, that’s the home.file escape hatch I mentioned. But then you end up paying 10-30 seconds eval for a “config” that looks like this:

    {
      home.file.".bashrc".source = ./bashrc;
      home.file.".bash_profile".source = ./bash_profile;
      xdg.configFile.nvim.source = ./nvim;
      xdg.configFile.sway.source = ./sway;
      # ...
    }
    

    I suppose there are fringe use cases where Nix attrset merging behaviour is useful, but in the average case I just don’t see much value here.

    • balsoft@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      53 minutes ago

      You don’t have to waste 30 seconds on a full eval when just iterating, I use these one-liners when trying to get some config file: https://github.com/balsoft/nixos-config/blob/master/flake.nix#L140 ; they only evaluate one specific file and then link it into the right location “imperatively”

      Then when I get it working I do the nixos-rebuild switch, which is a no-op in terms of home-manager stuff because the link points to the same location, it just makes it so that it stays the same after a reboot (I use impermanence).