• tomenzgg@midwest.social
    link
    fedilink
    English
    arrow-up
    2
    ·
    2 days ago

    Does Home Manager not just have a dot file manager built in? On Guix, I just have my Waybar config. get moved to the appropriate location that Waybar will expect it.

    Some services will even allow you to specify files to get injected into the config.; like the Bash service so I can write some definitions out in a .sh file and the service inserts that contents after the boilerplate it provides into my .bashrc.

    • 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
        54 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).