Commit graph

344 commits

Author SHA1 Message Date
Nick Hu 18a05a9604
zsh: add support for prezto configuration framework (#655) 2020-10-12 01:27:44 +01:00
c4710n 0e9b6e6dc9
chromium: enable for all platforms 2020-10-11 23:07:38 +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
Karl Hallsby f0fc2a8702
mu: add module 2020-09-29 23:26:45 +02:00
Vojtěch Káně 84bcce3c25
pet: add module
Adds a pet module without sync support as it makes no sense when
configuration is managed with Home Manager and the config would be
unwritable for pet anyway.

PR #1045
2020-09-22 23:20:17 +02:00
Nicolas Berbiche d3aee544b6
targets.darwin: add module
Currently, this module makes sure that `/Applications` directories for
packages in `home.packages` get linked into the user's environment.
2020-09-04 15:21:48 +02:00
Olmo Kramer 4b702bf6b7
ncmpcpp: add module
PR #1457
2020-09-01 22:05:57 +02:00
Mario Rodas a79d31fcfd
mcfly: add module
PR #1452
2020-08-26 00:21:01 +02:00
Robert Helgesson 9854342b9f
nixpkgs: take Nixpkgs path from argument
This removes the dependency on the `nixpkgs` channel within the
modules for state version ≥ 20.09. The default Nixpkgs source starting
from this state version is the path of the `pkgs` argument used to
bootstrap the Home Manager modeuls.

This is a prerequisite for using Home Manager withing Nix flakes.

PR #1420
2020-08-19 00:33:25 +02:00
Vincent Gatine a3dd580adc
kanshi: add service
PR #1142
2020-08-15 01:02:23 +02:00
Nicolas Berbiche f4f9f1a618
waybar: add module
PR #1329
2020-08-14 00:20:49 +02:00
eyjhb 7b73f84071
dropbox: add module
Ability to control Dropbox daemon, if it should start and where to
place the files.

PR #1391
2020-07-25 23:12:33 +02:00
Philipp Mildenberger 3f1be69359
nushell: add module (#1333) 2020-07-24 17:15:55 +02:00
cwyc 8f2342e13a
ne: add module
Added a simple module to place configuration files for ne: the nice
editor.

PR #1336
2020-06-23 22:37:02 +02:00
Vincent Breitmoser b0e8a1569e
fluidsynth: add module
Fluidsynth is a real-time MIDI synthesizer based on the SoundFont 2
format.

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

PR #1105
2020-06-14 15:12:49 +02:00
Robert Helgesson bb567e20b3
vte: add module
This abstracts out the VTE setup from the gnome-terminal module into
its own module and options.
2020-06-14 12:20:12 +02:00
Damien Cassou 478022afad
powerline-go: add module
PR #1285
2020-06-13 00:02:13 +02:00
Damien Cassou 43ef16c3e1
clipmenu: add module
PR #1309
2020-06-12 19:52:52 +02:00
Mario Rodas a957e2dc6b
zoxide: add module
PR #1274
2020-05-26 19:14:39 +02:00
dawidsowa 0fe984d575
tmpfiles: add module
PR #1144
2020-05-16 13:32:33 +02:00
Justin Lovinger e9945ee6ee
dircolors: add module
PR #1219
2020-05-12 22:15:32 +02:00
Justin Lovinger 1dd226fde7
aria2: add module
PR #1202
2020-05-03 13:21:52 +02:00
Justin Lovinger ecc1f2310c
i3status: add module
PR #1210
2020-05-03 13:12:13 +02:00
Jonathan Ringer a6037a9eb8
pulseeffects: add module
Pulseeffects is an advanced mixer for PulseAudio.

PR #1182
2020-04-26 15:50:21 +02:00
Owen McGrath 2f2a4396c6
lf: add module
Adds 'programs.lf', configuration managment for lf, a terminal file
manager.

PR #1174
2020-04-23 22:41:22 +02:00
Jonas Heinrich f856da6690
mako: add module
PR #1113
2020-04-09 11:21:22 +02:00
Justin Lovinger b7737f1732
qutebrowser: add module
PR #1132
2020-04-08 14:50:59 +02:00
Tobias Happ d06bcf4c97
targets.genericLinux: add module
PR #797
2020-04-08 13:36:25 +02:00
Ruby Iris Juric 78a0bbb38b
picom: add module
Nixpkgs no longer packages compton, and instead packages picom, a
(mostly) compatible fork of compton, providing an alias from compton
to picom. Because some configuration options have been changed, and
all references to "compton" have been made deprecated and replaced
with "picom", 'services.compton' has been deprecated in favor of the
new 'services.picom'.

Resolves #878
PR #1101
2020-03-24 23:50:22 +01:00
William Carroll 2cd168467e
keynav: add module
PR #1082
2020-03-17 22:59:15 +01:00
Tad Fisher 9f46d516fa
services.lieer: add module
Add 'services.lieer', which generates systemd timer and service units
to synchronize a Gmail account with lieer. Per-account configuration
lives in 'accounts.email.accounts.<name>.lieer.sync'.
2020-03-07 15:13:50 +01:00
Tad Fisher 60a939bd01
programs.lieer: add module
Add 'programs.lieer', a tool for synchronizing a Gmail account with a
local maildir and notmuch database. Per-account configuration lives in
'accounts.email.accounts.<name>.lieer'.
2020-03-07 15:13:15 +01:00
Maximilian Bosch 0056a5aea1
debug: add module
This one is fairly similar to `environment.enableDebugInfo`[1] (hence
the name). It ensures that the `debug`-output of packages defined in
`home.packages` is installed if available and ensures that
`gdb`/`elfutils` find those symbols by adding
`~/.nix-profile/lib/debug` to the `NIX_DEBUG_INFO_DIRS`[2] variable.

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

PR #1040
2020-03-07 15:03:44 +01:00
Erik Arvstedt efbe1383e6
nixos integration: add option 'useGlobalPkgs'
PR #1059
2020-03-07 14:25:00 +01:00
MmeQuignon 0a1ce53990
abook: add module
PR #1058
2020-03-04 19:58:05 +01:00
Alex Rice 02d6040003
sway: add module
PR #829
2020-02-26 22:37:15 +01:00
ivann 9ab0d2305c
kitty: add module
PR #1000
2020-02-23 11:28:53 +01:00
Wael Nasreddine 4e50809c78
modules: remove unused checkPlatform function
PR #1041
2020-02-21 21:56:51 +01:00
Matthieu Coudron fba87f8998
neomutt: add module
PR #1002
2020-01-26 20:46:44 +01:00
Marius Bergmann b4e8d9869f
grobi: add module
This adds a service module for [grobi](https://github.com/fd0/grobi),
which can be used to automatically configure monitors/outputs for Xorg
via RANDR.
2020-01-26 13:57:49 +01:00
Néfix Estrada b270fcef2f
bspwm: add module
PR #362, #981

Co-authored-by: Vincent Breitmoser <look@my.amazin.horse>
2020-01-26 13:43:13 +01:00
Robert Helgesson 6e4b9af080
Switch to extended Nixpkg's lib
This change makes use of the `extend` function inside `lib` to inject
a new `hm` field containing the Home Manager library functions. This
simplifies use of the Home Manager library in the modules and reduces
the risk of accidental infinite recursion.

PR #994
2020-01-21 20:47:04 +01:00
arcnmx b053dc8697
modules: use pkgs.path instead of <nixpkgs>
PR #992
2020-01-15 20:58:15 +01:00
Philipp Middendorf 3a3657b107
cbatticon: add module (#963) 2020-01-11 13:08:56 +01:00
Vojtěch Káně bb5dea02b9
readline: add module
Add basic readline configuration (~/.inputrc) management.
2019-12-08 20:49:00 +01:00
Sebastian Ullrich 571989f564
xdg-mime: add module 2019-12-01 23:11:49 +01:00
pacien 94d183eaaa
unison: add module 2019-11-29 23:49:00 +01:00
pacien 9d09738e4d
password-store: add modules 2019-11-29 23:03:15 +01:00
Kloenk eee6ae33e8
spotifyd: add module 2019-11-24 18:52:52 +01:00
Tobias Happ 286dd9b308
lorri: add service 2019-11-17 20:36:27 +01:00
Mario Rodas 05dabb7239
pazi: add module 2019-11-04 21:57:15 +01:00
Mario Rodas bdb4cf6c59
rtorrent: add module 2019-09-26 23:42:52 +02:00
Mario Rodas 7205d3b2d2
starship: add module 2019-09-26 23:19:39 +02:00
Nazarii Bardiuk 51581b7e43
sxhkd: add service 2019-09-17 21:42:05 +02:00
pacien e347e932af
xdg-mime-apps: add module 2019-09-15 17:21:42 +02:00
pacien aa5ba177cc
xdg-user-dirs: add module 2019-09-11 20:03:32 +02:00
Tobias Happ db0dfb4b08
dwm-status: add module 2019-08-18 16:23:31 +02:00
pacien a124dae35a muchsync: add module 2019-08-17 20:08:11 +09:00
Robert Helgesson 9302523d34
modules: fix module order 2019-08-08 13:53:22 +02:00
adisbladis a9ecef1fa9
hound: add module 2019-08-08 13:52:27 +02:00
Evan Stoll e59b8b0c37
numlock: add module
This adds an option `xsession.numlock` that enable the Num Lock key
when starting a graphical session.

Fixes #651
2019-08-08 13:25:01 +02:00
Sebastian Zivota 7d68c46feb
kakoune: add module 2019-07-17 22:40:26 +02:00
pacien cc0cd538e6
taskwarrior-sync: add service module 2019-07-17 21:34:53 +02:00
Alexandre Héaumé 28f2dd612e
broot: add module 2019-07-02 11:28:31 +02:00
Robert Helgesson 8f7cd53204
getmail: restrict platform to Linux
Need to limit this module to Linux since it uses systemd.
2019-06-27 20:04:18 +02:00
Róman Joost 68fe8623ad Address code review comments for getmail service
This patch started by addresssing the code review comments to close
https://github.com/rycee/home-manager/pull/290. However initiating a new
pull request it became clear, that home-manager changed significantly
since then.

This changes the initial pull request to be consistent with the email
account management in home-manager now. It also adds a simple test and support
for multiple accounts.
2019-06-27 07:48:09 +02:00
Mats Rauhala 8243cc0a5d getmail: add module 2019-06-27 07:48:09 +02:00
Jaka Hudoklin 0db26fc3ab
gpg: add module 2019-06-03 23:50:50 +02:00
Robert Helgesson d5bf68d77d
xsuspender: limit module to Linux 2019-05-30 23:25:30 +02:00
Jaka Hudoklin fcacba268d
xsuspender: add module 2019-05-30 19:53:10 +02:00
Tadeo Kondrak 8b15f18993
mpv: add module 2019-05-08 00:42:18 +02:00
Jos van Bakel be4b100ae5
rsibreak: add module 2019-05-05 01:56:53 +02:00
Nick Hu 2f819d1647
imapnotify: add service 2019-04-29 00:05:02 +02:00
Mario Rodas 821df406c9
z-lua: add module 2019-04-28 23:57:31 +02:00
Robert Hensing c5f230e682
vscode.haskell: add module
- Haskell IDE Engine integration
- Syntax highlighting
2019-04-27 01:00:57 +02:00
hyperfekt e3831d8ecc
alacritty: add module 2019-04-22 14:43:43 +02:00
Olli Helenius 1806e5511e
skim: add module 2019-04-14 17:36:27 +02:00
Nick Hu c48db4fbba
xcape: add service 2019-04-09 22:15:48 +02:00
Mario Rodas 95e36dfe74
lsd: add module 2019-03-20 00:07:49 +01:00
Mario Rodas 24b5f62090
bat: add module 2019-03-19 23:58:12 +01:00
Peter Jones f07510e2b6
mpdris2: add module 2019-02-24 01:32:34 +01:00
Mario Rodas 62e73b17d2
keychain: add module 2019-02-17 22:07:24 +01:00
Robert Helgesson 2f372ab4d6
Clean up support code for Home Manager as a submodule
This removes the `nixosSubmodule` option in favor of a new option
`submoduleSupport.enable`. This name better indicates that the
submodule mode applies to both NixOS and nix-darwin.
2019-02-10 00:44:55 +01:00
Jonas Holst Damtoft 0ca1bf3cfd
emacs: add service module 2019-02-09 15:28:11 +01:00
Amarandus 02a5a678f6
irssi: add module
irssi is a cli IRC client.
2019-01-29 00:53:39 +01:00
Robert Helgesson 008d93928f
xembed-sni-proxy: add module 2019-01-26 14:20:46 +01:00
Adam Washington 6a244b3a8d
matplotlib: add module 2019-01-18 01:23:36 +01:00
Mario Rodas 7afefcf75d
opam: add module 2018-12-28 13:33:13 +01:00
Robert Helgesson b2cc186d22
dconf: add module
This module allows unified configuration of dconf settings.
2018-12-24 17:26:34 +01:00
Robert Helgesson 218a8c4d90
modules: support conditional module inclusion
Also make use of this functionality for the `programs.chromium`
module.

See #501
2018-12-22 23:57:00 +01:00
Olli Helenius dc72aa2305
jq: add module 2018-12-12 22:02:51 +01:00
hyperfekt 6ab6488e5a
vscode: add module 2018-11-26 00:01:01 +01:00
Manuel Bärenz ffdbefe22c
nextcloud-client: add module
Adds the nextcloud-client as a service, simply copying the syntax from owncloud.client.
2018-11-25 23:13:13 +01:00
Robert Helgesson 59448d635c
version: add module 2018-11-24 17:27:59 +01:00
Robert Helgesson fa62c5afb6
modules: fix list sort order 2018-11-19 00:07:29 +01:00
Ben Sima 061c7b633f
afew: add module 2018-11-18 23:47:45 +01:00
Matthieu Coudron dacc07136c
astroid: add module
Astroid is a notmuch/gtk based MUA: https://github.com/astroidmail/astroid
2018-11-18 19:55:28 +01:00
Sam Stites f4ebbcbf70
tmux: add module
This commit adds the tmux program to Home Manager.

In addition to configuring tmux, a user may specify tmux plugins from
Nixpkgs. These can be included in the list of `plugins` and can either
be a package (all tmux plugins live under `nixpkgs.tmuxPlugins.*`), or
an object which includes the plugin and an `extraConfig`, which will
be run immediately after sourcing the tmux plugin.

Finally, this commit introduces two nested programs which may be
enabled which depend on tmux: tmuxp and tmuxinator. These do not have
the ability to be configured, although this may be a future
contribution.
2018-11-14 00:08:39 +01:00
Robert Helgesson 22568a3d26
Revert PR #408
This reverts the commits

- "alot: change msmtp default command"
  8e798e4c28

- "astroid: init"
  736e340bde

because they include changes that break some configurations and some
options that are misplaced.
2018-11-12 21:59:11 +01:00
Matthieu Coudron 736e340bde astroid: init
Astroid is a notmuch/gtk based MUA: https://github.com/astroidmail/astroid
2018-11-12 23:16:03 +09:00
Nikita Uvarov c17f37857c
urxvt: add module 2018-10-20 11:35:39 +02:00
Matthieu Coudron d9c5d3c868
alot: add module
Alot is a python mail user agent (MUA) built around the Notmuch mail
system.
2018-09-28 23:43:40 +02:00
Robert Helgesson 9b3122e92c
lib: copy module from NixOS
Importing the module directly from NixOS causes the documentation to
break, in particular the "Declared by" section.

Fixes #405
2018-09-27 21:01:13 +02:00
adisbladis f44d4a1d86
obs-studio: add module 2018-09-27 19:58:31 +02:00
Roman Volosatovs 0635423e73
go: add module 2018-09-21 00:11:25 +02:00
Mario Rodas 3f34bf4465
noti: add module 2018-09-20 21:26:55 +02:00
Adam Washington d27bccdff1
zathura: add module
Add the zathura document viewer as a program option with support for
managing the zathurarc configuration file.
2018-09-18 23:57:36 +02:00
Minijackson 5ff03ce5ac
taskwarrior: add module 2018-09-18 23:31:37 +02:00
Matthieu Coudron 5eca556fe7
offlineimap: add module
OfflineIMAP is a Mail Retrieval Agent (MRA) like mbsync but written in
Python.
2018-08-30 18:57:35 +02:00
Anton Plotnikov 90bcaaf582
pasystray: add module 2018-08-22 23:17:47 +02:00
Matthieu Coudron cfa06c3f38
msmtp: add module
msmtp is a simple mail transfer agent (MTA).
2018-08-21 00:22:51 +02:00
Robert Helgesson 6630cfbe16
chromium: only enable for the linux platform 2018-08-20 07:11:00 +02:00
Tad Fisher dd25fbcb4b
chromium: add module 2018-08-19 22:46:30 +02:00
Vincent Demeester 29191eb2c7
fish: add module
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2018-08-17 22:32:08 +02:00
Robert Helgesson 93ef6aefce
direnv: add module 2018-07-31 15:48:08 +02:00
Anton Plotnikov 2e9e1909da
status-notifier-watcher: add service 2018-07-31 15:33:57 +02:00
rembo10 d3871ed774
mpd: add module 2018-07-18 22:17:26 +02:00
LightDiscord e365943a70
awesome: add module 2018-07-07 17:49:11 +02:00
Robert Helgesson eecebbf186
notmuch: add module
Co-authored-by: Matthieu Coudron <mattator@gmail.com>
2018-07-01 18:44:53 +02:00
Robert Helgesson 8dc1737e39
mbsync: add module
Co-authored-by: Matthieu Coudron <mattator@gmail.com>
2018-07-01 18:44:53 +02:00
Robert Helgesson 34bb9b5766
email: add module
This adds a general module infrastructure for configuring email
accounts. The intent is to specify high level information such as IMAP
and SMTP hostnames and login information so that more specific program
and service modules do not have to duplicate options for specifying
accounts.

It is allowed for modules to inject further options within this
namespace where relevant. For example, an MUA may wish add an option
to add per-account filter rules.

Co-authored-by: Matthieu Coudron <mattator@gmail.com>
2018-07-01 18:06:09 +02:00
Mats Rauhala 4caa45b8bb
newsboat: add module 2018-06-09 11:36:45 +02:00
adisbladis 53f10f4d46
kdeconnect: add module 2018-06-05 14:58:54 +02:00
Robert Helgesson b6da6569c4
qt: add module 2018-05-18 20:57:36 +02:00
Hamish Hutchings e055e4a092
flameshot: add module 2018-05-03 17:21:03 +02:00
Peter Jones f26cc3b957
mbsync: add module 2018-05-01 22:50:37 +02:00
Nikita Uvarov f314ee3d6a
autorandr: add module 2018-04-19 10:41:52 +02:00
Robert Helgesson fa7d63d9d1
fzf: add module 2018-03-07 22:44:29 +01:00
Tad Fisher 8fc8e158e2 unclutter: add module 2018-03-03 22:54:46 -08:00
Robert Helgesson 4745c7a00d
pidgin: add module 2018-02-19 22:57:50 +01:00
Robert Helgesson 1bc59f7290
allow Home Manager to be used as a NixOS module
This is a NixOS module that is intended to be imported into a NixOS
system configuration. It allows the system users to be set up directly
from the system configuration.

The actual profile switch is performed by a oneshot systemd unit per
configured user that acts much like the regular `home-manager switch`
command.

With this implementation, the NixOS module does not work properly with
the `nixos-rebuild build-vm` command. This can be solved by using the
`users.users.<name?>.packages` option to install packages but this
does not work flawlessly with certain Nixpkgs packages. In particular,
for programs using the Qt libraries.
2018-02-07 20:50:01 +01:00
Christopher League 563a20fc82
xcursor: add module
This is a new module for configuring the X cursor theme.
2018-02-05 22:40:16 +01:00
Alistair Potts 91a98f919d
stalonetray: add module
Adds a service for the Stalonetray system tray.

Configured through a 'config' attribute set, which writes space
separated key value pairs on successive lines to `~/.stalonetrayrc`.
2018-02-03 10:44:37 +01:00
Alistair Potts 616dbd67f7
mercurial: add module
Very simple module for hg based on programs.git, and is intended to have
compatible options. For simple setups, a user should be able to write
something like:

    {...}:
    let vcsconfig = {
            enable = true;
            userName = "John Smith";
            userEmail = "js@example.com";
            ignores = [ "*.swp" "*~" ];
        };
    in
    {
        programs.git       = vcsconfig // {...extra git config...};
        programs.mercurial = vcsconfig // {...extra hg confg...};
    }

For this reason, the ignore options are `ignores` for `syntax: glob`
and `ignoresRegexp` for `syntax: regexp` so that simple glob ignores
can (very likely) be shared with a git config, despite regular
expressions being the default for mercurial.
2018-02-02 20:52:54 +01:00
Nikita Uvarov a597c66afe
syncthing: merge qsyncthingtray into the module 2018-01-25 21:52:01 +01:00
André-Patrick Bubel 071f7aea82
qsyncthingtray: add module 2018-01-20 11:51:39 +01:00
Robert Helgesson f0d207f380
Add dag library to config.lib
Also replace all imports of `dag.nix` by the entry in `config.lib`.
2017-12-26 17:27:21 +01:00
Robert Helgesson 040159c02f
modules: fix sorting 2017-12-11 13:51:22 +01:00
Robert Helgesson 61c6c83de4
modules: do not import modules
The `evalModules` function is smart enough to import modules and will
then also use correct file names.
2017-12-11 13:48:46 +01:00
Gleb Peregud aa1bf31bcb
parcellite: add module
This adds a Parcellite service. It has no configuration options, since
the app has its own mutable preferences dialog, which unconditionally
replaces `~/.config/parcellite/parcelliterc` when preferences are
saved.
2017-12-08 00:40:28 +01:00
Silvan Mosberger f8aaba6704
lib: add module 2017-12-02 18:11:53 +01:00
Tad Fisher 7a5b9152e9
keybase, kbfs: add modules 2017-11-26 23:11:37 +01:00
Robert Helgesson e99de88c5c
modules core: move modules list to own file
This is to simplify use of Home Manager as a NixOS module.
2017-11-24 21:58:16 +01:00