3
0
Fork 0
forked from mirrors/nixpkgs
Commit graph

416 commits

Author SHA1 Message Date
Graham Christensen 8413f22bb3
docs: format 2018-09-29 20:51:11 -04:00
Maximilian Bosch 1e211a70cb nixos/zsh: use `escapeShelLArg' for shell aliases (#47471)
Previously single quotes were used by default for aliases and the module
never warned about possible collisions when having a shell alias which
relies on single quotes.

Adding `escapeShellArg` works around this fixes the issue and ensures that a
properly quoted value is written to `/etc/zshrc`.
2018-09-28 23:42:55 +02:00
Maximilian Bosch 8b58a7187c nixos/yabar: fix module & test (#46954)
The `pkgs.yabar` package is relatively old (2016-04) and contains
several issues fixed on master. `yabar-unstable` containsa recent master
build with several fixes and a lot of new features (I use
`yabar-unstable` for some time now and had no issues with it).

In the upstream bugtracker some bugs could be fixed on ArchLinux by
simply installing `yabar-git` (an AUR package which builds a recent
master).

To stabilize the module, the option `programs.yabar.package` now
defaults to `pkgs.yabar-unstable` and yields a warning with several
linked issues that are known on `pkgs.yabar`.

The test has been refactored as well to ensure that `yabar` actually
starts (and avoid non-deterministic random success) and takes a
screenshot of a very minimalistic configuration on IceWM.

Fixes #46899
2018-09-20 12:47:46 +02:00
xeji 5fc8ebdda0
Merge pull request #45784 from oxij/pull/44720-shell-env-edited
nixos/shells: Avoid overriding the environment for other child shells
2018-09-06 20:30:34 +02:00
Jan Tojnar bf8386a411
Merge pull request #46058 from symphorien/dconf-dbus
dconf module: add dconf to services.dbus.packages
2018-09-05 14:51:06 +01:00
Symphorien Gibol 88ae8f7d55 dconf module: add dconf to services.dbus.packages
Some programs like eog seem to need dconf accessible on dbus.
Without this change I get

(eog:1738): dconf-WARNING **: 21:20:52.770: failed to commit changes to
dconf: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name
ca.desrt.dconf was not provided by any .service files
2018-09-04 21:19:31 +02:00
Graham Christensen 34d2ec7c09
nixos docs: give IDs to things 2018-09-01 16:20:49 -04:00
Jan Tojnar 8a8056c302
Merge pull request #45058 from michaelpj/imp/freedesktop-modules
freedesktop modules: init
2018-08-30 16:14:35 +01:00
Jan Malakhovski 8952375b48 nixos/shells: fix indent everywhere
to comply with `doc/coding-conventions.xml`
2018-08-30 13:20:39 +00:00
Tor Hedin Brønner d273db48c6 nixos/shells: avoid overriding the environment for child shells
A shared exported guard `__NIXOS_SET_ENVIRONMENT_DONE` is introduced that can
be used to prevent child shells from sourcing `system.build.setEnvironment`
the second time.

This fixes e.g. `nix run derivation` when run from e.g. ZSH through the console or
ssh. Before this Bash would resource the common environment resetting the `PATH`
environment variable.

We also export `system.build.setEnvironment` to `/etc/set-environment` making it
easy to reset the common environment with `. /etc/set-environment` when
needed and to grep for environment variables in `/etc` (which was the
motivation of #30418).

This reverts changes made in b00a3fc6fd
(the original #30418).
2018-08-30 13:20:39 +00:00
Jörg Thalheim 4e365aa453 nixos/zsh: make enableGlobalCompInit description less ambiguous 2018-08-27 10:43:31 +01:00
Tobias Happ 17876c2cf1 nixos/zsh: Adds enableGlobalCompInit option 2018-08-19 12:57:06 +02:00
Michael Peyton Jones 13e2e19158
xdg: add modules for supporting various XDG specs 2018-08-16 21:23:34 +01:00
Maximilian Bosch bd40c92c2c
nixos/oh-my-zsh: add documentation
In the last year `programs.oh-my-zsh` gained more complexity and since
the introduction of features like `customPkgs` which builds a
`ZSH_CUSTOM` path from a sequence of derivation a documentation may be
fairly helpful to make the knowledge how to use the module and how to
package new ZSH plugins visible.

See https://github.com/NixOS/nixpkgs/pull/43282#issuecomment-410770432
2018-08-07 15:47:02 +02:00
Maximilian Bosch 39b85451de
nixos/oh-my-zsh: add customPkgs option to allow multiple derivations for ZSH_CUSTOM
If multiple third-party modules shall be used for `oh-my-zsh` it has to
be possible to create another env which composes all the packages.

Now it can be done like this:

```
{ pkgs, ... }:
{
  programs.zsh.enable = true;
  programs.zsh.ohMyZsh = {
    enable = true;
    customPkgs = with pkgs; [
      lambda-mod-zsh-theme
      nix-zsh-completions
    ];
    theme = "lambda-mod";
    plugins = [ "nix" ];
  };
}
```

Please keep in mind that this is not compatible with
`programs.zsh.ohMyZsh.custom`, only one of these options can be used
ATM.

Each package should store its outputs into
`$out/share/zsh/<output-name>`. Completions (and ZSH-only) extensions
should live in the `fpath` (`$out/share/zsh/site-functions`), plugins in
`.../plugins` and themes in `.../themes` (please refer to
fdb6bf6ed68c2f089ae6c729dfeaa3eddea2ce6a and 406d64aad162b3a4881747be4e24705fb5182573).

All scripts in `customPkgs` will be linked together using `linkFarm` to
provide a single directory for all scripts from all derivations in
`customPkgs` as suggested in https://github.com/NixOS/nixpkgs/pull/43282#issuecomment-410396365.
2018-08-05 23:01:18 +02:00
Tuomas Tynkkynen 96190535e5 Revert "nixos: rename system.{stateVersion,defaultChannel} -> system.nixos.\1"
This reverts commit 095fe5b43d.

Pointless renames considered harmful. All they do is force people to
spend extra work updating their configs for no benefit, and hindering
the ability to switch between unstable and stable versions of NixOS.

Like, what was the value of having the "nixos." there? I mean, by
definition anything in a NixOS module has something to do with NixOS...
2018-07-28 00:12:55 +03:00
Jörg Thalheim e9ff0f9448
Merge pull request #43863 from volth/unused4
[bot] nixos/*: remove unused arguments in lambdas
2018-07-21 16:39:08 +01:00
Daiderd Jordan 9d72403814
ssh: fix 3572f89bbe 2018-07-21 13:06:16 +02:00
Daiderd Jordan 3572f89bbe
ssh: don't add empty PubkeyAcceptedKeyTypes/HostKeyAlgorithms
The options introduced in e2444a433f would generate a broken
ssh config when set to an empty list.

/etc/ssh/ssh_config line 7: Missing argument.
2018-07-21 12:29:16 +02:00
Daiderd Jordan e2444a433f
Merge pull request #40686 from Izorkin/ssh
ssh: custom config key types
2018-07-21 11:57:41 +02:00
Izorkin 05bc5fed28 ssh: custom config key types 2018-07-21 12:27:16 +03:00
volth 2e979e8ceb [bot] nixos/*: remove unused arguments in lambdas 2018-07-20 20:56:59 +00:00
volth 6d2857a311 [bot] treewide: remove unused 'inherit' in let blocks 2018-07-20 19:38:19 +00:00
volth 87f5930c3f [bot]: remove unreferenced code 2018-07-20 18:48:37 +00:00
Peter Hoeg 65eb3a590d firejail: add nixos module
Also add support for wrapping binaries with firejail.
2018-07-14 20:21:41 +08:00
volth 06ed05d3b9
nixos/digitalbitbox: fix evaluation 2018-07-09 04:37:52 +00:00
Florian Klink fff5923686 nixos/modules: users.(extraUsers|extraGroup->users|group) 2018-06-30 03:02:58 +02:00
Maximilian Bosch db493ad552 nixos/npm: add npm to the system closure by default (#42420) 2018-06-25 00:11:55 +02:00
Maximilian Bosch 3fde98e587
nixos/screen: add pkgs.screen to the system closure 2018-06-23 11:17:10 +02:00
Maximilian Bosch 6c66e15bbf
nixos/thefuck: move init scripts to programs.*.interactiveShellInit
`fuck` should only be used for interactive sessions, but nothing more
(so init files like `/etc/zshenv` become even more lightweight).
2018-06-22 01:32:11 +02:00
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