Commit Graph

79 Commits

Author SHA1 Message Date
Peter Simons
e627d309fd bash-completion: support the "$out/share/bash-completion" location used by modern packages 2013-04-11 00:48:58 +02:00
Eelco Dolstra
1568b6858d Use programs.sqlite from the NixOS channel 2013-03-25 14:14:55 +01:00
Peter Simons
c5ba924143 Revert "Add /run/nss to LD_LIBRARY_PATH".
Commit c948494342581e7c31880c1d3f2a3f9e618bc963 exports too many shared
objects into the LD_LIBRARY_PATH, which causes problems with mplayer.
2013-03-21 11:25:25 +01:00
Rickard Nilsson
c948494342 Add /run/nss to LD_LIBRARY_PATH
This fixes issues with glibc-binaries (getent for example) that can't
find NSS modules that are not distributed with glibc.

See this discussion:
http://comments.gmane.org/gmane.linux.distributions.nixos/9940
2013-03-07 16:54:42 +01:00
Eelco Dolstra
b89f941b20 Provide missing command suggestions, Ubuntu style
If the user tries to run a program that doesn't exist from Bash, the
program name is looked up in a database that maps to Nix package
names.  If it is found, we print out a message like:

  $ pdflatex
  The program ‘pdflatex’ is currently not installed. It is provided by
  several packages. You can install it by typing one of the following:
    nix-env -i tetex
    nix-env -i texlive-core

If the environment variable $NIX_AUTO_INSTALL is set, the command is
installed and executed automatically:

  $ hello --version
  The program ‘hello’ is currently not installed. It is provided by
  the package ‘hello’, which I will now install for you.
  installing `hello-2.8'
  hello (GNU hello) 2.8
  Copyright (C) 2011 Free Software Foundation, Inc. ...

To use this, you must currently manually put the SQLite programs
database in /var/lib/nixos/programs.sqlite.  In the future, this file
should be provided as part of the NixOS channel so it gets updated
automatically.  To get a test version:

  $ curl http://nixos.org/~eelco/programs.sqlite.xz | xz -d > /var/lib/nixos/programs.sqlite
2013-01-30 15:00:59 +01:00
Eelco Dolstra
2f97304833 Add an option ‘environment.interactiveShellInit’
This is like ‘environment.shellInit’, but only for interactive shells.
2013-01-30 14:05:53 +01:00
Eelco Dolstra
b1da38f564 Merge remote-tracking branch 'origin/master' into systemd 2012-11-30 16:12:04 +01:00
Rickard Nilsson
a22c362155 Add option for specifying shell aliases, environment.shellAliases. 2012-11-20 16:33:29 +01:00
Eelco Dolstra
08e6c0cb7c Update channel URLs 2012-11-12 09:19:25 +01:00
Peter Simons
622a652411 Add option "environment.binsh" to configure the shell executable used to create the global /bin/sh symlink. 2012-11-11 21:46:25 +01:00
Peter Simons
04ba5de70a modules/programs/bash/bash.nix: cosmetic indention fix 2012-11-11 21:29:33 +01:00
Rob Vermaas
88a9d7a9ca Added environment.promptInit to allow PS1 overriding. Would be nicer to be able to allow overriding via shellInit, however could not get that to work. For now this is a temporary solution which will not break anything. 2012-10-30 13:33:37 +01:00
Peter Simons
56f90da276 modules/programs/bash: '/run/current-system/sw' is already a part of $NIX_PROFILES 2012-10-16 19:08:10 +02:00
Peter Simons
6a9b855412 modules/programs/bash: '/run/current-system/sw' is already a part of $NIX_PROFILES 2012-10-16 19:07:19 +02:00
Peter Simons
04a8642b4b modules/programs/bash: clean-up variables used in initialization of bash-completion 2012-10-16 18:41:45 +02:00
Peter Simons
efc104c4c8 modules/programs/bash: improve bash completion support
The new configuration.nix option 'environment.enableBashCompletion'
determines whether bash completion is automatically enabled system-wide
for all interactive shells or not. The default setting is 'off'.
2012-10-16 18:41:45 +02:00
Peter Simons
c7fb0defe6 modules/programs/bash: clean-up variables used in initialization of bash-completion 2012-10-16 18:41:20 +02:00
Peter Simons
4ca0617f4a modules/programs/bash: improve bash completion support
The new configuration.nix option 'environment.enableBashCompletion'
determines whether bash completion is automatically enabled system-wide
for all interactive shells or not. The default setting is 'off'.
2012-10-16 18:23:28 +02:00
Eelco Dolstra
2cf9bb929b Add a ‘restart’ alias 2012-10-11 16:18:34 -04:00
Eelco Dolstra
08f14b33c1 Merge branch 'master' of github.com:NixOS/nixos into systemd 2012-08-20 11:27:38 -04:00
Peter Simons
16713db4e2 modules/programs/bash/bashrc.sh: adapt bash completion for version 2.0 of the package 2012-08-20 16:37:14 +02:00
Eelco Dolstra
9dce4bd9c5 Provide start/stop/status aliases as a convenience for Upstart users 2012-08-14 17:22:04 -04:00
Eelco Dolstra
73532c3855 Global replace /var/run/current-system -> /run/current-system 2012-07-16 11:34:21 -04:00
Eelco Dolstra
f1a99bd914 * Subscribe the root user to the NixOS channel by default.
svn path=/nixos/trunk/; revision=33883
2012-04-22 22:43:57 +00:00
Eelco Dolstra
6abf3c8a97 * Change $NIXPKGS_CONFIG to a better location (/etc/nix instead of
/nix/etc).  Not sure the default profile should be setting this at
  all though.

svn path=/nixos/trunk/; revision=33824
2012-04-18 10:59:57 +00:00
Eelco Dolstra
7ba5881146 * Don't install the "nixpkgs_sys" symlink in ~/.nix-defexpr anymore.
Note that for attribute-based nix-env installations, the NixOS
  channel contains Nixpkgs as its "pkgs" attribute, so

    $ nix-env -iA nixos.pkgs.foo

  will work instead of the old

    $ nix-env -iA nixpkgs_sys.foo
    
* Fix the path to root's channels installed in ~/.nix-defexpr.

svn path=/nixos/trunk/; revision=33823
2012-04-18 10:58:33 +00:00
Eelco Dolstra
a193fe4f1d * Add root's NixOS channel to $NIX_PATH. Will remove
/etc/nixos/{nixos,nixpkgs,services} eventually.

svn path=/nixos/trunk/; revision=33822
2012-04-18 10:34:39 +00:00
Eelco Dolstra
6f03065dce * Move the setting of $MODULE_DIR to modprobe.nix.
* Add a slash to the end of $MODULE_DIR, as expected by depmod.  (Not
  that running depmod from the command line is all that useful, since
  you can't use it to update the tree in the Nix store.  But at least
  commands like "depmod -n" work now.)  Reported by Kirill Elagin on
  IRC.

svn path=/nixos/trunk/; revision=33312
2012-03-20 22:02:27 +00:00
Eelco Dolstra
dde8453a09 * Initialise $LOCALE_ARCHIVE earlier in /etc/profile to prevent the
warning

    -bash: warning: setlocale: LC_TIME: cannot change locale (en_GB.UTF8): No such file or directory

  when $LC_TIME is set in environment.shellInit.

svn path=/nixos/trunk/; revision=33248
2012-03-19 02:53:58 +00:00
Eelco Dolstra
bcbe2dce4c * Don't source /etc/profile in interactive non-login shells, unless it
wasn't sourced in a parent shell (as determined by the environment
  variable __ETC_PROFILE_DONE).  This prevents overriden values of
  environment variables such as $PATH from being clobbered in
  subshells.
* Move all aliases to /etc/bashrc (since those are for interactive
  use).

svn path=/nixos/trunk/; revision=33246
2012-03-19 02:35:17 +00:00
Eelco Dolstra
e97817b577 * Atomically replace the /bin/sh symlink; otherwise there is a time
window in which /bin/sh is missing.  This can cause concurrently
  running programs to fail (e.g. Hydra jobs =>
  http://hydra.nixos.org/build/2267831).  You'd think the odds of this
  are very low, but they're not.

svn path=/nixos/trunk/; revision=32901
2012-03-08 16:08:03 +00:00
Eelco Dolstra
29d84af677 * Remove the use of the NIXPKGS and NIXOS environment variables.
Instead use $NIX_PATH.  NIXOS_CONFIG is still supported.

svn path=/nixos/trunk/; revision=32739
2012-03-02 12:38:22 +00:00
Florian Friesdorf
66f82c043e Revert "Revert "add ~/bin to PATH if it exists""
sorry m(

svn path=/nixos/trunk/; revision=31246
2012-01-03 17:29:20 +00:00
Florian Friesdorf
68e9f2e09b Revert "add ~/bin to PATH if it exists"
This reverts commit 73bda7c4575b5664d54340db95fec2fa759b6f28.

svn path=/nixos/trunk/; revision=31243
2012-01-03 17:11:21 +00:00
Florian Friesdorf
7b7976ac01 export NIX_PROFILES and NIX_USER_PROFILE_DIR
svn path=/nixos/trunk/; revision=31242
2012-01-03 17:11:19 +00:00
Florian Friesdorf
b4765401af add ~/bin to PATH if it exists
svn path=/nixos/trunk/; revision=31235
2012-01-03 14:36:05 +00:00
Peter Simons
8eca4db54a /etc/profile: do not add ~/bin to $PATH in system-wide init file
Users who want a user-specific bin directory to override system paths should
configure that in their user-specific ~/.bashrc, not in the system-wide init
file. The global file shouldn't add directories from user homes to $PATH
without knowing whether those actually exist or whether the users even want
them in $PATH. On my system, for example, there is no ~/bin, so I don't want my
$PATH to look for one. Removing an erroneous entry from $PATH is cumbersome,
but adding one is easy, so it feels better to err on the side of caution.

svn path=/nixos/trunk/; revision=31188
2011-12-31 12:56:45 +00:00
Florian Friesdorf
ea121d0ff9 Revert "EMACSLOADPATH in /etc/profile"
svn path=/nixos/trunk/; revision=31187
2011-12-31 06:24:12 +00:00
Florian Friesdorf
a38ca160ec EMACSLOADPATH in /etc/profile
svn path=/nixos/trunk/; revision=31175
2011-12-31 04:14:36 +00:00
Florian Friesdorf
b0fefb876f unset MOZ_PLUGIN_PATH and TERMINFO_DIRS before setting them
svn path=/nixos/trunk/; revision=31174
2011-12-31 04:14:31 +00:00
Florian Friesdorf
221c637356 fix MOZ_PLUGIN_PATH
svn path=/nixos/trunk/; revision=31168
2011-12-31 02:57:45 +00:00
Florian Friesdorf
97ce0b1386 MOZ_PLUGIN_PATH based on NIX_PROFILES
svn path=/nixos/trunk/; revision=31167
2011-12-31 02:05:51 +00:00
Florian Friesdorf
b2eb54ae5a set TERMINFO_DIRS according to NIX_PROFILES
this finally makes rxvt-unicode work without manually linking it's terminfo

svn path=/nixos/trunk/; revision=31145
2011-12-29 19:38:03 +00:00
Florian Friesdorf
eb755d4692 switched all mergeOptionString to pkgs.lib.types.string
pierron recommended the use of types.string over mergeOptionString, as
it is superior but might break things.

For my system the change evaluated to the exactly same.

svn path=/nixos/trunk/; revision=31138
2011-12-29 00:51:35 +00:00
Peter Simons
432d71f3ed modules/programs/bash: major clean-up and re-factoring of /etc/profile and /etc/bashrc
* Moved bash-specific code from /etc/profile to /etc/bashrc.

 * Moved general Bourne shell code from /etc/bashrc to /etc/profile.

 * Added "include guards" to both files to ensure that they aren't sourced
   multiple times (which would result in lots of redundancy in $PATH, etc.).

 * Both files include each other to make sure that the correct system
   environment is always defined.

 * When the current user has installed the 'bash-completion' package in her
   $HOME/.nix-profile, programmable completion is automatically enabled in
   interactive shells.

 * The /etc/skel/.bashrc we installed has been dropped because it is redundant.

svn path=/nixos/trunk/; revision=29451
2011-09-23 14:21:36 +00:00
Peter Simons
eb6e1310b8 strip trailing whitespace; no functional change
svn path=/nixos/trunk/; revision=29285
2011-09-14 18:20:50 +00:00
Yury G. Kudryashov
9a096c9ee7 Partially revert r2903
The nepomuk&virtuoso problem is solved without polutting $QT_PLUGIN_PATH and/or
$LD_LIBRARY_PATH by patching soprano.

svn path=/nixos/trunk/; revision=29107
2011-09-07 23:11:04 +00:00
Eelco Dolstra
94014f4adc * Get the Virtuoso backend in Soprano/Nepomuk to work. Soprano tries
to find virtodbc_r.so in QT_PLUGIN_PATH (among other locations), so
  make sure that Virtuoso can be found there.

svn path=/nixos/trunk/; revision=29033
2011-09-05 17:55:53 +00:00
Eelco Dolstra
2af368279c * Set NIX_PATH to something reasonable.
svn path=/nixos/trunk/; revision=28202
2011-08-06 18:55:00 +00:00
Eelco Dolstra
d9cf1c2da0 * Install ~/.bashrc as a regular file rather than as a symlink.
svn path=/nixos/trunk/; revision=26690
2011-04-05 11:24:36 +00:00