From 4e750fa92c8a2d7147cd2ff02f9c05fb162ca093 Mon Sep 17 00:00:00 2001
From: Michael Raskin <7c6f434c@mail.ru>
Date: Wed, 22 May 2019 13:55:00 +0000
Subject: =?UTF-8?q?[RFC]=20manual:=20rename=20to=20users=20and=20contribut?=
=?UTF-8?q?ors=20manual,=20add=20some=20user=20notes=20=E2=80=A6=20(#60682?=
=?UTF-8?q?)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* manual: rename to users and contributors manual, add some user notes that should be there but don't fit in any chapter
* manual: move the package notes that are completely usage-related to the upper user notes section
* manual: link to package-specific development notes from user notes
---
doc/package-notes.xml | 391 --------------------------------------------------
1 file changed, 391 deletions(-)
(limited to 'doc/package-notes.xml')
diff --git a/doc/package-notes.xml b/doc/package-notes.xml
index 54f3079d5541..d3cffab33076 100644
--- a/doc/package-notes.xml
+++ b/doc/package-notes.xml
@@ -352,312 +352,6 @@ packageOverrides = pkgs: {
-
- Steam
-
-
- Steam in Nix
-
-
- Steam is distributed as a .deb file, for now only as
- an i686 package (the amd64 package only has documentation). When unpacked,
- it has a script called steam that in ubuntu (their
- target distro) would go to /usr/bin . When run for the
- first time, this script copies some files to the user's home, which include
- another script that is the ultimate responsible for launching the steam
- binary, which is also in $HOME.
-
-
-
- Nix problems and constraints:
-
-
-
- We don't have /bin/bash and many scripts point
- there. Similarly for /usr/bin/python .
-
-
-
-
- We don't have the dynamic loader in /lib .
-
-
-
-
- The steam.sh script in $HOME can not be patched, as
- it is checked and rewritten by steam.
-
-
-
-
- The steam binary cannot be patched, it's also checked.
-
-
-
-
-
-
- The current approach to deploy Steam in NixOS is composing a FHS-compatible
- chroot environment, as documented
- here.
- This allows us to have binaries in the expected paths without disrupting
- the system, and to avoid patching them to work in a non FHS environment.
-
-
-
-
- How to play
-
-
- For 64-bit systems it's important to have
-hardware.opengl.driSupport32Bit = true;
- in your /etc/nixos/configuration.nix. You'll also need
-hardware.pulseaudio.support32Bit = true;
- if you are using PulseAudio - this will enable 32bit ALSA apps integration.
- To use the Steam controller or other Steam supported controllers such as
- the DualShock 4 or Nintendo Switch Pro, you need to add
-hardware.steam-hardware.enable = true;
- to your configuration.
-
-
-
-
- Troubleshooting
-
-
-
-
-
- Steam fails to start. What do I do?
-
-
-
- Try to run
-strace steam
- to see what is causing steam to fail.
-
-
-
-
-
- Using the FOSS Radeon or nouveau (nvidia) drivers
-
-
-
-
-
- The newStdcpp parameter was removed since NixOS
- 17.09 and should not be needed anymore.
-
-
-
-
- Steam ships statically linked with a version of libcrypto that
- conflics with the one dynamically loaded by radeonsi_dri.so. If you
- get the error
-steam.sh: line 713: 7842 Segmentation fault (core dumped)
- have a look at
- this
- pull request.
-
-
-
-
-
-
-
- Java
-
-
-
-
-
- There is no java in steam chrootenv by default. If you get a message
- like
-/home/foo/.local/share/Steam/SteamApps/common/towns/towns.sh: line 1: java: command not found
- You need to add
- steam.override { withJava = true; };
- to your configuration.
-
-
-
-
-
-
-
-
-
-
- steam-run
-
-
- The FHS-compatible chroot used for steam can also be used to run other
- linux games that expect a FHS environment. To do it, add
-pkgs.(steam.override {
- nativeOnly = true;
- newStdcpp = true;
- }).run
- to your configuration, rebuild, and run the game with
-steam-run ./foo
-
-
-
-
- Emacs
-
-
- Configuring Emacs
-
-
- The Emacs package comes with some extra helpers to make it easier to
- configure. emacsWithPackages allows you to manage
- packages from ELPA. This means that you will not have to install that
- packages from within Emacs. For instance, if you wanted to use
- company, counsel,
- flycheck, ivy,
- magit, projectile, and
- use-package you could use this as a
- ~/.config/nixpkgs/config.nix override:
-
-
-
-{
- packageOverrides = pkgs: with pkgs; {
- myEmacs = emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [
- company
- counsel
- flycheck
- ivy
- magit
- projectile
- use-package
- ]));
- }
-}
-
-
-
- You can install it like any other packages via nix-env -iA
- myEmacs. However, this will only install those packages. It will
- not configure them for us. To do this, we need to
- provide a configuration file. Luckily, it is possible to do this from
- within Nix! By modifying the above example, we can make Emacs load a custom
- config file. The key is to create a package that provide a
- default.el file in
- /share/emacs/site-start/. Emacs knows to load this
- file automatically when it starts.
-
-
-
-{
- packageOverrides = pkgs: with pkgs; rec {
- myEmacsConfig = writeText "default.el" ''
-;; initialize package
-
-(require 'package)
-(package-initialize 'noactivate)
-(eval-when-compile
- (require 'use-package))
-
-;; load some packages
-
-(use-package company
- :bind ("<C-tab>" . company-complete)
- :diminish company-mode
- :commands (company-mode global-company-mode)
- :defer 1
- :config
- (global-company-mode))
-
-(use-package counsel
- :commands (counsel-descbinds)
- :bind (([remap execute-extended-command] . counsel-M-x)
- ("C-x C-f" . counsel-find-file)
- ("C-c g" . counsel-git)
- ("C-c j" . counsel-git-grep)
- ("C-c k" . counsel-ag)
- ("C-x l" . counsel-locate)
- ("M-y" . counsel-yank-pop)))
-
-(use-package flycheck
- :defer 2
- :config (global-flycheck-mode))
-
-(use-package ivy
- :defer 1
- :bind (("C-c C-r" . ivy-resume)
- ("C-x C-b" . ivy-switch-buffer)
- :map ivy-minibuffer-map
- ("C-j" . ivy-call))
- :diminish ivy-mode
- :commands ivy-mode
- :config
- (ivy-mode 1))
-
-(use-package magit
- :defer
- :if (executable-find "git")
- :bind (("C-x g" . magit-status)
- ("C-x G" . magit-dispatch-popup))
- :init
- (setq magit-completing-read-function 'ivy-completing-read))
-
-(use-package projectile
- :commands projectile-mode
- :bind-keymap ("C-c p" . projectile-command-map)
- :defer 5
- :config
- (projectile-global-mode))
- '';
- myEmacs = emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [
- (runCommand "default.el" {} ''
-mkdir -p $out/share/emacs/site-lisp
-cp ${myEmacsConfig} $out/share/emacs/site-lisp/default.el
-'')
- company
- counsel
- flycheck
- ivy
- magit
- projectile
- use-package
- ]));
- };
-}
-
-
-
- This provides a fairly full Emacs start file. It will load in addition to
- the user's presonal config. You can always disable it by passing
- -q to the Emacs command.
-
-
-
- Sometimes emacsWithPackages is not enough, as this
- package set has some priorities imposed on packages (with the lowest
- priority assigned to Melpa Unstable, and the highest for packages manually
- defined in pkgs/top-level/emacs-packages.nix). But you
- can't control this priorities when some package is installed as a
- dependency. You can override it on per-package-basis, providing all the
- required dependencies manually - but it's tedious and there is always a
- possibility that an unwanted dependency will sneak in through some other
- package. To completely override such a package you can use
- overrideScope'.
-
-
-
-overrides = self: super: rec {
- haskell-mode = self.melpaPackages.haskell-mode;
- ...
-};
-((emacsPackagesNgGen emacs).overrideScope' overrides).emacsWithPackages (p: with p; [
- # here both these package will use haskell-mode of our own choice
- ghc-mod
- dante
-])
-
-
- Weechat
@@ -762,64 +456,6 @@ stdenv.mkDerivation {
}
-
- Citrix Receiver
-
-
- The Citrix
- Receiver is a remote desktop viewer which provides access to
- XenDesktop
- installations.
-
-
-
- Basic usage
-
-
- The tarball archive needs to be downloaded manually as the licenses
- agreements of the vendor need to be accepted first. This is available at
- the
- download
- page at citrix.com. Then run nix-prefetch-url
- file://$PWD/linuxx64-$version.tar.gz. With the archive available
- in the store the package can be built and installed with Nix.
-
-
-
- Note: it's recommended to install Citrix
- Receiver using nix-env -i or globally to
- ensure that the .desktop files are installed properly
- into $XDG_CONFIG_DIRS. Otherwise it won't be possible to
- open .ica files automatically from the browser to start
- a Citrix connection.
-
-
-
-
- Custom certificates
-
-
- The Citrix Receiver in nixpkgs trusts
- several certificates
- from the
- Mozilla database by default. However several companies using Citrix
- might require their own corporate certificate. On distros with imperative
- packaging these certs can be stored easily in
- $ICAROOT,
- however this directory is a store path in nixpkgs. In
- order to work around this issue the package provides a simple mechanism to
- add custom certificates without rebuilding the entire package using
- symlinkJoin:
-
- { config.allowUnfree = true; };
-let extraCerts = [ ./custom-cert-1.pem ./custom-cert-2.pem /* ... */ ]; in
-citrix_receiver.override {
- inherit extraCerts;
-}]]>
-
-
-
- ibus-engines.typing-booster
@@ -887,33 +523,6 @@ citrix_receiver.override {
On NixOS it can be installed using the following expression:
{ pkgs, ... }: {
fonts.fonts = with pkgs; [ noto-fonts-emoji ];
-}
-
-
-
-
- DLib
-
-
- DLib is a modern, C++-based toolkit which
- provides several machine learning algorithms.
-
-
-
- Compiling without AVX support
-
-
- Especially older CPUs don't support
- AVX
- (Advanced Vector Extensions) instructions that are used by DLib to
- optimize their algorithms.
-
-
-
- On the affected hardware errors like Illegal instruction will occur.
- In those cases AVX support needs to be disabled:
-self: super: {
- dlib = super.dlib.override { avxSupport = false; };
}
--
cgit v1.2.3