I want to add custom commands to my PATH but am unable to get it working. So far I’ve installed home-manager and added the code below to my nix configuration.

imports = [
  ./hardware-configuration.nix
  home-manager/nixos
];

Yes I have < around home-manager but lemmy removes that text if I show it properly in a code block.

Then later on to add the item to PATH

home-manager.users.curtismchale = { pkgs, ... }: {
  home.stateVersion = "23.05";
  home.sessionPath = [
    "$HOME/Workspace/proudcity/proudcity-kubernetes/bin"
  ];
};

I have also tried $HOME/Workspace/proudcity/producity-kubernetes/bin/pc-kube but that doesn’t change the issue.

I can see the commands installed at ~/Workspace/proudcity/proudcity-kubernetes/bin/pc-kube but when I type the expected command pc kube $command it says there is nothing installed in path and offers to install some programs that match pc for me.

  • gomp@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    Not sure what the issue is, but I hope this helps:

    • Stuff added to home.sessionPath ends up in $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh, which (in my system, at least) is referenced from ~/.profile.
    • ~/.profile is only executed by login shells (ie. you have to logout and back in for it to be re-evaluated, or of course you can just source it)
    • bash ignores ~/.profile if there is a ~/.bash_profile or ~/.bash_login (IIRC)