1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-12-29 13:19:47 +01:00
Commit graph

287 commits

Author SHA1 Message Date
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
0x6d6178
c8323a0bf1
xdg-user-dirs: fix typo in option name
Fixes #985
PR #987
2020-01-17 23:55:27 +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
Robert Helgesson
9e716025b6
lorri: restrict news entry to Linux 2019-11-24 18:53:44 +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
Nikita Uvarov
4505710565
zsh: fix history.path issues
- Default value is set to static '$HOME/.zsh_history' -- dotDir is not
prepended anymore
- $HOME is not prepended to the option value
- Ensure history path directory exists

Fixes #886, replaces #427.
2019-11-05 23:04:06 +01:00
Mario Rodas
05dabb7239
pazi: add module 2019-11-04 21:57:15 +01:00
Nikita Uvarov
149c0593ab
version: add 20.03 2019-10-28 22:08:51 +01:00
Robert Helgesson
761b3d0c12
rtorrent: add news entry 2019-09-26 23:47:41 +02:00
Mario Rodas
7205d3b2d2
starship: add module 2019-09-26 23:19:39 +02:00
Tobias Happ
3f45630180
xdg-mime-apps: add legacy mimeapps.list path
Although `.local/share/applications/mimeapps.list` is deprecated, this
file is still being read by some applications. To ensure compatibility
duplicate the file as recommended in
https://wiki.archlinux.org/index.php/XDG_MIME_Applications#mimeapps.list
2019-09-20 20:15:47 +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
Robert Helgesson
a144c723a1
doc: surround name? with fancier characters 2019-09-01 21:28:40 +02:00
Tobias Happ
f1146a1fef
vim: allow packages to be passed as plugins
This change allows to pass custom packages into the `vim.plugins`
option.

Additionally this adds a deprecation warning and an error message if a
vim plugin is not present. This is an improvement because the user
gets instant feedback, when a plugin is not found.
2019-08-28 12:18:24 +02:00
Robert Helgesson
57925c50bf
nixpkgs: improve description formatting slightly 2019-08-21 20:20:08 +02:00
Tobias Happ
db0dfb4b08
dwm-status: add module 2019-08-18 16:23:31 +02:00
Robert Helgesson
6932e6330e
muchsync: add news entry 2019-08-17 14:25:15 +02:00
Tobias Happ
5c94538c7d
numlock: set RemainAfterExit for numlockx.service 2019-08-15 11:53:34 +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
Olli Helenius
caf3349f01 dconf: assume empty list value is a list of strings
Fixes #769.
2019-07-28 13:01:29 +03:00
Robert Helgesson
54de0e1d79
xdg: create cache directory using keep file
We can avoid the activation block by instead creating a hidden file in
the directory.
2019-07-26 23:23:51 +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
Mats Rauhala
8243cc0a5d getmail: add module 2019-06-27 07:48:09 +02:00
Robert Helgesson
95d55b8da1
xsession: add option importedVariables
This option lists the environment variables to be imported into the
systemd user session.

Also add a basic test of the xsession module.
2019-06-23 14:06:29 +02:00
Judson
f82246171b
files: backup file collisions
When a configuration file would be written to an existing file, rather
than failing switch (and having the user have to move or delete those
files), move the files automatically to a new path.

Closes #585
2019-06-09 14:26:12 +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
Robert Helgesson
b256e3a44f
fontconfig: fix build error
This fixes a build error occurring when building a configuration
having fontconfig enabled and `home.packages` only containing one
package installing things to `/lib`.

Also adds a number of test cases to verify the fontconfig cache
generation functionality.

Fixes #703
2019-05-06 00:44:23 +02:00
Jos van Bakel
be4b100ae5
rsibreak: add module 2019-05-05 01:56:53 +02:00
Robert Helgesson
1f4e9681f7
fontconfig: fix error on missing cachedir file
Fixes #699
2019-04-30 18:43:58 +02:00
Robert Helgesson
f18e2933d4
fontconfig: generate font cache files
Also deprecates the `fonts.fontconfig.enableProfileFonts` option. The
configuration is now always generated if `fonts.fontconfig.enable` is
set.

Fixes #520
2019-04-30 00:28:07 +02:00
Robert Helgesson
b6e613c771
Fix type of various sessionVariables options
Unfortunately, using `attrsOf` is not possible since it results in too
eager evaluation. In particular, the

    home.sessionVariables = {
      FOO = "Hello";
      BAR = "${config.home.sessionVariables.FOO} World!";
    };

example will cause an infinite recursion.

This commit restores the option type of

- `home.sessionVariables`,
- `pam.sessionVariables`,
- `programs.bash.sessionVariables`, and
- `programs.zsh.sessionVariables`

to `attrs`. It also adds test cases for the above options to avoid
regressions.

Fixes #659
2019-04-27 01:07:09 +02:00
Robert Hensing
c5f230e682
vscode.haskell: add module
- Haskell IDE Engine integration
- Syntax highlighting
2019-04-27 01:00:57 +02:00
Robert Helgesson
8ecc311bcc
Update stable version to 19.03
Also prepares for 19.09.
2019-04-22 20:04:31 +02:00
hyperfekt
e3831d8ecc
alacritty: add module 2019-04-22 14:43:43 +02:00
Benjamin Staffin
c5f35b7ff9
dconf: allow values to be floats
Technically dconf calls these "double" but nix floats ought to work.
2019-04-17 23:04:48 +02:00
Olli Helenius
1806e5511e
skim: add module 2019-04-14 17:36:27 +02:00
Robert Helgesson
3db46fa9bf
news: limit mpdris2 and xcape news to Linux
These modules are limited to Linux since they define systemd services.
2019-04-12 01:02:12 +02:00
Robert Helgesson
12cb82af91
systemd: make the unit option type more robust
This should allow more sensible merging behavior. In particular, with
this change it is possible to use, for example, `mkForce` for greater
control of merging.

Fixes #543
2019-04-12 01:02:12 +02:00
Nick Hu
c48db4fbba
xcape: add service 2019-04-09 22:15:48 +02:00
Olli Helenius
995fa3af36
qt: add option platformTheme
This deprecates `useGtkTheme=true` with the intention of replacing it
with the `platformTheme` selection.
2019-04-03 23:55:36 +02:00
Robert Helgesson
4323b35198
pam: use attrsOf instead of attrs 2019-04-03 00:09:56 +02:00
Robert Helgesson
e26ad2026c
gtk: use attrsOf instead of attrs 2019-04-03 00:09:46 +02:00
Tadeo Kondrak
bc2b7d4f09
qt: use xdg.configHome instead of hard-coding 2019-03-27 22:40:12 +01: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
Robert Helgesson
a09196c4ae
docs: add language attribute to program listings 2019-03-06 18:52:54 +01:00
Olli Helenius
848b8b983e
pam: enclose session variable values in quotes 2019-03-06 18:00:51 +01:00
Peter Jones
f07510e2b6
mpdris2: add module 2019-02-24 01:32:34 +01:00
Robert Helgesson
e0e8d5061d
keychain: add news entry 2019-02-17 22:12:25 +01:00
Robert Helgesson
ef168979bf
nixos module: support NixOS user packages install
When using the NixOS module we cannot guarantee that the Nix store
will be writable during startup. Installing the user packages through
`nix-env -i` will fail in these cases.

This commit adds a NixOS option `home-manager.useUserPackages` that,
when enabled, installs user packages through the NixOS

    users.users.<name?>.packages

option.

Note, when submodule support and external package install is enabled
then the installed packages are not available in `~/.nix-profile`. We
therefore set `home.profileDirectory` directly to the HM profile
packages.
2019-02-16 21:42:47 +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
Yurii Rashkovskii
2410bc603b
nixpkgs: fix installation on non-x86
On non-x86 architectures (for example, aarch64) the installation of
home-manager fails indicating that it is attempting to select i686
packages for Linux and those aren't available.

Solution: make the condition for choosing these packages stricter
2019-01-29 20:15:18 +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
40b3443c8f
dconf: add some information of use under NixOS 2018-12-24 18:36:55 +01:00
Robert Helgesson
cc964b4609
gtk: remove option gtk.gtk3.waylandSupport 2018-12-24 17:26:34 +01:00
Robert Helgesson
370a84192e
gtk: make gtk.gtk2 and gtk.gtk3 not submodules 2018-12-24 17:26:34 +01:00
Robert Helgesson
4104ff2b6a
gtk: use dconf module for settings 2018-12-24 17:26:34 +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
Robert Helgesson
797fbbf826
beets: add enable option 2018-12-04 23:03:23 +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
Will Fancher
a9a4fb641f
nix-darwin: add system module for nix-darwin 2018-11-20 00:22:53 +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
0435d9c338
news: remove news item about removed vim options 2018-10-29 19:42:09 +01:00
Jonas Carpay
15a5f3278a
Remove tabSize and lineNumbers check from news item 2018-10-20 16:57:27 +02: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
gnidorah
33a2943e8c
gtk: add support for wayland 2018-09-26 21:32:43 +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
Matthieu Coudron
7a8d50a803
xdg: create $XDG_CACHE_HOME
Some programs fail silently (bash with HISTFILE for instance) when the
folder doesn't exist.
2018-08-20 20:37:26 +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
Tad Fisher
26342588ab
gpg-agent: add extraConfig option 2018-08-19 21:46:25 +02:00
Vincent Demeester
29191eb2c7
fish: add module
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2018-08-17 22:32:08 +02:00
Malte Brandy
c18b1328a5
Parametrize path to profile directory 2018-07-31 16:04:19 +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
Mario Rodas
092706eff8
nixpkgs: only pass pkgs_i686 argument on Linux
Nixpkgs added an assertion on pkgsi686Linux [1] to avoid evaluating it
pkgsi686Linux on non-Linux systems.

[1] ad20a4a1c3
2018-07-13 19:26:08 +02:00
LightDiscord
e365943a70
awesome: add module 2018-07-07 17:49:11 +02:00
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