Commit graph

1538 commits

Author SHA1 Message Date
Marin 959217e51d
astroid: fix maildir paths (#2350)
By maildir spec, emails should be under mailbox/folder/[cur,tmp,new]

This commit changes the default maildir path to more closely match the example config:
https://github.com/astroidmail/astroid/wiki/Configuration-Reference#accountsaccountnamesave_sent_to
2021-09-28 08:16:13 -06:00
Robert Helgesson eee807560b
dbus: improve recommended NixOS configuration
Specifically, instead of

    services.dbus.packages = with pkgs; [ gnome.dconf ];

we now recommend

    programs.dconf.enable = true;

which does the same and more.
2021-09-23 22:35:30 +02:00
Robert Helgesson 58aa667e28
starship: initialize using command in profile
Fixes #2316
2021-09-21 22:37:31 +02:00
Jakub Kozłowski 821299e90e
sbt: run passwordCommand without trailing newline 2021-09-21 22:16:34 +02:00
polykernel 7cb118c9d2
xdg: coerce XDG base directories settings to strings
Currently, when a custom path is set for any of the XDG base
directories (i.e XDG_DATA_HOME, XDG_CONFIG_HOME, ...), the path will
be coerced into a string when consumed by other options such as
xdg.configFile et al. This causes the the given path to be copied to
the nix store which in the case of xdg.configFile et al, translate to
the file being written there as it is a absolute path.

Interestingly, the default base directories all work as intended as
they are encoded as a string.

This commit converts the option to a string regardless of whether it
is a primitive path or a string encoded path. This allows downstream
consumers to use the base directories in arbitrary way without
accidentally copying the content of the directory to the store. It is
implemented in a similar manner as how home.homeDirectory undergoes
string conversion.

The existing file-attr-name test was modified to test also custom xdg
base directories, and the home.file generation test was removed as
there is a dedicated test for this case in the files module. The test
case was renamed to file-gen to better reflect the new scope.
2021-09-21 21:29:44 +02:00
Naïm Favier 371576cdc2
gpg-agent: remove unnecessary IFD
Make `gpgconf` only perform an import from derivation when the GPG
`homedir` is set to a non-default value, which probably isn't the case
for most users.
2021-09-15 23:09:02 +02:00
Samuel Ainsworth 562449b503
files: clarify "Please move the above files" message 2021-09-15 00:25:00 +02:00
Tad Fisher 514acaebb9
lieer: change settings to freeform type
Also add missing options.
2021-09-14 23:59:56 +02:00
polykernel 4b964d2f7b
bottom: add module
Bottom is a cross-platform graphical process/system monitor with a
customizable interface and a multitude of features.

Two unit tests were added validate the module behavior for an empty
configuration and the example configuration.
2021-09-14 23:40:21 +02:00
Robert Helgesson 2cfea84e6f
modules: fix list sorting 2021-09-14 23:14:41 +02:00
Renee Margaret McConahy 208e310e94
bash: allow unsetting shell options 2021-09-13 00:19:17 +02:00
polykernel 039f786e60
fnott: refactor module
- Change generation behavior to always generate a configuration file
  and pass it explicitly to fnott, it enforces the module to be
  hermetic instead of offloading the configuration selection to
  heuristics.
- Various style changes.
- Fix issue where fnott would abort due to an invalid config file when
  both the configFile and settings options are unset.
- Remove the empty-settings test as a configuration file is now
  already generated.

Suggested-by: Robert Helgesson <robert@rycee.net>
2021-09-08 22:48:44 +02:00
Colin Summers 275f39611d
generic-linux: add system fpaths for zsh
PR #2013
2021-09-07 23:47:49 +02:00
Robert Helgesson 0dab813748
betterlockscreen: limit to platform linux 2021-09-07 07:55:17 +02:00
Basti 5e46262cb1
betterlockscreen: add module (#2292) 2021-09-05 19:00:28 -06:00
Seth Etter 21a2ff4496
broot: expose modal option (#2300)
* broot: expose modal option

* broot: add basic test

* Use `mkEnableOption`
2021-08-31 10:52:20 -06:00
Mario Rodas 61ca2fc1c0
mcfly: switch to init command (#2301)
mcfly migrated its initialization method to a subcomand called `init`,
which available since mcfly 0.5.4 released on Feb 28, 2021.
2021-08-29 23:42:54 -04:00
Jason Felice 33db7cc6a6
kitty: add environment and darwinLaunchOptions options (#2280)
* kitty: add environment option

* kitty: add darwinLaunchOptions option

See https://sw.kovidgoyal.net/kitty/faq/#how-do-i-specify-command-line-options-for-kitty-on-macos

* kitty: only allow darwinLaunchOptions on darwin

* kitty: make expression shorter

* kitty: fix assertion message
2021-08-26 22:08:34 -04:00
polykernel 521a03d8bf
fnott: add module
Fnott is a keyboard driven and lightweight Wayland notification daemon
for wlroots-based compositors.

There are four unit test to validate behavior for an empty
configuration, the default configuration, global properties and
systemd service file generation.
2021-08-26 08:43:39 +02:00
Michael Adler 2cf19d1d98
neomutt: configurable package (#2294)
This makes it possible to easily use a different (e.g. more recent or
patched) neomutt package.

Co-authored-by: Michael Adler <therisen06@gmail.com>
2021-08-24 13:34:52 -06:00
Sandro 9029fd2b9d
service/window-manager/awesome: replace not existing package (#2293)
See https://github.com/NixOS/nixpkgs/pull/135117
2021-08-23 08:39:42 -06:00
Nicolas Berbiche c5b3069145
i3/sway: allow empty criterias using a value of 'true' (#2277)
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-08-21 20:41:06 -04:00
John Ericson 4367119ca3
local gpg-agent acting as ssh-agent should yield (#667) (#2253)
* gpg-agent: local agent acting as ssh-agent should yield

This happens commonly if someone using home manager with gpg-agent
acting as ssh-agent on both machines.

@rycee brought up how gpg-itself has some support for agents on both
ends, but in that case one is forwarding the gpg-agent socket rather
than forwardning the gpg-agent-as-ssh-agent socket. There is no need to
forward both.

So I think this is a good default:

 - Forward just gpg-agent socket and this doesn't matter.

 - Forward just the ssh-agent socket and this does the right thing.

 - Forward both sockets and now the ssh one takes priority instead, but
   forwarding both was always a silly thing to do.

Fix #667

* Update modules/services/gpg-agent.nix

Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>

Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
2021-08-21 01:43:41 -04:00
Jan van Brügge bf6b85136b
neomutt: Allow named mailboxes (#2212)
At the moment, only the inbox of each mail account is added to neomutt.
This inbox is always called "Inbox", so if you configure multiple
accounts, it is hard to know which one is which.

This change allows the user to specify a display name per account that
uses `named-mailboxes` under the hood.

Additionally this change now allows to add other folders than the inbox,
for example the Trash, Spam or Drafts folders to be added on a per-account
basis. Using extraOptions is not possible here, as those are lazily
loaded on mailbox open and thus would appear at the bottom and not sorted
by account.

This commit also changes the default sidebar format string to use %D
instead of %B because %B will ignore named mailboxes and show the folder
name instead.
2021-08-19 00:33:53 -04:00
Kid 49a03303e1
fish: provide different examples 2021-08-18 23:51:33 +02:00
Ivan Kovnatsky a5c609b4b1
sway: workspaceLayout: stacked -> stacking (#2272) 2021-08-17 22:58:03 -04:00
Vonfry ec260995e2
xsession: set default value of windowManager.command to handle display manager parameter (#2123)
Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2021-08-17 21:44:23 -04:00
Nicholas Coltharp 72394f6d6b
fluidsynth: add sound service option
Fluidsynth's systemd unit currently has a hard dependency on the
pulseaudio systemd service. Since fluidsynth can use other sound
services (e.g., pipewire-pulse), this should be configurable. This
commit adds the relevant option.

PR #2238
2021-08-18 00:38:29 +02:00
Naïm Favier 5569770d1e
files: move dry run logic out of onChange hooks
Fixes #751
2021-08-17 22:14:32 +02:00
Luka T. Korošec 8d68dbd144
doc: Add an example for a git includes section (#2275)
This adds an example for the `programs.git.includes.*.contents` section
since it was a bit ambiguous as to what kind of format it expects.
2021-08-17 16:12:00 -04:00
Robert Helgesson 7ef3db3730
docs: rename "doc" directory to "docs"
Also remove `CONTRIBUTING.adoc` and `FAQ.adoc` from project root since
GitHub knows to pick them up from the docs directory.

Fixes #2273
2021-08-17 19:35:11 +02:00
Ivan Malison ad0fc085c7
git-sync: add module 2021-08-17 00:00:38 +02:00
Bart Bakker e60dca7bb3
htop: fix htoprc when fields is not explicitly set
When the 'fields' setting is not set in htoprc, the htop program won't read any
of the settings. Provide a default value for fields in case it's not explicitly
set by the user.
2021-08-16 23:20:32 +02:00
Bart Bakker 447f80f676
htop: verify htoprc contents for example settings test
Fix ending the generated htoprc with a newline.
2021-08-16 23:20:31 +02:00
Bart Bakker e4553546cc
htop: let htop program use its default settings
Don't generate the `htoprc` when using default settings to use the defaults of
the htop program.

Rename the test for this case to 'empty-settings'.
2021-08-16 23:20:31 +02:00
Bart Bakker 7226c2db46
htop: add self as maintainer 2021-08-16 23:20:30 +02:00
Bart Bakker 6eb88173e9
htop: remove deprecated options and definitions 2021-08-16 23:20:29 +02:00
Robert Helgesson 72f3bc6fa4
flameshot: add some service sandboxing 2021-08-14 15:13:31 +02:00
Robert Helgesson 654d82f888
syncthing: add more service sandboxing 2021-08-14 15:13:27 +02:00
Robert Helgesson a965b097b1
lib.gvariant: fix rendering of empty non-string arrays
Before, empty arrays would always be rendered as an empty string
array.
2021-08-13 08:52:13 +02:00
Robert Helgesson 3d93e1e802
bat: support list settings and shell escaping
Fixes #2262
2021-08-12 21:29:14 +02:00
Robert Helgesson 604561ba9a
lib.gvariant: escape newlines in strings
See #2096
2021-08-11 23:30:24 +02:00
Mihai Fufezan c049a09d1a
easyeffects: add module (#2182)
* pulseeffects: change default example

pulseeffects-pw is now an alias to easyeffects, and the `pulseeffects` binary
that this module references is no longer in that package.

* easyeffects: add module

The easyeffects service is the PipeWire equivalent of the pulseeffects
service.
2021-08-11 09:21:43 -06:00
Shamrock Lee a4a8307897
java: add module 2021-08-10 23:30:12 +02:00
Matthew Leach 5515ec99cc
email: allow null certificatesFile
Allow the value of certificatesFile to be null.

Also fixup uses of this variable.

Fixes: #2206
2021-08-10 00:12:13 +02:00
Ivan Malison 2c4234cb79
notify-osd: init (#2240)
Daemon that displays passive pop-up notifications
2021-08-08 20:29:36 -04:00
Ctem 59be1f4983
dunst: add option to read alternative configuration file (#2113) 2021-08-07 20:44:36 -04:00
midchildan b0d769691c
emacs: add extraConfig option 2021-08-06 23:57:14 +02:00
Vanilla ab6517d34a
powerline-go: add fish integration 2021-08-06 22:46:58 +02:00
piegames 7f976da068
files: ignore conflict when files are identical
When the target file exists but has the exact same content then we
will now skip creation of the link from the source file.

Fixes #1213
2021-07-29 23:01:52 +02:00
Nicolas Berbiche e08c696524
volnoti: fix package option namespace (#2227) 2021-07-28 15:39:29 -04:00
Robert Helgesson ae8cb242f2
home-environment: use declare -gr in activation init
This marks the setup variables as read-only. Just to add a bit extra
safety.
2021-07-27 23:50:33 +02:00
Matthieu Coudron 47ad3655ec
programs.neovim: expose generatedConfigViml (#2213)
Expose the generated viml config, this has 2 advantages:
1/ user can choose to write the generated config to a file of its choice
2/ the user can prepend/append to the config before writing it

    xdg.configFile."nvim/init.vim".text = ''
	" prepend some config
	${programs.neovim.generatedConfigViml}
	" append some config
    '';

NOTE: this was already possible with 
xdg.configFile."nvim/init.vim" = mkMerge [
  (mkBefore {
    text = ''
      " prepend some config
    '';
  })
  (mkAfter {
    text = ''
      " append some config
    '';
  })
]
2021-07-27 15:59:50 +02:00
Kritnich f6f6990fc8
barrier: remove tray option (#2215)
barrier's --no-tray CLI parameter is non-functional and so the option has been removed.
2021-07-26 09:16:00 -06:00
t4ccer addc78bea0
neovim: Add coc support (#2154)
This adds two new options: 'programs.neovim.coc.{enable,settings}`.

These settings offer a simple interface over `xdg.configFile."nvim/coc-settings.json`,
using the standard Nix' syntax instead of a multiline string.
2021-07-25 22:40:07 -04:00
Robert Helgesson 996b439739
volnoti: add platform assert 2021-07-24 00:37:06 +02:00
Andreas Mager cc6909d407
trayer: add module (#2177) 2021-07-24 00:29:49 +02:00
Bjørn Forsman 6c984bd675
taskwarrior: don't create dataLocation with home.file
With

  programs.taskwarrior.dataLocation = /absolute/path

(outside of $HOME) the current implementation wrongly creates
$HOME/absolute/path (due to how home.file is implemented).

Since taskwarrior creates the dataLocation automatically on first run,
there is actually no need for HM to create that directory.

Additional benefit, the .keep symlink that HM creates as a side-effect
no longer appears in the taskwarrior data directory.

Fixes #2207.
2021-07-23 23:22:32 +02:00
Robert Helgesson ddeeb031fd
nixos: add nix package to activation script path
Fixes #2178
2021-07-23 23:18:15 +02:00
Ivan Malison 41101d0e62
volnoti: add module (#2183) 2021-07-21 00:17:27 -04:00
Alexander fa483b82ab
xcape: run xcape after setxkbmap (#2198) (#2199)
Co-authored-by: Alexander Khodyrev <a@akho.name>
2021-07-19 21:16:14 -04:00
Robert Helgesson d7e089699a
syncthing: restrict service slightly 2021-07-19 22:41:51 +02:00
Robert Helgesson 41903a14b0
Remove a few format exceptions 2021-07-18 23:34:50 +02:00
Robert Helgesson 5f433eb164
Move platform check into modules
Before, loading a module would be guarded by an optional platform
condition. This made it possible to avoid loading and evaluating a
module if it did not support the host platform.

Unfortunately, this made it impossible to share a single configuration
between GNU/Linux and Darwin hosts, which some wish to do.

This removes the conditional load and instead inserts host platform
assertions in the modules that are platform specific.

Fixes #1906
2021-07-18 20:43:22 +02:00
Ivan Malison c476cc61b2
xsettingsd: add service module 2021-07-15 15:47:42 +02:00
Sumner Evans f56a087cbc
sway: add propagate --to-code for modes (#2176)
Propagates the bindkeysToCode setting which adds --to-code to the keybindings in mode configs.

Closes #2174
2021-07-15 07:09:54 -06:00
IvarWithoutBones 775cb20bd4
sm64ex: add module 2021-07-12 08:57:35 +02:00
Colin Summers 9e3c402972
brave: fix config dir path (#2173)
Changes install path for extensions from `~/.config/brave` to
`~/.config/BraveSoftware/Brave-Browser` on Linux.
2021-07-11 21:19:10 -04:00
Naïm Favier 4971b9cad0
setxkbmap: reset options before setting new ones (#2160) 2021-07-11 21:15:18 -04:00
Gabriel Fontes 3ab254aff4
qutebrowser: add onChange ipc reloading 2021-07-11 22:46:06 +02:00
dawidsowa 97d183e2e4
devilspie2: add module (#1477)
Co-authored-by: Sumner Evans <me@sumnerevans.com>
Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2021-07-05 16:29:34 -04:00
Robert Helgesson ac319fd314
home-environment: add Nixpkgs release version check
This adds a warning when a release version mismatch is detected
between Home Manager and Nixpkgs.
2021-07-04 09:40:40 +02:00
Rosario Pulella 7df6656b11
foot: revert always create config file (#2091) (#2157)
This reverts commit 666eee4f72 (#2091).

As of NixOS/nixpkgs#128121, which incorporated changes from:
https://codeberg.org/dnkl/foot/pulls/588/, foot no longer
errors if there is no config file.
2021-07-01 12:05:37 -06:00
Mario Rodas 9ad0024d4d
rbw: use pientry.binaryPath when available (#2153)
`pinentry_mac` does not use bin/pientry as path to its binary, instead
it sets `binaryPath` pointing to the binary.
2021-06-29 21:27:19 -04:00
t4ccer 3f6cb409ca
xmobar: add module (#2120)
* xmobar: Add module

* xmobar: Add test case

xmobar: Add test default.nix

* xmobar: Order lists alphabetically

* xmobar: Change colon to comma in description

* xmobar: Fix macos tests

* xmobar: Remove extra line

* xmobar: Add literalExample

Co-authored-by: Sumner Evans <me@sumnerevans.com>

* xmobar: Update extraConfig description

Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-06-29 13:02:43 -06:00
t4ccer 5b08b33e8f
rofi: add "plugins" option (#2117)
* rofi: add support to plugins

* rofi: update package example

Co-authored-by: Sumner Evans <me@sumnerevans.com>

* rofi: Format package example

* rofi: Fix tests

Rofi will not try to install plugins using override when tests overlay
actual rofi package with empty scirpt

* rofi: Refactor

Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-06-29 11:13:01 -06:00
Robert Helgesson 9b7a90daa1
files: minor cleanup 2021-06-28 23:17:00 +02:00
Lava 85d67b0a6e
xsession: Add profilePath configuration option (#2140)
This allows the user to move .xprofile somewhere else, which can help
with decluttering their home directory.
2021-06-28 09:11:15 -06:00
Lava dc4337d9fe
xresources: Add path configuration option (#2141)
* xresources: Add path configuration option

This allows the user to move .Xresources somewhere else, which can help
with decluttering the home directory.

* xresources: Update xresources.path docs

* xresources: Fix formatting
2021-06-28 00:50:40 -06:00
DG a17bc3217f
zsh: add enableSyntaxHighlighting option (#2144)
Add a simple way to enable syntax highlighting for zsh using https://github.com/zsh-users/zsh-syntax-highlighting
2021-06-28 00:04:38 -06:00
Robert Helgesson 2aeaf65e8f
files: assert that target files are unique
Fixes #1807
2021-06-27 17:10:45 +02:00
Bruno BELANYI 8d3b273afe
himalaya: add module
A very simple TUI mail client.
2021-06-26 18:29:42 -04:00
j-k 8eee5f5272
obs-studio: use wrapobs and the new plugin layout (#2142)
The packaging in nixpkgs for obs plugins has changed and there's a
wrapOBS function.
The name of the plugins has also changed so the example needed updating
to reflect that.

Related: https://github.com/NixOS/nixpkgs/pull/125308
2021-06-26 17:29:50 -04:00
Ilan Joselevich 7e2b1a42aa
i18n.inputMethod: add module 2021-06-25 00:58:50 +02:00
Robert Helgesson 21ac4c499b
xmonad: restrict news entry to Linux 2021-06-24 08:42:28 +02:00
Sergey Vlasov b42fce7aaa
i3,sway: add bar color options for the focused output (#2135)
Both i3bar and swaybar can use different colors for the bar on the
currently focused monitor output; add color options for this feature.
2021-06-22 20:56:41 -06:00
Nicolas Berbiche 49864a4370
xmonad: document breakage of recompilation (#2024)
Co-authored-by: Markus Scherer <markus.f.scherer@gmail.com>
2021-06-22 20:36:47 -04:00
Sandro Jäckel cd11c02c28
command-not-found: update from nixpkgs 2021-06-20 20:40:37 +02:00
Naïm Favier dc1b6b8349
bspwm: re-add support for lists as config option values (#2125)
Removed by mistake in e70524c, but ignore_ewmh_fullscreen still needs it.
2021-06-20 00:57:40 -04:00
Naïm Favier e70524cd2b
bspwm: various improvements (#2095)
* bspwm: various improvements

- fixes shell escaping issues and general style issues
- allow reloading the config on-the-fly by exposing bspwmrc to the user

* bspwm: add configuration test
2021-06-19 18:40:17 -04:00
Josh Holland 2f6d5c90f4
fzf: also use custom package for shell integrations (#2119) 2021-06-17 23:57:25 +02:00
Christopher League 6d9bff77ed
rsibreak: add package when enabled; fixes #2092 (#2118)
Otherwise rsibreak cannot find its icon and is a blank gap on the
notification tray.
2021-06-17 09:08:10 -06:00
Philipp Dargel d04e52b0c0
terminator: add module (#2063)
added configuration for terminator
2021-06-17 09:06:47 -06:00
Naïm Favier 3aa479d551
dunst: make icon_path extensible (#2097) 2021-06-16 21:06:16 -04:00
Robert Helgesson a01fe9f81e
sxhkd: fix service test
Before it generated a nonsense test script.
2021-06-17 00:16:17 +02:00
Kevin Amado e92f5bb79e
programs.gnome-terminal: terminal options (#2042)
- Add support for showing bold as bright colors
- Add support to configure the background transparency
- Fix the scrollOnOutput, it was not being dumped to the config
- Add tests!
- Add myself as maintainer
2021-06-15 23:39:56 +02:00
Naïm Favier 1e8d0beae4
xresources: load .Xresources in xsession.initExtra 2021-06-15 23:01:13 +02:00
Dmitry Kulikov 9b39fd7eb4
sxhkd: stop scope before creating (#2086) 2021-06-15 13:27:35 -04:00
Ivar be0e73a308
qutebrowser: add quickmark support (#2059)
Closes: https://github.com/nix-community/home-manager/issues/1230
2021-06-15 12:22:21 -04:00
Josh Holland e0f2949c98
direnv: add enableFlakes option for enableNixDirenvIntegration (#2089)
NixOS/nixpkgs@03310df843 disabled flake
support by default, so we now need to build a custom package and use it
if the user wants to `use flake` successfully.  This should fix #2087.
2021-06-15 12:11:26 -04:00
bb010g 1375fd4a03
systemd: add automounts option 2021-06-14 23:10:21 +02:00
bb010g b6613a8544
systemd: bring more in line with upstream 2021-06-14 23:10:20 +02:00
bb010g c982c19f53
files: properly escape shell arguments 2021-06-14 23:10:19 +02:00
Sumner Evans 25bf3d7953
password-store: add environment variables to xsession.importedVariables (#2103)
This ensures that any systemd services that need pass will have the
correct environment variables.
2021-06-13 16:27:31 -06:00
ZerataX fb50102daf
mangohud: add module 2021-06-12 09:55:58 +02:00
Rosario Pulella 666eee4f72
programs.foot: Always create config file (#2091)
foot complains if there is no config file.
2021-06-10 18:40:36 +02:00
bb010g 42847469b3
zsh: add completionInit option (#2046)
Factored out from original .zshrc construction.
2021-06-09 11:15:10 -04:00
Christopher League aa36e2d6b4
xsession.pointerCursor: .icons file for AwesomeWM (#2084) 2021-06-07 18:00:31 -04:00
Johannes Schleifenbaum 06a98ba0fd
pantalaimon: add module (#2056) 2021-06-07 17:38:42 -04:00
Dominik Schrempf f74dc9c70b
xidlehook: add module (#1761)
Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
2021-06-07 16:13:43 -04:00
Ethan Edwards 9424f31f86
piston-cli: add module (#2052)
* piston-cli: add module

* News: Remove trailing whitespace
2021-06-07 08:07:15 -06:00
malte-v 3ffe2a4cdf
programs.senpai: add module (#2076)
* maintainers: add malvo

* programs.senpai: add module
2021-06-07 07:40:32 -06:00
Rodney Lorrimar afb5fd962c
irssi: add ssl_cert option for servers (#2043)
* irssi: add ssl_cert option for servers

I was following these instructions
https://www.oftc.net/NickServ/CertFP/
and found that the `/server add -ssl_cert` option was needed.

This patch therefore adds an optional
`programs.irssi.networks.<name>.server.ssl.certificateFile` path.

Perhaps this could also be done with a `settings` attribute, but that
would probably require most of this module to be reworked.

* irsii: Add example-settings test case
2021-06-06 15:31:25 -06:00
Bruno BELANYI 7591c8041d
rbw: add module (#1998)
`rbw` is a stand-alone Bitwarden client, which makes use of a daemon to
cache your password and manage state.

Its configuration can be managed by `home-manager` or not, leaving the
user free to configure it through `rbw config`.
2021-06-05 18:09:02 -06:00
Rodney Lorrimar 5060262b79
services/emacs: Prevent deletion of socket file
When running a socket-activated emacs service, we don't want emacs to
remove the socket file after exiting, because then subsequent
invocations of `emacsclient` won't be able to use the socket to start
emacs.service again.
2021-06-06 01:00:20 +02:00
Tad Fisher ac82c036d8
services/emacs: Update systemd definitions, drop Emacs 26 support
Emacs 27 added Type=notify support and updated the service definition to
remove the use of `emacsclient' to kill the service. Emacs 28 changes
the `StartupWMClass' in emacsclient.desktop to `Emacsd'. Update our
emacs.service and emacsclient.desktop definitions to match upstream
changes.

When killing emacs.service, the socket is removed, and subsequently
starting the service manually results in a service without a socket.
Prevent this by adding `RefuseManualStart=true' to the service's Unit
definition.

Drop Emacs 26 support as it is no longer shipped in nixpkgs. Update the
tests to verify the following configuration scenarios:

- Emacs version: 27, 28
- Socket activation: disabled, enabled
2021-06-06 01:00:19 +02:00
puzzlewolf e9ed9c2e11
etesync-dav: fix typo (#2067)
Upstream (https://github.com/etesync/etesync-dav/blob/master/README.md#configuration-and-running) uses 37358 as default port.
2021-06-05 16:58:12 -06:00
Naïm Favier dba802c1d9
dunst: add the whole package to home.packages (#2079)
The `dunst` package provides the `dunstctl` and `dunstify` command-line utilities which are useful to have.
2021-06-05 15:31:50 -06:00
lunik1 e4c55ed4e6
Revert "foot: add foot binaries to user service's path (#2061)"
This reverts commit cb227dc6c2.
2021-06-05 20:53:45 +02:00
Robert Helgesson 19d95258ac
docs: set current version to 21.11 2021-06-05 20:05:04 +02:00
Dusk Banks 45f9cb06a9
texlive: add packageSet option 2021-06-03 22:44:09 +02:00
Dusk Banks c12d53dd7c
texlive: "Texlive" -> "TeX Live" 2021-06-03 22:44:08 +02:00
Robert Helgesson d3cdabb5c9
Replace references to pkgs.gnome3 by pkgs.gnome 2021-06-03 22:09:59 +02:00
Matthieu Coudron c7e79b5337
programs.neovim: dont wrap init.vim (#2058)
since we want to write it ourself in ~/.config/nvim/init.vim
2021-06-03 21:37:53 +02:00
Basti 95da56b783
i3,sway: workspace output assignment (#2003)
(cherry picked from commit ea3ff797c87313e71f2ed2fd2b932a18a4b4400b)
2021-06-02 18:03:20 -06:00
cwyc 30102ea9e5
xdg-desktop-entries: add module (#1450)
* xdg-desktop-entries: add module

rebase

* xdg-desktop-entries: adapt to changes in makeDesktopItem

This package depends on the makeDesktopItem function in nixpkgs, which recently changed its syntax:
https://github.com/NixOS/nixpkgs/pull/91790

This commit makes the module compatible with the new syntax.

It also exposes the fileValidation option in makeDesktopItem.

Co-authored-by: cwyc <cwyc@users.noreply.github.com>
Co-authored-by: --get <--show>
2021-06-02 19:36:17 -04:00
Bart Bakker d6bbd02e95
htop: fix preserving the order of meters (#2065)
Pass meters for formatting in a list of attrsets so that ordering can be
preserved. In addition provide some mode-specific functions to create these
attrsets, to make for a bit nicer config.

This fixes #2060.
2021-06-02 19:27:17 -04:00
Sylvain Fankhauser b917624670
i3status-rust: replace deprecated format keys (#2062) 2021-06-02 11:05:19 -04:00
lunik1 cb227dc6c2
foot: add foot binaries to user service's path (#2061)
This is needed for foot's new terminal spawning feature to function.
2021-06-01 19:24:59 -04:00
Matthieu Coudron 2a4ab0d891
programs.neovim: fix tests + swap extraConfig and pluginconfig (#2053)
makes more sense to have extraConfig afterwards in case use want to override config
2021-05-31 19:32:21 +02:00
bb010g 0e329cee4c
jq: add package option 2021-05-30 22:48:57 +02:00
Robert Helgesson d2aaeac42c
files: remove assertion on recursive onChange
See discussion in

  https://github.com/nix-community/home-manager/pull/2031
2021-05-30 11:54:33 +02:00
Robert Helgesson 07ad6a4f76
files: fix use of onChange with directory source
Previously, the comparison would not handle directory comparison
correctly, always finding that the source and target differed. This
would trigger the `onChange` script on each activation.

Fixes #2004
2021-05-29 21:52:37 +02:00
Joe Hermaszewski 0e6c61a440
programs.neovim: Set customRC for new nixpkgs (#2039)
Previously with newer nixpkgs revisions extraConfig would not make it into init.nvim
2021-05-27 22:05:20 +02:00
Ilan Joselevich ddf35436b7
nextcloud-client: add startInBackground option (#2038)
* nextcloud-client: add runInBackground option

* nextcloud-client: Change runInBackground description

Co-authored-by: Sumner Evans <me@sumnerevans.com>

* nextcloud-client: Use optionalString for the runInBackground option

Co-authored-by: Sumner Evans <me@sumnerevans.com>

* nextcloud-client: Remove "defaultText" in the runInBackground option

* nextcloud-client: Fixed formatting

* nextcloud-client: Rename runInBackground to startInBackground

Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-05-27 10:54:20 -06:00
Rosario Pulella b840707a87
firefox: Always create profile directories
Write ".keep" file in profile dir for each profile regardless of any
other settings to creare profile dir.
2021-05-26 09:41:43 +02:00
Robert Helgesson 90493027e3
mbsync: fix news entry 2021-05-23 20:32:01 +02:00
Karl H 64607f58b7
isync/mbsync: replace master/slave with far/near (#1776)
* isync/mbsync: replace master/slave with far/near

  isync/mbsync: update tests to match new changes

* isync/mbsync: use mkRenamedOptionModule to alert user to near/far change

* isync/mbsync: use warnings to alert about master/slave far/near change

  Fix capitalization

  isync/mbsync: fix nitpicks

* isync/mbsync: run format script

* isync/mbsync: include new test for expected master/slave warnings

* isync/mbsync: add news about changes
2021-05-22 15:31:06 -06:00
Nick Hu 4f70f49cec
Add systemd target tray.target (#2027)
This target is for systemd units that require a system tray to be
running.

This also fixes taffybar.service: previously, systemd would consider it
to be active (running) before it was actually ready to accept tray
icons.
2021-05-22 03:15:12 +01:00
Scott Olson 82ab1ad467
syncthing: fix news link (#2032) 2021-05-20 20:23:55 -06:00
Bart Bakker 3d18912f5a
htop: fix deprecation warnings (#2026)
Previous patch on deprecation warnings broke use of old options due to function
call with too many arguments. This fixes the arguments so deprecation warnings
are properly traced while preserving old configuration options.
2021-05-19 11:38:14 +02:00
Bruno BELANYI b449cb77b1
firefox: deprecate 'enableGnomeExtensions'
Fixes #1990.
2021-05-19 08:51:52 +02:00
Nicolas Berbiche cced902dda
gpg: document lists are converted to duplicate keys (#2025) 2021-05-18 22:58:38 -06:00
Bart Bakker 91450f23ce
htop: replace individual option with 'settings' (#1844)
* htop: add some missing meters
* htop: replace individual options with 'settings'
Deprecate all options and introduce `settings` for setting htop configuration
values in Nix configuration.

Use `lib.htop` to provide `fields` and `modes` for easy access to htop's integer
configuration. And `leftMeters` and `rightMeters` functions for building the
separate `*_meters` and `*_meter_modes` attributes.

* htop: add release-notes 21.05 entry
* htop: improve deprecation warnings

Move default configuration into `settings` and make deprecated options default
to `null`. Print deprecation warnings for any option that is non-null --
i.e. only show warnings for explicitly specified deprecated options.

* htop: make self code owner of module
* release notes: fix invalid programs.htop xref
2021-05-19 01:36:08 +02:00
Pierre Labadens ff616b2734
foot: add module
Foot is a fast terminal emulator for Wayland. It can optionally be run
in a client-server configuration.

There are three unit tests to handle an empty configuration, the
default configuration, and systemd service file generation.
2021-05-18 22:29:41 +02:00
Nick Hu 73ecbd3722
Revert "status-notifier-watcher: introduce unit start delay"
This reverts commit 02c1f8d416.
2021-05-18 22:12:59 +02:00
Nick Hu 3612ca58e8
syncthing: make syncthing tray package configurable (#1257)
Also sets the default syncthing tray package to
https://github.com/Martchus/syncthingtray instead of
https://github.com/sieren/QSyncthingTray, which indirectly fixes #603
2021-05-18 15:43:17 +01:00
Robert Helgesson f9e45390de
scmpuff: use pkgs.scmpuff 2021-05-18 00:47:40 +02:00
Robert Helgesson e9b7d12e06
bash: generate files using writeShellScript
This ensures that the generated file is syntactically valid.

Issue #2015
2021-05-18 00:46:04 +02:00
Robert Helgesson 794d08a1d8
home-environment: generate checked activation script
By using `writeShellScript` when writing the activation script we
automatically get the right shebang and also get syntax validation.

Issue #2015
2021-05-18 00:18:57 +02:00
Ivan Kovnatsky b0688a631b
i3status-rust: fix bars.block example (#2016) 2021-05-17 11:25:03 -06:00
Sebastian Sellmeier 6a471f1b11
i3,sway: add option for default workspace (#2002)
Related to #695
2021-05-16 22:54:53 -06:00
Tad Fisher 01ec2aaefe
systemd: revert systemd-environment-generator usage for environment variables (#2001) 2021-05-16 17:43:50 -04:00
asymmetric 77188bcd6e
services/kanshi: add module example (#2008) 2021-05-15 23:17:48 -04:00
Tad Fisher 23769994e8
xdg.systemDirs: init module (#1797)
There is a need to manage XDG Base Directory system directory
environment variables in Home Manager modules. There is an existing
mechanism in `targets.genericLinux.extraXdgDataDirs', but this does not
apply to NixOS systems.

Furthermore, it is important that `XDG_CONFIG_DIRS' and `XDG_DATA_DIRS'
are set in both login shells (to support getty and SSH sessions) as well
as the systemd user manager (to propagate them to user services and
desktop environments).

The first need is addressed by adding the `xdg.systemDirs' module, which
configures lists of directory names for both `config' and `data'
directories. These are then set in
`$XDG_CONFIG_DIR/environment.d/10-home-manager.conf' and picked up by
the systemd user manager.

To make these, and other variables set in
`systemd.user.sessionVariables', available in login shells, an
additional step is added to `etc/profile.d/hm-session-vars.sh' which
exports the result of
`user-environment-generators/30-systemd-environment-d-generator' which
is shipped with systemd. The effect of this generator is to print
variables set on the systemd user manager such that shells can import
these into their environment.
2021-05-10 20:14:42 -04:00
Bruno BELANYI 3b799f6ea4
nix-index: add module (#1984)
`nix-index` is a tool to quickly locate the package providing a certain
file in `nixpkgs`. It indexes built derivations found in binary caches.

This module adds the shell integration for its `command-not-found`
script for interactive shells.
2021-05-09 18:13:10 -04:00
Bruno BELANYI 7d765d8f46
firefox: do not override other attributes in 'cfg' (#1988)
Closes #1962.
2021-05-09 18:06:04 -04:00
Robert Helgesson e42e147b58
Remove some usage of config.lib.dag
The `lib.hm.dag` attribute set should always be preferred.
2021-05-09 12:13:31 +02:00
Robert Helgesson 4896c50074
msmtp: add note about account commands in extraConfig
Fixes #1975
2021-05-08 11:39:12 +02:00
Michal Sojka b2dec35b86
Fix eval errors when i3 or sway null configs are null (#1989) 2021-05-07 15:39:10 -06:00
0qq ff959fd49a
sxhkd: fix environment (#1892)
* sxhkd: move to xsession.initExtra

When sxhkd is launched as systemd service it
doesn't have $PATH a user expects to see.

* sxhkd: add news entry
2021-05-07 15:28:52 -04:00
Vincent Breitmoser 30355f8ee6
etesync-dav: add module 2021-05-06 22:48:57 +02:00
Robert Helgesson f298705ae4
i3,sway: break documentation dependency on configuration
Before the documentation for a number of options had a dependency on
the configuration.
2021-05-06 00:16:37 +02:00
Robert Helgesson 90dd375eba
zsh: break configuration dependency in documentation
Before the documentation for the `programs.zsh.history.path` had a
dependency on the configuration.
2021-05-06 00:00:45 +02:00
Antoine Martin 64c5228c08
i3, sway: description and example for font options (#1980)
Adds an example to the root fonts submodule because the documentation doesn't know how to handle `type = with types; either (listOf str) fontOptions;`
2021-05-04 08:31:37 -06:00
Sumner Evans 9ffb206050
i3, sway: replace fonts with submodule (#1950)
This applies to both the root-level and the bar configs.

Closes #1937.
2021-05-03 21:54:35 -06:00
Robert Schütz e0ee5068dd
neovim: drop python2 support (#1978)
Nixpkgs did the same in https://github.com/NixOS/nixpkgs/pull/121339.
2021-05-03 21:47:08 -06:00
Sumner Evans 225bf275ba
neomutt: make folder change when sourcing account optional
This adds an option for disabling setting the folder when sourcing
accounts in neomutt.
2021-05-03 09:04:58 +02:00
David Terry cdc774f337
lieer-service: add path to notmuch config (#1704)
This change makes the services created via the lieer module aware of the notmuch config created by the home-mangager notmuch module (which is stored in a non-standard location).

Without this change all the lieer services created by the lieer module failed for me, as they were unable to find the notmuch config.
2021-05-03 00:19:41 +02:00
Hans ca7868dc29
fzf: option for tmux usage in shell integration (#1926)
Added options for setting:
FZF_TMUX
FZF_TMUX_OPTS
environment variables, which changes behaviour of fzf shell integration.
2021-05-01 18:10:41 -04:00
Mario Rodas 2f857761d0
ncspot: add module (#1939)
* ncspot: add module

ncspot is a ncurses Spotify client written in Rust using librespot.

* news: fix bad github ui merge

Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2021-05-01 17:38:12 -04:00
oxalica 5709b5f953
zsh: add history.ignorePatterns option (#1933)
The corresponding variable is `HISTORY_IGNORE` described in zshparam(1).
2021-05-01 16:33:45 -04:00
Blaž Hrastnik 19fc0917c0
waybar: fix systemd service
Fix xdg-portal issue where it'd take 25s for a GTK app to start
2021-05-01 16:26:10 -04:00
Christian Kalhauge 614a5b55bf
lazygit: add module (#1930)
Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-05-01 09:56:19 -06:00
Kritnich 2eed138026
barrier: add module
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-05-01 00:11:17 +02:00
Sumner Evans 5e6f09795c
gtk2: allow configuration of gtkrc file
Closes #519
2021-04-30 22:56:56 +02:00
Robert Helgesson d57c59e7cb
home-environment: extra message on nix-env error
When profile installation fails during activation we'll print an extra
message that explain that, if the error is due to conflicting
packages, then it may be that the user has a manually installed copy
of the package.

Fixes #1244
2021-04-29 17:58:15 +02:00
Harsh Shandilya 137a584e22
topgrade: add module (#1924) 2021-04-28 19:56:58 -04:00
Sumner Evans 55ef8d3a10
format: remove exception for keybase and kbfs modules 2021-04-29 00:49:01 +02:00
Ivar Scholten 4727b0543d
pbgopy: add missing options 2021-04-29 00:26:17 +02:00
Sumner Evans b706d101eb
format: remove exception for afew module (#1955) 2021-04-28 21:58:49 +02:00
Sumner Evans 19ebab97e8
i3, sway: extract border functionality to common function (#1947)
* i3, sway: extract border functionality to common function

Converted the i3 module to use default_border and
default_floating_border and extracted that functionality out to be
shared between the i3 and sway modules.

* i3: add sumnerevans as maintainer
2021-04-28 15:52:31 -04:00
Thibaut Marty a759143ae1
mpris-proxy: add module (#1832) 2021-04-28 15:05:56 -04:00
fortune a513fbc395
qutebrowser: fix config location on darwin (#1925) 2021-04-28 14:41:30 -04:00
Cole Mickens c0ba8c526d
gpg: can configure scdaemon.conf (#1960) 2021-04-28 14:39:58 -04:00
Tad Fisher 18ad12d52b
programs.ssh: Use nullable types for optional forward attrs (#1946)
Attempting to build a flake configuration using `ssh.remoteForwards' results in
evaluation errors when `port' is undefined, as `!(entry ? port)' evaluates to
false. This was verified in the nix repl, and also occurs for `nix flake
check'.

Set optional attrs in `bindOptions' and `forwardModule' to `null' by default
and adjust the assertion to check for `null' instead of attr definitions.
2021-04-27 17:16:33 -04:00
Cole Mickens d437baa41c
gnupg/gpg-agent: gnupg package is configurable (#1949) 2021-04-27 16:40:05 -04:00
Thibaut Marty 865e404826
poweralertd: add module (#1951) 2021-04-27 16:38:41 -04:00
Nicolas Berbiche d4278212b5
pass-secret-service: fix systemd unit install option (#1959) 2021-04-27 16:17:36 -04:00
Vladimir Serov b4e3f069f1
pass-secret-service: add module (#1898)
pass-secret-service is a proxy between
secret service (libsecret) and pass.
2021-04-27 15:36:29 -04:00
Sumner Evans 827636c619
dunst: add service package option (#1944)
* add service package option

* add waylandDisplay option dunst now supports wayland, and looks for WAYLAND_DISPLAY var to use it

Co-authored-by: @li:maisiliym.uniks <@li:maisiliym.uniks>
2021-04-25 01:56:48 -04:00
Robert Helgesson c2c26120d7
scmpuff: fix formatting 2021-04-24 19:06:40 +02:00
Mario Rodas e00dd0d7d2
programs.tmux: use xdg config path (#1928)
Tmux 3.2 includes support to use `$XDG_CONFIG_HOME/tmux/tmux.conf` as
well as `~/.config/tmux/tmux.conf` for configuration file.
2021-04-23 09:25:13 +02:00
Phillip Cloud 26fa84ebce
scmpuff: init (#1921)
scmpuff is a command line tool that allows you to work quicker with Git by substituting numeric shortcuts for files
2021-04-22 22:27:29 -04:00
Bruno BELANYI db00b39a9a
termite: add option to enable VTE integration (#1917)
This also migrates to using the VTE module directly, centralising bug
fixes.

Fixes #1909.
2021-04-20 19:45:39 -04:00
Tamás Hetesi 1e7e8ac75d
pet: Add support for tags in snippets (#1883)
Add missing `tag` option for elements of `programs.pet.snippets`.
2021-04-20 16:16:27 -04:00
fricklerhandwerk 6aa6556bca
gpg-agent: add GNUPG_HOMEDIR to environment (#1932)
otherwise, if `programs.gpg.homedir` is not set to default, calls to
`gpg` will fail to pick up anything related to secrets
2021-04-19 01:52:31 +02:00
Robert Helgesson ebbbd4f2b5
gpg: fix homedir option documentation
Previously the documentation had a dependency on the configuration.
2021-04-15 08:53:13 +02:00
fricklerhandwerk 348b5a5a69
gpg: make homedir configurable 2021-04-14 23:44:34 +02:00
Christian Gram Kalhauge 7cf69a3b8d
exa: add module
Exa is a 'ls' alternative with more sane colorscheme than lsd on white
backgrounds.
2021-04-11 22:47:06 +02:00
Sumner Evans 073710d7f2
newsboat: add sumnerevans as maintainer 2021-04-11 22:20:03 +02:00
Sumner Evans f7159a0f76
newsboat: use $XDG_CONFIG_HOME/newsboat
As of Newsboat 2.19, configuration using XDG_CONFIG_HOME/newsboat is
supported:
https://newsboat.org/releases/2.19/docs/newsboat.html#_xdg_base_directory_support

This is a continuation of #1331 and includes gating logic so that the
change doesn't happen until state version 21.05.

Supersedes and Closes #1331
2021-04-11 22:20:02 +02:00
Sumner Evans 18930aaf75
sway: add sumnerevans as maintainer 2021-04-11 22:11:23 +02:00
Sumner Evans 5c5d562266
sway: add config.seat
Added seat configuration to sway config. Also improved the way that the
configuration is generated to reduce superfluous whitespace.

Supersedes #1663
2021-04-11 22:11:22 +02:00
malte-v 91418d3e57
programs.neomutt: Make manual configuration take precedence over generated settings (#1896) 2021-04-11 19:52:31 +02:00
Vonfry f567ea8228
msmtp: add extraAccounts option
It is appended to the end of msmtprc instead of top like extraConfig.
2021-04-10 10:03:47 +02:00
brwith 17a10287d2
gtk: use font.size option in dconf (#1920)
Allow usage of font.size for the GTK interface font in dconf.
2021-04-09 21:45:14 -04:00
Sumner Evans be56b6f2c5
neomutt: Add encryptByDefault support (#1882)
Adds support for encryptByDefault to the neomutt module using the
crypt_opportunistic_encrypt option.
2021-04-07 15:45:50 -04:00
ant-arctica 3a16ebdf72
home-manager: Add --flake option to home-manager (#1856)
Implements a --flake options for build and switch, along with the usual
flake related optons (for lock-files etc).

Configurations in the flake are automatically discovered in the
following order:
1. `outputs.homeConfigurations."$flake-uri"` (the `--flake parameter`)
2. `outputs.homeConfigurations."$USERNAME@$HOSTNAME"`
3. `outputs.homeConfigurations."$USERNAME"`

Make home-manager use default configuration from
~/.config/nixpkgs/flake.nix, if it exists and nothing else is
specified.

Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2021-04-07 13:17:39 -04:00
Nicolas Berbiche e5a260a569
xmonad: use compiled configuration when config is not null (#1893)
If the configuration is `null`, the compiled configuration
`xmonadBin` should not be used and instead the WM startup command
should be set to the bare `xmonad` binary.
2021-04-07 13:05:21 -04:00
Sebastian Zivota 33edf558a0
lib/types/fontType: Add size attribute (#1848)
* lib/types: Add size attribute to fontType
* tests: Add test for kitty
* modules/types/fontType: Make size nullable
* Add release notes

Co-authored-by: Sebastian Zivota <sebastian.zivota@mailbox.org>
2021-04-07 16:18:09 +02:00
Viacheslav Lotsmanov cc60c22c69
programs.git: make signing key id be optional (#1886)
* Git: Make signing key id be optional

Thus by default the signing key is selected by commit’s author.

* Git: Add tests for config with and without signing key id
* Git: Format tests for signing key
* Git: Remove default value (null) for signing key
* Git: Update description for signing key
2021-04-05 14:28:36 +02:00
Sumner Evans 25a6a6d298
neomutt: support list in binds.map (#1885)
* neomutt: support list in binds.map
Closes #1245

Adds support for specifying programs.neomutt.binds[].map as a list. If
specified as a list, then the binds will be concatenated with a ",".

* neomutt: add deprecation warning for (binds|macros).map as string
Added note that specifying 'programs.neomutt.(binds|macros).map' as a string is deprecated. Instead, use the list form.

* neomutt: note deprecation warning in release notes
Added note that specifying 'programs.neomutt.(binds|macros).map' as a
single string is deprecated in favor of specifying it as a list

* neomutt: add assertion that map is not empty
Added an assertion that each 'programs.neomutt.(binds|macros).map' list contains at least one element.
2021-04-04 01:47:40 +02:00
Thiago Kenji Okada 6e3d93d7cc
xdg-user-dirs: add createDirectories option
It automatically creates all the XDG user directories. Set to false as
default to not break backwards compatibility.
2021-04-03 17:59:52 +02:00
lunik1 ad04237d51
dircolors: apply extraConfig after settings (#1890)
Applying extraConfig before settings made it unable to override the
defaults.
2021-03-31 22:01:02 +02:00
Naïm Favier 447ed0fbcb
bash: improve initialisation (#1850)
Resolves #1843. Allows aliases to be expanded in initExtra, and adds a
visible bashrcExtra option for commands that should be run in ~/.bashrc
even by non-interactive shells.
2021-03-31 20:08:24 +02:00
Rodney Lorrimar cbf0667037
programs.neomutt: Fix eval error when primary account not enabled (#1873)
* neomutt: Fix eval error when primary account not enabled

If neomutt is enabled for an account, but not the primary account, the
configuration will fail with "list index 0 is out of bounds".

This adds the first neomutt-enabled account as a fallback.

* neomutt: add regression test/update tests
2021-03-29 00:44:47 -04:00
Markus Scherer c1761366b5
xmonad: add libFiles option and build type compilation
The `libFiles` option allows Home Manager to manage additional files
for xmonad.

Also compile xmonad during configuration build time. This avoids the
need to compile the configuration during activation.
2021-03-28 09:57:19 +02:00
Sumner Evans 7b30fc9922
dunst: update documentation on settings (#1881)
Fix a small discrepancy in the documentation for the dunst module.
2021-03-26 23:27:13 -04:00
Sandro Jäckel ddcd476603
termite: remove use of package alias
This allow building with `allowAlias = false`.
2021-03-21 10:23:58 +01:00
Dany Marcoux f30b62a74d
git: install delta when it's enabled (#1866) 2021-03-18 18:32:50 -04:00
Dany Marcoux f9b5172d95
jq: Use default upstream values for colors (#1870)
As documented here: https://stedolan.github.io/jq/manual/#Colors
2021-03-18 18:19:42 -04:00
Nicolas Berbiche 6245dd11cf
chromium: remove 'extensions' option for proprietary Chrome versions (#1867)
Fixes #1383 by removing the `extensions` option for
- `programs.google-chrome`
- `programs.google-chrome-beta`
- `programs.google-chrome-dev`
2021-03-17 20:47:00 -04:00
anna ffbc3819e4
prezto: fix environment files being overwritten (#1863)
Fixed the breakage for prezto introduced in #1778.

The previous method created issues where certain configuration files would get
replaced by prezto's variants instead of being merged as before. This led to
issues like no config being loaded if `home.zsh.dotDir` was set.

The old method of loading these files has been restored. This fixes the issue.
2021-03-17 18:35:10 +00:00
Peter Rice b42d987ad9
neovim: fall back to plugin name if no pname (#1864)
When installing plugins, Home Manager expects plugins (packages) to have
a `pname` attribute.

This is not always the case, so fallback to `name` if `pname` is unset.
2021-03-16 20:09:16 -04:00
Mario Rodas 07f6c6481e
lsd: use explicit path for aliases 2021-03-14 21:25:45 +01:00
Mario Rodas 1ee1835a3e
lsd: add support for config file
lsd 0.19.0 added support for a configuration file
2021-03-14 21:25:44 +01:00
Mario Rodas 42bb553544 broot: use formats.toml to generate configuration 2021-03-13 04:20:00 +00:00
Mario Rodas 19c7d4e29f nushell: use formats.toml to generate configuration 2021-03-13 04:20:00 +00:00
Mario Rodas a4e146693e starship: use formats.toml to generate configuration 2021-03-13 04:20:00 +00:00
erictapen 040ea28e44
offlineimap: Strip newlines from offlineimap passwordcommand (#1853)
This allows me to use offlineimap with passwordstore. I guess nobody
uses a newline in their password?

Co-authored-by: Kerstin Humm <kerstin@erictapen.name>
2021-03-10 18:39:29 -05:00
midchildan 5fbb33cff5
targets/genericLinux: set TERMINFO_DIRS (#1819)
This makes terminfo descriptions in installed packages available to
shell sessions. Not needed for NixOS, which does the same thing already.
2021-03-08 15:41:23 -05:00
Pierre Labadens abc9d96d19
waybar: fix slow service stop (#1852)
Set the systemd user service to use "mixed" killmode, which lets waybar
stop its module scripts. This fixes issues where waybar blocks shutdown
until systemd sends a SIGKILL to waybar child processes.
2021-03-06 02:09:51 -05:00
fortuneteller2k 73559e0dbc
qutebrowser: add option to load autoconfig (#1842)
See #1774.

The option default to false.
2021-03-04 22:33:23 -05:00
Thiago Kenji Okada 0e2dc4be30
qt: add qt.style option (#1839)
This allows you to set a theme for Qt applications. For example, if you
want to use `adwaita-qt` theme to have uniform look between Gtk and Qt
applications, you can use it like this:

```nix
{
  qt = {
    enable = true;
    platformTheme = "gnome";
    style = {
      name = "adwaita";
      package = pkgs.adwaita-qt;
    };
  };
}
```
2021-03-03 22:20:17 -05:00
Andrew Fontaine 39e4991856
git: Add configured SSL certificate for SMTP (#1833)
If you have a custom SSL certificate configured for SMTP TLS, git should
use it.
2021-03-03 21:24:19 -05:00
Teo Ljungberg 69e2693342
home-manager: respect NO_COLOR environment variable
This makes Home Manager respect the NO_COLOR environment variable to
disable coloring from output generated by Home Manager.

This initiative can be found more on https://no-color.org/
2021-03-03 23:28:06 +01:00
Nicolas Berbiche ddee030dc7
gpg: export GPG_TTY for fish (#1846) 2021-03-03 21:59:13 +01:00
Thibaut Marty e72e241d7a
getmail: fix configuration mailboxes generation (#1719)
The mailboxes must be a tuple of string or the string "ALL".
The generated value was broken if the mailboxes configuration was a list
of only one string (but not "ALL"): the generated expression ( "str" )
was not a tuple but a string.
Now, we always generate a tuple (by adding a comma, even with a list of
size one). Getmail works with the special value "ALL" whether it is a
in tuple or not, so this case is not specifically handled.
2021-03-01 17:58:18 -05:00
Markus Scherer 9068ff292c
offlineimap: precompile get_settings.py
Fixes #1802
2021-03-01 13:02:10 +01:00
Andrew Fontaine f45c7000d5
git: correct value of envelopeSender for msmtp (#1838)
The value should be "auto", not `true`.

Also fix news entry.
2021-02-28 20:42:44 +01:00
Andrew Fontaine aa479b0124
git: rely on msmtp for smtp if msmtp is enabled (#1829)
If a user using msmtp to send all their email, it would be preferred if
git used it as well.

The only settings necessary are to set the smtp server to the msmtp
binary and set envelop sender to true, which makes git call msmtp with
the -f flag to set the from address from the email.
2021-02-28 16:06:11 +01:00
Phillip Cloud 3327cbe1f9
gh: fix protocol setting (#1831)
* gh: fix protocol setting

* gh: fix test
2021-02-27 21:42:56 +01:00
Rien fb9bf032fb
alot: set primary email first (#1826)
Alot uses the first email in the config as primary email. Because the
order in which the email.accounts were sorted was alphabetical, the account
set to `primary = true` was not put first in the alot config and thus
not considered as primary email for alot.

This was fixed by sorting the email accounts again such that accounts
with `primary = true` come first.
2021-02-27 21:41:16 +01:00
fortuneteller2k e7b1491fb8
pulseeffects: add option to specify package (#1825) 2021-02-23 14:37:38 -05:00
Kevin Mullins 0933fb8765
Starship: improve zsh terminal check (#1821)
Matches zsh's check with bash and fish, checking for a dumb terminal and
allowing vterm inside Emacs.
2021-02-23 19:51:27 +01:00
Manuel Mendez 7582090eb0
kakoune: Fix reference to group in hook config (#1820)
Fixes "undefined variable 'group' at .../kakoune.nix:577
2021-02-22 22:21:36 +01:00
Nicolas Berbiche 21952f1cab
fzf: remove non-working historyWidgetCommand option (#1818)
The environment variable FZF_CTRL_R_COMMAND has never existed
and been support by fzf according to
`git grep FZF_CTRL_R_COMMAND $(git rev-list --all)` and
`git log -G FZF_CTRL_R_COMMAND`.
2021-02-21 23:34:33 -05:00
Nicolas Berbiche eb3a0342a8
gpg: allow for duplicate keys in config (#1814)
Allow for duplicate keys in the form of a list of strings.

Also update the `settings` example configuration to use `literalExample`.
2021-02-21 00:37:46 -05:00
midchildan 2b7a73071a
targets/darwin: copy fonts to ~/Library/Fonts/HomeManager (#1817)
Fonts are copied instead of being symlinked because macOS won't
recognize symlinked fonts.
2021-02-21 00:34:56 -05:00