Skip to content

Commit

Permalink
tweak readme
Browse files Browse the repository at this point in the history
  • Loading branch information
viperML committed May 22, 2024
1 parent 35231e9 commit 42ae1d2
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,18 @@ Noshell enables some patterns in the NixOS ecosystem, such as:
- User-level configuration of the login shell with home-manager (`xdg.configFile."shell".source = lib.getExe pkgs.nushell;`)

It can be useful too outside of NixOS, for example to use a custom build of some shell.

## A note on login shells

As far as I know, there is nothing "written in stone" about what a login shell must do, but other
tools in Linux do expect some functionality.

Some of these assumptions are:
- The login shell is expected to `. /etc/profile` by its own. This file is a POSIX sh script that sets up environment variables needed by the session. `pam_env` also
sets environment variables but that is handled earlier in the login process.
- `login` may call your shell with `-progname`, that is with a dash as the first character, to indicate that this is a login shell.
- Other programs may call your shell with the argument `-l` to indicate that it is a login shell.
- Some programs might assume `$SHELL` is something that you can pass arguments to, whatever the arguments are, with `-c`.

Please report any functionality expected from a login shell in the issues board: [https://github.com/viperML/noshell/issues](https://github.com/viperML/noshell/issues).

0 comments on commit 42ae1d2

Please sign in to comment.