Commit graph

715 commits

Author SHA1 Message Date
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
leotaku 3d645c0ce1
kdeconnect: fix incorrect path to kdeconnectd 2019-08-18 23:35:53 +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
Tobias Happ db0dfb4b08
dwm-status: add module 2019-08-18 16:23:31 +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
Robert Helgesson 6932e6330e
muchsync: add news entry 2019-08-17 14:25:15 +02:00
pacien a124dae35a muchsync: add module 2019-08-17 20:08:11 +09: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
Tobias Happ 5c94538c7d
numlock: set RemainAfterExit for numlockx.service 2019-08-15 11:53:34 +02:00
Tobias Happ 2eae9daae7
xsession: set RemainAfterExit for setxkbmap.service 2019-08-15 11:53:34 +02: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
Robert Helgesson 9302523d34
modules: fix module order 2019-08-08 13:53:22 +02:00
adisbladis a9ecef1fa9
hound: add module 2019-08-08 13:52:27 +02:00
Evan Stoll e59b8b0c37
numlock: add module
This adds an option `xsession.numlock` that enable the Num Lock key
when starting a graphical session.

Fixes #651
2019-08-08 13:25:01 +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
Tobias Happ 4c9b40ca0e systemd-activate.rb: add start/stop/restart sockets 2019-08-07 23:12:30 +02:00
Robert Helgesson d625186ce5
Remove use of network-online.target
This target is only available at the system level and has no effect on
user services.
2019-07-28 14:17:28 +02:00
Olli Helenius caf3349f01 dconf: assume empty list value is a list of strings
Fixes #769.
2019-07-28 13:01:29 +03:00
Robert Helgesson 54de0e1d79
xdg: create cache directory using keep file
We can avoid the activation block by instead creating a hidden file in
the directory.
2019-07-26 23:23:51 +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
pacien cc0cd538e6
taskwarrior-sync: add service module 2019-07-17 21:34:53 +02:00
Robert Helgesson ca4f22be85
mbsync: use full path to mu in example 2019-07-17 10:02:35 +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
Andreas Fehn 2029e104d4
xsuspender: write all options to config 2019-07-05 18:44:28 +02:00
Andreas Fehn 7c76f4a71f
xsuspender: correctly name default section 2019-07-05 18:44:28 +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
Robert Helgesson 8f7cd53204
getmail: restrict platform to Linux
Need to limit this module to Linux since it uses systemd.
2019-06-27 20:04:18 +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
Mats Rauhala 8243cc0a5d getmail: add module 2019-06-27 07:48:09 +02:00
Robert Helgesson 95d55b8da1
xsession: add option importedVariables
This option lists the environment variables to be imported into the
systemd user session.

Also add a basic test of the xsession module.
2019-06-23 14:06:29 +02:00
Kai Wohlfahrt f83c49baa3 gpg-agent: add sshcontrol configuration
This lets gpg-agent serve specific keys with authentication capability
as SSH keys
2019-06-18 13:37:19 +01: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
Judson f82246171b
files: backup file collisions
When a configuration file would be written to an existing file, rather
than failing switch (and having the user have to move or delete those
files), move the files automatically to a new path.

Closes #585
2019-06-09 14:26:12 +02:00
Robert Helgesson 5b50eb18fc
network-manager-applet: fix indentation 2019-06-09 12:13:11 +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
Florian Klink 8991fe2e90
screen-locker: fix systemd unit
In particular, don't add trailing backslashes introduced by
`xautolockExtraOptions`. Systemd's unit file parser seems to have
gotten a bit stricter and with systemd 242, the trailing backslash
caused the next non-empty line to be ignored.

In that case, this was `[Section]`, so all subsequent settings were
mistakenly added to `[Service]`, causing them to be ignored entirely.

Simplify and fix this by using `concatStringsSep` to build a single
`ExecStart` line.
2019-06-02 23:29:37 +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
Robert Helgesson d5bf68d77d
xsuspender: limit module to Linux 2019-05-30 23:25:30 +02:00
Jaka Hudoklin 5b95fd0521
firefox: add profile options 2019-05-30 22:58:36 +02:00
Jaka Hudoklin fcacba268d
xsuspender: add module 2019-05-30 19:53:10 +02:00
Richard Marko d7eaeaf636
random-background: add option display
This option parameterizes the `--bg-*` argument for feh.
2019-05-30 13:40:15 +02:00
Robert Helgesson d726afd9e4
imapnotify: specify notmuch configuration path 2019-05-19 01:08:06 +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
Robert Helgesson b256e3a44f
fontconfig: fix build error
This fixes a build error occurring when building a configuration
having fontconfig enabled and `home.packages` only containing one
package installing things to `/lib`.

Also adds a number of test cases to verify the fontconfig cache
generation functionality.

Fixes #703
2019-05-06 00:44:23 +02:00
Jos van Bakel be4b100ae5
rsibreak: add module 2019-05-05 01:56:53 +02:00
Robert Helgesson f99d4ba7c4
flameshot: fix service description 2019-05-01 13:13:38 +02:00
Robert Helgesson 1f4e9681f7
fontconfig: fix error on missing cachedir file
Fixes #699
2019-04-30 18:43:58 +02:00
Will Dietz f56256f488
files: fix find invocation broken in c94eaa0e
Add parens to expression so the `-exec` includes files matching both.

Otherwise (before this change) the `-exec` is only invoked for
links (`-type l`):

    file or (link -> doexec)
      =>
    (file or link) -> doexec
2019-04-30 15:07:47 +02:00
Robert Helgesson f18e2933d4
fontconfig: generate font cache files
Also deprecates the `fonts.fontconfig.enableProfileFonts` option. The
configuration is now always generated if `fonts.fontconfig.enable` is
set.

Fixes #520
2019-04-30 00:28:07 +02:00
Nick Hu 2f819d1647
imapnotify: add service 2019-04-29 00:05:02 +02:00
Mario Rodas 821df406c9
z-lua: add module 2019-04-28 23:57:31 +02:00
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