Commit graph

386 commits

Author SHA1 Message Date
Maximilian Bosch
aa46b1ec0e nixos/autosuggestions: add module (#41397)
The `zsh-autosuggestions` package provides several configuration options
such as a different highlight style (like `fg=cyan` which is easier to
read).

With `rename.nix` the old `programs.zsh.enableAutosuggestions` is still
functional, but yields the following warning like this during evaluation:

```
trace: warning: The option `programs.zsh.enableAutosuggestions' defined in `<unknown-file>' has been renamed to `programs.zsh.autosuggestions.enable'.
```

The module provides the most common `zsh-autosuggestions` (highlight
style and strategy) as options that will be written into the interactive
shell init (`/etc/zshrc` by default). Further configuration options can
be declared using the `extraConfig` attr set:

```
{
  programs.zsh.autosuggestions.extraConfig = {
    "ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE" = "buffer_size";
  };
}
```

A full list of available configuration options for `zsh-autosuggestions`
can be viewed here: https://github.com/zsh-users/zsh-autosuggestions/blob/v0.4.3/README.md
2018-06-10 23:08:50 +02:00
Lenz Weber
7c34c28cfa nixos/programs.mosh: refactor
Adds programs.mosh.withUtempter (default: true).
The option enables -with-utempter for mosh, allowing it to write to
/var/run/utmp and thus making connected sessions appear in the output
of `who -a`.

For that, a guid-wrapper is required. Also, the path to the `utempter` was
hardcoded in the resulting binary until now (so it could never been found),
thus, libutempter was patched accordingly to point to
/run/wrappers/bin/utempter which at least works when the wrapper is
configured.
2018-06-08 20:57:16 +02:00
Matthew Bauer
2f68e86ce6 zsh: only do promptInit when TERM!=dumb
This allows tramp to be used correctly when default shell is zsh.
2018-05-31 12:34:16 -04:00
Daiderd Jordan
c4e9ebc248
Merge pull request #38791 from LnL7/nixos-profile-variables
nixos: remove PKG_CONFIG_PATH/PERL5LIB environment variables
2018-05-30 00:23:34 +02:00
Tuomas Tynkkynen
6f1f11af4c nixos/programs/shell.nix: Enhance bad ownership error message
Steal this from scripts/nix-profile.sh.in in Nix to keep things more
consistent.
2018-05-24 04:58:57 +03:00
Tuomas Tynkkynen
3cfb492c63 nixos/programs/shell.nix: Use [ ] instead of test
Half of the script is using 'test' and other half '[ ]'. Let's stick to
'[ ]' everywhere as it seems more conventional in nixpkgs.
2018-05-24 04:58:57 +03:00
Tuomas Tynkkynen
7adae10a86 nixos/programs/shell.nix: Quote variables
In practice $HOME doesn't contain spaces, but let's stick to best
shell scripting practices anyway.
2018-05-24 04:58:57 +03:00
Gregor Kleen
effb02131c Revert "zsh: move setEnvironment stuff to zprofile"
This reverts commit 77a6cbb1c1.
2018-05-19 10:17:41 +02:00
Maximilian Bosch
641a623053 nixos/xss-lock: add module (#40619)
`xsslock` (which was originally packaged in 6cb1d1aaaf)
is a simple screensaver which connects a given screen locker (e.g.
`i3lock`) with `logind`. Whenever `loginctl lock-sessions` is invoked
the locker will be used to lock the screen. This works with its power
management features (e.g. `lid switch`) as well, so the PC can be locked
automatically when the lid is closed.

The module can be used like this:

```
{
  services.xserver.enable = true;

  programs.xss-lock.enable = true;
  programs.xss-lock.lockerCommand = "i3lock";
}
```
2018-05-18 18:24:53 +02:00
Matthew Justin Bauer
485fe9e766
Merge pull request #40223 from jD91mZM2/shouldnt-we-just-use-the-pam-environment-file-instead
zsh: move setEnvironment stuff to zprofile
2018-05-16 00:52:31 -05:00
Peter Hoeg
7f27566efd
Merge pull request #40581 from peterhoeg/p/sedutil
sedutil: init at 1.15.1 and corresponding nixos module
2018-05-16 12:39:06 +08:00
Jan Malakhovski
095fe5b43d nixos: rename system.{stateVersion,defaultChannel} -> system.nixos.\1 2018-05-12 19:27:09 +00:00
jD91mZM2
77a6cbb1c1
zsh: move setEnvironment stuff to zprofile 2018-05-09 14:58:29 +02:00
Graham Christensen
d1165dba99
Merge pull request #38831 from rdnetto/improve-cross-refs
Improve cross referencing in NixOS Manual
2018-04-30 21:30:20 -04:00
Bjørn Forsman
80b6513fbf nixos: enable bash command completion by default
Because it improves out-of-the-box user experience a lot (IMHO).
(zsh completion is already on by default.)

Remove "programs.bash.enableCompletion = true" from
nixos-generate-config.pl, which feels superflous now.
2018-04-13 18:36:51 +02:00
Reuben D'Netto
42a84598fb Added cross-references to NixOS manual 2018-04-12 09:39:14 +10:00
Daiderd Jordan
74442da768
nixos: remove PKG_CONFIG_PATH and PERL5LIB environment variables
These make libraries installed in the system or even user profiles
magically available.
2018-04-11 19:18:29 +02:00
ivanbrennan
6e4096d792 nixos/less: add configFile option
Expose the path to a lesskey file as a module option. This makes it
possible to maintain a single lesskey file, used for both NixOS and
non-nix systems. An example of how this can be done follows.

1. Write a derivation that fetches lesskey from a known location:

  { stdenv, fetchgit }:
  stdenv.mkDerivation {
    name = "foo";
    src = fetchgit { .. };
    phases = [ "unpackPhase" "installPhase" ];
    installPhase = "mkdir -p $out && cp $src/lesskey $out/lesskey";
  }

2. Set programs.less.configFile to the corresponding path:

    programs.less = {
      enable = true;
      configFile = "${pkgs.foo}/lesskey";
    };
2018-04-08 22:37:35 -04:00
Maximilian Bosch
50a34e55b2
nixos/iftop: add module
This patch is heavily inspired by bd0d8ed807 which added
a setcap wrapper for `mtr` in order to allow running `mtr` without
`sudo`. The need for the capability `cap_net_raw` that can be registered using
`setcap` has been documented in the Arch Wiki: https://wiki.archlinux.org/index.php/Capabilities#iftop

A simple testcase has been added which starts two machines, one with a
setcap wrapper for `iftop`, one without. Both testcases monitor the
bandwidth usage of the machine using the options `-t -s 1` once, the
machine with setcap wrapper is expected to succeed, the `iftop` on the
machine without setcap wrapper is expected to return a non-zero exit
code.
2018-04-07 15:06:51 +02:00
Jan Malakhovski
98fd9b7f86 nixos: doc: introduce documentation config subtree 2018-03-30 06:52:26 +00:00
Peter Hoeg
c33d8f3d6d nixos sedutil: module for setting up kernel parameters 2018-03-19 12:12:56 +08:00
Tuomas Tynkkynen
ef64208eba Merge commit '3ab2949' from staging into master
Conflicts:
	pkgs/development/compilers/llvm/6/llvm.nix
	pkgs/servers/home-assistant/component-packages.nix
2018-03-15 22:30:56 +02:00
Justin Bedo
5c1e42276d
singularity: 2.4 -> 2.4.2 2018-03-12 15:13:31 +11:00
Jan Malakhovski
7079e744d4 Merge branch 'master' into staging
Resolved the following conflicts (by carefully applying patches from the both
branches since the fork point):

   pkgs/development/libraries/epoxy/default.nix
   pkgs/development/libraries/gtk+/3.x.nix
   pkgs/development/python-modules/asgiref/default.nix
   pkgs/development/python-modules/daphne/default.nix
   pkgs/os-specific/linux/systemd/default.nix
2018-03-10 20:38:13 +00:00
Daiderd Jordan
db6fb869fb
Merge pull request #30418 from LnL7/inline-set-environment
nixos: inline set-environment for bash and zsh
2018-03-08 21:07:15 +01:00
Shea Levy
fec543436d
nixos: Move uses of stdenv.shell to runtimeShell. 2018-03-01 14:38:53 -05:00
Tor Hedin Brønner
c58072309c programs/bash: install nix-bash-completions if completion is enabled 2018-02-28 19:13:02 +01:00
David Asabina
e41ca3b347 digitalbitbox: init at 2.2.2 (#33787)
* digitalbitbox: init at 2.2.2

The commits that lead to this have been squashed from independent
commits see branch @vidbina/add/digitalbitbox-wip that did the
following:
 - 0a3030fa0ec digitalbitbox: init at 2.2.2
 - c18ffa3ffd4 digitalbitbox: moved meta to EOF
 - 0c5f3d6972a digitalbitbox: using preConfigure + configureFlags
 - a85b1dfc3fd digitalbitbox: nativeBuildInputs
 - 90bdd35ef0f digitalbitbox: autoreconfHook
 - 91810eea055 digitalbitbox: default installPhase & makeWrapper
 - 90e43fb7e2a digitalbitbox: doc rm $PWD hack & printf-tee deal
 - fd033b2fe5a digitalbitbox: cleanup, alphabetically sort attrs
 - c5907982db3 digitalbitbox: added hardware module
 - 88e46bc9ae0 digitalbitbox: added program module
 - amend to change name: dbb-app -> digitalbitbox
 - amend to add install instructions based on feedback
 (https://github.com/NixOS/nixpkgs/pull/33787#issuecomment-362813149)
 - amend to add longDescription
 - moved program to its own dir
 - overridable udev rules handling
 - added docs to manual
 - added package attr to program module
 - added package attr to hardware module

* digitalbitbox: use libsForQt5.callPackage
2018-02-27 22:40:22 +00:00
Peter Hoeg
095260a1c9 nixos udevil: set up wrapper for udevil 2018-02-26 14:30:22 +08:00
Jan Tojnar
a31d98f312
tree-wide: autorename gnome packages to use dashes 2018-02-25 17:41:16 +01:00
volth
270f99f7bf
nixos/programs.chromium: write policies for google-chrome too
Policy configuration files live under /etc/chromium for Chromium, and under /etc/opt/chrome for Google Chrome.
2018-02-23 19:00:26 +00:00
Franz Pletz
4e4ae18c19
browserpass module: add firefox support 2018-02-23 00:25:40 +01:00
volth
073d3f0869
nixos/programs.chromium: remove unicode char '↪' 2018-02-22 17:55:33 +00:00
Herwig Hochleitner
28875192ae programs.systemtap: add nixos option for installing systemtap
also enables debug feature on kernel
2018-02-15 09:10:32 +01:00
Herwig Hochleitner
66080ae4d8 programs.criu: add nixos option for installing criu + kernel flags 2018-02-15 09:10:32 +01:00
Sam Parkinson
16fa6f59f7
nixos/plotinus: add module to enable plotinus 2018-02-14 22:25:12 +01:00
Alexey Lebedeff
6d442efe99 zsh-autoenv: init at 2017-12-16 (#34932) 2018-02-14 06:31:59 +00:00
Graham Christensen
5aabf0fc34
Merge pull request #33898 from oxij/nixos/related-packages-v5
nixos: doc: implement related packages in the manual (again)
2018-02-09 20:36:27 -05:00
Jan Malakhovski
e5268344fe nixos/adb: add related package
This is an attribute path example of `relatedPackages` option usage.
2018-02-09 19:51:06 +00:00
Jan Malakhovski
eb38b8676a nixos/tmux: add related package
This is a trivial example of `relatedPackages` option usage.
2018-02-09 19:51:06 +00:00
Franz Pletz
3748f3aac8
Merge pull request #32582 from Ma27/yabar-module
yabar: add module
2018-02-09 18:43:59 +00:00
Frederik Rietdijk
ba34a70086
Merge pull request #33866 from yesbox/fix_newgrp
nixos: sg/newgrp should always be available, not chfn
2018-02-05 10:47:23 +00:00
Jörg Thalheim
add22af095
Merge pull request #34381 from JohnAZoidberg/less
nixos/less configure less with module
2018-01-30 10:41:39 +00:00
Daniel Schaefer
288898d6f1 nixos/less: use lesspipe package for preprocessing
Rather than a custom script the less config now uses the lesspipe
package config by default.
2018-01-29 22:08:32 +07:00
Daniel Schaefer
192c2330d0 nixos/less configure less with module 2018-01-29 18:40:22 +07:00
Matthieu Coudron
d9ebd0d35b zsh doc: precise environment.shellAliases 2018-01-22 10:40:23 +09:00
Robin Gloster
9bceb2b353
oh-my-zsh module: reword & fix manual build
docbook interpreted this as a tag and this sounded as if the option
defaulted to putting the cached directory into the nix store.

cc @Ma27 @fpletz
2018-01-16 21:02:54 +01:00
Maximilian Bosch
b55d4c0564 programs.zsh.ohMyZsh: add cacheDir option (#33150)
The default cache directory set by oh-my-zsh is $ohMyZsh/cache which
lives in the Nix store in our case. This causes issues with several
completion plugins provided by oh-my-zsh.
2018-01-16 17:29:46 +00:00
Jesper Geertsen Jonsson
8c0558dbb2 sg/newgrp should always be available, not chfn
sg and newgrp only changes the current user session and should be
available to users even if the "users.mutableUsers" option is set.
These are common, useful commands.

chfn does modify the /etc/passwd GECOS field which is also controlled
by the option "users.users.<name?>.description", so it's less
appropriate to make it available when "users.mutableUsers" is set.

However, because CHFN_RESTRICT in login.defs is never set in current
NixOS the chfn functionality is never available to users anyway and
may as well have its SUID disabled, as only root is able to use it.
This is recommended in the chfn man page in this case.
2018-01-14 20:54:40 +01:00
Maximilian Bosch
dbc414a8a5
yabar: add module
To make the configuration of `yabar` more pleasant and easier to
validate, a NixOS module will be quite helpful.

An example config could look like this:

```
{
  programs.yabar = {
    enable = true;
    bars.top.indicators.exec = "YA_DATE";
  };
}
```

The module adds a user-controlled systemd service which runs `yabar` after
starting up X.
2018-01-04 09:58:21 +01:00