payas  
                
                  
                    July 9, 2024,  2:57pm
                   
                  1 
               
             
            
              Hi there,
I am currently using home-manager as NixOS module as described here .
I want to add nix-doom-emacs-unstraightened , and use that in my user config defined by home-manager, but I don’t understand how to do that. I tried using the overlay method as well, but nixpkgs.overlays = [ nix-doom-emacs-unstraightened.overlays.default ]; reports as it could not find nix-doom-emacs-unstraightened, which tells me I have failed to propagate it as input from flake inputs to where it is being used to add overlay.
For reference, my NixOS config structure is pretty much unchanged from here → payas/nixos: Archived. All maintenance and development now happens as part of monorepo. - bhankas/forgejo .
Thanks in advance!
             
            
              
           
          
            
            
              If you added nix-doom-emacs-unstraightened to inputs as described in the link, then this should work:
nixpkgs.overlays = [ nix-doom-emacs-unstraightened.overlays.default ];
If you add nix-doom-emacs-unstraightened to your args in outputs in your flake.nix:
  outputs =
    { self
    , nixpkgs
    , home-manager
    , agenix
    , nixos-hardware
    , deploy-rs
+   , nix-doom-emacs-unstraightened # <--- this part added here
    , ...
    }:
Otherwise you can just add inputs and not add it to outputs args:
nixpkgs.overlays = [ inputs.nix-doom-emacs-unstraightened.overlays.default ];
If you are doing it in different modules and not flake.nix you need to propagate it with specialArgs.
About using HM module - you can either add it into imports for each user:
-                    payas = import ./hosts/hermes/home.nix;
+                    payas = {
+                      imports = [
+                        inputs.nix-doom-emacs-unstraightened.hmModule
+                        ./hosts/hermes/home.nix;
+                      ];
+                    };
or add it to home-manager.sharedModules if you want to add it to all users in that NixOS system:
                home-manager = {
                  useGlobalPkgs = true;
                  useUserPackages = true;
+                 sharedModules = [ inputs.nix-doom-emacs-unstraightened.hmModule ];
                  users = {
 
            
              1 Like 
            
           
          
            
              
                payas  
              
                  
                    July 10, 2024, 12:06am
                   
                  3 
               
             
            
              
Ahh, this is what I was really missing! I should have read wiki entry more thoroughly 
It works now, and I learned more flakes in the process, thanks a lot!