alacritty: MacOS new terminal doesn't have shell environment
If I open a new instance with:
open -na 'Alacritty.app'
it works as expected. However if I supply an initial command with the --command flag:
open -na 'Alacritty.app' --args --command nnn
it launches but doesn’t have the shell environment loaded. i.e. My .zshrc has not been run/loaded.
Expected behaviour
Just like when launching alacritty with no initial command, I expect alacritty to load the shell environment before executing the --command
System
OS: macOS Version: 0.4.2
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 16 (8 by maintainers)
@chrisduerr omg yes that one works!!! Thank you so much for you help and patience!
For anyone else who comes across this, this is the command I have in my
.skhdrcfile which works:shift + ctrl + alt - space : open -na Alacritty.app --args -e zsh -ic nnnI don’t usually use macOS, which makes it a bit difficult to give you an exact working example, but it boils down to
shell -cnot starting an interactive shell by default, since you’ve told it to just run a command with no interactivity needed. Without an interactive shell the .bashrc is not sourced.Depending on your shell, there might be different flags to tell it to still spawn an interactive shell, one such way would be to spawn a login shell, however login shells on macOs are a bit complicated since login works differently. On a normal system just using
alacritty -e shell --login -c envwould work.Another alternative, what I’d probably recommend testing is to just tell it to start in interactive mode. With your specific issue that would probably suffice. With zsh you can try running
alacritty -e zsh -ic envto do so.