1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-12-26 19:59:47 +01:00
Commit graph

471 commits

Author SHA1 Message Date
Robert Helgesson
4b32f16747
Use submodules for program email accounts
This reworks the way program specific email account options are
specified. In particular, we no longer use the deprecated `options`
field of `mkOption`. Instead submodules are used.
2018-08-16 21:37:42 +02:00
Malte Brandy
c18b1328a5
Parametrize path to profile directory 2018-07-31 16:04:19 +02:00
Robert Helgesson
93ef6aefce
direnv: add module 2018-07-31 15:48:08 +02:00
Robert Helgesson
eecebbf186
notmuch: add module
Co-authored-by: Matthieu Coudron <mattator@gmail.com>
2018-07-01 18:44:53 +02:00
Robert Helgesson
8dc1737e39
mbsync: add module
Co-authored-by: Matthieu Coudron <mattator@gmail.com>
2018-07-01 18:44:53 +02:00
Denny Schaefer
6aa44d62ad
autorandr: add rotate option 2018-06-26 21:17:54 +02:00
Robert Helgesson
2e9fbbc978
termite: use docbook man page reference 2018-06-13 23:56:47 +02:00
gmarmstrong
7190f46938
bash: fix shellAliases description
The aliases aren't added to all users' shells.
2018-06-11 22:32:53 +02:00
Robert Helgesson
e27cd96494
newsboat: remove unnecessary period 2018-06-09 11:40:49 +02:00
Mats Rauhala
4caa45b8bb
newsboat: add module 2018-06-09 11:36:45 +02:00
Robert Helgesson
f3473b9eba
zsh: add missing periods in descriptions 2018-06-09 10:29:02 +02:00
Mats Rauhala
06a984e4ff
zsh: add extended, expireDuplicatesFirst history options 2018-06-09 10:26:41 +02:00
Robert Helgesson
10865f9952
bash: escape alias values
This should allow use of the apostrophe character within aliases
without having to escape them manually.

Fixes #273
2018-05-26 10:52:40 +02:00
Tad Fisher
6dc4f31ba1
git: add 'includes' option 2018-04-19 17:45:09 +02:00
Silvan Mosberger
d294aa4356 zsh: only source plugin file if it exists
This allows adding plugins to fpath without sourcing anything
2018-04-19 16:43:03 +02:00
Nikita Uvarov
f314ee3d6a
autorandr: add module 2018-04-19 10:41:52 +02:00
Robert Helgesson
4205c91609
ssh: move options to end of configuration file
This is needed to support overriding these options inside match
blocks. A new option `programs.ssh.extraOptionOverrides` has been
added to allow global overrides.
2018-03-25 08:51:20 +02:00
Gleb Peregud
f8398339a3
fzf: add enableZshIntegration option
When enabled this will extend user's `$HOME/.zshrc` with sourcing of fzf's
completion and key-bindings integration libraries.
2018-03-14 17:37:39 +01:00
Robert Helgesson
fa7d63d9d1
fzf: add module 2018-03-07 22:44:29 +01:00
Robert Helgesson
46a94cce56
texlive: add option programs.texlive.package
This read-only option will hold a reference to the customized texlive
package.
2018-03-05 19:05:30 +01:00
Robert Helgesson
4745c7a00d
pidgin: add module 2018-02-19 22:57:50 +01:00
Matthieu Coudron
be60600a47 neovim: add 'configure' flag
so that we have the same options as in nixpkgs.
2018-02-19 07:41:24 +09:00
Andrew Scott
f2265b10e4
rofi: add theme option
The preferred method of theming rofi is now to use "rasi" theme files.
This commit therefore downplays the colors option and introduces the
theme option.
2018-02-10 20:11:33 +01:00
Nikita Uvarov
afa865587e
zsh: move env variables setting before oh-my-zsh
Fixes #207.
2018-02-10 19:23:10 +01:00
Robert Helgesson
9ea353569a
Remove deprecated option home.sessionVariableSetter 2018-02-08 22:54:29 +01:00
Robert Helgesson
1bc59f7290
allow Home Manager to be used as a NixOS module
This is a NixOS module that is intended to be imported into a NixOS
system configuration. It allows the system users to be set up directly
from the system configuration.

The actual profile switch is performed by a oneshot systemd unit per
configured user that acts much like the regular `home-manager switch`
command.

With this implementation, the NixOS module does not work properly with
the `nixos-rebuild build-vm` command. This can be solved by using the
`users.users.<name?>.packages` option to install packages but this
does not work flawlessly with certain Nixpkgs packages. In particular,
for programs using the Qt libraries.
2018-02-07 20:50:01 +01:00
Mogria
6833f96c14
rofi: add options to for location, xoffset & yoffset 2018-02-03 22:07:53 +01:00
Nikita Uvarov
2304c145f3
zsh: add system packages' completion path to fpath 2018-02-03 21:57:44 +01:00
Nikita Uvarov
fa6f697dbb
zsh: move session variables export to zshrc
Unlike .zshenv, .zshrc file is sourced only by interactive shells.
2018-02-03 21:16:00 +01:00
Alistair Potts
616dbd67f7
mercurial: add module
Very simple module for hg based on programs.git, and is intended to have
compatible options. For simple setups, a user should be able to write
something like:

    {...}:
    let vcsconfig = {
            enable = true;
            userName = "John Smith";
            userEmail = "js@example.com";
            ignores = [ "*.swp" "*~" ];
        };
    in
    {
        programs.git       = vcsconfig // {...extra git config...};
        programs.mercurial = vcsconfig // {...extra hg confg...};
    }

For this reason, the ignore options are `ignores` for `syntax: glob`
and `ignoresRegexp` for `syntax: regexp` so that simple glob ignores
can (very likely) be shared with a git config, despite regular
expressions being the default for mercurial.
2018-02-02 20:52:54 +01:00
Robert Helgesson
32b3f7f2d2
ssh: allow disabling compression in host block
Fixes #181.
2018-01-14 22:08:31 +01:00
John Wiegley
b8b595c6b2
ssh: add a few more options 2018-01-13 12:47:30 +01:00
Nikita Uvarov
a93445f3fe
zsh: add history.save option 2018-01-13 11:38:39 +01:00
Nikita Uvarov
dbcb3dd1ae
zsh: fix HISTSIZE and HISTFILE configuration
HISTSIZE and HISTFILE should be set in ~/.zshrc and before
sourcing oh-my-zsh since otherwise it will be overridden.
Fixes #177.
2018-01-13 11:38:39 +01:00
Nadrieril
d6ab6ee370
ssh: add extraConfig option for non-standard options 2018-01-10 22:24:03 +01:00
John Wiegley
c9294e30d9
bash: add option historyFile 2018-01-09 22:34:20 +01:00
Robert Helgesson
d7715f71ad
eclipse: add option enableLombok 2018-01-09 22:03:13 +01:00
Robert Helgesson
7631921366
zsh: source session variables script
This replaces the explicit set within the Z shell `zshenv` file.
2018-01-07 17:52:13 +01:00
Robert Helgesson
803abb58f9
bash: source session variables script
This replaces the explicit set within the Bash profile file.
2018-01-07 17:52:13 +01:00
Robert Helgesson
2fc1b9b5e0
zsh: use shell library 2018-01-07 17:52:12 +01:00
Robert Helgesson
026375da49
bash: use shell library 2018-01-07 17:51:51 +01:00
Robert Helgesson
8ab6298f30
bash: do not export HIST* variables
These are interpreted by the shell itself and it does not make sense
to export them to sub-processes.
2018-01-07 16:54:29 +01:00
Robert Helgesson
78c308c835
bash: add option bashrcExtra
This variable adds some extra flexibility in constructing the
`~/.bashrc` file. Currently the option is hidden from public
documentation since the option name is provisional.
2018-01-07 15:15:32 +01:00
Robert Helgesson
8a2bf21cee
bash: reword option descriptions 2018-01-07 15:04:57 +01:00
Robert Helgesson
f0d207f380
Add dag library to config.lib
Also replace all imports of `dag.nix` by the entry in `config.lib`.
2017-12-26 17:27:21 +01:00
Robert Helgesson
592fd61788
module/home-manager: remove modulesPath option
This option has been deprecated for a month and is removed according
to the news entry.
2017-11-24 13:51:21 +01:00
Robert Helgesson
a36989a860
gnome-terminal: remove commented code 2017-11-15 17:02:19 +01:00
Robert Helgesson
7ca68c6492
emacs: minor cleanup of extra packages option 2017-11-13 00:03:49 +01:00
Matthieu Coudron
61a869a1f5
neovim: add module
This is a basic module that allows to configure different Neovim
providers than the system ones. Note, it does not generate any
`init.vim`.
2017-11-12 23:57:14 +01:00
Florian Klink
c718951e97
git: add option 'programs.git.ignores'
This allows the global Git ignores to be configured.
2017-11-12 14:22:59 +01:00
Florian Klink
356c0bf751
git: use XDG config directory 2017-11-12 13:16:02 +01:00
Anton Strömkvist
b4f5b5556f
zsh: Add options for remaining config files
`profileExtra`, `loginExtra` and `logoutExtra` for `zprofile`,
`zlogin`, and `zlogout` respectively
2017-11-02 12:53:43 +01:00
Robert Helgesson
bfb5a678d2
modules/home-manager: add warning about modulesPath 2017-11-02 10:32:25 +01:00
Nikita Uvarov
1213578eb7
zsh: turn fpath into a set
Forcing fpath to contain unique values increases startup speed by
eliminating extra work of processing duplicated folders.
In addition, it increases startup time when zsh is enabled in both
system and home configuration due to having the same fpath value
between different compinit calls.
Fixes https://github.com/rycee/home-manager/issues/108.
2017-10-30 13:53:40 +01:00
Ruben Maher
268d027770
modules/home-manager: fix syntax error
Fixes the error

    error: syntax error, unexpected $undefined, expecting IND_STR or
    DOLLAR_CURLY or IND_STRING_CLOSE, at
    .../home-manager/modules/programs/home-manager.nix:70:47
2017-10-30 10:47:16 +01:00
Robert Helgesson
d70715a635
use xdg.configFile for files in XDG config home 2017-10-29 01:59:34 +02:00
Robert Helgesson
bf3a8c6383
home-manager: point <home-manager> to project root
Before this path would point to the modules path. Using the project
root instead makes it possible to set `<home-manager>` to point to a
downloadable archive of Home Manager. This should make it
significantly easier to install and keep Home Manager up to date.

To match this change we also deprecate the Home Manager option

    programs.home-manager.modulesPath

and instead ask users to use

    programs.home-manager.path
2017-10-24 01:14:22 +02:00
pasqui23
b78b2b6b35
firefox: add enableIcedTea option 2017-10-21 12:09:39 +02:00
Robert Helgesson
30b9d7f00e
Use only tools from Nixpkgs in activation script
Note, we still pull in the user's `PATH` in case the user has defined
their own activation blocks that depend on additional tools.
Eventually this will be deprecated and removed.

See #99.
2017-10-20 19:04:33 +02:00
Robert Helgesson
335cffe9a9
man: install man, not man-db
This may help with installing on Darwin.
2017-10-18 00:33:31 +02:00
Robert Helgesson
0672936134
info: add "info" to extra outputs to install 2017-10-15 16:03:35 +02:00
Robert Helgesson
3632478b8d
man: add module 2017-10-15 16:01:41 +02:00
Nikita Uvarov
ee7f2413ed
zsh: use new option to set internal session vars 2017-10-13 16:34:02 +02:00
Robert Helgesson
12ebf21be5
bash: add sessionVariables option 2017-10-12 15:06:51 +02:00
Nikita Uvarov
691eea9b45
zsh: add sessionVariables option 2017-10-12 14:14:06 +02:00
Nikita Uvarov
420a3f4a01
vim: add more vim settings
New settings: copyindent, hidden, ignorecase, modeline, smartcase.
2017-10-09 14:39:56 +02:00
Nikita Uvarov
52256d7a73
rofi: add fullscreen option 2017-09-30 14:14:07 +02:00
Robert Helgesson
aa974c0dc3
vim: add option programs.vim.settings
This option gathers basic Vim options into a single place. The idea is
to allow many options without making the Home Manager documentation
too verbose.

This also deprecates the options `programs.vim.lineNumbers` and
`programs.vim.tabSize`.

Fixes #69.
2017-09-30 13:30:42 +02:00
Robert Helgesson
bcff7274f4
vim, zsh: use DocBook links in description 2017-09-30 12:10:52 +02:00
Nikita Uvarov
e9deaf2ca5
rofi: add module 2017-09-28 15:39:25 +02:00
Linus Heckemann
34428fc709
Add overlay and instructions for using it 2017-09-27 13:27:40 +02:00
Nikita Uvarov
393274d142
command-not-found: add module 2017-09-27 09:49:32 +02:00
Robert Helgesson
a8e08d14bb
Mark rycee as maintainer for a bunch of modules 2017-09-26 23:40:31 +02:00
Nikita Uvarov
0f096f9ad4
git: change extraConfig from lines to attrs 2017-09-22 23:32:38 +02:00
Silvan Mosberger
db55e596d2
zsh: refine module
- fix part of zsh config being built even though cfg.enable is false
- fix .zshenv sourcing when ZDOTDIR already set

and some other minor adjustments
2017-09-22 23:27:49 +02:00
Robert Helgesson
742d1889c5
lib: make dag.nix take lib as argument 2017-09-21 13:19:29 +02:00
Robert Helgesson
61042c7606
lib: use generators from Nixpkgs 2017-09-21 13:18:33 +02:00
Robert Helgesson
76e0e09aca
emacs: allow custom Emacs package 2017-09-19 23:38:18 +02:00
Silvan Mosberger
e4deffcbe8
vim: add package option
This adds a readonly package option which will be set to the resulting
configured vim package, so it can be refered to by other configuration.
An example would be home.sessionVariables.EDITOR =
config.programs.vim.package + "/bin/vim".
2017-09-18 09:22:01 +02:00
Silvan Mosberger
de5f902487
zsh: add custom dotDir parameter 2017-09-16 21:30:47 +02:00
Nikita Uvarov
c7edde6ca4
zsh: add user nix-profile dir to fpath
Fixes zsh plugins installed to nix user profile via nixpkgs.
2017-09-12 15:39:36 +02:00
Nikita Uvarov
379e2c694b
zsh: move aliases definitions after initExtra
Same motivation as in https://github.com/NixOS/nixpkgs/pull/28378.
zsh.initExtra parameter can be used by external modules which can
redefine user aliases. This change will give user-defined aliases
the highest priority.
2017-09-12 15:21:38 +02:00
Robin Stumm
29d5f5d760
zsh: fix double compinit slowdown with oh-my-zsh
Integrate oh-my-zsh into zsh module
to be able to control invocation order.
2017-09-12 14:52:04 +02:00
Robin Stumm
258bc85b9c
zsh: add plugins submodule
To pass compinit security checks,
plugins are liked into ~/zsh/plugins folder.
This also solves issues with a slow start up,
see https://github.com/rycee/home-manager/pull/56#issuecomment-328057513.
2017-09-12 14:42:38 +02:00
Silvan Mosberger
fc1d4f5362
ssh: allow attrset matchBlock 2017-09-12 08:54:18 +02:00
Nikita Uvarov
f5289c546e
feh: add module 2017-09-04 21:36:06 +02:00
Jean Potier
721f924e15
zsh: remove search for installed completions
1. It slows down the initial start: it takes around 2s at first launch,
and around 0.25s for the following launches;
2. It seems to be redundant since just installing zsh package gives
working completions with correct $fpath set.
2017-09-04 11:45:41 +02:00
Nikita Uvarov
2c5151726c
vim: add module 2017-08-28 21:59:38 +02:00
Nikita Uvarov
85a71a3923
oh-my-zsh: set ZSH_CACHE_DIR 2017-08-26 18:24:52 +02:00
Robert Helgesson
a30751464a
info: use XDG_CACHE_HOME if defined 2017-08-26 12:10:14 +02:00
Nikita Uvarov
1678548353
zsh: set HELPDIR 2017-08-24 13:13:35 +02:00
Nikita Uvarov
7218c45443
zsh: add completions to fpath 2017-08-24 13:13:34 +02:00
Nikita Uvarov
bd914d49f1
zsh: add history submodule 2017-08-24 13:13:34 +02:00
Robert Helgesson
fed112e497
git: simplify submodule slightly 2017-08-24 01:03:01 +02:00
Nikita Uvarov
c3be4c4629
termite: add module 2017-08-23 23:31:47 +02:00
Nikita Uvarov
910cdc0537
zsh: use .zshenv for env vars 2017-08-21 18:00:58 +02:00
Nikita Uvarov
3ef56576d3
oh-my-zsh: add module 2017-08-16 15:44:27 +02:00
Nikita Uvarov
cde8e02bf2
zsh: add module 2017-08-16 13:58:30 +02:00
Silvan Mosberger
1d24e96074
htop: use types.coercedTo 2017-08-02 22:22:54 +02:00
Robert Helgesson
be432c8654
ssh: add control persist option 2017-07-29 17:47:18 +02:00
Silvan Mosberger
3778a69fbe
htop: add module 2017-07-24 11:42:45 +02:00
Robert Helgesson
2e257f40e6
home-manager: remove manually installed home-manager
If the `home-manager` module is enabled then check if the
`home-manager` package is installed using `nix-env -i` and if so then
it is automatically uninstalled before the new package environment,
which includes home-manager, is installed.
2017-07-19 00:12:34 +02:00
Robert Helgesson
7a18a0fb34
home-manager: add module
This module is a module to install and configure the home-manager
tool. By managing the home-manager tool through the Home Manager
module system it will be installed/updated on configuration
activation.
2017-07-11 20:53:42 +02:00
Robin Stumm
e274fc732b browserpass: add module (#16)
* browserpass: add module

* apply some review requests

* browserpass: update to 1.0.5

* browserpass: install from Nixpkgs using `home.file`
2017-06-30 22:45:09 +02:00
Christopher League
ff65781b84
info: add module
This is a module for managing the GNU info directory for the user
profile. See comments at the top of `modules/programs/info.nix` for
further information.
2017-05-26 00:44:55 +02:00
Robert Helgesson
ecf7d91d8b
ssh: use types.str instead of types.string
The `types.string` type is deprecated due to its surprising behavior.
2017-05-13 12:23:59 +02:00
Robert Helgesson
961722c3a8
ssh: add proxy command option 2017-05-13 12:08:09 +02:00
Christopher League
bce262e46e
ssh: add programs.ssh module
This module generates a `.ssh/config` file. This doesn't embed _all_
options for the ssh client, but the most common ones should be there.

Example usage:

```nix
  programs.ssh = {
    enable = true;
    forwardAgent = true;
    controlMaster = "auto";
    matchBlocks = [
      {
        host = "something.blah.edu";
        port = 1024;
        user = "cleague";
        identitiesOnly = true;
      }
      {
        host = "host1 host2 host2.net host2.com";
        port = 7422;
        hostname = "example.com";
        serverAliveInterval = 60;
      }
      {
        host = "lucian";
        forwardX11 = true;
        forwardX11Trusted = true;
        checkHostIP = false;
      };
    };
  };
```

Each entry in `programs.ssh.matchBlocks` must contain a `host` field,
which will be used for the block condition.
2017-05-13 11:41:38 +02:00
Robert Helgesson
e8fb9f50ce
gnome-terminal: use attrsOf rather than loaOf
Since the attribute names carry semantic meaning we should be more
strict about the type.
2017-05-10 00:20:15 +02:00
Robert Helgesson
8fab2a5d9b
Add basic directed acyclic graph data structure
Also make use of this instead of Nixpkgs's strings-with-deps library
in activation script generation.
2017-05-04 00:39:36 +02:00
Robert Helgesson
fea693ba16
Use stricter Bash settings in activation script
For example, with these settings Bash will complain if uninitialized
variables are used. Some code has been improved to run cleanly with
these settings.
2017-03-25 21:57:03 +01:00
Robert Helgesson
5d49ea6d49
git: remove default signing key
It is mandatory for a user to set the signing key so it does not make
sense to set a default.
2017-02-12 10:02:06 +01:00
Robin Stumm
386d2dbd25
git: fix evaluation error on null extraConfig 2017-02-11 23:35:36 +01:00
Robert Helgesson
119c7b2538
gnome-terminal: load configuration at right time
If the dconf service hasn't been installed then the configuration
activation will fail. Thus, make sure the activation script is run after
packages have been installed.
2017-02-05 12:01:49 +01:00
Robert Helgesson
10031e16bf
gnome-terminal: rename activation command 2017-01-21 13:33:07 +01:00
Robert Helgesson
5fbbbd1ea4
pam: add module
Also make it possible to set session variables using PAM rather than
Bash.
2017-01-16 23:54:45 +01:00
Robert Helgesson
b1f84ada60
Support dry run in activation script
If the `DRY_RUN` variable is set then no actual change should be
performed. Only printing what actions would be taken.
2017-01-16 00:16:22 +01:00
Robert Helgesson
071e631648
Improve a few description fields 2017-01-15 23:42:48 +01:00
Robert Helgesson
5cb1ede034
firefox: add module 2017-01-15 23:42:46 +01:00
Robert Helgesson
a617aeaa73
gnome-terminal: add to packages 2017-01-15 23:42:03 +01:00
Robert Helgesson
d7d02c3ce8
Initial import 2017-01-14 13:15:24 +01:00