Commit graph

799 commits

Author SHA1 Message Date
Robert Helgesson c94eaa0e6c
files: replace unnecessary use of xargs 2019-04-27 13:48:57 +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
Robert Helgesson 13ad532412
xscreensaver: add option settings 2019-04-22 23:44:46 +02:00
Robert Helgesson 8ecc311bcc
Update stable version to 19.03
Also prepares for 19.09.
2019-04-22 20:04:31 +02:00
hyperfekt e3831d8ecc
alacritty: add module 2019-04-22 14:43:43 +02:00
Robert Helgesson 9c0536deda
emacs: prevent service restart on change
Fixes #668
2019-04-18 01:38:25 +02:00
Robert Helgesson 6b42bd7abf
systemd: support X-RestartIfChanged = false
Having this in the unit file will prevent the file from being
restarted if a change is detected. This is useful if data loss may
occur if the unit is suddenly restarted. For example, restarting the
Emacs service may result in the loss of unsaved open buffers.
2019-04-18 01:38:20 +02:00
Robert Helgesson 0d246aa435
systemd: escape unit names in systemctl commands 2019-04-18 01:37:59 +02:00
Benjamin Staffin c5f35b7ff9
dconf: allow values to be floats
Technically dconf calls these "double" but nix floats ought to work.
2019-04-17 23:04:48 +02:00
Alex Ameen ff602cb906
manual: add option manual.json.enable
Make it possible to install a JSON file containing the available Home
Manager options.
2019-04-15 22:43:46 +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
Robert Helgesson 30a16e3a87
polybar: change restart trigger to contain a string
The systemd unit type is a bit more strict now and needs an explicit
string in this position.
2019-04-12 17:56:14 +02:00
Robert Helgesson 3db46fa9bf
news: limit mpdris2 and xcape news to Linux
These modules are limited to Linux since they define systemd services.
2019-04-12 01:02:12 +02:00
Robert Helgesson 12cb82af91
systemd: make the unit option type more robust
This should allow more sensible merging behavior. In particular, with
this change it is possible to use, for example, `mkForce` for greater
control of merging.

Fixes #543
2019-04-12 01:02:12 +02:00
Nick Hu d49b514aa6 make notmuch search.exclude_tags configurable 2019-04-11 23:28:36 +09:00
Robert Helgesson b6e1d82685
home-environment: make home.keyboard optional
When set to `null` then the `xsession` module will not attempt to
manage the keyboard settings.
2019-04-11 01:09:27 +02:00
Nick Hu 6cd5c8fca5
alot: fix address book completion regex 2019-04-10 23:55:07 +02:00
Nick Hu c48db4fbba
xcape: add service 2019-04-09 22:15:48 +02:00
Robert Helgesson f8b03f5750
modules: register the base modules path
This is needed, for example, to support relative paths when disabling
modules.
2019-04-07 13:26:38 +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
Olli Helenius 995fa3af36
qt: add option platformTheme
This deprecates `useGtkTheme=true` with the intention of replacing it
with the `platformTheme` selection.
2019-04-03 23:55:36 +02:00
Robert Helgesson 4323b35198
pam: use attrsOf instead of attrs 2019-04-03 00:09:56 +02:00
Robert Helgesson fd50f5465f
zsh: use attrsOf instead of attrs 2019-04-03 00:09:55 +02:00
Robert Helgesson 13d2c470be
home-environment: 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
Robert Helgesson e26ad2026c
gtk: use attrsOf instead of attrs 2019-04-03 00:09:46 +02:00
Olli Helenius 03162970cd
gnome-terminal: add cursor and highlight color settings 2019-03-31 14:24:31 +02:00
Tadeo Kondrak bc2b7d4f09
qt: use xdg.configHome instead of hard-coding 2019-03-27 22:40:12 +01:00
Robert Helgesson f77d6b7a2d
taffybar: restart the service on failure 2019-03-26 18:05:44 +01:00
Olli Helenius 1fdb16866b
systemd: add support for session variables
Via environment.d(5).
2019-03-24 17:23:50 +01:00
Robert Helgesson cf5dac9563
random-background: minor documentation improvements 2019-03-24 15:29:08 +01:00
Robert Helgesson 5d81cb6ac7
manual: use writeShellScriptBin 2019-03-21 00:39:54 +01:00
Robert Helgesson 41356ac267
polybar: use writeShellScriptBin 2019-03-21 00:39:36 +01: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
Robert Helgesson 70d4cf2cd9
Remove some use of mkDerivation
Instead use `runCommand`, which by default uses `stdenvNoCC` resulting
in a reduced dependency footprint.

Fixes #612
2019-03-18 23:09:54 +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
Olli Helenius 848b8b983e
pam: enclose session variable values in quotes 2019-03-06 18:00:51 +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
Peter Jones f07510e2b6
mpdris2: add module 2019-02-24 01:32:34 +01:00
Matthieu Coudron 81dae2f88e
alot: support contact completion
Make choice of contact completion easier.
2019-02-20 00:55:39 +01:00
Douglas Wilson 74811679b7
systemd: sanitize unit derivation names
To allow a few special characters such as "@".

This is taken from

    c414e5bd08/nixos/modules/system/boot/systemd-lib.nix (L14)
2019-02-19 23:43:47 +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
Robert Helgesson e0e8d5061d
keychain: add news entry 2019-02-17 22:12:25 +01:00
Mario Rodas 62e73b17d2
keychain: add module 2019-02-17 22:07:24 +01:00
Robert Helgesson ef168979bf
nixos module: support NixOS user packages install
When using the NixOS module we cannot guarantee that the Nix store
will be writable during startup. Installing the user packages through
`nix-env -i` will fail in these cases.

This commit adds a NixOS option `home-manager.useUserPackages` that,
when enabled, installs user packages through the NixOS

    users.users.<name?>.packages

option.

Note, when submodule support and external package install is enabled
then the installed packages are not available in `~/.nix-profile`. We
therefore set `home.profileDirectory` directly to the HM profile
packages.
2019-02-16 21:42:47 +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
Yurii Rashkovskii 2410bc603b
nixpkgs: fix installation on non-x86
On non-x86 architectures (for example, aarch64) the installation of
home-manager fails indicating that it is attempting to select i686
packages for Linux and those aren't available.

Solution: make the condition for choosing these packages stricter
2019-01-29 20:15:18 +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
Robert Helgesson 98f534e172
flameshot: add bars to systemd After
Fixes #544
2019-01-29 00:20:16 +01:00
Matthieu Coudron a68c8cf5f1
git: generate identities from mail accounts 2019-01-29 00:13:21 +01:00
wedens 604fc92943
polybar: add /run/wrappers/bin to PATH
Without this the network module in polybar is unable to check
connection as it invokes 'ping' command directly.
2019-01-26 14:44:57 +01:00
Robert Helgesson 008d93928f
xembed-sni-proxy: add module 2019-01-26 14:20:46 +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
Robert Helgesson 59a4ac71f9
i3: replace use of types.string by types.str 2019-01-19 19:02:59 +01:00
Robert Helgesson 7c04351a57
files: allow a wider range of source file names
In particular support source files whose name start with `.` or
contain characters not allowed in the nix store, such as spaces.

Also add some test cases for `home.file`.
2019-01-19 12:44:58 +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
Nadrieril df8a14e12a i3: add bar.extraConfig option 2019-01-15 12:31:10 +09:00
Nadrieril d5cc53a4e1
i3: reallow using null to disable a keybinding 2019-01-14 22:21:42 +01:00
Robert Helgesson 55100918cc
dunst: avoid error on missing dunst process 2019-01-14 00:04:50 +01:00
Robert Helgesson faee571850
dunst: kill daemon on configuration change
Since Dunst is DBus activated it is OK to simply kill it since DBus
will restart it when necessary.
2019-01-13 23:48:20 +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
Marcial Gaißert 62eb7ebeba
lib.zsh: add module
Added utilities to generate export statements and definitions for zsh scripts.

Currently, there is only lib.shell which generates export statements in bash
syntax. However, this does not allow to generate export statements for zsh
arrays (syntax: NAME=(elem1 elem2 ...) ), which would be the natural
representation of lists in the nix language.
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 40b3443c8f
dconf: add some information of use under NixOS 2018-12-24 18:36:55 +01:00
Robert Helgesson cc964b4609
gtk: remove option gtk.gtk3.waylandSupport 2018-12-24 17:26:34 +01:00
Robert Helgesson 370a84192e
gtk: make gtk.gtk2 and gtk.gtk3 not submodules 2018-12-24 17:26:34 +01:00
Robert Helgesson 4104ff2b6a
gtk: use dconf module for settings 2018-12-24 17:26:34 +01:00
Robert Helgesson a0162dacf6
gnome-terminal: use dconf module for settings 2018-12-24 17:26:34 +01:00
Robert Helgesson b2cc186d22
dconf: add module
This module allows unified configuration of dconf settings.
2018-12-24 17:26:34 +01:00
Robert Helgesson 218a8c4d90
modules: support conditional module inclusion
Also make use of this functionality for the `programs.chromium`
module.

See #501
2018-12-22 23:57:00 +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
Nikita Uvarov 5d63abb473
i3: fix default keybindings override
All default keybindings should have a default priority attached to them.
This will allow users to redefine some of the default keybindings
without using mkForce. Fixes #485.
2018-12-08 15:32:30 +01:00
Nikita Uvarov d67835260d
polybar: switch from attrs to attrsOf 2018-12-05 12:14:43 +01:00
Nikita Uvarov b085344b91
dunst: switch from attrs to attrsOf 2018-12-05 12:14:40 +01:00
Nikita Uvarov c108eaba42
i3: switch from attrs to attrsOf 2018-12-05 12:00:20 +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
dsx 7a28f68ad0
dunst: use 'icon_path' instead of 'icon_folders'
The 'icon_folders' option is deprecated.
2018-12-05 00:05:06 +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
dsx 15bca92b2c
i3: support for workspace_layout option 2018-12-01 01:01:35 +01:00
dsx 71f6bc41eb
i3: support for bar tray_output option 2018-12-01 00:53:16 +01:00
Robert Helgesson 6d2f16a7ae
pasystray: add paprefs and pavucontrol
This enables the "volume control" and "control local sound server"
menu options.

Fixes #461
2018-11-30 23:43:26 +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
Wael M. Nasreddine 9686d93ff6
keybase: install the keybase package 2018-11-29 00:51:58 +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
Manuel Bärenz ffdbefe22c
nextcloud-client: add module
Adds the nextcloud-client as a service, simply copying the syntax from owncloud.client.
2018-11-25 23:13:13 +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
Robert Helgesson 59448d635c
version: add module 2018-11-24 17:27:59 +01:00
Will Fancher a9a4fb641f
nix-darwin: add system module for nix-darwin 2018-11-20 00:22:53 +01:00
Wael M. Nasreddine f247b3b99b
offlineimap: add an extraConfig for the account section 2018-11-19 23:57:58 +01:00
Robert Helgesson fa62c5afb6
modules: fix list sort order 2018-11-19 00:07:29 +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 abfc37076a
compton: minor reformatting 2018-11-15 00:28:52 +01:00
Robert Helgesson 9a0f388f66
compton: fix corrupt colors under Mesa 18
Fixes #441
2018-11-15 00:28:50 +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
Robert Helgesson 0435d9c338
news: remove news item about removed vim options 2018-10-29 19:42:09 +01:00
Jonas Carpay 15a5f3278a
Remove tabSize and lineNumbers check from news item 2018-10-20 16:57:27 +02: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
Alex Brandt 7575e119d6
systemd: add more detail to user unit documentation
The current documentation does not provide guidance to users on how
systemd units are defined in Home Manager. A user may expect the
configuration to be similar to NixOS, when it actually differs.

Fixes #418
2018-10-18 23:39:28 +02:00
Will Dietz 0cfd21cc15
compton: drop no-dock-blur option, add dock and dnd shadow
no-dock-blur doesn't exist in compton and was added by mistake.
2018-10-14 12:13:57 +02:00
Daniël de Kok 05a98b6be0 mbsync: change service unit type to 'oneshot'
The ExecStartPost command is currently started when the mbsync is
invoked succesfully. However, we typically want to run something like
'mu index' or 'notmuch new' after mbsync completes.  This changes the
unit type to oneshot, so that the ExecStartPost command is run after
mbsync finishes succesfully.
2018-10-13 19:28:40 +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
Robert Helgesson 9b3122e92c
lib: copy module from NixOS
Importing the module directly from NixOS causes the documentation to
break, in particular the "Declared by" section.

Fixes #405
2018-09-27 21:01:13 +02:00
adisbladis f44d4a1d86
obs-studio: add module 2018-09-27 19:58:31 +02:00
gnidorah 33a2943e8c
gtk: add support for wayland 2018-09-26 21:32:43 +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
Robert Helgesson 6957911657
xresources: remove unnecessary parentheses 2018-09-24 23:24:04 +02:00
Robert Helgesson 7cc36b7703
xresources: run xrdb -merge on change
Fixes #400
2018-09-24 23:19:54 +02:00
Matthieu Coudron 9407b42f97
accounts.emails: adding gpg/signature modules 2018-09-23 23:22:39 +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
Robert Helgesson 4d870f665b
taffybar: fix indentation 2018-09-21 00:51:23 +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 9f0fdc68a9
xsession: add option xsession.scriptPath
This option allows overriding the default script path `~/.xsession`.
On NixOS, this is needed to allow multiple possible graphical login
sessions.

Fixes #391.
2018-09-19 23:33:13 +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 ea74820176
home-environment: add option home.extraProfileCommands
This _internal_ option indicates extra commands that should be run in
the `postBuild` step of the profile environment build.

Fixes #386
2018-09-14 21:08:51 +02:00
Robert Helgesson 50de1a6885
emacs: add internal finalPackage option 2018-09-11 21:23:11 +02:00
gnidorah 055d100548 i3 module: add missing pieces to default config 2018-09-10 11:33:51 +09: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
gnidorah 97c6073d39
i3 module: fonts option for bar section 2018-09-06 17:09:47 +02:00
Roman Volosatovs 9fe6fa7f44
neovim: add vi{,m}Alias options 2018-09-04 07:32:01 +02:00
Mario Rodas 7699ed3fc8
email: fix port setting for flavor gmail.com
See https://support.google.com/mail/answer/7126229.
2018-09-02 12:07:30 +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
Robert Helgesson 4602c00dcf
polybar: minor reformatting 2018-08-29 21:46:11 +02:00
Jonathan Reeve 629d66e0b9
polybar: only quote strings if needed
Polybar expects quoted values only when whitespace is important to the
value.

Fixes #356
2018-08-29 21:42:42 +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
Anton Plotnikov 90bcaaf582
pasystray: add module 2018-08-22 23:17:47 +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
Robert Helgesson 906965b48b
Revert "email: note that passwordCommand should output '\n'"
This reverts commit d5bbbbd41d.

This was premature, the example will not emit a terminal newline and
it is not clear whether it is a good idea to force this limitation.
2018-08-21 00:19:33 +02:00
Robert Helgesson d5bbbbd41d
email: note that passwordCommand should output '\n'
This is because some programs, for example msmtp, expect the output to
end with a newline character.
2018-08-20 22:47:49 +02:00
Matthieu Coudron 7a8d50a803
xdg: create $XDG_CACHE_HOME
Some programs fail silently (bash with HISTFILE for instance) when the
folder doesn't exist.
2018-08-20 20:37:26 +02:00
Robert Helgesson 6630cfbe16
chromium: only enable for the linux platform 2018-08-20 07:11:00 +02:00
Tad Fisher dd25fbcb4b
chromium: add module 2018-08-19 22:46:30 +02:00
LightDiscord f9ac73732b
awesome: fix missing concatenation 2018-08-19 22:42:14 +02:00
Tad Fisher 26342588ab
gpg-agent: add extraConfig option 2018-08-19 21:46:25 +02:00
Vincent Demeester 29191eb2c7
fish: add module
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2018-08-17 22:32:08 +02:00
Matthieu Coudron 168d546304
accounts.mail: add "gmail.com" as a flavor
To help with some autoconfiguration.
2018-08-16 23:46:27 +02:00
Robert Helgesson 34133ca7f3
accounts.email: add global certificatesFile option
This defaults to `/etc/ssl/certs/ca-certificates.crt` and will be
picked up as default by the account specific option.
2018-08-16 23:29:10 +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
Robert Helgesson 99c900946d
Avoid substitution for some derivations
In particular, don't bother attempting to do substitution of the home
files and home generation derivations since these rarely, if ever,
could be substituted.

Fixes #330
2018-07-31 21:16:36 +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
Anton Plotnikov 2e9e1909da
status-notifier-watcher: add service 2018-07-31 15:33:57 +02:00
Andrew Scott 30cba446f2
files: add onChange option
This option allows execution of arbitrary shell code when a file that
is linked into the home directory has been changed between
generations.
2018-07-27 22:07:12 +02:00
Robert Helgesson dda65c0877
polybar: let systemd reload trigger restart 2018-07-26 18:01:35 +02:00
Roman Volosatovs cf80199bfc
xresources: join lists with a "," 2018-07-25 20:53:02 +02:00
Robert Helgesson 6694330bb2
udiskie: use xsession.preferStatusNotifierItems 2018-07-24 12:59:56 +02:00
Robert Helgesson a5a49c350d
network-manager-applet: use xsession.preferStatusNotifierItems 2018-07-24 12:59:50 +02:00
Robert Helgesson 6ae2d74fca
xsession: add option preferStatusNotifierItems
The intent is for tray applets to honor this option if they support
the SNI protocol.
2018-07-24 12:53:20 +02:00
Anton Plotnikov 29ad012763
udiskie: add sni support 2018-07-24 11:52:38 +02:00
rembo10 d3871ed774
mpd: add module 2018-07-18 22:17:26 +02:00
rembo10 34db8df6d9
redshift: enable geoclue2 2018-07-13 22:07:07 +02:00
Mario Rodas 092706eff8
nixpkgs: only pass pkgs_i686 argument on Linux
Nixpkgs added an assertion on pkgsi686Linux [1] to avoid evaluating it
pkgsi686Linux on non-Linux systems.

[1] ad20a4a1c3
2018-07-13 19:26:08 +02:00
LightDiscord e365943a70
awesome: add module 2018-07-07 17:49:11 +02:00
Robert Helgesson 86fcfc74da
nixpkgs: replace use of traceValIfNot
The `traceValIfNot` function is deprecated in Nixpkgs master. Instead
use `traceSeqN`.

Fixes #301
2018-07-04 19:56:13 +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
Robert Helgesson 34bb9b5766
email: add module
This adds a general module infrastructure for configuring email
accounts. The intent is to specify high level information such as IMAP
and SMTP hostnames and login information so that more specific program
and service modules do not have to duplicate options for specifying
accounts.

It is allowed for modules to inject further options within this
namespace where relevant. For example, an MUA may wish add an option
to add per-account filter rules.

Co-authored-by: Matthieu Coudron <mattator@gmail.com>
2018-07-01 18:06:09 +02:00
Olli Helenius 299e01722f
Add support for systemd path units 2018-07-01 18:04:06 +02:00
jD91mZM2 97ee4578c9
gpg-agent: Add maxCacheTtl(Ssh) options 2018-06-29 00:39:14 +02:00
Robin Stumm 0d3f9ba913
compton: fix syntax error 2018-06-27 15:18:30 +02:00
Denny Schaefer 6aa44d62ad
autorandr: add rotate option 2018-06-26 21:17:54 +02:00
Nadrieril 5641ee3f94
i3: use null to disable a keybinding 2018-06-14 09:26:30 +02:00
Robert Helgesson 2e9fbbc978
termite: use docbook man page reference 2018-06-13 23:56:47 +02:00
Robert Helgesson ad634c0a94
compton: use docbook man page references 2018-06-13 23:51:53 +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
adisbladis 53f10f4d46
kdeconnect: add module 2018-06-05 14:58:54 +02:00
Robert Helgesson ed0cd78e05
i3: use fancy docbook markup in description 2018-06-03 20:53:07 +02:00
Robert Helgesson faf04b009b
qt: support GTK+ theming for Qt services 2018-06-03 17:26:47 +02:00
Lenz Weber 965bad626a
flameshot: set PATH to let Qt find plugins 2018-05-31 20:26:25 +02:00
Julien Langlois 69445cb4a0
udiskie: change package
The old package is deprecated.
2018-05-31 20:10:47 +02:00
Nikita Uvarov 30c97391d7
i3: add modifier option
This allows to easily change modifier key for default keybindings and
gives a possibility to reference specified value in other modules.

Fixes #147.
2018-05-27 20:20:00 +02:00
Nikita Uvarov cacb8d410e
i3: deprecate i3.config.startup.*.workspace option
Fixes #265.
2018-05-27 00:00:10 +02:00
Nikita Uvarov 4b388ee902
i3: fix reloading for nixos module
By default, i3-msg gets socket from X11 property
which is not available when home manager is running
as nixos module.

This patch changes i3-msg command call by specifying
all i3 sockets found in $XDG_RUNTIME_DIR/i3 folder.

Fixes #252.
2018-05-26 19:14:05 +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
Robert Helgesson f812260c23
manual: add HTML manual
Also add a `home-manager-help` script that attempts to open the HTML
manual in a browser.
2018-05-18 23:22:03 +02:00
Robert Helgesson b6da6569c4
qt: add module 2018-05-18 20:57:36 +02:00
Robert Helgesson ec3cbf81c4
manual: some cleanups 2018-05-11 22:26:21 +02:00
Adrian Kummerlaender 1a471b0a45
xcursor: add default cursor file option 2018-05-10 20:26:01 +02:00
Cornelius Mika 73b8aa8bcc
systemd: merge unit definitions recursively
This removes the need for monolithic unit definitions and allows
users to modify existing units.

Example:
```
{
  systemd.user.services.owncloud-client.Unit.OnFailure = "my-notify-service";
}
```
2018-05-10 20:13:58 +02:00
Cornelius Mika 394045f68a systemd: improve comments 2018-05-09 16:22:02 +02:00
Robert Helgesson f9af8e0390
manual: fix import path
Need to refer to the `default.nix` in the same home-manager source
otherwise you might get an old version.
2018-05-07 00:10:58 +02:00
Robert Helgesson 1260349384
doc: make documentation independent from NixOS
Unfortunately this duplicates some code from NixOS but it does allow
much more flexibility and, hopefully, stability in the Home Manager
documentation.

Fixes #254.
2018-05-06 22:16:48 +02:00
Nikita Uvarov 74f4ed5fd2
syncthing: fix tray startup
Workaround for #249.
2018-05-04 13:08:08 +02:00
Nikita Uvarov 91725ddced
owncloud-client: fix startup
Workaround for #249.
2018-05-04 13:01:34 +02:00
Hamish Hutchings e055e4a092
flameshot: add module 2018-05-03 17:21:03 +02:00
Peter Jones f26cc3b957
mbsync: add module 2018-05-01 22:50:37 +02:00
Minijackson 9a3b1ec222
screen-locker: Add extraOptions for xss-lock and xautolock 2018-05-01 22:40:32 +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
Tad Fisher 581ad6fc29
kbfs: fix systemd service PATH 2018-04-18 19:01:57 +02:00
Anton Plotnikov 8ff7d934b2
Add blur options to compton 2018-04-16 08:50:28 +02:00
Anton Plotnikov 5bdebf5ab0
Add opacity-rules to compton 2018-04-16 08:50:28 +02:00
Guthrie McAfee Armstrong 96250b7ad3
Fix typo: compton.shadowOffsets description 2018-04-16 08:45:48 +02:00
Lenz Weber 7c9278bd92 xresources: add option extraConfig 2018-03-26 21:10:32 +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
Robert Helgesson 75c4075345
nixpkgs: expand description of nixpkgs.config and nixpkgs.overlays 2018-03-20 20:23:42 +01: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
Gleb Peregud 9bf9e7ac5c
gpg-agent: add enableExtraSocket and verbose options.
This option enables a GPG Agent restricted socket (aka "extra-socket"), which
can be used to forward GPG Agent over SSH.

Additionally `verbose` option enables verbose output of an `gpg-agent.service`
unit for easier debugging.

See: https://wiki.gnupg.org/AgentForwarding
2018-03-13 22:36:30 +01:00
Robert Helgesson 567b21b1d6
activation-init: sanity check oldGenNum and oldGenPath
Something is terribly wrong if one is set but not the other so error
out with a message if that happens.
2018-03-13 20:49:45 +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 bc50202d0d
gpg-agent: do updatestartuptty only when SSH is enabled
Inspired by #163.
2018-03-04 22:20:35 +01:00
Tad Fisher 8fc8e158e2 unclutter: add module 2018-03-03 22:54:46 -08:00
Robert Helgesson fbff38de33
xscreensaver: install the xscreensaver package
This is needed to make the xscreensaver tools available.
2018-03-01 23:21:45 +01:00
Robert Helgesson 19b4002f25
home-environment: use nix-env from PATH
It is safest to use the system install of Nix since that will be
compatible with the running nix-daemon and/or databases.

Also add a printout of the used Nix version in the activation script
when running in verbose mode.

Fixes #218.
2018-02-27 20:31:03 +01:00
Robert Helgesson b47cc4bc66
qsyncthingtray: remove deprecated option 2018-02-26 22:30:28 +01:00
Robert Helgesson e307ceeee7
systemd: replace use of who command
Curiously the `who` command sometimes does not list logged-in users,
resulting in systemd not being reloaded. Instead we use

    systemctl --user is-system-running

to more directly detect whether systemd is running.
2018-02-20 22:04:29 +01:00
Robert Helgesson 4745c7a00d
pidgin: add module 2018-02-19 22:57:50 +01:00
Nikita Uvarov 05ad0c9e06
i3: escape ${} in bars.command example 2018-02-19 20:17:33 +01:00
Matthieu Coudron 6d7b5c9513 i3: don't evaluate "command" example
else it attempts to build i3-gaps and fails on darwin see
https://github.com/rycee/home-manager/pull/214#issuecomment-366594833
2018-02-19 16:28:30 +09:00
Nikita Uvarov de001e05da
i3: add missing bar options
New options are: id, commmand, workspaceNumbers, colors.
Fixes #210.
2018-02-18 20:58:52 +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
Christopher League 563a20fc82
xcursor: add module
This is a new module for configuring the X cursor theme.
2018-02-05 22:40:16 +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 91a98f919d
stalonetray: add module
Adds a service for the Stalonetray system tray.

Configured through a 'config' attribute set, which writes space
separated key value pairs on successive lines to `~/.stalonetrayrc`.
2018-02-03 10:44:37 +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 6fc0fd315c
syncthing: allow enabling tray independently 2018-02-01 06:59:22 +01:00
Nikita Uvarov 8b77f1db2c
syncthing: start tray service after bars
The QSyncthingTray service requires running tray providers such as
polybar and taffybar.
2018-01-27 17:18:39 +01:00
Nikita Uvarov a597c66afe
syncthing: merge qsyncthingtray into the module 2018-01-25 21:52:01 +01:00
Nadrieril 38020d9068
redshift: add option to start redshift tray applet 2018-01-22 19:09:13 +01:00