<cole-h>
Is there a nice way to specify the nixpkgs to be used in my home.nix? `_module.args.pkgs = ....` works, but I wonder if there's anything that should be preferred over it.
<lovesegfault>
cole-h: Are you using hm as a NixOS module?
<cole-h>
I am now, but I wasn't before. `home-manager.useGlobalPkgs` works just fine along with that nixops PR (`network.nixpkgs = ...`)
<lovesegfault>
Yeah, I was about to recommend useGlobalPkgs
cole-h has quit [Quit: Goodbye]
cjpbirkbeck has quit [Quit: cjpbirkbeck]
c0c0 has quit [Ping timeout: 258 seconds]
asymptotically has joined #home-manager
c0c0 has joined #home-manager
dermetfan has joined #home-manager
nurelin has quit [Ping timeout: 256 seconds]
__monty__ has joined #home-manager
<dutchie>
rycee: oh thanks! i should have realised i could just import it
notgne2 has left #home-manager [#home-manager]
notgne2 has joined #home-manager
evanjs has quit [Read error: Connection reset by peer]
evanjs has joined #home-manager
dermetfan has quit [Ping timeout: 256 seconds]
dermetfan has joined #home-manager
dermetfan has quit [Ping timeout: 272 seconds]
c0c0 has quit [Ping timeout: 258 seconds]
c0c0 has joined #home-manager
c0c0 has quit [Quit: WeeChat 2.6]
cjpbirkbeck has joined #home-manager
dermetfan has joined #home-manager
cole-h has joined #home-manager
cjpb0 has joined #home-manager
cjpbirkbeck has quit [Ping timeout: 264 seconds]
cjpb0 is now known as cjpbirkbeck
cole-h has quit [Quit: Goodbye]
cole-h has joined #home-manager
sheeldotme has joined #home-manager
<sheeldotme>
I've installed a neovim plugin via home-manager that requires nodejs at runtime, but cannot find it. I'd like to avoid installing nodejs globally. Does anyone know how I might go about doing this? Thanks!
sheeldotme has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sheeldotme has joined #home-manager
dermetfan has quit [Ping timeout: 260 seconds]
__monty__ has quit [Quit: leaving]
<alexarice[m]1>
sheeldotme: You could make a wrapper for neovim with `wrapProgram`
<sheeldotme>
alexarice[m]1 I created an overlay and passed in node as an input, but it seems that didn't do the trick. It seems that the plugin uses node via bash without a hardcoded path. My next attempt is to patch the file to hardcode the path to nodejs. Does that seem like a reasonable approach?
<alexarice[m]1>
sheeldotme: it gets tricky if the plugin uses a shell to find node
<alexarice[m]1>
You could try patching the file
<alexarice[m]1>
that is probably quite sensible
<alexarice[m]1>
You likely want to use something like `substituteAll` to get the correct path in the file
<sheeldotme>
alexarice[m]1, luckily it provides a method to set a default path. "let node = get(g:, 'coc_node_path', 'node')". I figured if I just change the default path "node" to a hard coded one I should be set. Do you still recommend substituteAll if it's a single replacement like that?
<alexarice[m]1>
sheeldotme: The problem is how to insert the path there, as the path will change whenever node updates
<alexarice[m]1>
usually you add a patch which replaces `node` by `@node@`
<alexarice[m]1>
and then use `substituteAll` to replace `@node@` by the actual path
<alexarice[m]1>
I was slightly wrong above, you run `substituteAll` on the patch file, as in the example
<sheeldotme>
I see, that actually makes a lot of sense. Is there a reason there are two replacements though? Why not simply patch in the hardcoded path in a postinstall hook? alexarice[m]1
<alexarice[m]1>
sheeldotme: You probably can do that, though the patch then replace method is very resistant to silently breaking
<sheeldotme>
alexarice[m]1 that makes sense, and if that's the idiom I'll just do that! Thanks for your help, I really appreciate it!
<alexarice[m]1>
no problem, hope it works
sheeldotme has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]