mirror of
https://github.com/xonsh/xonsh.git
synced 2025-03-04 08:24:40 +01:00
docs: move section "Use the Nix Package manager with Xonsh" from rc to platform tips and tricks (#5503)
<!--- Thanks for opening a PR on xonsh! Please do this: 1. Include a news file with your PR (https://xon.sh/devguide.html#changelog). 2. Add the documentation for your feature into `/docs`. 3. Add the example of usage or before-after behavior. 4. Mention the issue that this PR is addressing e.g. `#1234`. --> subj ## For community ⬇️ **Please click the 👍 reaction instead of leaving a `+1` or 👍 comment** --------- Co-authored-by: a <1@1.1>
This commit is contained in:
parent
40f5eea840
commit
f9d2842fb1
3 changed files with 53 additions and 31 deletions
|
@ -30,6 +30,36 @@ lines to your ``~/.bashrc file``:
|
|||
unset module
|
||||
unset scl
|
||||
|
||||
Use the Nix Package manager with Xonsh
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
To users of the `Nix Package Manager <https://www.nixos.org/>`_ these few lines might be life-savers:
|
||||
|
||||
.. code-block:: xonshcon
|
||||
|
||||
import os.path
|
||||
if os.path.exists(f"{$HOME}/.nix-profile") and not __xonsh__.env.get("NIX_PATH"):
|
||||
$NIX_REMOTE="daemon"
|
||||
$NIX_USER_PROFILE_DIR="/nix/var/nix/profiles/per-user/" + $USER
|
||||
$NIX_PROFILES="/nix/var/nix/profiles/default " + $HOME + "/.nix-profile"
|
||||
$NIX_SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt"
|
||||
$NIX_PATH="nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixpkgs:/nix/var/nix/profiles/per-user/root/channels"
|
||||
$PATH += [f"{$HOME}/.nix-profile/bin", "/nix/var/nix/profiles/default/bin"]
|
||||
|
||||
Btw. a hacky solution to install xontribs that do not yet ship with ``nixpkgs`` is:
|
||||
|
||||
.. code-block:: xonshcon
|
||||
|
||||
for p in map(lambda s: str(s.resolve()), p"~/.local/lib/".glob("python*/site-packages")):
|
||||
if p not in sys.path:
|
||||
sys.path.append(p)
|
||||
|
||||
$PYTHONPATH = "$USER/.local/lib/python3.7/site-packages"
|
||||
|
||||
python -m ensurepip --user
|
||||
xonsh
|
||||
python -m pip install --user -U pip xontrib-z xonsh-direnv
|
||||
|
||||
Just run the last three lines, do not put them in your `xonshrc`!
|
||||
|
||||
MacOS, OSX
|
||||
----------
|
||||
|
|
|
@ -249,34 +249,3 @@ For a compact shell prompts, some people prefer a very condensed time format. Bu
|
|||
get_shelldate.fulldate = 0
|
||||
|
||||
$PROMPT_FIELDS['shelldate'] = get_shelldate
|
||||
|
||||
Use the Nix Package manager with Xonsh
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
To users of the `Nix Package Manager <https://www.nixos.org/>`_ these few lines might be life-savers:
|
||||
|
||||
.. code-block:: xonshcon
|
||||
|
||||
import os.path
|
||||
if os.path.exists(f"{$HOME}/.nix-profile") and not __xonsh__.env.get("NIX_PATH"):
|
||||
$NIX_REMOTE="daemon"
|
||||
$NIX_USER_PROFILE_DIR="/nix/var/nix/profiles/per-user/" + $USER
|
||||
$NIX_PROFILES="/nix/var/nix/profiles/default " + $HOME + "/.nix-profile"
|
||||
$NIX_SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt"
|
||||
$NIX_PATH="nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixpkgs:/nix/var/nix/profiles/per-user/root/channels"
|
||||
$PATH += [f"{$HOME}/.nix-profile/bin", "/nix/var/nix/profiles/default/bin"]
|
||||
|
||||
Btw. a hacky solution to install xontribs that do not yet ship with ``nixpkgs`` is:
|
||||
|
||||
.. code-block:: xonshcon
|
||||
|
||||
for p in map(lambda s: str(s.resolve()), p"~/.local/lib/".glob("python*/site-packages")):
|
||||
if p not in sys.path:
|
||||
sys.path.append(p)
|
||||
|
||||
$PYTHONPATH = "$USER/.local/lib/python3.7/site-packages"
|
||||
|
||||
python -m ensurepip --user
|
||||
xonsh
|
||||
python -m pip install --user -U pip xontrib-z xonsh-direnv
|
||||
|
||||
Just run the last three lines, do not put them in your `xonshrc`!
|
||||
|
|
23
news/docs_nix.rst
Normal file
23
news/docs_nix.rst
Normal file
|
@ -0,0 +1,23 @@
|
|||
**Added:**
|
||||
|
||||
* Added section "Use the Nix Package manager with Xonsh" to "Platform-specific tips and tricks".
|
||||
|
||||
**Changed:**
|
||||
|
||||
* <news item>
|
||||
|
||||
**Deprecated:**
|
||||
|
||||
* <news item>
|
||||
|
||||
**Removed:**
|
||||
|
||||
* <news item>
|
||||
|
||||
**Fixed:**
|
||||
|
||||
* <news item>
|
||||
|
||||
**Security:**
|
||||
|
||||
* <news item>
|
Loading…
Add table
Reference in a new issue