1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-11-05 02:39:45 +01:00
Commit graph

195 commits

Author SHA1 Message Date
Paho Lurie-Gregg
1a6d6b8ace
zplug: Reduce noise (#1441)
Running `zplug install` will always product output, even if there is
nothing to do.

Gating it behind a `zplug check` eliminates that output when there is
nothing to do, and is recommended in the zplug README.
2020-09-06 11:16:34 +02:00
Robert Helgesson
41b1af808f
targets.darwin: disable application directory
This disables the generation of the application directory until
conflicting behavior with nix-darwin is resolved.

See https://github.com/rycee/home-manager/issues/1341#issuecomment-687286866
2020-09-04 20:01:19 +02:00
Nicolas Berbiche
182454fe6b
kanshi: fix exec configuration
Also add a test case for the exec option.

PR #1446
2020-09-04 16:45:42 +02:00
Nicolas Berbiche
d3aee544b6
targets.darwin: add module
Currently, this module makes sure that `/Applications` directories for
packages in `home.packages` get linked into the user's environment.
2020-09-04 15:21:48 +02:00
Christoph Herzog
1ed8e7ef98
vscode: add options for keybindings
Adds a new `keybindings` option to the `vscode` configuration.

It contains a list of key bindings, which will be written to
`%vscode-dir%/User/keybindings.json`.

PR #1351
2020-09-04 14:14:52 +02:00
Olmo Kramer
4b702bf6b7
ncmpcpp: add module
PR #1457
2020-09-01 22:05:57 +02:00
Robert Helgesson
4fe5afa755
files: make sure the target file name is escaped
The previous implementation would allow variables to sneak into the
file names. This commit makes sure the resulting target file path
exactly matches the expected path.
2020-08-29 18:22:03 +02:00
Alex Rice
0869e23700
sway: set bar defaults to null
Allows fields of bar to be nullable and omit them from the generated
configuration if unset.

Fixes #1361
PR #1386
2020-08-26 00:05:05 +02:00
Alex Rice
625b92cbba
sway: add default test 2020-08-25 23:58:43 +02:00
Vincent Gatine
a3dd580adc
kanshi: add service
PR #1142
2020-08-15 01:02:23 +02:00
Nicolas Berbiche
f4f9f1a618
waybar: add module
PR #1329
2020-08-14 00:20:49 +02:00
Daniel Gorin
96e2f1bdf0
kakoune: add support for plugins
The kakoune editor has a plugin mechanism and several plugins are
already packaged under `pkgs.kakounePlugins`. However, adding these
packages to `home.packages` is not enough: the `kakoune` package needs
to be configured with the list of plugins to include, so that they get
sourced on start-up.

We add a `programs.kakoune.plugins` option, analogous to
`programs.vim.plugins`.

The change is backwards compatible since `pkgs.kakoune` is defined as

    wrapKakoune kakoune-unwrapped { };

and `wrapKakoune` defaults the list of plugins to empty.

PR #1356
2020-08-13 23:45:49 +02:00
Andrew Fontaine
baea46c5ac
git: set SSL if useStartTls is false
The git-send-email [0] script uses StartTLS if `smtpEncryption` is set
to `tls`, which can break services that don't support StartTLS.

[0]: bd42bbe1a4/git-send-email.perl (L1533)

PR #1395
2020-08-13 21:36:31 +02:00
Symphorien Gibol
e1fbb74b41
lib.gvariant: escape backslashes in strings
PR #1433
2020-08-12 22:53:28 +02:00
Daniel Gorin
d1f4d1514d
kakoune: escape showWhitespace separators
We were passing the separators for the `show-whitespaces` highlighter
verbatim. This was problematic in case one wanted to use, spaces,
quotes or `%` as separators since the resulting kakoune configuration
would be invalid.

According to kakoune's docs, the separator has to be one character
long, so we can use a simple rule for escaping them. It is possible
that people has been working this around by passing, e.g. `"' '"` as
separator in order to get a space (i.e., escaped explicitly by the
user), so we just let longer strings be used verbatim.

PR #1357
2020-08-12 22:44:33 +02:00
Daniel Gorin
861690ff29
kakoune: simplify testcase
Instead of using several regex assertions, just state precisely what we
are producing. While the regex was technically more flexible, since it
would ignore differences in whitespace, it was also harder to read/edit.
2020-08-12 22:43:38 +02:00
Robert Helgesson
f119d4d142
fontconfig: disable multiple font packages test
This test started failing as described in the code comment. May be
related to Nixpkgs updating Fontconfig from version 2.12 to 2.13. See
https://github.com/NixOS/nixpkgs/pull/73795.
2020-07-31 17:30:57 +02:00
Leon Kowarschick
2e7935767f
alacritty: add package option
PR #1372
2020-07-27 17:08:10 +02:00
seylerius
89adfc9f01
qutebrowser: unwrap list from keybinding removal
The option to remove the default keybindings by setting the
`programs.qutebrowser.enableDefaultKeybindings` variable to `false`
had a list wrapped around the `config.py` line. This would cause a
type coercion error.

PR #1410
2020-07-27 16:48:38 +02:00
eyjhb
7b73f84071
dropbox: add module
Ability to control Dropbox daemon, if it should start and where to
place the files.

PR #1391
2020-07-25 23:12:33 +02:00
Philipp Mildenberger
3f1be69359
nushell: add module (#1333) 2020-07-24 17:15:55 +02:00
Robert Helgesson
83301ca787
lib: support gvariant maybe type
Fixes #1397
2020-07-24 16:45:13 +02:00
Mario Rodas
4bd0ca2cd7
git: configure delta through [delta] git section (#1371)
this breaks backwards compatibility (now accepts a dict instead of a list) so please update
programs.git.delta.options accordingly.
2020-07-20 17:03:40 +02:00
Cole Mickens
5c639ff68a
sway: focus.followMouse supports yes/no/always
Also add associated tests for both Sway and i3.

PR #1231
2020-07-17 15:35:00 +02:00
Damien Cassou
7f7348b470
powerline-go: fix argument to -error option
Addition of the line "local old_exit_status=$?" broke the call to
powerline-go.

PR #1364
2020-06-29 10:21:17 +02:00
Robert Helgesson
58716b7541
xresources: add missing test file 2020-06-28 11:23:34 +02:00
Robert Helgesson
600f39f966
xresources: do not generate file for empty properties 2020-06-28 00:41:05 +02:00
Robert Helgesson
5a15f3833d
ne: use dummy package in tests
This is to avoid unnecessary downloads and builds when running the
tests suite.
2020-06-24 23:02:49 +02:00
Tad Fisher
54b69d2ef8
emacs: fix service environment
Emacs populates 'exec-path' at launch from the 'PATH' environment
variable. Likewise, the emacs derivation from nixpkgs populates
'load-path' from the 'NIX_PROFILES' variable. As neither of these are
available by default in the systemd user manager, revert to the
previous behavior of launching the Emacs daemon from a login shell.

Fixes #1354
Fixes #1340
PR #1355
2020-06-24 22:50:30 +02:00
cwyc
8f2342e13a
ne: add module
Added a simple module to place configuration files for ne: the nice
editor.

PR #1336
2020-06-23 22:37:02 +02:00
Robert Helgesson
ecb93ab9ae
generic-linux: respect NIX_STATE_DIR 2020-06-14 23:34:53 +02:00
Vincent Breitmoser
b0e8a1569e
fluidsynth: add module
Fluidsynth is a real-time MIDI synthesizer based on the SoundFont 2
format.

PR #1326
2020-06-14 15:30:51 +02:00
s1341
1b210e7143
zplug: add module
This adds initial support for the zsh package manager "zplug".

PR #1105
2020-06-14 15:12:49 +02:00
Damien Cassou
478022afad
powerline-go: add module
PR #1285
2020-06-13 00:02:13 +02:00
Robert Helgesson
edc3bede6e
tests: avoid dependency on documentation 2020-06-12 21:59:51 +02:00
Tad Fisher
3815248786
emacs: Support socket activation via systemd
Add 'services.emacs.socketActivation.enable' for generating an
'emacs.socket' systemd unit.

Emacs since version 26 has supported socket activation, whereby an
external process manager such as systemd listens on a socket and passes
it to the Emacs daemon when the manager launches it. This improves
startup time of the user session and avoids launching the daemon when not
needed, for example when launching the user session via SSH.

This implementation hard-codes the socket path to the default for the
version of 'programs.emacs.finalPackage', because systemd does not
perform shell expansion in the socket unit's 'ListenStream' parameter
and it seems like an advanced use-case to change the socket path. Shell
expansion would be desirable as the socket path usually resides in
directories such as $XDG_RUNTIME_DIR or $TMPDIR.

Tests were added to verify behavior in the following cases:

- Emacs service with socket activation disabled
- Emacs 26 with socket activation enabled
- Emacs 27 with socket activation enabled

PR #1314
2020-06-11 20:39:49 +02:00
Dany Marcoux
c378c1cbcd
autorandr: add crtc option
This option was missing. It is generated by autorandr when executing
`autorandr --save my_profile`.

Fixes #1024
PR #1283
2020-06-09 23:15:44 +02:00
Damien Cassou
b33802ca7f
direnv: add support for nix-direnv
PR #1297
2020-06-06 22:17:43 +02:00
Damien Cassou
575cd4b8ba
direnv: add initial test for bash integration 2020-06-06 21:40:41 +02:00
Robert Helgesson
ba91ac5948
texlive: remove upstream dependency in tests
This changes the tests to not require downloading the texlive
distribution.
2020-06-06 16:43:17 +02:00
Damien Cassou
a21c97d011
ssh: add support for ServerAliveCountMax
PR #1299
2020-06-03 23:16:43 +02:00
Robert Helgesson
8bbefa77f7
tests: perform code formatting test in test suite
This should improve visibility when CI job fails due to bad
formatting.
2020-05-28 01:37:27 +02:00
Nikita Uvarov
09304026ae
autorandr: add basic configuration test 2020-05-26 19:04:25 +02:00
Justin Lovinger
e9945ee6ee
dircolors: add module
PR #1219
2020-05-12 22:15:32 +02:00
Mario Rodas
cba7b6ee6e
git: add basic support for delta
PR #1198
2020-05-05 00:12:58 +02:00
ivann
03b4f81679
qutebrowser: add some options
Specificially, this adds options

- `aliases`,
- `searchEngines`,
- `keyMappings`, and
- `keyBindings`.

PR #1212
2020-05-03 13:53:06 +02:00
Justin Lovinger
1dd226fde7
aria2: add module
PR #1202
2020-05-03 13:21:52 +02:00
Justin Lovinger
ecc1f2310c
i3status: add module
PR #1210
2020-05-03 13:12:13 +02:00
Robert Helgesson
91551c09d4
files: add helper function mkOutOfStoreSymlink
Using this function it is possible to make `home.file` create a
symlink to a path outside the Nix store. For example, a Home Manager
configuration containing

    home.file."foo".source = config.lib.file.mkOutOfStoreSymlink ./bar;

would upon activation create a symlink `~/foo` that points to the
absolute path of the `bar` file relative the configuration file.

PR #1211
2020-05-02 01:22:14 +02:00
Matthieu Coudron
10673bff4c
alot: add structured settings
- Also support tags.

- Optionally write the hooks file.

PR #812
2020-05-01 22:26:26 +02:00
Robert Helgesson
642d9ffe24
git: escape string values in configuration
This should handle the special characters that typically occur.

Fixes #1206
2020-05-01 00:50:58 +02:00
Peter Rice
8b82f52e75
fish: source each file in plugin conf.d separately
According to https://fishshell.com/docs/current/cmds/source.html,
only one file can be sourced at a time: "If additional arguments are
specified after the file name, they will be inserted into the $argv
variable."

PR #1204
2020-04-29 21:46:10 +02:00
Johannes Rosenberger
a7cdfaa325
tmux: reorder tmux.conf content
In particular, put `extraConfig` in the end, which enables overriding
of all settings, even plugin settings.

PR #945
2020-04-27 22:04:13 +02:00
Johannes Rosenberger
23220d43f3
tmux: use stable plugin names (name -> pname)
PR #1195
2020-04-26 15:22:23 +02:00
Robert Helgesson
95b95b1407
tests: improve test purity
Before the XDG variables would be set from the user's environment, if
available. This would break some tests.

With this change the tests should be fully deterministic.

Fixes #1190
2020-04-24 21:46:34 +02:00
Robert Helgesson
cfaf213980
tests: bump nmt revision 2020-04-24 21:45:20 +02:00
Owen McGrath
2f2a4396c6
lf: add module
Adds 'programs.lf', configuration managment for lf, a terminal file
manager.

PR #1174
2020-04-23 22:41:22 +02:00
Terje Larsen
9905ab5087
fish: fix fish plugins complete path update
PR #1178
2020-04-22 01:02:10 +02:00
Robin Stumm
86ccd8fecb
kakoune: implement whitespace highlighter config
The options under `programs.kakoune.config.showWhitespace` existed
but were not implemented.

PR #1162
2020-04-16 22:34:31 +02:00
Robert Helgesson
f6afd95ef8
tmux: fix broken test case 2020-04-15 23:25:16 +02:00
Robert Helgesson
022228e0aa
ssh: switch type of matchBlocks to listOrDagOf
This switches the type of `matchBlocks` from `loaOf` to `listOrDagOf`.
The former has been deprecated in Nixpkgs. The latter allows
dependencies between entries to be expressed using the DAG functions.
2020-04-13 23:24:40 +02:00
Robert Helgesson
8ad4bd6c1b
types: improve dagOf and listOrDagOf
In particular, improve the behavior of these types if the element type
is a submodule.
2020-04-13 22:01:20 +02:00
Robert Helgesson
ebdfa06685
tests: update nmt 2020-04-10 01:01:20 +02:00
Terje Larsen
5b7b9821e0
qutebrowser: add support for list values in settings 2020-04-09 19:13:07 +02:00
Justin Lovinger
b7737f1732
qutebrowser: add module
PR #1132
2020-04-08 14:50:59 +02:00
Tobias Happ
d06bcf4c97
targets.genericLinux: add module
PR #797
2020-04-08 13:36:25 +02:00
Robert Helgesson
1cfc0a3203
sxhkd: add dummy package in tests 2020-04-06 12:55:58 +02:00
Robert Helgesson
a128e35927
Update nixfmt and apply to a few more files 2020-04-06 12:51:11 +02:00
Robert Helgesson
ac9e44a831
lib: add GVariant datatype and functions 2020-03-21 00:28:50 +01:00
Robert Helgesson
5c1e7349bb
lieer: remove package dependency in tests 2020-03-08 12:02:35 +01:00
Tad Fisher
9f46d516fa
services.lieer: add module
Add 'services.lieer', which generates systemd timer and service units
to synchronize a Gmail account with lieer. Per-account configuration
lives in 'accounts.email.accounts.<name>.lieer.sync'.
2020-03-07 15:13:50 +01:00
Tad Fisher
60a939bd01
programs.lieer: add module
Add 'programs.lieer', a tool for synchronizing a Gmail account with a
local maildir and notmuch database. Per-account configuration lives in
'accounts.email.accounts.<name>.lieer'.
2020-03-07 15:13:15 +01:00
Maximilian Bosch
0056a5aea1
debug: add module
This one is fairly similar to `environment.enableDebugInfo`[1] (hence
the name). It ensures that the `debug`-output of packages defined in
`home.packages` is installed if available and ensures that
`gdb`/`elfutils` find those symbols by adding
`~/.nix-profile/lib/debug` to the `NIX_DEBUG_INFO_DIRS`[2] variable.

[1] https://github.com/NixOS/nixpkgs/blob/release-19.09/nixos/modules/config/debug-info.nix
[2] https://github.com/NixOS/nixpkgs/blob/release-19.09/pkgs/development/tools/misc/gdb/debug-info-from-env.patch

PR #1040
2020-03-07 15:03:44 +01:00
Cole Helbling
a11cf1decd
fish: allow arguments to functions
This allows the ability to provide arguments to a function, such as
`--on-event` in order to trigger a function on the
`fish_command_not_found` event, for example.

PR #1063
2020-03-07 12:51:37 +01:00
zimbatm
9a1feb5b10
git: fix the config output formatting
When setting values using the `git config --set` command, git formats
the file a bit differently. This changes the output so it maps to that
format.

Differences:

* each `key = value` in a section is prefixed by a tab character
* the `=` between the key and the value is surrounded by spaces

PR #1069
2020-03-07 12:02:20 +01:00
Robert Helgesson
faa2945606
tests: remove package dependencies on rofi and abook 2020-03-06 00:27:21 +01:00
Robert Helgesson
f3fbb50b68
polybar: add test case 2020-03-04 21:26:35 +01:00
MmeQuignon
0a1ce53990
abook: add module
PR #1058
2020-03-04 19:58:05 +01:00
Robert Helgesson
6fc6c736f9
tests: bump nmt version 2020-03-02 23:47:39 +01:00
Robert Helgesson
acf106ced0
starship: give settings option more specific type
This more readily allows merging configurations.

Fixes #1023
2020-02-29 22:17:47 +01:00
ef148ab3cb
newsboat: show queries before urls
PR #1047
2020-02-26 21:38:07 +01:00
Cole Helbling
5ca224f75b
fish: consistency is key and other style changes
I like my empty sets with spaces between them.
2020-02-20 00:03:29 +01:00
Cole Helbling
9a258edc10
fish: fix sourcing of .fish files
Turns out, the quotes were messing things up.
2020-02-20 00:03:26 +01:00
Ryan Orendorff
111011b2c2
fish: add some tests
- If a function is defined, check that the function file exists and
  that the contents matches a given string.

- If no functions exists, the functions folder should not exist.

- Verify plugin functionality.
2020-02-20 00:03:26 +01:00
Robert Helgesson
5be9aa417a
neomutt: fix sendMailCommand when msmtp is enabled
This resolves the error

    The option `accounts.email.accounts.xyz.neomutt.sendMailCommand`
    is defined both null and not null, in
    `…/home-manager/modules/accounts/email.nix' and
    `…/home-manager/modules/accounts/email.nix'.

that would occur previously when both neomutt and msmtp were enabled
for an account.
2020-02-16 23:08:37 +01:00
Robert Helgesson
a4a07ba996
readline: fix example 2020-02-02 01:20:05 +01:00
Robert Helgesson
45abf3d38a
Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
Robert Helgesson
de8033747c
tests: clean up tests
- Move all module tests to their own directories.

- Avoid duplication of `// import`.
2020-01-26 21:11:23 +01:00
Matthieu Coudron
fba87f8998
neomutt: add module
PR #1002
2020-01-26 20:46:44 +01:00
Robert Helgesson
ba097beb17
tests: remove unnecessary user of import 2020-01-26 11:30:32 +01:00
Robert Helgesson
1397570eea
tests: use lib.hm.types instead of explicit import 2020-01-26 11:28:34 +01:00
Robert Helgesson
6e4b9af080
Switch to extended Nixpkg's lib
This change makes use of the `extend` function inside `lib` to inject
a new `hm` field containing the Home Manager library functions. This
simplifies use of the Home Manager library in the modules and reduces
the risk of accidental infinite recursion.

PR #994
2020-01-21 20:47:04 +01:00
Robert Helgesson
7f87329fca
home-environment: use DAG type in activation option 2020-01-16 00:16:35 +01:00
Robert Helgesson
6c127efb2d
lib: add type generators dagOf and listOrDagOf
Given an inner type, the former function generates a type that expect
DAG option values. The latter function is only present to temporarily
allow the `programs.ssh.matchBlocks` to keep accepting list values.
2020-01-16 00:16:09 +01:00
Michael Hoang
df4db50632
i3: update default i3 key bindings
Update to match the default i3 key bindings

  https://github.com/i3/i3/blob/master/etc/config

PR #957
2019-12-31 11:19:20 +01:00
Robert Helgesson
bcfc52cb85
tests: move git and files tests to directories 2019-12-08 21:40:22 +01:00
Robert Helgesson
284b8d94d4
readline: add variables option
Also add a basic test case.
2019-12-08 21:13:58 +01:00
Robert Helgesson
ed9a6e34ad
gpg: remove dummy gnupg package from test
It caused evaluation issues related to systemd.

Fixes #934
2019-12-02 21:16:44 +01:00
Nikita Uvarov
4505710565
zsh: fix history.path issues
- Default value is set to static '$HOME/.zsh_history' -- dotDir is not
prepended anymore
- $HOME is not prepended to the option value
- Ensure history path directory exists

Fixes #886, replaces #427.
2019-11-05 23:04:06 +01:00
Nikita Uvarov
26defdf205
tests: fix i3-keybindings test 2019-10-28 22:05:09 +01:00