Commit graph

621 commits

Author SHA1 Message Date
Robert Helgesson eb1b86a5ec
Replace use of stdenv.shell by runtimeShell 2019-08-22 08:35:06 +02:00
Robert Helgesson 35752e07fa
kakoune: add missing period at end of description 2019-08-21 20:34:43 +02:00
Tobias Happ 0e871b490e
ssh: add localForwards option for matchBlocks 2019-08-20 12:11:00 +02:00
Robert Helgesson ed4f66185f
Use types.port where applicable
This changes the type of all options that specify ports to
`types.port`. This type restricts values to between 0 and 65535.
2019-08-19 20:37:48 +02:00
Robert Helgesson 73641e492c
firefox: use wrapped package
This makes the

    programs.firefox.package

option take a pre-wrapped Firefox package as value if state version is
set to "19.09" or later. This should make the Firefox module work with
a wider range of Firefox packages.
2019-08-18 18:04:04 +02:00
Robert Helgesson 5eed33ef08
emacs: document how to list available extra packages 2019-08-18 13:34:26 +02:00
pacien 31ae1bc2ff
alot: fix account extraConfig section 2019-08-18 12:00:38 +02:00
Tobias Happ 5203340b64 zsh: add envExtra option 2019-08-16 17:00:08 +09:00
Tobias Happ ed0e40dee8 zsh: add initExtraBeforeCompInit config option
The new initExtraBeforeCompInit option enables the user to inject
commands in zshrc before compinit is executed.
2019-08-16 16:57:52 +09:00
Tobias Happ 8b759c24e6 bash: add logoutExtra option 2019-08-16 16:46:38 +09:00
paumr 1499b85ac6 alot: added send/draf_box to configuration file 2019-08-16 16:27:28 +09:00
Nikita Uvarov 7310cfc557
zsh: fix completion when oh-my-zsh is enabled
enableCompletion option not only calls compinit but also adds
nix-zsh-completions package to home.packages which should still happen
even if oh-my-zsh is enabled.

The double compinit call will still be eliminated by moving guarding condition
down to the compinit call itself.

Fixes #771.
2019-08-09 15:02:31 +02:00
Nikita Uvarov 42ad0effdd
zsh: create oh-my-zsh cache directory
Fixes #761.
2019-08-09 14:53:03 +02:00
paumr bce63e4dff
msmtp: add account option tls.fingerprint 2019-08-08 14:12:34 +02:00
paumr 3743e8995a
mbsync: fix use of certificatesFile
The `tls.certificatesFile` option may be set to a path but the
`CertificateFile` attribute should be a string.
2019-08-08 00:50:52 +02:00
Robert Helgesson 056443ccbd
vscode: fix configuration path for Darwin
Fixes #737
2019-07-22 12:44:52 +02:00
Sebastian Zivota 7d68c46feb
kakoune: add module 2019-07-17 22:40:26 +02:00
Shanon McQuay 734128930f
skim: correctly name default options
skim uses SKIM_DEFAULT_OPTIONS rather than SKIM_DEFAULT_OPTS.
2019-07-17 21:53:30 +02:00
Robert Helgesson c3520bfa52
mbsync: put extra config at the beginning
If it is at the end it will just end up applying to the last defined
section.

Fixes #748
2019-07-05 22:16:15 +02:00
arcnmx 95382060eb
git: support nested section options
Closes #614
2019-07-04 16:51:28 +02:00
arcnmx 472d7731d6
git: support multiple values
Closes #614
2019-07-04 16:51:24 +02:00
Alexandre Héaumé 28f2dd612e
broot: add module 2019-07-02 11:28:31 +02:00
Róman Joost 68fe8623ad Address code review comments for getmail service
This patch started by addresssing the code review comments to close
https://github.com/rycee/home-manager/pull/290. However initiating a new
pull request it became clear, that home-manager changed significantly
since then.

This changes the initial pull request to be consistent with the email
account management in home-manager now. It also adds a simple test and support
for multiple accounts.
2019-06-27 07:48:09 +02:00
Jonas Holst Damtoft cf0aad391c
emacs: fix merging of extraPackages and overrides
Because `extraPackages` and `overrides` expect functions as values it
has not been possible to perform merges. This adds suitable types for
these options that allow reasonable merging.
2019-06-10 22:56:47 +02:00
Sebastián Estrella 29824a8cf6 tmux: Disable confirmation prompt 2019-06-05 13:05:10 +09:00
Jaka Hudoklin 0db26fc3ab
gpg: add module 2019-06-03 23:50:50 +02:00
Tad Fisher e25113bcf0
browserpass: fix host/policy link sources 2019-06-01 12:24:30 +02:00
Robert Helgesson e1535d2bd8
vscode: add example for extensions option 2019-05-31 21:37:28 +02:00
Jaka Hudoklin 5b95fd0521
firefox: add profile options 2019-05-30 22:58:36 +02:00
kalium 02a07f19a1
zsh: add autocd option 2019-05-17 09:39:26 +02:00
Tadeo Kondrak d2ed39f103
alacritty: don't create file if settings is empty
Also add a few test cases for the alacritty module.
2019-05-14 23:53:10 +02:00
Tadeo Kondrak 8b15f18993
mpv: add module 2019-05-08 00:42:18 +02:00
Mario Rodas 821df406c9
z-lua: add module 2019-04-28 23:57:31 +02:00
Robert Helgesson a16439e38e
firefox: deprecate Google Talk and IcedTea options 2019-04-27 10:01:30 +02:00
Robert Helgesson b6e613c771
Fix type of various sessionVariables options
Unfortunately, using `attrsOf` is not possible since it results in too
eager evaluation. In particular, the

    home.sessionVariables = {
      FOO = "Hello";
      BAR = "${config.home.sessionVariables.FOO} World!";
    };

example will cause an infinite recursion.

This commit restores the option type of

- `home.sessionVariables`,
- `pam.sessionVariables`,
- `programs.bash.sessionVariables`, and
- `programs.zsh.sessionVariables`

to `attrs`. It also adds test cases for the above options to avoid
regressions.

Fixes #659
2019-04-27 01:07:09 +02:00
Robert Hensing c5f230e682
vscode.haskell: add module
- Haskell IDE Engine integration
- Syntax highlighting
2019-04-27 01:00:57 +02:00
hyperfekt e3831d8ecc
alacritty: add module 2019-04-22 14:43:43 +02:00
Olli Helenius 1806e5511e
skim: add module 2019-04-14 17:36:27 +02:00
ash lea cb93316fed
browserpass: update app id 2019-04-14 11:40:37 +02:00
Nick Hu a6f0fa90f7
email: add facility for email aliases
Also update the notmuch and alot modules to include support for email
aliases.
2019-04-12 21:26:46 +02:00
Nick Hu d49b514aa6 make notmuch search.exclude_tags configurable 2019-04-11 23:28:36 +09:00
Nick Hu 6cd5c8fca5
alot: fix address book completion regex 2019-04-10 23:55:07 +02:00
arcnmx 2c07829be2
home-manager: use callPackage where appropriate 2019-04-06 18:48:29 +02:00
Wael M. Nasreddine 652c694244
programs.tmux: implement secureSocket 2019-04-04 17:14:29 -07:00
Robert Helgesson fd50f5465f
zsh: use attrsOf instead of attrs 2019-04-03 00:09:55 +02:00
Robert Helgesson b690a8be2f
bash: use attrsOf instead of attrs 2019-04-03 00:09:55 +02:00
Robert Helgesson e85804efa2
feh: use attrsOf instead of attrs 2019-04-03 00:09:55 +02:00
Olli Helenius 03162970cd
gnome-terminal: add cursor and highlight color settings 2019-03-31 14:24:31 +02:00
Robert Helgesson 86af599a18
firefox: make the extensions option visible
Also change the example to use the firefox-addons available on NUR.
2019-03-20 23:41:02 +01:00
Mario Rodas 95e36dfe74
lsd: add module 2019-03-20 00:07:49 +01:00
Mario Rodas 24b5f62090
bat: add module 2019-03-19 23:58:12 +01:00
Robert Helgesson eec78fbd1e
ssh: support multiple identity files in a match block
Fixes #625
2019-03-19 22:35:13 +01:00
arcnmx 52692e299d
git: make userName and userEmail options optional 2019-03-17 20:46:00 +01:00
Robert Helgesson 267afa5a3b
firefox: add support for add-on packages
Since no official source of packages exist the option is hidden for
now. For adventurous people there is an overlay of a few selected
add-ons available at

    https://rycee.gitlab.io/nixpkgs-firefox-addons/overlay.tar.gz

This overlay is automatically built daily using the REST API available
on https://addons.mozilla.org/.
2019-03-11 00:55:32 +01:00
Robert Prije 0fa19ed555
gnome-terminal: add support for light/dark theme variants 2019-03-10 01:59:00 +01:00
Robert Helgesson a09196c4ae
docs: add language attribute to program listings 2019-03-06 18:52:54 +01:00
Maximilian Bosch 465d08d99f
programs/zsh: properly escape shell aliases
Otherwise all aliases break that use single quotes inside.

Already fixed in the nixpkgs module in 1e211a70cbdaf230a18ea4cb67a959039d5c2ddb.
2019-02-28 14:10:14 +01:00
Matthieu Coudron 81dae2f88e
alot: support contact completion
Make choice of contact completion easier.
2019-02-20 00:55:39 +01:00
Robert Helgesson 93f5fcae1e
msmtp: use <parameter> for CLI options in description 2019-02-17 23:25:42 +01:00
Robert Helgesson 92d4e3e75a
autorandr: remove unnecessary method attribute
I mistakenly added this before noticing that it was already defaulted
to "factory". Sorry!
2019-02-17 23:06:39 +01:00
Terje Larsen 03f1aea069
autorandr: add support for xrandr scale and dpi 2019-02-17 22:56:01 +01:00
Mario Rodas 6da88339f5
git: allow contents in git.includes 2019-02-17 22:28:15 +01:00
Mario Rodas 62e73b17d2
keychain: add module 2019-02-17 22:07:24 +01:00
Wael M. Nasreddine 2093cf425f
tmux: general improvements and added options
See #575 for discussion.
2019-02-13 22:14:30 +01:00
Olli Helenius a3462daeb1
msmtp: use XDG config directory 2019-02-11 01:06:28 +01:00
Robert Helgesson 1cdb8abf30
git: add basic support for LFS
Fixes #542
2019-02-10 00:51:16 +01:00
Robert Helgesson 2f372ab4d6
Clean up support code for Home Manager as a submodule
This removes the `nixosSubmodule` option in favor of a new option
`submoduleSupport.enable`. This name better indicates that the
submodule mode applies to both NixOS and nix-darwin.
2019-02-10 00:44:55 +01:00
Jonas Holst Damtoft 0ca1bf3cfd
emacs: add service module 2019-02-09 15:28:11 +01:00
Matthieu Coudron c18984c452
neovim: allow to override package
If you want to run a development version for instance, it is easier to
set neovim.package rather than work around the wrapping mechanism etc.
2019-02-04 21:52:01 +01:00
Robert Helgesson 445c0b1482
git: use attrsOf instead of attrs
This makes sure that values added to

    programs.git.aliases

or

    programs.git.extraConfig

are merged as expected.

Also add a few option examples.
2019-02-01 01:12:58 +01:00
Robert Helgesson 0590c2a4f6
mbsync: add basic test of result configuration 2019-01-31 02:08:40 +01:00
Nadrieril 81ec856a0f
mbsync: add some required assertions 2019-01-31 01:41:12 +01:00
Robert Helgesson 45cadbd4f3
git: quote sendemail section header
This will allow, e.g., the character `@` in the email identity.

Also adds a test case.

Fixes #557
2019-01-29 18:28:55 +01:00
Amarandus 02a5a678f6
irssi: add module
irssi is a cli IRC client.
2019-01-29 00:53:39 +01:00
Matthieu Coudron a68c8cf5f1
git: generate identities from mail accounts 2019-01-29 00:13:21 +01:00
Jonas Holst Damtoft 601619660d
fish: use global for abbr
Makes fish use global scope for abbreviations.
This makes it so that they don't stick across config changes.
Before, an abbreviation would still exist even if removed from the config.
2019-01-23 21:19:23 +01:00
Adam Washington 6a244b3a8d
matplotlib: add module 2019-01-18 01:23:36 +01:00
John Wiegley 3cf8b9ea86
ssh: add proxyJump option 2019-01-15 22:31:08 +01:00
hyperfekt 6f422785c3
fish: autogenerate completions from man pages 2019-01-13 01:06:46 +01:00
David Guibert a7affc93ba
msmtp: add extraConfig account option
This patch allow to define custom msmtp options per email account. For
example: to change the "auth" method from "on" to "login", add
`msmtp.extraConfig.auth="login"`.
2019-01-13 00:25:05 +01:00
Marcial Gaißert 9052131aef
programs.zsh: option localVariables
Add option "extraLocalVars" for additional local variable definitions
in .zshrc, at the top of the file.

Some zsh plugins/themes expect configuration in local variables before they
are loaded (example: https://github.com/bhilburn/powerlevel9k). Exporting
those clutters the environment and is unnecessary.
2019-01-11 10:26:13 +01:00
Marcial Gaißert 6b5e0efd1e
programs.zsh: generate export statements in zsh syntax
Use the new module lib.zsh to generate export statements in zsh syntax, using
zsh arrays for lists.

Being a zsh script, this seems more intuitive for .zshrc
2019-01-11 10:26:12 +01:00
Wael M. Nasreddine c48fd9d842
autorandr: add support for xrandr transformation 2019-01-10 01:39:01 +01:00
Robert Helgesson e150dd4a66
texlive: always require at least one extra package
Fixes #526
2019-01-09 02:09:23 +01:00
Olli Helenius b3d73e0aff
gnome-terminal: enable VTE OSC7 support for bash and zsh 2019-01-08 23:14:55 +01:00
Olli Helenius 16946a6f00
Address review comments 2019-01-03 10:51:37 +01:00
Olli Helenius a4383075af
zsh: add default keymap configuration 2019-01-03 10:51:37 +01:00
Robert Helgesson 20a60be550
emacs: make finalPackage option more accessible
Instead of "internal" mark it as "invisible".
2019-01-03 02:15:17 +01:00
Mario Rodas 7afefcf75d
opam: add module 2018-12-28 13:33:13 +01:00
Robert Helgesson a0162dacf6
gnome-terminal: use dconf module for settings 2018-12-24 17:26:34 +01:00
Robert Helgesson e68d6e7924
emacs: add overrides option
This option enables overriding packages within the generated Emacs
package set.

Fixes #486
2018-12-17 23:01:43 +01:00
Olli Helenius dc72aa2305
jq: add module 2018-12-12 22:02:51 +01:00
dsx 6ce3ce69b9
ssh: add addressFamily option 2018-12-05 00:24:34 +01:00
Robert Helgesson 6826521ec5
ssh: add certificateFile option 2018-12-05 00:19:40 +01:00
Robert Helgesson 5fe62660aa
ssh: realign options 2018-12-05 00:14:15 +01:00
Robert Helgesson ea9d44bede
rofi: switch from types.string to types.str 2018-12-04 23:43:12 +01:00
Robert Helgesson fd3692b36f
newsboat: switch from types.string to types.str 2018-12-04 23:42:30 +01:00
Robert Helgesson cd7b6fdbc1
autorandr: switch from types.string to types.str 2018-12-04 23:41:42 +01:00
Robert Helgesson 797fbbf826
beets: add enable option 2018-12-04 23:03:23 +01:00
zimbatm 40b279e3a3
ssh: tweak default controlPath
Instead of using the hostname `%h`, which can be changed by the
~/.ssh/config file, use the commandline-given hostname `%n`.

This allows to alias a host with different hostnames, which then point
to different configurations. A common use-case for this is if you have
multiple accounts on github with each access to different private repos:

    Host github.com
      IdentitiesOnly yes
      User git
      IdentityFile ~/.ssh/id_rsa

    Host customer.github.com
      IdentitiesOnly yes
      User git
      IdentityFile ~/.ssh/customer
      HostName github.com

Without this change, if a connection was established with the first
github.com alias, then the user would try to pull a repo from the second
account, ssh would re-use the SSH connection which doesn't have access
to that repository.
2018-11-30 00:13:50 +01:00
Lee Henson 5d8b089188
neovim: support withNodeJs option 2018-11-29 00:54:27 +01:00
zimbatm 67ebe16b40
termite: setup the shell hook
This fixes Ctrl+Shift+T not working.
2018-11-26 21:28:06 +01:00
hyperfekt 6ab6488e5a
vscode: add module 2018-11-26 00:01:01 +01:00
zimbatm 456e2d7ed5
ssh: add more options 2018-11-25 22:46:06 +01:00
Robert Helgesson fa3d1f98e0
astroid: require notmuch synchronize flags 2018-11-25 13:53:45 +01:00
Robert Helgesson c21b69e73e
notmuch: add maildir.synchronizeFlags option 2018-11-25 13:33:30 +01:00
Robert Helgesson 9318bd3b0d
notmuch: replace incorrect use of toJSON 2018-11-25 13:33:30 +01:00
Wael M. Nasreddine f247b3b99b
offlineimap: add an extraConfig for the account section 2018-11-19 23:57:58 +01:00
Ben Sima 061c7b633f
afew: add module 2018-11-18 23:47:45 +01:00
Matthieu Coudron dacc07136c
astroid: add module
Astroid is a notmuch/gtk based MUA: https://github.com/astroidmail/astroid
2018-11-18 19:55:28 +01:00
Robert Helgesson 0efda9cd6b
Use preferLocalBuild with runCommand 2018-11-14 20:59:45 +01:00
Sam Stites f4ebbcbf70
tmux: add module
This commit adds the tmux program to Home Manager.

In addition to configuring tmux, a user may specify tmux plugins from
Nixpkgs. These can be included in the list of `plugins` and can either
be a package (all tmux plugins live under `nixpkgs.tmuxPlugins.*`), or
an object which includes the plugin and an `extraConfig`, which will
be run immediately after sourcing the tmux plugin.

Finally, this commit introduces two nested programs which may be
enabled which depend on tmux: tmuxp and tmuxinator. These do not have
the ability to be configured, although this may be a future
contribution.
2018-11-14 00:08:39 +01:00
Robert Helgesson 22568a3d26
Revert PR #408
This reverts the commits

- "alot: change msmtp default command"
  8e798e4c28

- "astroid: init"
  736e340bde

because they include changes that break some configurations and some
options that are misplaced.
2018-11-12 21:59:11 +01:00
Matthieu Coudron 8e798e4c28 alot: change msmtp default command 2018-11-12 23:16:03 +09:00
Matthieu Coudron 736e340bde astroid: init
Astroid is a notmuch/gtk based MUA: https://github.com/astroidmail/astroid
2018-11-12 23:16:03 +09:00
Robert Helgesson 05c93ff3ae
home-manager: remove uninstall activation phase
The manual install has been long deprecated so it should be safe to no
longer attempt to do an uninstall on each activation.
2018-11-04 09:58:00 +01:00
Robert Helgesson 8d4c65f259
fzf: only enable when line editing is available
Fixes #401

Suggested-by: Alex Vorobiev
Suggested-by: Mario Rodas
2018-10-30 00:17:09 +01:00
Nikita Uvarov 34bbd0ded1
vim: remove deprecated options 2018-10-20 13:13:19 +02:00
Nikita Uvarov c17f37857c
urxvt: add module 2018-10-20 11:35:39 +02:00
Nikita Uvarov a2e09b4c9d
vim: add options 2018-10-20 11:00:13 +02:00
Nikita Uvarov 52b9363745
rofi: set configPath defaultText to avoid rebuilds 2018-10-12 10:52:41 +02:00
Mario Rodas f947fafec9
direnv: add config option 2018-10-10 23:05:30 +02:00
Mario Rodas 68d3cdd722
direnv: add stdlib option 2018-10-10 23:02:31 +02:00
Will Dietz 5770dc58b9 mbsync: add option to add extra account configuration 2018-10-03 13:35:04 -05:00
Edward Betts 36da7a918f
Correct spelling mistakes 2018-10-02 22:41:08 +02:00
Matthieu Coudron 782d2fab83
rofi: fix default path 2018-10-01 09:27:33 +02:00
Matthieu Coudron d9c5d3c868
alot: add module
Alot is a python mail user agent (MUA) built around the Notmuch mail
system.
2018-09-28 23:43:40 +02:00
adisbladis f44d4a1d86
obs-studio: add module 2018-09-27 19:58:31 +02:00
Mario Rodas a1a7e7cd24
bash: fix bashrcExtra interactive shell test
To determine if bash is running interactively test whether "$-"
contains "i".

See: https://www.gnu.org/software/bash/manual/html_node/Is-this-Shell-Interactive_003f.html
2018-09-26 18:18:57 +02:00
Matthieu Coudron 151f29a17a
mbsync: add options extraConfig.{channel|local|remote}
To allow supporting more advanced configurations. The local refers to
the "maildir store" configuration, remote to the "IMAP store", and
"channel" to the channel.
2018-09-23 23:22:39 +02:00
Roman Volosatovs f7dc354f42
go: Fix package example 2018-09-21 09:46:11 +02:00
Roman Volosatovs 0635423e73
go: add module 2018-09-21 00:11:25 +02:00
Mario Rodas 3f34bf4465
noti: add module 2018-09-20 21:26:55 +02:00
Robert Helgesson 701b4130bd
Remove unnecessary dag variables
Also remove a few trailing whitespaces.
2018-09-19 00:13:31 +02:00
Adam Washington d27bccdff1
zathura: add module
Add the zathura document viewer as a program option with support for
managing the zathurarc configuration file.
2018-09-18 23:57:36 +02:00
Minijackson 5ff03ce5ac
taskwarrior: add module 2018-09-18 23:31:37 +02:00
Nikita Uvarov 6eea2a409e
vim: improve instructions for listing available plugins 2018-09-15 12:01:36 +02:00
Robert Helgesson 50de1a6885
emacs: add internal finalPackage option 2018-09-11 21:23:11 +02:00
Roman Volosatovs 63efd26767
neovim: support new extraPython*Packages options
Also fix `configure` argument.
2018-09-09 22:09:00 +02:00
Robert Helgesson 8d2cb0ef9b
fish: minor formatting fixes 2018-09-09 21:18:39 +02:00
gnidorah 2bff6e5188
fish module: envoke hm-session-vars.sh 2018-09-09 21:17:13 +02:00
Matthieu Coudron 453d0494fb
notmuch: synchronize_flag should be "true"
...and not "True"

According to doc https://notmuchmail.org/manpages/notmuch-config-1/

It also causes a crash in astroid :
https://github.com/astroidmail/astroid/issues/546
2018-09-07 19:38:39 +02:00
Roman Volosatovs 9fe6fa7f44
neovim: add vi{,m}Alias options 2018-09-04 07:32:01 +02:00
Matthieu Coudron 5eca556fe7
offlineimap: add module
OfflineIMAP is a Mail Retrieval Agent (MRA) like mbsync but written in
Python.
2018-08-30 18:57:35 +02:00
adisbladis 99a0e2469b
direnv: add fish support 2018-08-27 22:52:53 +02:00
Mogria 2548c43175
fzf: add options for setting commands for all keys
This allows you to specify your own custom commands
to be run when calling fzf. You might use tools like
fd to search faster and take `.gitignore` files into
consideration.
2018-08-23 23:22:53 +02:00
Tad Fisher da8307cd26
chromium: parseDrvName quick fix 2018-08-22 23:13:54 +02:00
Matthieu Coudron cfa06c3f38
msmtp: add module
msmtp is a simple mail transfer agent (MTA).
2018-08-21 00:22:51 +02:00
Tad Fisher dd25fbcb4b
chromium: add module 2018-08-19 22:46:30 +02:00
Vincent Demeester 29191eb2c7
fish: add module
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2018-08-17 22:32:08 +02:00
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