Commit graph

810 commits

Author SHA1 Message Date
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
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
Renee Margaret McConahy 208e310e94
bash: allow unsetting shell options 2021-09-13 00:19:17 +02: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
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
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
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
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 3d93e1e802
bat: support list settings and shell escaping
Fixes #2262
2021-08-12 21:29:14 +02: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
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
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
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
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 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
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
Gabriel Fontes 3ab254aff4
qutebrowser: add onChange ipc reloading 2021-07-11 22:46:06 +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
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
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
Sandro Jäckel cd11c02c28
command-not-found: update from nixpkgs 2021-06-20 20:40:37 +02:00
Josh Holland 2f6d5c90f4
fzf: also use custom package for shell integrations (#2119) 2021-06-17 23:57:25 +02:00
Philipp Dargel d04e52b0c0
terminator: add module (#2063)
added configuration for terminator
2021-06-17 09:06:47 -06: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
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
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
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
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
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
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
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
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
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
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
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
Ivan Kovnatsky b0688a631b
i3status-rust: fix bars.block example (#2016) 2021-05-17 11:25:03 -06: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
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
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
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
Harsh Shandilya 137a584e22
topgrade: add module (#1924) 2021-04-28 19:56:58 -04:00
Sumner Evans b706d101eb
format: remove exception for afew module (#1955) 2021-04-28 21:58:49 +02: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
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
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
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
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
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
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
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
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
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
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
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
Matthieu Coudron 55030c8302
neovim: deprecate programs.neovim.configure (#1810)
The `configure` option is not type checked and an artifact of how
nixpkgs is implemented.
We now have the equivalent options in home-manager and managing
interactions between the 2 systems complexifies maintainance of the
module.
Please use the other options at your disposal:
configure.packages.*.opt  -> programs.neovim.plugins = [ { plugin = ...; optional = true; }]
configure.packages.*.start  -> programs.neovim.plugins = [ { plugin = ...; }]
configure.customRC -> programs.neovim.extraConfig
2021-02-19 09:52:46 +01:00
Olmo Kramer 1ee1d01daa
bash: don't unconditionally set HISTFILE variable (#1621)
The bash module always assigns a value to HISTFILE in the bashrc, even
when no value is explicitly set. This makes it impossible to tell bash
to use a different HISTFILE by setting the HISTFILE environment variable

    HISTFILE=/tmp/bash_history bash

This changes the default value of programs.bash.historyFile to null, and
only writes the HISTFILE=... line to the bashrc if it is changed to
something else.
2021-02-12 19:06:24 +01:00
Thiago Kenji Okada 87e2ec341b
rofi: support top-level clauses in rasi (#1788)
See https://github.com/nix-community/home-manager/pull/1748#issuecomment-774995577
for details.

Related documentation:
920de75c4b (splitting-configuration-over-multiple-files)
2021-02-09 15:59:29 +01:00
Martin Weinelt e6f2687a83
firefox: drop enableAdobeFlash option (#1791)
It was removed in nixpkgs and causes an error on rebuilds.

error: Your configuration mentions firefox.enableAdobeFlash. All plugin related options have been removed, since Firefox from version 52 onwards no longer supports npapi plugins (see https://support.mozilla.org/en-US/kb/npapi-plugins).
2021-02-08 23:37:24 -05:00
Pablo Ovelleiro Corral b220d5c446
prezto: fix #1773 (#1778)
* zsh: update prezto path structure

The path structure was changed in Nixpkgs and this commit updates
the module to match.

Fixes #1773

* zsh-prezto: fix tests, small tidyup

Co-authored-by: Nick Hu <me@nickhu.co.uk>
2021-02-09 02:11:56 +00:00
Tristan 88e05a5472
obs-studio: Allow package to be configurable (#1787) 2021-02-08 15:50:59 -05:00
yoctocell 6dfa9ef85c
mbsync: add subFolders option (#1760)
The `SubFolders` option in mbsync controls the folder naming style in
the maildir.  There are three different styles:

* Verbatim - <maildirPath>/top/sub/subsub
* Maildir++ - <inboxPath>/.top.sub.subsub (used by Dovecot)
* Legacy - <maildirPath>/top/.sub/.subsub

Previously, the `SubFolders` option was hardcoded to `Verbatim`.  This
change allows configuration of the `SubFolders` option.
2021-02-06 22:25:49 +01:00
Matthieu Coudron fc87ac92af
neovim: suffix path with extraPackages (#1756)
* neovim: suffix path with extraPackages
* neovim: avoid generating empty blocks in config
* fix(neovim): install plugin regardless if there is config
2021-02-06 20:43:17 +01:00
Jakub Kozłowski d420287583
vscode: add args option to keybindings
Also make `when` optional.
2021-02-05 22:38:37 +01:00
Jakub Kozłowski 63d5d28db6
sbt: add new module 2021-02-04 23:42:37 +01:00
Thiago Kenji Okada 3f2f7f8efa
rofi: add support for lists in rasi (#1768)
This is now supported without the need of using to represent them:
9a843caa86/Official%20Themes/solarized.rasi (L134)
2021-02-03 18:48:34 -05:00
Robert Helgesson bbb6d30001
newsboat: switch from xdg_utils to xdg-utils 2021-02-03 23:40:41 +01:00
Thiago Kenji Okada 98d030f723
rofi: add support to custom themes
If this commit now it is possible to define a custom theme directly
using Nix, like this:

```nix
{
   programs.rofi.theme = {
      "*" = {
         background-color = "#000000";
         border-color = "FFFFFF";
         width = 512;
      };
      listview = {
         cycle = true;
      };
   };
}
```

And this will be converted to the proper rasi format to be used in
rofi.
2021-01-30 09:13:28 +01:00
Thiago Kenji Okada 6f7074d21d
rofi: migrate to rasi configuration format (#1736)
* rofi: migrate to rasi configuration format

The Xresources configuration format is deprecated in Rofi. For example,
using Rofi from unstable (1.6.1 as of now) you get the following
warnings when starting the application:

```
(process:9272): Rofi-WARNING **: 01:38:48.596: The old Xresources based configuration format is deprecated.

(process:9272): Rofi-WARNING **: 01:38:48.596: Please upgrade: rofi -upgrade-config.
``````

So this commit migrates it for its new configuration format, called rasi
instead.

This new implementation uses attrsets manipulation instead of using
strings, making the code clearer and also fixing some bugs found during
the way. To make sure everything is right, I also created some tests.

If someone wants to validate if the generated config is correct, just
run in terminal:

```
$ rofi -dump-config
```

And rofi will dump the current configuration file, including all
unsetted options.

* docs: document programs.rofi.extraConfig changes

* rofi: add thiagokokada as maintainer

* rofi: add toRasi function
2021-01-23 16:30:34 +01:00
li 08fc1586c0
fzf: add package option 2021-01-22 23:29:41 +01:00
Thiago Kenji Okada 2c0e3f61da
mpv: fix issue #1725 and add tests (#1726)
Closes issue #1725.

This allows mpv module to be customized with support for more advanced
features than the `programs.mpv.scripts` current support. For example,
with this change now this is possible:

```nix
{
  programs.mpv.package = (pkgs.wrapMpv (pkgs.mpv-unwrapped.override {
    vapoursynthSupport = true;
  }) {
    extraMakeWrapperArgs = [
      "--prefix" "LD_LIBRARY_PATH" ":" "${pkgs.vapoursynth-mvtools}/lib/vapoursynth"
    ];
  });
}

```

Since `programs.mpv.package` doesn't necessary reflect the final
derivation anymore (see #1524), we introduce `programs.mpv.finalPackage`
that has the resulting derivation.

This includes 2 tests:
- One to check if everything is alright with mpv
- Other to validate our assertion that package and scripts can't be
  passed both at the same time

* docs: document recent mpv module changes

* mpv: add thiagokokada as maintainer
2021-01-21 18:10:12 -05:00
jD91mZM2 c33b1777b6
chromium: fix preinstallation of crx files
We currently check `isPath` and `isString` on crxPath and version
respectively, which is

1. pointless because the module system already does such checks, and
2. wrong because isPath means path literal; a derivation therefore is
   not a path.
2021-01-21 23:24:29 +01:00
jD91mZM2 6f5fa6350d
chromium: support ungoogled-chromium
The guessed browser name is wrong here, ungoogled-chromium simply uses
"chromium" as configuration name.
2021-01-21 20:23:16 +01:00
Robert Helgesson 7e80e034cc
gh: fix attribute paths
This fixes some attribute paths to match recent changes in Nixpkgs.
2021-01-20 18:59:58 +01:00
Robert Helgesson 8f24ed4c7f
git: fix attribute paths
This fixes some attribute paths to match recent changes in Nixpkgs.
2021-01-20 18:58:35 +01:00
MaxSchlueter 3fe2a57b95
mu: fix command (#1623)
mu-cfind is meant to search for contacts within your contacts database and the emails that you have sent/received. The use of the --personal flag in that command is meant to filter for only emails that use your email addresses (which are all the ones you specify with the ${myAddresses} variable. Disregard what I said in #1623 (comment).

--my-address=<my-email-address>

    specifies that some e-mail addresses are 'my-address' (--my-address can be used multiple times).
    This is used by mu cfind -- any e-mail address found in the address fields of a message which also
    has <my-email-address> in one of its address fields is considered a personal e-mail address. This
    allows you, for example, to filter out (mu cfind --personal) addresses which were merely seen in
    mailing list messages.

To initialize the database with mu init, the ${myAddresses} is not required to be passed to successfully initialize the database, but it is heavily recommended to do so.

To see the difference, in a safe location, run mu init --maildir=<path>, then mu index. You'll notice that "personal addresses" returns <none>, although the database will still work. However, mu cfind --personal will fail (as the personal contacts don't exist). Then run mu init --maildir=<path> --my-address=<address>, then mu index. Then you'll be able to search for contacts using mu cfind --personal.
2021-01-19 19:36:31 +01:00
Alexander Foremny 4b772fd698 neomutt: fix smtp_pass option
Configuration option `smtp_pass` is expected to evaluate a shell
command, thus its value has to be in double-quotes.
2021-01-12 13:32:03 +01:00
Simon Bruder 65d0e2d241
mpv: add defaultProfiles option 2021-01-11 23:51:58 +01:00
meck e8358125d9
fish: fix regression due to changes in Nixpkgs
Fixes #1701
Fixes #1702
2021-01-09 22:35:03 +01:00
workflow a361541c10 broot: add package option
Allow for overriding the package used.
2021-01-06 11:16:36 +08:00
Robin Townsend b9597e5774
starship: remove deprecated character.symbol setting
Fixes #1550
PR #1695
2021-01-03 10:21:55 +01:00
Philipp Mildenberger f0e6396b78
nushell: fix link in the description (fixes #1693) (#1694) 2021-01-01 21:35:43 -05:00
06kellyjac 05448dcedb
octant: add module 2020-12-31 15:18:13 +01:00
zimbatm 118b36bf45
direnv: fix the fish source
This is needed for the latest version of direnv. See
https://github.com/direnv/direnv/issues/742
2020-12-31 00:49:55 +01:00
Nicolas Berbiche f4b5ae026c
waybar: fix css identifier check (#1687)
Fixes #1686
2020-12-30 18:17:39 -05:00
Matthieu Coudron 8e0c1c55fb
programs.neovim: write config in $XDG_CONFIG_HOME/init.vim (#1652)
* neovim: write config in $XDG_CONFIG_HOME/init.vim

instead of wrapping the configuration, which has sideeffects
https://github.com/NixOS/nixpkgs/issues/55376

* fix: update test accordingly
2020-12-29 20:26:02 +01:00
Nicolas Berbiche 99f0074362
waybar: allow CSS class when using a default module
Fixes #1682
2020-12-28 20:43:40 -05:00
Sebastián Estrella cd86c2638b
gnome-terminal: Add audibleBell option (#1671)
Turn on/off the terminal's bell
2020-12-27 16:09:59 +01:00
Sebastien Waegeneire 3627ec4de5
chromium: add support for external extensions
This allows the installation of external (outside of the Chrome Web
Store) extensions, both local and remote.

PR #1648
2020-12-23 00:59:03 +01:00
Mario Rodas 2901044520
mcfly: add option to enable fuzzy search
McFly 0.5.1 added support for fuzzy searching.
2020-12-22 00:30:47 +01:00
Austin Butler 76de0632ac
starship: update prompt_order to format in example 2020-12-21 23:56:46 +01:00
toonn a1162e04b3
tmux: add a prefix option overruling shortcut if defined
Previously, it was not possible to set an arbitrary tmux prefix since
CTRL was hardcoded in the module.

To avoid breaking existing configs, a new option was implemented that
conveniently uses the tmux terminology but defaults to null and does
not affect previous behavior when set to null.

The behavior for the shortcut option was not completely replicated,
i.e., it does not bind "b" to send-prefix but stick to the default of
the prefix binding sending prefix (C-b C-b instead of C-b b) and it
does not bind repetition of the prefix (C-b C-b) to `last-window`,
both of these bring the option closer to the default tmux
configuration.

Fixes #1237
2020-12-21 00:10:59 +01:00
seylerius 1a7f190cb9
rofi-pass: add rofi-pass plugin for password-store 2020-12-18 23:22:57 +01:00
c4710n 66a68b4a58
chromium: add support for brave
Brave Browser is a chromium-based browser, too.

+ it use the same web store with Chromium and Google Chrome.
+ the machanism of installing extensions works, and it's verified on
my macOS box.
2020-12-15 18:39:16 +01:00
Jos van Bakel 4f0b0d78af
msmtp: fix passwordeval (#1649) 2020-12-10 22:32:34 +01:00
Matthieu Coudron 9d775bad07
neovim: mark plugins as optional (possibly) (#1559)
can be loaded with packadd!
2020-12-10 22:30:16 +01:00
Jos van Bakel e3828769e8
msmtp: fix passwordeval (#1643)
msmtp fails with broken pipe error when sending emails.
The new line after the password is not required anymore since msmtp 1.8.0.
2020-12-09 09:22:00 +01:00
Nicolas Berbiche 005ea6cc18
zathura: allow configuring the package used (#1636)
Closes #1633
2020-12-04 18:38:22 +01:00
Blaž Hrastnik 0654364426
waybar: fix systemd service
The current definition makes waybar wait for dbus.service, but that
never happens because dbus.service is started on demand by
dbus.socket.

Per systemd docs:
  https://www.freedesktop.org/software/systemd/man/systemd.service.html#Implicit%20Dependencies

- Services with Type=dbus set automatically acquire dependencies of
  type Requires= and After= on dbus.socket.

- Socket activated services are automatically ordered after their
  activating .socket units via an automatic After= dependency.
  Services also pull in all .socket units listed in Sockets= via
  automatic Wants= and After= dependencies.

Removing Requisite/After makes the service properly start for me,
simply specifying Type=dbus is enough.

See #1370
2020-12-01 23:07:39 +01:00
Nicolas Berbiche 44f9d68d8c
treewide: replace attrs by formats or types.anything 2020-11-29 21:54:55 -05:00
Tyler Benster c6263347de
zsh: add initExtraFirst option 2020-11-29 19:39:47 +01:00
Nicolas Berbiche 964f698095
waybar: fix null modules-{left,center,right} error
- Change the `attrsOf unspecified` to `pkgs.formats.json`
- Add missing default modules
- Expand the `with lib` with every function used
- Add inline documentation about the generated warnings
2020-11-16 22:56:54 +01:00
Ashish SHUKLA 9e01441c5c
zsh: Add dirHashes option 2020-11-15 23:49:55 +01:00
Martin Toman b04aa56503
powerline-go: add zsh integration 2020-11-15 00:12:02 +01:00
malte-v 234de0270a
broot: improve configuration
The `invocation` is an optional attribute, so it doesn't make sense to
use it as the key in an attribute set. See

  https://dystroy.org/broot/documentation/configuration/#verb-definition-attributes

Actually, `invocation` should not be defined when one wants to rebind
a built-in verb to a different key.

Also added documentation for the `key` attribute.
2020-11-14 23:04:46 +01:00
Joe Hermaszewski 9c14bbe988
tmux: allow setting default-shell before new-session 2020-11-14 10:59:10 +01:00
workflow 9e9d8ffc7c
i3status-rust: add module
This adds the i3status-rust[0] module, a replacement for i3status
written in pure Rust.

[0] https://github.com/greshake/i3status-rust
2020-11-05 23:59:47 +01:00
AstroSnail 1066e01707
mpv: use lib.generators to render config
There exist mpv configurations which cannot be expressed in
`programs.mpv.config` currently. For example, it is impossible to use
multiple 'profile' attributes. This commit changes the way config and
profiles are parsed, using `lib.generators.toKeyValue` and
`lib.generators.toINI`, to allow for these kinds of configurations
through the use of `listsAsDuplicateKeys`.
2020-11-03 00:28:24 +01:00
Tobias Happ 22a3a5651d
gh: add module 2020-10-22 23:36:15 +02:00
Nicolas Berbiche 0778a80ee0
waybar: use Nixpkgs maintainers entry
I recently had my first package added to Nixpkgs and am now in the
official list of maintainers so this information is no longer required
here.
2020-10-22 22:57:58 +02:00
zimbatm 014d8deb60
tree-wide: update url to the repo 2020-10-22 22:41:56 +02:00
Robert Helgesson dc5239b5ce
firefox: minor option description fix 2020-10-20 00:28:52 +02:00
dawidsowa c5e47e25a6
firefox: add enableGnomeExtensions option (#1552) 2020-10-19 15:37:49 +02:00
Robert Helgesson e7d5531cfa
vscode: apply nixfmt 2020-10-12 22:51:12 +02:00
Robert Helgesson aecd4acfb4
neovim: apply nixfmt 2020-10-12 22:50:49 +02:00
Nick Hu 18a05a9604
zsh: add support for prezto configuration framework (#655) 2020-10-12 01:27:44 +01:00
happysalada fc5619764e
skim: add fish integration
Add fish integration to `programs.skim`.

PR #1549
2020-10-11 22:59:23 +02:00
Robbert Gurdeep Singh b584745506
neovim: add extraPackages (#1522)
Add an option to add packages to the PATH of nvim.
This may be usefull to make extra programes availible
for plugins and/or for usage in :! myprogram
2020-10-10 16:15:42 +02:00
Charlotte Van Petegem 473d9acdad
neomutt: fix duplicated extraConfig in account (#1546)
The `accounts.email.accounts.<name>.neomutt.extraConfig` option is
included twice in the resulting config file for the account. One time as
part of the `mraSection`, one time as part of `accountStr` (`accountStr`
includes the `mraSection`). This removes that duplication. I opted to
keep the one in `accounStr`, since `extraConfig` doesn't necessarily
have anything to do with the `mraSection`.
2020-10-09 20:55:35 +02:00
Evan Stoll 8537920706
autojump: add module
This also deprecates the `programs.bash.enableAutojump` option in
favor of this module.
2020-10-08 23:50:43 +02:00