I had someone walk up to me and ask me how you make the powershell snap their shell. Is there a way to add an entry to /etc/shells when the snap is installed?
There’s no specific support in snapd to manage the /etc/shells
file.
With that said, as a classic confinement snap there is nothing preventing hooks from modifying files on the base system. A configure
hook that ensured your shell was listed in the file, and a remove
hook that undid that would probably do the trick.
The debianutils
package contains add-shell
and remove-shell
scripts that could help with this. You can’t rely on them being available on non-Debian derived distros, but you could stage them into your own snap.
I tried using the SNAP
variable to calculate the path, but at runtime the path is different than when the hook ran. I guess I could substitute current. Also, I would prefer to use /snap/bin/<name>
but not sure if the path varies on different distros.