Commit graph

75 commits

Author SHA1 Message Date
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
Eelco Dolstra 7104acfa8b * Set the checkwinsize option in interactive shells. Otherwise
bash may miss resize events (I guess SIGWINCH is only sent to
  the foreground process).

svn path=/nixos/trunk/; revision=25815
2011-02-08 14:58:41 +00:00
Lluís Batlle i Rossell bef46f1553 Moving which to type -P, so 'which ls', 'which time', ... work.
svn path=/nixos/trunk/; revision=24862
2010-11-26 09:57:38 +00:00
Lluís Batlle i Rossell edb5870deb Fixing the xterm PS1 for changing the window title, so it is properly bracketed for bash not to count the control sequences as printable characters.
svn path=/nixos/trunk/; revision=24545
2010-10-30 20:40:33 +00:00
Evgeny Egorochkin 421a80ae8f Make flash work in QtWebkit
svn path=/nixos/trunk/; revision=24474
2010-10-25 16:44:21 +00:00