Today I started my first job in tech.

While I’m pretty excited, it’s a big step.

I have to learn new workflows and tools (Jira) and become familiar with a new code-base (Angular nx workspace).

Plus, I now have a Mac for work. I underestimated the differences between my Linux box and MacOs.

As terminal user with lots of scripts and shell modifications, I heavily rely on my dotfiles.

I came to the realization that my files are not as portable as I’ve thought.

Currently, my problem is that the Linux $HOME folder is /home/username while MacOs uses /Users/username.

The fish shell seems unable to expand the $HOME variable. It uses the absolute path, which is not portable to MacOS, as the $HOME directory is at a different location.

Example output of echo $fish_user_paths | tr " " "\n" | nl (shows the PATH variables):

1 /home/myusername/.bin
2 /home/myusername/.deno/bin

For Mac it need to be:

1 /Users/myusername/.bin
2 /Users/myusername/.deno/bin

My idea was to replace all hard-coded values with the $HOME variable.

1 $HOME/.bin
2 $HOME/.deno/bin

This does not work with Fish shell.

I haven’t found a solution yet.

Edit: I’ve created a symbolic link for /Users/myusername to /home/myusername.

sudo vim /etc/auto_master
# add a "#" at the start of the line beginning with /home
# save changes
sudo automount -cv
sudo ln -s /Users/myusername /home/myusername

I’ve found this solution on StackExchange.