Commit graph

226 commits

Author SHA1 Message Date
Robert Helgesson 86fcfc74da
nixpkgs: replace use of traceValIfNot
The `traceValIfNot` function is deprecated in Nixpkgs master. Instead
use `traceSeqN`.

Fixes #301
2018-07-04 19:56:13 +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 faf04b009b
qt: support GTK+ theming for Qt services 2018-06-03 17:26:47 +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
Tad Fisher 6dc4f31ba1
git: add 'includes' option 2018-04-19 17:45:09 +02:00
Nikita Uvarov f314ee3d6a
autorandr: add module 2018-04-19 10:41:52 +02:00
Robert Helgesson 4205c91609
ssh: move options to end of configuration file
This is needed to support overriding these options inside match
blocks. A new option `programs.ssh.extraOptionOverrides` has been
added to allow global overrides.
2018-03-25 08:51:20 +02:00
Robert Helgesson 75c4075345
nixpkgs: expand description of nixpkgs.config and nixpkgs.overlays 2018-03-20 20:23:42 +01: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 b47cc4bc66
qsyncthingtray: remove deprecated option 2018-02-26 22:30:28 +01:00
Robert Helgesson 4745c7a00d
pidgin: add module 2018-02-19 22:57:50 +01:00
Andrew Scott f2265b10e4
rofi: add theme option
The preferred method of theming rofi is now to use "rasi" theme files.
This commit therefore downplays the colors option and introduces the
theme option.
2018-02-10 20:11:33 +01:00
Robert Helgesson 9ea353569a
Remove deprecated option home.sessionVariableSetter 2018-02-08 22:54:29 +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 18159c85b9
home-environment: deprecate option home.sessionVariableSetter 2018-01-08 21:40:32 +01:00
Robert Helgesson d7755de116
pam: add option pam.sessionVariables 2018-01-07 17:52:13 +01:00
Robert Helgesson 7dd09cecda
gtk: remove deprecated options 2017-12-23 12:46:02 +01:00
Cornelius Mika 8759a5a63e
systemd: add option to automatically start services 2017-12-11 18:25:49 +01:00
Robert Helgesson 6764c26954
files: remove mode option
This option was deprecated >1 month ago and is therefore removed as
per the corresponding news entry.
2017-12-11 15:14:45 +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
Tad Fisher 7a5b9152e9
keybase, kbfs: add modules 2017-11-26 23:11:37 +01:00
Robert Helgesson 7876d533cf
gtk: fix erroneous variable reference 2017-11-24 22:25:36 +01:00
Robert Helgesson bcb82da88f
gtk: improve theme and font configuration
Specifically, allow the user to specify the package that provides the
theme or font.

Fixes #1.
2017-11-24 21:24:31 +01:00
Robert Helgesson 592fd61788
module/home-manager: remove modulesPath option
This option has been deprecated for a month and is removed according
to the news entry.
2017-11-24 13:51:21 +01:00
Robert Helgesson 64befb27eb
news: minor formatting fix 2017-11-20 13:58:04 +01:00
Nikita Uvarov 177565567e
i3: extend module
New options:
  i3.config.keycodebindings
  i3.config.window.commands
  i3.config.window.hideEdgeBorders
  i3.config.focus.mouseWarping
2017-11-20 11:50:20 +01:00
Nikita Uvarov 1946343d5b
i3: add notification option to startup submodule
Fixes https://github.com/rycee/home-manager/issues/129.
2017-11-15 15:43:05 +01:00
Matthieu Coudron 61a869a1f5
neovim: add module
This is a basic module that allows to configure different Neovim
providers than the system ones. Note, it does not generate any
`init.vim`.
2017-11-12 23:57:14 +01:00
Robert Helgesson a977c79f9f
xdg: add option 'xdg.dataFile'
This allows creating files within the user's XDG data directory.
2017-11-11 00:30:53 +01:00
Robert Helgesson 549deb51d6
xdg: use fileType for xdg.configFile 2017-11-06 14:24:04 +01:00
Cornelius Mika ccb291ce66
files: add option 'executable'
This also deprecates the `home.file.<name?>.mode` option, which is
misleading because the Nix store only allows modes 'r--' and 'r-x'.
2017-11-06 14:24:04 +01:00
Nikita Uvarov 467b774d13
i3: add module 2017-10-31 16:10:42 +01:00
Robert Helgesson 78a1424582
xsession: remove xsession.windowManager option
This removes the deprecated use of `xsession.windowManager` as a
string.

This commit also adjusts the xmonad module to become a full module.
I.e., the backwards compatibility hack was removed.
2017-10-31 14:05:54 +01:00
Robert Helgesson 82d6aa0c97
xdg: fix use of base path 2017-10-31 12:26:39 +01:00
Robert Helgesson 3a95ff7435
xdg: add news entry 2017-10-29 01:59:34 +02:00
Robert Helgesson d70715a635
use xdg.configFile for files in XDG config home 2017-10-29 01:59:34 +02:00
Robert Helgesson 54a9058ee0
xdg: add module
When enabled this module will cause Home Manager to manage the user
environment XDG variables. When disabled, then Home Manager will use
the XDG variables taken from the user environment.
2017-10-29 01:59:34 +02:00
Robert Helgesson 7417d8e86e
nixpkgs: add module 2017-10-24 01:29:35 +02:00
Robert Helgesson bf3a8c6383
home-manager: point <home-manager> to project root
Before this path would point to the modules path. Using the project
root instead makes it possible to set `<home-manager>` to point to a
downloadable archive of Home Manager. This should make it
significantly easier to install and keep Home Manager up to date.

To match this change we also deprecate the Home Manager option

    programs.home-manager.modulesPath

and instead ask users to use

    programs.home-manager.path
2017-10-24 01:14:22 +02:00
Robert Helgesson 30b9d7f00e
Use only tools from Nixpkgs in activation script
Note, we still pull in the user's `PATH` in case the user has defined
their own activation blocks that depend on additional tools.
Eventually this will be deprecated and removed.

See #99.
2017-10-20 19:04:33 +02:00
Robert Helgesson c144580c98
xsession: warn about windowManager option removal 2017-10-19 11:45:04 +02:00
Robert Helgesson 3632478b8d
man: add module 2017-10-15 16:01:41 +02:00
Nikita Uvarov 691eea9b45
zsh: add sessionVariables option 2017-10-12 14:14:06 +02:00
Robert Helgesson 3f430627df
fontconfig: add module 2017-10-10 20:29:22 +02:00
Nikita Uvarov 469caa1a14
polybar: add module 2017-10-07 12:40:08 +02:00
Robert Helgesson 9c859d2655
xmonad: add module
Adapted from #78 and originally authored by Infinisil.
2017-10-04 20:36:31 +02:00
Robert Helgesson e4c359d8b9
udiskie: add a few configuration options
The new options allow some control over automounting, notifications,
and the tray icon.

This commit also changes the defaults to automatically mount new
devices, udiskie was previously told not to automount. The change in
behavior is to closer match the default options.
2017-10-02 13:25:31 +02:00
Robert Helgesson aa974c0dc3
vim: add option programs.vim.settings
This option gathers basic Vim options into a single place. The idea is
to allow many options without making the Home Manager documentation
too verbose.

This also deprecates the options `programs.vim.lineNumbers` and
`programs.vim.tabSize`.

Fixes #69.
2017-09-30 13:30:42 +02:00
Robert Helgesson 23d3539fcb
xsession: deprecate xsession.windowManager
The intention is for the `xsession.windowManager` option to be
available for full modules in the future. The option
`xsession.windowManager.command` should now be used to specify the
window manager startup command.
2017-09-30 12:48:47 +02:00
Nikita Uvarov e9deaf2ca5
rofi: add module 2017-09-28 15:39:25 +02:00
Nikita Uvarov 393274d142
command-not-found: add module 2017-09-27 09:49:32 +02:00
Robert Helgesson a8e08d14bb
Mark rycee as maintainer for a bunch of modules 2017-09-26 23:40:31 +02:00
Nikita Uvarov 0f096f9ad4
git: change extraConfig from lines to attrs 2017-09-22 23:32:38 +02:00
Robert Helgesson 61042c7606
lib: use generators from Nixpkgs 2017-09-21 13:18:33 +02:00
Nikita Uvarov 3e4f7228a0
screen-locker: add module 2017-09-20 17:16:21 +02:00
Nikita Uvarov aa69598b57
compton: add module 2017-09-13 14:40:30 +02:00
Robert Helgesson f47084968d
news: minor cleanup
This puts entries in chronological order and adds a comment describing
how to get a suitable time stamp.
2017-09-12 18:08:44 +02:00
Nikita Uvarov 6a8e8e92a7
blueman-applet: add module 2017-09-12 16:44:16 +02:00
Nikita Uvarov 379e2c694b
zsh: move aliases definitions after initExtra
Same motivation as in https://github.com/NixOS/nixpkgs/pull/28378.
zsh.initExtra parameter can be used by external modules which can
redefine user aliases. This change will give user-defined aliases
the highest priority.
2017-09-12 15:21:38 +02:00
Robin Stumm 258bc85b9c
zsh: add plugins submodule
To pass compinit security checks,
plugins are liked into ~/zsh/plugins folder.
This also solves issues with a slow start up,
see https://github.com/rycee/home-manager/pull/56#issuecomment-328057513.
2017-09-12 14:42:38 +02:00
Robert Helgesson ab0338f6ae
news: add module
This new module adds a "news" feature to Home Manager. See #52.

Many thanks to @nonsequitur and @uvNikita for suggestions and
improvements.
2017-09-05 11:36:33 +02:00
Robert Helgesson d7a70c87cd
gtk: fix bug in condition 2017-01-17 18:16:45 +01:00
Robert Helgesson 30e30688b8
gtk: add module
Quite rough around the edges, though.
2017-01-17 00:50:18 +01:00
Robert Helgesson 5fbbbd1ea4
pam: add module
Also make it possible to set session variables using PAM rather than
Bash.
2017-01-16 23:54:45 +01:00