1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-11-09 12:49:44 +01:00
Commit graph

1152 commits

Author SHA1 Message Date
David
2b02f8c7cb
thunderbird: use account id for IMAP directory name
This allows users to have multiple accounts on the same domain within
the same profile.

Fixes #3448.
2022-12-04 13:49:29 +01:00
Loïc Reynier
15d94f3058
pet: don't create file without snippets 2022-12-04 12:28:03 +01:00
toastal
9fb1bb9794
himalaya: 0.6.x config updates
Some properties were renamed. Big changes however include `backend` and
`sender` enum options.
2022-12-04 09:34:47 +01:00
mat ess
ca48fced83
fish: format user and generated .fish files
Adds a `fishIndent` wrapper to pass fish scripts to the built in
`fish_indent` function.
2022-12-04 09:07:54 +01:00
maximsmol
eb3598cf44
just: deprecate module
The module is no longer necessary since completions work out of the
box now.
2022-12-03 10:13:47 +01:00
Andrew Marshall
478610aa37
neovim: Source neovimRcContent directly from store (#3444)
The previous version linked the file into home, then sourced that. Since
nothing else expects that file to be there, this is unnecessary.
Additionally, doing so made it impossible to test a built config without
switching, e.g. using `XDG_CONFIG_HOME=… nvim` or `nvim -u`. This
remedies that, at least for this particular reference.

To test this, change from asserting contents of the config file to
actually starting nvim, outputting sentinel values, and then asserting
their values are present. This way it’s tested that nvim loaded the
config, rather than that some config is in a specific place.

This is all in one commit as the test, as written now, would not have
worked before since the previously hard-coded home path was not an
actual file in the test environment.
2022-11-30 17:19:31 +01:00
Mario Rodas
e38ce0ae16
direnv: fix direnv configuration path
Direnv >=2.21.0 uses [1] $XDG_CONFIG_HOME/direnv/config.toml as
configuration path.

[1] 54cb3c5a91
2022-11-30 11:45:39 +01:00
Nicholas Sielicki
50c9bccb6a
bat: add extraPackages option
The bat program has a few additional packages in Nixpkgs, allow for
these to be specified via Home Manager.
2022-11-27 19:19:21 +01:00
Peter Kling
fa671f1795
programs.zsh: set ZPLUG_HOME before loading zplug (#2987)
ZPLUG_HOME must be set before loading zplug, since otherwise it is ignored.
2022-11-27 18:50:46 +01:00
Jakub Fišer
1bdbebc3f8
ssh: add generic Match support for matchBlocks (#2992)
* ssh: add generic Match support for matchBlocks

Introduce conservative support for actual `Match`
blocks in ssh config.

"Conservative" means this PR doesn'tt try to process
the `match` expression and simply uses it as a string
provided by the user.

If set, `match` has precedence over `host` meaning
if both are set, `match` is used and `host` is ignored.

* Add news entry
2022-11-27 16:15:32 +01:00
Philipp Mildenberger
7ae7250df8
starship: add nushell integration support 2022-11-27 09:13:20 +01:00
Philipp Mildenberger
4a12f304e0
nushell: add options 'extraConfig' and 'extraEnv' 2022-11-27 09:09:09 +01:00
Loric Brevet
e999dfe7cb
kakoune: allow custom package (#3434) 2022-11-27 01:49:15 +01:00
Nicholas Sielicki
bf99255fc9
kitty: silently drop darwin-specific options (#3394)
Rather than reject a configuration when this option is set, just
silently ignore it when the platform isn't darwin. The name makes it
obvious that it won't be applied outside of darwin, and this allows
people to use the same configuration between hosts without any special concern.

Co-authored-by: Nicholas Sielicki <git@opensource.nslick.com>
2022-11-27 01:16:33 +01:00
Phillip Cloud
f7641a3ff3
scmpuff: add fish integration flag 2022-11-21 23:51:05 +01:00
Loïc Reynier
433e8de330
fzf: add colors option (#3206) 2022-11-21 08:35:18 -07:00
KFearsoff
c0f9cbcf93
newsboat: allow imperative "urls" management
This commit allows imperative management of "urls" file. It can be
useful if "urls" file is treated as a secret.

With this change, it's possible to provision "urls" via Syncthing,
agenix, sops-nix or other means, while still managing Newsboat
declaratively.
2022-11-20 00:26:42 +01:00
Matthieu Coudron
948d1f8a5c
programs.zsh: generate a more compact config (#3170) 2022-11-18 09:27:43 -07:00
alois31
5589b28e66
opam: add fish integration (#3422) 2022-11-18 09:00:57 -07:00
David
651db464dc
thunderbird: allow using the module on Darwin
While the Nix packages for Thunderbird are not available for macOS,
the module can still be used to manage profiles and configuration.

Fixes #3407.
2022-11-13 10:06:36 +01:00
Xyz00777
6ce3493a3c
kodi: fix syntax error in example 2022-11-09 09:16:50 +01:00
Robert Helgesson
5dd3ce3f1e
mu: use absolute path to mu in activation block 2022-11-07 15:09:31 +01:00
David
b764068a50
thunderbird: add module
Add a new Thunderbird module that uses the configuration in
`accounts.email.accounts` to setup SMTP and IMAP accounts.

Multiple profiles are not supported at this point.
2022-11-04 16:12:12 +01:00
natsukium
39c1e6704a
vscode: fix invalid examples 2022-11-03 09:24:25 +01:00
Arjan Schrijver
04e844090e
oh-my-posh: add module 2022-11-02 01:04:42 +01:00
David Morgan
160025ca46
irssi: add option for SASL external authentication 2022-10-31 09:28:49 +01:00
Markus S. Wamser
d3f21617ac
vscode: add options to disable update checks
Update notification popups are annoying when vscode/vscodium is
managed by Home Manager. However, as these settings also require the
configuration to be managed via `userSettings`, they are disabled by
default.
2022-10-27 18:16:03 +02:00
Paul Meyer
7dc4e4ebd7
k9s: add module 2022-10-25 00:05:50 +02:00
Kira Bruneau
69d19b9839
firefox: support setting search engines
With this change, it's now possible to configure the default search
engine in Firefox with

  programs.firefox.profiles.<name>.search.default

and add custom engines with

  programs.firefox.profiles.<name>.search.engines.

It's also recommended to enable

  programs.firefox.profiles.<name>.search.force = true

since Firefox will replace the symlink for the search configuration on
every launch, but note that you'll loose any existing configuration by
enabling this.
2022-10-22 20:36:04 +02:00
David Warde-Farley
c485669ca5
i3status: add package attribute 2022-10-20 10:04:30 +02:00
j-brn
42f81ac107
looking-glass-client: add module 2022-10-18 10:12:15 +02:00
Damien Cassou
04f5399978
borgmatic: add module 2022-10-16 21:51:52 +02:00
Rohan Ferris
2ecb3ea990
firefox: rename chrome-gnome-shell suggestion to gnome.gnome-browser-connector (#3329)
gnome3.chrome-gnome-shell is now gnome.gnome-browser-connector
2022-10-15 15:49:11 -04:00
Robert Helgesson
618ab0f882
discocss: fix attribute name 2022-10-13 11:52:24 +02:00
Ilan Joselevich
2d8e5a9934
discocss: add module
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2022-10-13 01:11:01 +02:00
Gabriel Arazas
bd87a34bb4
sioyek: enable multiple bindings for the same command 2022-10-08 22:11:55 +02:00
AndersonTorres
be2cade373
havoc: add module 2022-10-07 01:21:11 +02:00
Mario Rodas
8c297e1816
ledger: add module
Add module for https://www.ledger-cli.org/
2022-10-07 01:06:40 +02:00
Philippe Laflamme
7fee13eb4c
sbt: cache passwordCommand output
This will cache the output of `passwordCommand` per authentication
realm.

Context: the `credentials` key in `sbt` is a `TaskKey[Seq[Credentials]]`.
In `sbt`, tasks are evaluated on-demand and their output is not cached.
This particular key is referenced by all submodules in a project. When
the command is relatively expensive (e.g.: `pass show foo`), this
results in several seconds of delay when doing basic things like
`compile` or `test` which makes this unusable without some kind of
caching.
2022-10-07 00:40:50 +02:00
Philippe Laflamme
599e22b1c7
sbt: allow managing the ~/.sbt/repositories file
sbt allows overriding the default repositories to use to resolve
dependencies. This is often used with proxies and/or private
repositories to host internal packages.

This change adds a `repositories` attribute to `sbt` to allow
specifying the values that will go in `~/.sbt/repositories` file.

To support the above change we also deprecate the `baseConfigPath`
option in favour of `baseUserConfigPath` which points one level higher
by default. This allows not using relative paths to refer to the
top-level configuration directory.

Also adds tests for the new option and the deprecation of the previous
one.
2022-10-07 00:23:29 +02:00
Tad Fisher
e4e639dd4d
programs/lieer: use lieer package (#3262)
The gmailieer attribute was aliased to lieer in nixpkgs.
2022-10-03 09:50:40 +02:00
Vanilla
9727190b80
mangohud: fix moved link of config file
PR #3278
2022-09-30 20:47:00 +02:00
superherointj
5c5a5b9b45 urxvt: fix package name 2022-09-30 15:08:02 -03:00
arjan-s
e7be7c4688
pls: add module (#3285) 2022-09-30 12:53:39 -04:00
Chan Siu Man
1f5ef2bb41
broot: fix config file location (#3273)
At commit [5666e6b9](5666e6b9fb),
broot refactored the content of the file `/resources/default-conf.hjson`
into multiple files under the directory `/resources/default-conf`, using
[`imports`](5666e6b9fb/resources/default-conf/conf.hjson (L152-L165))
to refer to other configurations.

This refactoring is effective since version 1.14.0 of broot.

After this refactoring, in `xdg.configFile.broot` (which defaults to
`~/.config/broot`):
- we need to copy all potentially referenced files (all files under
  `resources/default-conf`),
- except we need to leave out `conf.hjson` which conflicts with the
  `conf.toml` generated by home-manager (because broot [accepts both conf.toml and conf.hjson](https://dystroy.org/broot/conf_file/))

To implement this, we use `symlinkJoin` to create the content of
`xdg.configFile.broot` by merging multiple sources.
2022-09-27 12:19:02 +02:00
Robin Stumm
65b65ce5ef
broot: use upstream defaults, allow all config options (#2644)
* broot: use freeformType for config

* broot: use defaults from upstream

closes #2395

* broot: generate shell function

* broot: add @dermetfan to CODEOWNERS

* broot: rename `config` option to `settings`

* broot: make example more idiomatic

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

Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
2022-09-26 20:36:06 +02:00
José Luis Lafuente
707cb75ed3
tmate: add module 2022-09-26 00:28:00 +02:00
Joosep Jääger
de3758e31a
neovim: fix a typo in the generated init.lua (#3252)
neovim complains when having both an init.lua and an init.vim
2022-09-23 13:33:17 +02:00
Matthieu Coudron
bd83eab622
programs.neovim: default to init.lua (#3233)
We change the current logic: instead of writing an init.vim which loads
lua/init-home-manager.lua, we write an init.lua that sources init.vim

This commit also avoids writing any of these files if the plugins have
no config.
2022-09-22 10:39:55 +02:00
Loïc Reynier
f5e4614c11
yt-dlp: add settings option 2022-09-22 00:09:35 +02:00
David Baynard
41790ba656
mbsync: extend config type with list of strings
Some configuration options can take space separated strings; for
example `SSLVersions` can be configured with multiple allowed
versions.

    SSLVersions TLSv1.3 TLSv1.2

This can now be represented in Home Manager.

    SSLVersions = [ “TLSv1.3” “TLSv1.2” ];

In implementing this change, it uses oneOf for config type, as it is a
cleaner way to represent the union than the nested eithers
formulation.

Also add SSLVersions to test lists of strings in
`account.extraConfig`.
2022-09-20 01:24:21 +02:00
AndersonTorres
6745da6dce
rtorrent: change settings to extraConfig
Per NixOS RFC #42, settings should be reserved to structured settings,
whereas extraConfig is used for stringly configuration.
2022-09-15 09:25:46 +02:00
janabhumi
ebd7830814
exa: add package option 2022-09-15 09:15:09 +02:00
Kiran
60c6bfe322
zsh: add option for zsh-history-substring-search (#3156) 2022-09-13 16:06:52 -04:00
Mario Rodas
f9f4c8e1e7
gallery-dl: add module
gallery-dl [1] is a cli to download image galleries from several image
hosting sites.

[1] https://github.com/mikf/gallery-dl
2022-09-09 11:56:37 +02:00
Mario Rodas
4cfc0a1e02
yt-dlp: add module
yt-dlp is a cli to download videos from YouTube.com and other sites.
2022-09-08 19:51:24 +02:00
Gabriel Volpe
6ec6b2e362
nheko: add module 2022-09-08 19:09:30 +02:00
Charlie Moog
340ec22f6f
git: add config helper for hooks 2022-09-08 11:05:07 +02:00
Lily Foster
140aaed3df
git: gpg sign tags with signing.signByDefault set
The `tag.gpgSign` config option was added in Git 2.23.0 and seems like
it should be set in addition to `commit.gpgSign` when
`programs.git.signing.signByDefault` is enabled
2022-09-05 14:52:39 +02:00
Gaetan Lepage
de079ec371
btop: add module 2022-09-05 14:34:37 +02:00
Linus Heckemann
f9a35cacdc
msmtp: allow sending email from aliased addresses 2022-09-05 12:50:09 +02:00
Ryan Horiguchi
375631f35b
firefox: support nested folders in bookmarks (#3112) 2022-08-26 21:28:57 -04:00
Matthieu Coudron
0884d6c6e4
programs.neovim: remove 'configure' setting (#3177)
everything is now covered by other settings that are more user friendly
than this big opaque attrset.

Also 'configure' wont do anything with nixpkgs-unstable the way HM
configures neovim. so no need to keep it, the deprecation warning is > 1
year old.
2022-08-26 22:11:34 +02:00
Ronny Pfannschmidt
5bb1f67568
git: add option to define store names for generated include files (#3171)
This allows to use gitconfig/gitconfig-some-intent
as store path suffixes for the texts.
2022-08-26 15:48:50 -04:00
Matthieu Coudron
4c8c1c9977
kitty: produce fewer empty lines
This generates a more compact configuration file.
2022-08-26 00:17:05 +02:00
Robert Helgesson
76fbb1b15e
treewide: replace <link> by <xref> where appropriate 2022-08-26 00:07:08 +02:00
Matthieu Coudron
353d21e108
neovim runtime (#3168) 2022-08-23 22:02:05 +02:00
Sumner Evans
688e5c85b7
neovim: fix tests (#3147)
https://github.com/NixOS/nixpkgs/pull/184364 broke the tests

Closes #3146

Signed-off-by: Sumner Evans <me@sumnerevans.com>
2022-08-15 08:41:57 -06:00
Gaetan Lepage
ff5133843c
zathura: add mappings option 2022-08-14 21:27:06 +02:00
Chua Hou
44dcad5604
wezterm: support color schemes
Allows users to specify TOML color schemes using Nix.
2022-08-14 20:57:22 +02:00
amesgen
8675cfa549
gh: add extensions option 2022-08-12 20:49:50 +02:00
Lukas Nagel
324fedcf9f
Add module for aerc (#3070)
This adds support for configuring email accounts, with automatic smtp, imap,
sendmail (msmpt) and maildir (mbsync, offlineimap) setup in aerc,
via `accounts.email`.
2022-08-11 23:08:28 +02:00
AndersonTorres
389f2b2037
bashmount: add module 2022-08-08 18:13:21 +02:00
Robert Helgesson
f5e9879e74
bash: support bash completion 2022-08-07 15:25:44 +02:00
Hemanth Bollamreddi
d9e03b7f8c
wezterm: add module 2022-08-07 11:11:56 +02:00
Sky Leite
d8d9ff0b2d
tint2: correctly reference the provided package (#3125) 2022-08-02 20:01:13 -04:00
Lily Foster
77648a07e4
hyfetch: prevent writing config with default/empty settings (#3124) 2022-08-01 19:58:38 -04:00
Lily Foster
d1c677ac25
hyfetch: add module 2022-08-01 18:38:42 +02:00
Moïse Valvassori
7146638e9e
Fix typo. (#3118) 2022-07-30 18:49:20 -07:00
Naïm Favier
119febc464
vscode: avoid unnecessary IFD (again)
Fixed in https://github.com/nix-community/home-manager/pull/2506 then
unfixed in https://github.com/nix-community/home-manager/pull/2613
2022-07-27 13:51:19 +02:00
linj
8419dfd39d
fish: enable manpage completion
This patch follows a similar patch[1] in nixpkgs. With this patch,
fish can complete manpages for programs installed through
home-manager, e.g., using home.packages.

[1]: https://github.com/NixOS/nixpkgs/pull/91794
2022-07-25 13:54:51 +02:00
Ryan Horiguchi
d86c189158
firefox: support showing bookmarks on toolbar 2022-07-23 15:28:14 +02:00
rcerc
218cb3aee2
firefox: fix empty check of bookmarks list 2022-07-23 15:22:31 +02:00
rcerc
f91fb470bc
firefox: use coercedTo to convert bookmarks to a list 2022-07-23 15:22:23 +02:00
h7x4
64c745fe1c
firefox: add support for nested bookmarks
Change type of `firefox.profile.<name>.bookmarks` to allow for nested
bookmarks with user defined order.
2022-07-18 14:55:54 +02:00
rcerc
4c5106ed0f
firefox: reuse escapeXML from Nixpkgs 2022-07-15 14:11:50 +02:00
Jonas Heinrich
2c94b9801f
librewolf: add module 2022-07-13 15:31:25 +02:00
ash
66d7007e43
mpv: prohibit string values in scripts
Strings as scripts don't currently work, and probably haven't worked
since b567d273 (mpv: use wrapMpv instead of mpv-with-scripts,
2020-05-31).
2022-07-13 14:52:46 +02:00
ash
241a375f49
keychain: set SHELL correctly in bash and zsh
bash and zsh apparently handle command substitution slightly differently
than fish. in bash/zsh:

$ export FOO=x
$ FOO=y echo $(sh -c 'echo $FOO')
x

whereas in fish:

$ export FOO=x
$ FOO=y echo $(sh -c 'echo $FOO')
y

so we have to assign $SHELL within the substitution for bash and zsh.
2022-07-13 14:35:52 +02:00
Congee
0639aa34f1
git: add option to set difftastic display setting 2022-07-12 10:48:26 +02:00
Maxime Brunet
8160b3b45b
zsh: source zsh-syntax-highlighting at the end of .zshrc (#3068)
zsh-syntax-highlighting.zsh must be sourced at the end of the .zshrc file, otherwise widgets created after are not properly highlighted (e.g. from oh-my-zsh): https://github.com/zsh-users/zsh-syntax-highlighting#faq
2022-07-07 18:57:27 -06:00
Philipp Mildenberger
ef990143b6
nushell: fix non-nullable configFile and envFile, fixes #3050 (#3060) 2022-07-07 00:49:50 -06:00
Matthew Toohey
223b9deead
pistol: add module 2022-06-25 01:00:32 +02:00
Michael Forster
65bcfaccc5
micro: add module
This adds initial bare-bones support for the `micro` editor.
2022-06-24 19:19:11 +02:00
Samuel Tschiedel
fd047c84f7
mcfly: add fuzzy search factor option
Per the [docs], MCFLY_FUZZY is no longer a boolean, taking now a
positive integer that controls the fuzziness factor.

[docs]: https://github.com/cantino/mcfly#fuzzy-searching

Co-authored-by: Robert Helgesson <robert@rycee.net>
2022-06-24 18:22:15 +02:00
Nick Bathum
e622bad163
neovim/coc: fix withNodeJs value when enabling coc (#3048) 2022-06-22 14:14:18 -06:00
Eliza Velasquez
d059b9448a
mujmap: add module
mujmap is a tool that synchronizes mail between a mail server and
notmuch via JMAP. It's very similar to lieer, so I heavily based the
implementation of the notmuch module on lieer's. I did not include an
equivalent to lieer's periodic synchronization service, however,
because I plan to soon introduce a daemon mode to mujmap.

https://github.com/elizagamedev/mujmap
2022-06-22 00:33:10 +02:00
Shamrock Lee
60b064249d
treewide: remove trailing white spaces and tabs 2022-06-21 00:55:32 +02:00
Philipp Mildenberger
931e610552
nushell: update configuration management
Recent versions of nushell uses a different configuration setup. This
commit adjusts the module to match.

Fixes #2952
Fixes #2837
2022-06-21 00:39:00 +02:00
Matthieu Coudron
07dbd4c0dd
pywal: fixed i3 config (#3002)
module was never imported and thus useless. This adds a neovim plugin too.
2022-06-15 23:44:52 +02:00
Thiago Kenji Okada
935ecea67d
neovim: add missing literalExpression in module docs (#3012) 2022-06-13 19:57:41 +02:00
rcerc
70824bb5c7
swaylock: Add module (#3003) 2022-06-07 21:01:14 +02:00
Kylie McClain
2070389247
htop: add missing fields (#2989)
These new fields were added in htop 3.0.3 (PERCENT_NORM_CPU) and
3.1.0 (ELAPSED).
2022-06-05 11:50:13 +02:00
NomisIV
bda2c80b4c himalaya: fix account.folders to new config syntax 2022-05-30 21:06:52 +02:00
midchildan
64831f938b
emacs: allow extraConfig to reference extraPackages
This fixes the issue described in

  https://github.com/nix-community/home-manager/pull/1758#issuecomment-1113706592
2022-05-26 00:34:17 +02:00
Sumner Evans
94780dd888
neovim/coc: add package option (#2972) 2022-05-21 11:12:29 -06:00
Roman Timushev
e6869735d2
htop: fix darwin defaults
M_SHARE is not a valid column on Darwin. It seems that previously htop
ignored unknown columns, but the current version does not display all
subsequent columns.
2022-05-19 23:33:20 +02:00
Matthieu Coudron
f735a8502b
programs.pywal: init (#2949) 2022-05-10 22:24:19 +02:00
Markus Scherer
4293902b64
offlineimap: remove dependency on python2 (#2909) (#2951) 2022-05-10 09:30:40 +02:00
Theodore Ni
af828536ed
fish: generate fish completions using python 3 2022-05-02 23:37:39 +02:00
Arjan Schrijver
5872aad1d0
git: add option to use diff-so-fancy as diff tool
Add the option to use diff-so-fancy as diff tool in git. This makes
the shown diffs human readable instead of machine readable.
2022-05-02 23:08:08 +02:00
Mario Rodas
26858fc0db
tealdeer: add module (#2928) 2022-05-01 08:27:04 -06:00
Sumner Evans
f8b51be714
neomutt: add support for signature command (#2899)
Neomutt will run the given command (which can be a string or a path)
and take the output from stdout and use it as the signature for your
email.

Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2022-04-29 14:01:53 -06:00
Roberto Di Remigio
742c6cb3e9
chromium: add vivaldi 2022-04-18 00:29:40 +02:00
Jia Xiaodong
c82b8ac5ad
sioyek: add module (#2895) 2022-04-17 17:07:55 -04:00
Sam Willcocks
620ed197f3
gpg: fix handling of multiple public keys
When processing `publicKeys` entries, handle entries that contain
multiple public keys (i.e. gpg --show-key returns multiple `pub`
lines) properly, setting the trust level for each key.

PR #2897
2022-04-17 12:15:14 +02:00
Sumner Evans
2e473a7b09
neomutt/signature: unset if disabled (#2877)
Closes #2876
2022-04-16 16:36:31 -06:00
Infinidoge
0586d2d42a
keychain: set SHELL during initialization (#2880)
Explicitly sets the SHELL environment variable in the snippets put into
the shell init files.

Fixes #2256
2022-04-16 18:33:07 -04:00
Daniel Thwaites
a640dddc9a
waybar: fix command not found when reloading (#2865) 2022-04-16 18:31:03 -04:00
Tanish2002
7da4e6680f
lf: add package option
PR #2883
2022-04-13 23:08:51 +02:00
florpe
e39a9d0103
pylint: add module (#2729) 2022-04-10 21:54:04 -04:00
Sumner Evans
f911ebbec9
lib.booleans: add yesNo function (#2818)
Closes #2772
2022-04-07 22:36:13 -06:00
Robert Helgesson
47b3719f51
taskwarrior: minor script cleanup 2022-04-07 23:35:55 +02:00
Daniel Nagy
3071ea205d
starship: skip one program invocation on each shell init (#2862)
The code that is being evaled without the `--print-full-init` flag is
this:

```sh
__main() {
    local major="${BASH_VERSINFO[0]}"
    local minor="${BASH_VERSINFO[1]}"

    if ((major > 4)) || { ((major == 4)) && ((minor >= 1)); }; then
        source <(/nix/store/...-starship-1.3.0/bin/starship init bash --print-full-init)
    else
        source /dev/stdin <<<"$(/nix/store/...-starship-1.3.0/bin/starship init bash --print-full-init)"
    fi
}
__main
unset -f __main
```

This code checks for bash version >= 4.1 , which has been released in
2009. Since this version is widely unavailable in nixpkgs, we can skip
one program invocation and directly call `starship init bash
--print-full-init`.
2022-04-07 13:36:34 -04:00
x10an14
e361373b5f
taskwarrior: make .taskrc writable (#2761)
This is achieved by generating the Home Manager configuration
file as `~/.config/task/home-manager-taskrc`, and including that
file into ~/.config/task/taskrc.

Fixes #2360

Co-authored-by: mainrs <5113257+mainrs@users.noreply.github.com>
Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2022-04-07 13:29:53 -04:00
Naïm Favier
399a3dfeaf
gpg: create homedir with 700 permissions (#2823)
It can happen in some cases that home-manager first runs before gpg
creates its homedir, and it creates it with 755 permissions which the
user then needs to change by hand.

Do this in the module instead: before linking files, make sure the
homedir exists, and if it doesn't, create it with the right permissions.
2022-04-04 23:40:15 -04:00
Roch D'Amour
0382c5f75e
git: Add option to use difftastic as diff tool (#2850)
Difftastic is a syntax-aware diff tool which can be used with git.
2022-04-04 08:53:29 -06:00
Mario Rodas
9580f6c42a
zellij: add configuration for darwin
Zellij uses a different path to hold its configuration on Darwin.
2022-03-30 23:56:01 +02:00
Yevhen Shymotiuk
d123fca83c
browserpass: add brave support 2022-03-27 01:12:50 +01:00
Naïm Favier
0cf9dadf5b
irssi: use types.lines for extraConfig 2022-03-23 23:10:23 +01:00
Nazarii Bardiuk
bbc5e0c1e1
tmux: fix broken vi bindings (#2817)
Keybindings have wrong order of arguments: the -N flag should go before
the binding key
2022-03-21 16:25:36 -06:00
Leon Vack
e96fc6d8f9
tmux: add notes to existing keybindings (#2540) (#2742)
Adds notes to the keybindings created in the tmux config making them
show up in C-b ? and tmux list-keys -N

Fixes #2540
2022-03-19 19:12:21 -04:00
mihnea-s
7cf15b19a9
vscode: add user tasks (#2804) 2022-03-18 18:54:24 -04:00
Sumner Evans
590da80ceb
neovim/coc: fix loading CoC plugin (#2801)
Specifically, refactored all places that use cfg.plugins to use a new
combined list that includes CoC if it's enabled.
2022-03-17 20:43:03 -06:00
Kylie McClain
970b57fd3c
autorandr: add filter option (#2795)
xrandr's filter option is useful for enabling integer scaling on
displays that don't have support for it at a graphics card level.
2022-03-17 13:45:04 +01:00
NomisIV
472e67d1bb
himalaya: add support for account.folders
Add support for `account.folders.(inbox|sent|draft)` in the himalaya
account configuration.

PR #2747
2022-03-13 23:20:41 +01:00
Karl Hallsby
da92196a95
mu: allow aliases to be used by mu configuration file
This has no effect if the user does not have any aliases defined for
any accounts.

This will also only add `--my-address=` to only accounts that are
enabled to be tracked by mu.
2022-03-13 20:27:35 +01:00
ReplayCoding
5d4327cff4
irssi: fix syntax error when no channels are specified 2022-03-13 13:33:09 +01:00
Loïc Reynier
afe96e7433
pubs: add module
Note, the pubs configuration file uses ConfigObj syntax, which is
similar to the INI files syntax but with extra functionalities like
nested sections. This prevents it from using Nix's INI format
generator. Here is an example of pubs configuration that cannot be
generated using Nix's INI format generator:

    [plugins]

    [[git]]
    manual=False

For this reason, we opted for a stringly-typed configuration since the
use of a structured `settings` option would require a custom parser.
2022-03-06 10:40:28 +01:00
maximsmol
87beebc7a2
just: add module 2022-03-06 09:50:52 +01:00
Yt
d119cea376
i3status-rust: change default to newer version (#2774) 2022-03-03 22:32:59 -05:00
Robert Helgesson
2499b91692
treewide: apply nixfmt to a few more files 2022-02-27 02:19:44 +01:00
kmaasrud
1d90b6065a
tiny: add module (#2735)
Added module for tiny, a TUI IRC client written in Rust. Thanks to @ratsclub for helping me write my first Nix module!
2022-02-26 17:42:01 -05:00
Frank Moda
662350bee2
neovim: remove trace log of vim plugins (#2756) (#2760) 2022-02-25 14:35:13 +01:00
Markus Wamser
650cfe60f3
vscode: fix name of extension in example (#2759) 2022-02-24 18:45:41 -05:00
Mifom
8f7d925503
gitui: add module 2022-02-24 23:42:04 +01:00
Selene Hines
0b1745b4ef
neovim: autogenerate config.lua file sourced to init.vim (#2716) 2022-02-23 15:53:31 +01:00
Josh Holland
838d40d61a
foot: set OOMPolicy=continue for foot server (#2749)
Previously, if a process inside a foot client triggered the OOM killer,
systemd would also kill the parent unit, namely the foot server.
This is not ideal if a user has a lot of clients attached, and it's
usually not the terminal emulator's fault that a process inside it has
ended up using all the available memory.
2022-02-22 20:15:28 +01:00
NomisIV
69536af27e
himalaya: fix smtp-starttls option (#2744)
The `smtp-starttls` option was previously to the value of `account.imap.tls.useStartTls`, when `account.smtp.tls.useStartTls` should be used instead
2022-02-21 14:32:32 -07:00
Mario Rodas
0232fe1b75 atuin: don't install widget on limited terminals
Otherwise we get the following warning for terminals with limited
capabilities:

    bash: bind: warning: line editing not enabled
2022-02-19 04:20:00 +00:00
Robert Helgesson
5375afb2fb
eww: fix maintainer referencee 2022-02-17 22:34:21 +01:00
mainrs
498c188e62
eww: add module
Closes #2682
2022-02-17 18:41:05 +01:00
Jian Lin
2116fe6b50
zsh: move sessionVariables from .zshrc to .zshenv (#2708)
This patch moves both home.sessionVariables and
programs.zsh.sessionVariables from .zshrc to .zshenv. Additionally,
these two kinds of session variables will not be sourced more than
once to allow user-customized ones to take effect.

Before, session variables are in .zshrc, which causes non-interactive
shells to not be able to get those variables. For example, running a
command through SSH is in a non-interactive and non-login shell, which
suffers from this. With this patch, all kinds of shells can get
session variables.

The reason why these session variables are not moved to .zprofile is
that programs started by systemd user instances are not able to get
variables defined in that file. For example, GNOME
Terminal (gnome-terminal-server.service) is one of these programs and
doesn't get variables defined in .zprofile. As a result, the shells it
starts, which are interactive and non-login, do not get those
variables.

Fixes #2445

Related NixOS/nixpkgs#33219
Related NixOS/nixpkgs#45784

This file is not formatted before and is excluded by ./format, so I don't format it.
2022-02-17 10:20:56 +01:00
mainrs
810e5f3613
zellij: add module
Closes #2666
2022-02-17 00:55:28 +01:00
Artem Shinkarov
a3c18a60d5
neovim: add extraLuaPackages to neovim, fixes #1964. (#2617)
Similarly to extraPytonPackages, we add extraLuaPackages that make
lua libraries available at runtime.
2022-02-16 16:38:10 +01:00
Thibaut Marty
6d9d9294d0
notmuch: fix database creation when using hooks
When an hook is defined, a side effect was the creation of the
${notmuchIni.database.path}/.notmuch/ directory by home-manager. If
the Xapian database does not exist yet but this .notmuch directory
exists, Notmuch is confused and throws an error when `notmuch new` is
run (while this should create the database the first time).

This commit changes the hooks paths to $XDG_CONFIG_HOME where Notmuch
expects them (see notmuch-config(1)) instead of inside the maildir
database directory.

It also moves the configuration where Notmuch expects it, but the
$NOTMUCH_CONFIG environment variable is kept for backward
compatibility.
2022-02-11 00:04:40 +01:00
Nelson Alex Jeppesen
e2aa1f5986
kitty: add option theme (#2710)
Add Kitty option to install kitty-themes and configure Kitty to use
one of those themes
2022-02-08 11:54:24 -07:00
Naïm Favier
1ca6293c8f
vscode: fix keybindings existence check (#2707)
... and flip immutableExtensionsDir to mutableExtensionsDir
2022-02-07 12:40:59 -05:00
mainrs
9d369c75ce
man: add package option (#2688)
Closes #2634
2022-02-02 16:35:28 -05:00
Michael Hoang
184b0154f2
vscode: Add immutable extensions dir option (#2613) 2022-02-02 15:57:11 -05:00
Naïm Favier
95d39e13a4
bash: use shellDryRun to check scripts
Allows using extglob in initialisation files.
See https://github.com/NixOS/nixpkgs/pull/151371
2022-01-30 19:30:33 +01:00
Jakub Kozłowski
acf824c9ed
sbt: trim output of password command 2022-01-29 00:14:05 +01:00
Joakim Holm
4e92ec84f9
ion: Add module (#2625)
Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
Co-authored-by: Matthieu Coudron <teto@users.noreply.github.com>
2022-01-27 19:15:45 +01:00
Matthieu Coudron
8d3fe1366b
neovim: support different configuration languages (#2637)
Plugins now accept a "type" element describing the language (viml, lua
, teal, fennel, ...) in which
they are configured.

The configuration of the different plugins is aggregated per language
and made available as a key in the attribute set `programs.neovim.generatedConfigs`

For instance if you want to configure a lua package:

```
programs.neovim.plugins = [
{
plugin = packer-nvim;
type = "lua";
config = ''
    require('packer').init({
    luarocks = {
	python_cmd = 'python' -- Set the python command to use for running hererocks
    },
    })
'';
}
]
```
and you can save the generated lua config to a file via

```
  xdg.configFile = {
    "nvim/init.generated.lua".text = config.programs.neovim.generatedConfigs.lua;
  };
```
2022-01-27 16:27:35 +01:00
Daniel Wagenknecht
cbc176010b
kodi: add module
Kodi is a media center software.
2022-01-26 23:56:25 +01:00
polykernel
93b52ce0bd
chromium: add commandLineArgs option
- Add support for command line arguments, this allows arguments to be
  persistently set if needed (i.e workaround hardware bugs or enabling
  certain flags).
- Document setting a custom package will nullify the `commandLineArgs`
  option.
- Fix `mkRemovedOption` assertion from being apply even when the
  `extensions` option is unused for google chrome modules.
2022-01-26 22:34:19 +01:00
Mr Hedgehog
462d4a7abd
atuin: add fish integration 2022-01-25 00:21:31 +01:00
Kirill Elagin
c47c350f65
pandoc: add new module
Add a module for pandoc that provides the following:

1. Setting default configuration options.
2. Installing templates.
3. Installing citation styles.
2022-01-22 21:16:50 +01:00
Carlos Lobo
e622c5d836
tint2: add module 2022-01-22 18:09:15 +01:00
amesgen
54b8b13a9b
timidity: add module 2022-01-22 16:46:16 +01:00
polykernel
d469b9bf8a
watson: add module
Watson is a CLI for tracking your time.

Two unit tests were added to validate the module behavior for an empty
configuration and the example configuration.
2022-01-22 16:12:34 +01:00
Philipp Mildenberger
32da35f65b
helix: add module 2022-01-22 15:42:49 +01:00
Nicolas Berbiche
b59752b9ff
rofi: add finalPackage option (#2649)
This makes it possible to use the customized rofi binary in Sway keybindings for instance.
2022-01-17 18:21:40 -05:00
Nicolas Berbiche
9bceb8292e
waybar: fix deprecated "modules" setting check (#2646)
- The check did not account the default value of `settings.modules` to be `{}`.
  The default value was changed to null.

- The `settings.modules` option is now hidden from the docs.
2022-01-17 16:38:22 -05:00
Hubert Jasudowicz
60d2c9660b
rbw: Fix a typo (#2648) 2022-01-17 16:37:46 -05:00
Robin Stumm
f71d41ba36
kakoune: fix ui options (#2641)
These were renamed in v2021.08.28,
commit 7e66846172165eb1f860f26f51f7a20790b0af29.
2022-01-16 19:39:41 -05:00
Zsolt Szende
94281669fd
Add programs.fish.interactiveShellInit to direnv (#2614) 2022-01-16 19:13:32 -05:00
Roch D'Amour
986cf41b3b
kitty: Allow package to be configurable (#2640) 2022-01-16 18:19:32 -05:00
Nicolas Berbiche
5209ea0d8c
skim: use cfg.package in shell integrations 2022-01-11 16:44:57 +01:00
Kirill Elagin
204f9808d3
sagemath: add module 2022-01-11 14:38:02 +01:00
Naïm Favier
05d655146b
rofi: allow extending themes (#2571)
Move @import and @theme directives to the top of custom theme
definitions so as to allow extending other themes.
2022-01-09 17:15:24 -05:00
Olli Helenius
a90ddcd627
skim: add package option (#2619)
Fixes #2618
2022-01-08 22:53:49 -05:00
Tobias Happ
c2f151258a
bash: remove unnecessary shebang and executable bit for dotfiles (#2599) 2022-01-01 10:06:55 -07:00
Luna Nova
7a0a7d6427
xmobar: fix maintainers entry for t4ccer 2021-12-29 09:50:56 +01:00
Luna Nova
6b1f56407b
ncmpcpp: fix maintainers entry for olmokramer 2021-12-29 09:50:55 +01:00
Luna Nova
87d0fed9bc
htop: fix maintainers entry for bjpbakker 2021-12-29 09:50:54 +01:00
Luna Nova
a95fd897f2
hexchat: remove superherointj as maintainer
Mirroring https://github.com/NixOS/nixpkgs/pull/144319
2021-12-29 09:50:53 +01:00
Luna Nova
b1b55c983f
lazygit: fix kalhuage maintainers reference 2021-12-29 09:50:52 +01:00
Luna Nova
5705ba1366
exa: fix kalhauge maintainers reference 2021-12-29 09:50:51 +01:00
Luna Nova
ec79a7d830
broot: fix aheaume entry in maintainers 2021-12-29 09:50:51 +01:00
Tim Haering
c9dbe2847e
alacritty: correct example config link
Since the repository was moved, the old link was pointing nowhere.
2021-12-29 09:39:42 +01:00
Robert Helgesson
0b197562ab
treewide: use remove when possible
See https://github.com/nix-community/home-manager/pull/2566.
2021-12-27 09:03:18 +01:00
Nicolas Berbiche
f15b151ca1
waybar: configurable systemd WantedBy target (#2524)
Before this commit, a user needed to override the systemd target that
would start Waybar with `mkForce`, this is no longer necessary.
2021-12-23 17:00:31 -05:00
Jakob Leifhelm
1b03a8ab7a
direnv: add troubleshooting to fish integration 2021-12-21 23:43:06 +01:00
Bruno Inec
3db6036775
waybar: allow using attrs for settings (#2547)
Co-authored-by: Bruno Inec <binec@scaleway.com>
2021-12-19 00:21:15 -05:00
Naïm Favier
78aa7cceff
gpg: allow specifying trust levels by name 2021-12-16 19:06:39 +01:00
Mario Rodas
543484d298
navi: don't install widget on limited terminals
Otherwise we get the following warning for terminals with limited
capabilities:

    bash: bind: warning: line editing not enabled
2021-12-12 17:59:30 +01:00
Mario Rodas
6fe3b539e0
navi: add module 2021-12-11 12:55:29 +01:00
Mario Rodas
fa73c3167e
sqls: add module
sqls is a SQL language server written in Go.
See: https://github.com/lighttiger2505/sqls
2021-12-11 00:21:49 +01:00
polykernel
c7592b747b
treewide: prefer XDG variables over dot directories
Currently, dot directories and XDG base directories are used
inconsistently in the Home Manager option declarations. This creates
ambiguity for the user as to where the location of the file should be
albeit this is rarely encountered in practice as it is sufficient to
read upstream documentation. The rationale is to make declarations
consistent and make a clear distinction between hardcoded and modular
specifications.

References to ~/.config in relevant nixpkgs modules were untouched as
the location is hardcoded upstream[1]. Furthermore, modules of
programs which do not follow XDG specifications were also untouched.

Generalization of tilde(~) expansions to $HOME were also considered,
however there isn't sufficient rationale despite the use of $HOME
being more universal. The expansion is standardized in POSIX[2] and is
essentially portable across all shells, thus there is no pragmatic
value to introducing the change.

[1] https://github.com/nixos/nixpkgs/blob/master/pkgs/top-level/impure.nix
[2] https://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_01
2021-12-10 23:51:44 +01:00
Bruno BELANYI
829e89a16f
less: store 'lesskey' under XDG_CONFIG_HOME
Less clutter in the $HOME.
2021-12-08 11:23:56 +01:00
Benoit Louy
f46972e466
powerline-go: add support for -modules-right
Add modulesRight setting to instruct powerline-go to configure right
side prompt. Use eval mode when this setting is set.
2021-12-03 17:58:03 +01:00
Benjamin Orthen
de54d513c7
firefox: create user.js when only bookmarks are specified in config (issue #2492) (#2521)
Previously, home-manager would not create a user.js for a certain
profile if profile.bookmarks was not empty but
profile.settings was empty and profile.extraConfig was an
empty string.
2021-12-01 22:21:41 -05:00
Pamplemousse
f23073f1da
less: allow customization
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
2021-11-30 23:28:32 +01:00
Nicolas Berbiche
7c320a5325
waybar: make module a freeform module, remove warnings
The `style` option now also accepts a path instead of a text
configuration.

Keeping up with new Waybar options is annoying, so make the module a
freeform module.

The `modules` option will be removed in release 22.05.

The logic to generate warnings for modules and everything was
removed. I don't want to maintain the code that generates these
warnings anymore.
2021-11-29 20:52:06 -05:00
Lily Foster
3ec7f6fb43
rofi: fix theme definition in configuration for 1.7.0+ (#2513)
Since Rofi 1.7.1 (specifically davatorium/rofi@0e70d8a), the deprecated
`theme` option in the `configuration` section no longer works. For 1.7.0
and up, `@theme "name"` is supposed to be used *after* the
`configuration` block.
2021-11-28 15:07:46 -05:00
Miles Breslin
ea1794a798
gpg: support declarative trust and public keys
PR #810
2021-11-26 09:02:36 +01:00
Naïm Favier
e28185a2c0
vscode: avoid unnecessary IFD (#2506) 2021-11-24 20:55:38 -05:00
oxalica
df931a59a5
taskwarrior: change config file location and use relative theme paths (#2455)
After taskwarrior 2.6.0, its default config file now locates at
`$XDG_CONFIG_HOME/task/taskrc`, and builtin themes can be included
via relative paths.
2021-11-23 21:33:03 -05:00
Mmequignon
d85bf67c48
pet: fix settings format issue
Before it was not possible to place setting values outside the
`General` section.
2021-11-17 23:42:21 +01:00
Tobias Happ
5559ef0023
ssh: add includes option (#2453) 2021-11-16 11:51:10 -07:00
Damien Cassou
05a3116091
offlineimap: Fix for OfflineIMAP 8 (#2479)
Nixpkgs switched to OfflineIMAP version 8 which means that Python 3 is
now used instead of Python 2. As a result, get_pass() now returns a
byte array instead of a string and the argument to get_pass() must be
a byte array too. See
https://github.com/OfflineIMAP/offlineimap3/issues/103.
2021-11-16 10:31:01 -07:00
Robert Helgesson
be1ad30503
Remove remaining allowSubstitutes = false
See, e.g., https://github.com/NixOS/nix/issues/4442 for wider
discussions.
2021-11-12 23:24:08 +01:00
Bernardo Meurer
1e5c8e9bff
direnv.nix-direnv: remove enableFlakes (#2458)
Since https://github.com/NixOS/nixpkgs/pull/144197 flake support is
always available. The upstream `enableFlakes` option is scheduled to be
removed altogether in https://github.com/NixOS/nixpkgs/pull/145236
2021-11-09 23:59:40 -05:00
flexagoon
288faaa5a6
programs.zsh.zplug: add zplugHome option
Add an option to set custom `$ZPLUG_HOME`. Changing it with
`home.sessionVariables` doesnt work, since it has to be exported
before Zplug is initialised
2021-11-02 08:49:47 +01:00
Bart Bakker
7523252f97
htop: fix order or header_columns setting (#2435)
When `header_columns` is in settings it must appear before any of the
`column_meters_*` options.

Fixes 2426.
2021-11-01 15:27:29 -04:00
Robert Helgesson
275f955db9
irssi: format using nixfmt 2021-10-31 10:32:58 +01:00
Robert Helgesson
34327e067f
tmux: format using nixfmt 2021-10-31 10:24:01 +01:00
Thiago Kenji Okada
7e30aec282
hexchat: simplify theme example 2021-10-30 19:39:59 +02:00
betaboon
cf4866d218
powerline-go: fix regression introduced by #2231 (#2421) 2021-10-28 22:09:20 -04:00
Nicolas Berbiche
158bc59398
vscode: allow argument for keybind to any json value (#2418) 2021-10-27 22:13:54 -06:00
Kid
9282dbc1fa
fish: remove promptInit in favor of interactiveShellInit (#2231)
* fish: remove `promptInit` in favor of `interactiveShellInit`

* Oops

* starship: replace `promptInit` with `interactiveShellInit`

* autojump: replace `promptInit` with `interactiveShellInit`

* Add `mkRemovedOptionModule` for `programs.fish.promptInit`
2021-10-27 16:40:39 -06:00
leifhelm
da8a78eec9
hexchat: Replace literalExample with literalExpression (#2410) 2021-10-24 20:59:22 -04:00
superherointj
406eeec0b9
hexchat: add module
Review and contributions from Thiago Kenji Okada
<thiagokokada@gmail.com>.

Co-authored-by: Thiago Kenji Okada <thiagokokada@gmail.com>
Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-10-23 21:31:54 +02:00
Anselm Schüler
cfe82d9f44
gh: support gh as git credential manager for github.com
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-10-21 23:20:25 +02:00
Robert Helgesson
3e4fedc1d9
direnv: make fish enable flag read-only
We cannot disable direnv for Fish since the functionality is
automatically loaded when the package is installed.

Fixes #2357
2021-10-21 22:18:50 +02:00
Thiago Kenji Okada
91155a98ed
htop: add package option (#2407) 2021-10-20 09:22:17 -06:00
Naïm Favier
bd11e2c5e6
Replace usage of literalExample
Instead use the new function `literalExpression`. See

  https://github.com/NixOS/nixpkgs/pull/136909
2021-10-13 00:16:10 +02:00
Robert Helgesson
83f5ce2aec
mbsync: add missing literalExample 2021-10-12 23:41:55 +02:00
Thiago Kenji Okada
32285d8fe6
rofi: remove options removed from upstream in v1.7.0 2021-10-09 00:45:20 +02:00
Nicolas Berbiche
82c92a18ba
gh: use structural settings (#2339) 2021-10-08 23:29:25 +02:00
Jonas Carpay
d9fe208f3c
z-lua: Add shell aliases to fish (#2376)
z.lua shell aliases are currently only added to bash and zsh, this also
adds them to the fish config
2021-10-06 08:49:56 -06:00
arcnmx
854406680b
vim: add option to specify pkgs.vim_configurable (#2307) 2021-10-06 15:56:06 +02:00
Thiago Kenji Okada
592da767bd
nnn: init (#2368)
nnn is a terminal file manager.

It is configured mostly using environment variables, so the way I
found it to avoid needing to write either shell specific code or
using `home.sessionVariables` (that would need to make the user
relogin at every configuration change) is to wrap the program using
`wrapProgram`.
2021-10-05 19:14:52 -04:00
Robert Helgesson
80d23ee06c
fzf: do shell initialization a bit earlier
This is to better integrate with more advanced shell history managers
like McFly and Atuin. By initializing fzf first, we allow the history
managers to steal the C-r key binding from fzf.
2021-10-06 00:25:43 +02:00
Robert Helgesson
af2007bb77
atuin: add module
This commit adds a module for configuring atuin, a replacement shell
history program.

The module adds options for generating atuin's `config.toml` from Nix,
and options to enable atuin's integration for bash and zsh
(which will rebind history keys to open the atuin history).
2021-10-05 23:48:52 +02:00
Kid
9b04ff5e3b
fish: remove superfluous config guard 2021-10-04 20:21:23 +02:00
Robert Helgesson
81ec2aed8a
kitty: make onChange Linux only
Since the `procps` package is Linux specific we have to limit the
`onChange` accordingly.

Fixes #2366
2021-10-04 18:20:04 +02:00
Emil Karlson
e0a87d75e9
firefox: add bookmarks support
Generate bookmarks html file and hook it up in user.js.
2021-10-03 12:16:40 +02:00
Gabriel Fontes
d5151186ac
waybar: add onChange configuration reload 2021-10-01 11:05:42 -03:00
Gabriel Fontes
ad05443e04
kitty: add onChange configuration reload 2021-10-01 11:05:16 -03:00
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
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