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

395 commits

Author SHA1 Message Date
polykernel
15ae861e1b
swaynag: add module
Swaynag is a replacement of i3-nag for sway. Swaynag is embedded in
Sway's build process albeit it is not an integral part of Sway,
therefore it has been added under `wayland.windowManager.sway` instead
of `programs`. It can be moved at a later time if necessary.

Two unit tests were added validate the module behavior for an empty
configuration and the example configuration.
2021-11-21 18:37:50 +01:00
oxalica
c82bc787b8
xdg: fix typo and add test 2021-11-20 09:47:27 +01:00
oxalica
70c5b268e1
xdg: add option 'xdg.stateHome' (#2439)
It corresponds to the newly introduced `XDG_STATE_HOME`.
2021-11-04 17:42:44 +01: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
Thiago Kenji Okada
223a4a17a4
nixpkgs-disabled: add module
This commit introduces the `nixpkgs-disabled` module, that is
basically a mock of `nixpkgs` module where any value different from
`null` will cause an assertion error.

This is to help debugging cases where `home-manager.useGlobalPkgs` is
set to `true` and `nixpkgs.*` options are being used.

Nowadays this returns the following error:

```
error: The option `home-manager.users.<user>.nixpkgs` does not exist.
```

This will change too:

```
error: `nixpkgs` options are disabled when `home-manager.useGlobalPkgs` is enabled.
```

That will direct the user to the correct solution (either removing
`nixpkgs` or disable `home-manager.useGlobalPkgs`).
2021-10-13 23:46:38 +02: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
Thiago Kenji Okada
32285d8fe6
rofi: remove options removed from upstream in v1.7.0 2021-10-09 00:45:20 +02:00
Robert Helgesson
8bbade4b01
fontconfig: only remove directory if it exists 2021-10-06 15:02:34 +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
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
Robert Helgesson
1719495bdf
screen-locker: make news entry conditional 2021-10-05 22:31:41 +02:00
Josh Robson Chase
e4df31dcea
screen-locker: Make xautolock optional, reorganize options (#2343)
* screen-locker: Make xautolock optional, reorganize options

xautolock isn't really needed to trigger xss-lock on the basis of time
since the built-in screensaver functionality of X serves as one of the
event sources for xss-lock. Keeping it around and defaulting to
"enabled" to avoid unexpected breakage.

Also shuffled around the options to submodules for xss-lock and
xautolock to get rid of prefixes in option names and to make
enableDetectSleep a bit clearer.

* screen-locker: update maintainership

* tests/screen-locker: Stub i3lock and xss-lock

* screen-locker: add package options for xss-lock and xautolock
2021-10-05 12:58:25 -04:00
Robert Helgesson
179ce0aacf
fontconfig: use a prettier "real directory" hack 2021-10-03 23:09:19 +02:00
Naïm Favier
f15cd0f087
gtk: add final newline to bookmarks to avoid conflicts 2021-10-03 09:39:25 +02:00
polykernel
7cb118c9d2
xdg: coerce XDG base directories settings to strings
Currently, when a custom path is set for any of the XDG base
directories (i.e XDG_DATA_HOME, XDG_CONFIG_HOME, ...), the path will
be coerced into a string when consumed by other options such as
xdg.configFile et al. This causes the the given path to be copied to
the nix store which in the case of xdg.configFile et al, translate to
the file being written there as it is a absolute path.

Interestingly, the default base directories all work as intended as
they are encoded as a string.

This commit converts the option to a string regardless of whether it
is a primitive path or a string encoded path. This allows downstream
consumers to use the base directories in arbitrary way without
accidentally copying the content of the directory to the store. It is
implemented in a similar manner as how home.homeDirectory undergoes
string conversion.

The existing file-attr-name test was modified to test also custom xdg
base directories, and the home.file generation test was removed as
there is a dedicated test for this case in the files module. The test
case was renamed to file-gen to better reflect the new scope.
2021-09-21 21:29:44 +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
Basti
5e46262cb1
betterlockscreen: add module (#2292) 2021-09-05 19:00:28 -06:00
polykernel
521a03d8bf
fnott: add module
Fnott is a keyboard driven and lightweight Wayland notification daemon
for wlroots-based compositors.

There are four unit test to validate behavior for an empty
configuration, the default configuration, global properties and
systemd service file generation.
2021-08-26 08:43:39 +02:00
Ivan Malison
ad0fc085c7
git-sync: add module 2021-08-17 00:00:38 +02:00
Mihai Fufezan
c049a09d1a
easyeffects: add module (#2182)
* pulseeffects: change default example

pulseeffects-pw is now an alias to easyeffects, and the `pulseeffects` binary
that this module references is no longer in that package.

* easyeffects: add module

The easyeffects service is the PipeWire equivalent of the pulseeffects
service.
2021-08-11 09:21:43 -06:00
Shamrock Lee
a4a8307897
java: add module 2021-08-10 23:30:12 +02:00
Ivan Malison
2c4234cb79
notify-osd: init (#2240)
Daemon that displays passive pop-up notifications
2021-08-08 20:29:36 -04:00
Robert Helgesson
996b439739
volnoti: add platform assert 2021-07-24 00:37:06 +02:00
Andreas Mager
cc6909d407
trayer: add module (#2177) 2021-07-24 00:29:49 +02:00
Ivan Malison
41101d0e62
volnoti: add module (#2183) 2021-07-21 00:17:27 -04: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
Ivan Malison
c476cc61b2
xsettingsd: add service module 2021-07-15 15:47:42 +02:00
IvarWithoutBones
775cb20bd4
sm64ex: add module 2021-07-12 08:57:35 +02:00
Bruno BELANYI
8d3b273afe
himalaya: add module
A very simple TUI mail client.
2021-06-26 18:29:42 -04:00
Ilan Joselevich
7e2b1a42aa
i18n.inputMethod: add module 2021-06-25 00:58:50 +02:00
Robert Helgesson
21ac4c499b
xmonad: restrict news entry to Linux 2021-06-24 08:42:28 +02:00
Nicolas Berbiche
49864a4370
xmonad: document breakage of recompilation (#2024)
Co-authored-by: Markus Scherer <markus.f.scherer@gmail.com>
2021-06-22 20:36:47 -04:00
ZerataX
fb50102daf
mangohud: add module 2021-06-12 09:55:58 +02:00
Johannes Schleifenbaum
06a98ba0fd
pantalaimon: add module (#2056) 2021-06-07 17:38:42 -04:00
Dominik Schrempf
f74dc9c70b
xidlehook: add module (#1761)
Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
2021-06-07 16:13:43 -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
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
Robert Helgesson
19d95258ac
docs: set current version to 21.11 2021-06-05 20:05:04 +02:00
Robert Helgesson
d3cdabb5c9
Replace references to pkgs.gnome3 by pkgs.gnome 2021-06-03 22:09:59 +02:00
cwyc
30102ea9e5
xdg-desktop-entries: add module (#1450)
* xdg-desktop-entries: add module

rebase

* xdg-desktop-entries: adapt to changes in makeDesktopItem

This package depends on the makeDesktopItem function in nixpkgs, which recently changed its syntax:
https://github.com/NixOS/nixpkgs/pull/91790

This commit makes the module compatible with the new syntax.

It also exposes the fileValidation option in makeDesktopItem.

Co-authored-by: cwyc <cwyc@users.noreply.github.com>
Co-authored-by: --get <--show>
2021-06-02 19:36:17 -04:00
Robert Helgesson
90493027e3
mbsync: fix news entry 2021-05-23 20:32:01 +02:00
Karl H
64607f58b7
isync/mbsync: replace master/slave with far/near (#1776)
* isync/mbsync: replace master/slave with far/near

  isync/mbsync: update tests to match new changes

* isync/mbsync: use mkRenamedOptionModule to alert user to near/far change

* isync/mbsync: use warnings to alert about master/slave far/near change

  Fix capitalization

  isync/mbsync: fix nitpicks

* isync/mbsync: run format script

* isync/mbsync: include new test for expected master/slave warnings

* isync/mbsync: add news about changes
2021-05-22 15:31:06 -06:00
Scott Olson
82ab1ad467
syncthing: fix news link (#2032) 2021-05-20 20:23:55 -06:00
Pierre Labadens
ff616b2734
foot: add module
Foot is a fast terminal emulator for Wayland. It can optionally be run
in a client-server configuration.

There are three unit tests to handle an empty configuration, the
default configuration, and systemd service file generation.
2021-05-18 22:29:41 +02:00
Nick Hu
3612ca58e8
syncthing: make syncthing tray package configurable (#1257)
Also sets the default syncthing tray package to
https://github.com/Martchus/syncthingtray instead of
https://github.com/sieren/QSyncthingTray, which indirectly fixes #603
2021-05-18 15:43:17 +01:00
Tad Fisher
01ec2aaefe
systemd: revert systemd-environment-generator usage for environment variables (#2001) 2021-05-16 17:43:50 -04:00
Tad Fisher
23769994e8
xdg.systemDirs: init module (#1797)
There is a need to manage XDG Base Directory system directory
environment variables in Home Manager modules. There is an existing
mechanism in `targets.genericLinux.extraXdgDataDirs', but this does not
apply to NixOS systems.

Furthermore, it is important that `XDG_CONFIG_DIRS' and `XDG_DATA_DIRS'
are set in both login shells (to support getty and SSH sessions) as well
as the systemd user manager (to propagate them to user services and
desktop environments).

The first need is addressed by adding the `xdg.systemDirs' module, which
configures lists of directory names for both `config' and `data'
directories. These are then set in
`$XDG_CONFIG_DIR/environment.d/10-home-manager.conf' and picked up by
the systemd user manager.

To make these, and other variables set in
`systemd.user.sessionVariables', available in login shells, an
additional step is added to `etc/profile.d/hm-session-vars.sh' which
exports the result of
`user-environment-generators/30-systemd-environment-d-generator' which
is shipped with systemd. The effect of this generator is to print
variables set on the systemd user manager such that shells can import
these into their environment.
2021-05-10 20:14:42 -04:00
Bruno BELANYI
3b799f6ea4
nix-index: add module (#1984)
`nix-index` is a tool to quickly locate the package providing a certain
file in `nixpkgs`. It indexes built derivations found in binary caches.

This module adds the shell integration for its `command-not-found`
script for interactive shells.
2021-05-09 18:13:10 -04:00
Robert Helgesson
e42e147b58
Remove some usage of config.lib.dag
The `lib.hm.dag` attribute set should always be preferred.
2021-05-09 12:13:31 +02:00
0qq
ff959fd49a
sxhkd: fix environment (#1892)
* sxhkd: move to xsession.initExtra

When sxhkd is launched as systemd service it
doesn't have $PATH a user expects to see.

* sxhkd: add news entry
2021-05-07 15:28:52 -04:00
Vincent Breitmoser
30355f8ee6
etesync-dav: add module 2021-05-06 22:48:57 +02:00
Mario Rodas
2f857761d0
ncspot: add module (#1939)
* ncspot: add module

ncspot is a ncurses Spotify client written in Rust using librespot.

* news: fix bad github ui merge

Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2021-05-01 17:38:12 -04:00
Christian Kalhauge
614a5b55bf
lazygit: add module (#1930)
Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-05-01 09:56:19 -06:00
Kritnich
2eed138026
barrier: add module
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-05-01 00:11:17 +02:00
Sumner Evans
5e6f09795c
gtk2: allow configuration of gtkrc file
Closes #519
2021-04-30 22:56:56 +02:00
Harsh Shandilya
137a584e22
topgrade: add module (#1924) 2021-04-28 19:56:58 -04:00
Thibaut Marty
a759143ae1
mpris-proxy: add module (#1832) 2021-04-28 15:05:56 -04:00
Thibaut Marty
865e404826
poweralertd: add module (#1951) 2021-04-27 16:38:41 -04:00
Vladimir Serov
b4e3f069f1
pass-secret-service: add module (#1898)
pass-secret-service is a proxy between
secret service (libsecret) and pass.
2021-04-27 15:36:29 -04:00
Christian Gram Kalhauge
7cf69a3b8d
exa: add module
Exa is a 'ls' alternative with more sane colorscheme than lsd on white
backgrounds.
2021-04-11 22:47:06 +02:00
brwith
17a10287d2
gtk: use font.size option in dconf (#1920)
Allow usage of font.size for the GTK interface font in dconf.
2021-04-09 21:45:14 -04:00
Sebastian Zivota
33edf558a0
lib/types/fontType: Add size attribute (#1848)
* lib/types: Add size attribute to fontType
* tests: Add test for kitty
* modules/types/fontType: Make size nullable
* Add release notes

Co-authored-by: Sebastian Zivota <sebastian.zivota@mailbox.org>
2021-04-07 16:18:09 +02:00
Thiago Kenji Okada
6e3d93d7cc
xdg-user-dirs: add createDirectories option
It automatically creates all the XDG user directories. Set to false as
default to not break backwards compatibility.
2021-04-03 17:59:52 +02:00
lunik1
ad04237d51
dircolors: apply extraConfig after settings (#1890)
Applying extraConfig before settings made it unable to override the
defaults.
2021-03-31 22:01:02 +02:00
Thiago Kenji Okada
0e2dc4be30
qt: add qt.style option (#1839)
This allows you to set a theme for Qt applications. For example, if you
want to use `adwaita-qt` theme to have uniform look between Gtk and Qt
applications, you can use it like this:

```nix
{
  qt = {
    enable = true;
    platformTheme = "gnome";
    style = {
      name = "adwaita";
      package = pkgs.adwaita-qt;
    };
  };
}
```
2021-03-03 22:20:17 -05:00
Teo Ljungberg
69e2693342
home-manager: respect NO_COLOR environment variable
This makes Home Manager respect the NO_COLOR environment variable to
disable coloring from output generated by Home Manager.

This initiative can be found more on https://no-color.org/
2021-03-03 23:28:06 +01:00
Andrew Fontaine
f45c7000d5
git: correct value of envelopeSender for msmtp (#1838)
The value should be "auto", not `true`.

Also fix news entry.
2021-02-28 20:42:44 +01:00
Andrew Fontaine
aa479b0124
git: rely on msmtp for smtp if msmtp is enabled (#1829)
If a user using msmtp to send all their email, it would be preferred if
git used it as well.

The only settings necessary are to set the smtp server to the msmtp
binary and set envelop sender to true, which makes git call msmtp with
the -f flag to set the from address from the email.
2021-02-28 16:06:11 +01:00
Nadrieril
da92360208
polybar: allow config to be more nix-like (#1430)
Polybar's config format is a bit strange, and lists in particular are
annoying to handle. This enables using normal nix lists and nested
attrsets instead.

This change is not backwards-compatible, because the INI converter
converts lists of strings to space-separated values, and this does
something else. I expect that this is only relevant for the
`modules-left` etc bar setting, but that's enough to break things :(.
2021-02-20 18:34:59 +01:00
Robert Helgesson
46a750f94f
home-manager: use 21.05 as next version
Fixes #1662
2021-02-05 22:09:00 +01:00
Jakub Kozłowski
63d5d28db6
sbt: add new module 2021-02-04 23:42:37 +01:00
midchildan
9dad146639
targets/darwin: add more options for configuring macOS (#1753)
Add new options Darwin options:

- `targets.darwin.defaults`
  This adds options for configuring macOS through the `defaults(1)` system.
  This option can be used to manipulate a vast majority of user settings for macOS
  and its applications.

  This is implemented using freeform modules and includes additional descriptions
  and type information for some useful options.

- `targets.darwin.keybindings`
  This adds options for configuring the default keybindings for macOS text fields.

- `targets.darwin.search`
  This adds options for configuring the default search engine for macOS.
2021-02-03 18:46:16 -05:00
Sara Johnsson
df7d81b0b3
playerctld: add module 2021-01-31 12:36:30 +01:00
Robert Helgesson
b0c8727286
dconf: make sure the configuration directory exists
Fixes #1731
2021-01-21 20:35:03 +01:00
Emery Hemingway
73506f947c
plan9port: add module 2021-01-02 08:50:57 +01:00
Robert Helgesson
6acc6bc651
pam: add note about future deprecation
See #1691 for more information.
2021-01-01 09:51:26 +01:00
06kellyjac
05448dcedb
octant: add module 2020-12-31 15:18:13 +01:00
Robert Helgesson
8b3fca4ec5
dconf: format file 2020-12-21 23:22:22 +01:00
seylerius
1a7f190cb9
rofi-pass: add rofi-pass plugin for password-store 2020-12-18 23:22:57 +01:00
Ivar
e6a58a7e71
pbgopy: add service 2020-12-09 23:45:51 +01:00
Matthias Riße
33407189c1
wlsunset: add module
This adds the wlsunset module, a program for day/night gamma
adjustments on wayland.

Fixes #1625
2020-12-01 21:46:46 +01:00
malte-v
234de0270a
broot: improve configuration
The `invocation` is an optional attribute, so it doesn't make sense to
use it as the key in an attribute set. See

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

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

Also added documentation for the `key` attribute.
2020-11-14 23:04:46 +01:00
workflow
9e9d8ffc7c
i3status-rust: add module
This adds the i3status-rust[0] module, a replacement for i3status
written in pure Rust.

[0] https://github.com/greshake/i3status-rust
2020-11-05 23:59:47 +01:00
Nikita Uvarov
cabf9ddd98
caffeine: add service 2020-11-02 23:38:47 +01:00
Robert Helgesson
072a6ea333
docs: change stable from 20.03 to 20.09 2020-11-02 23:13:20 +01:00
arcnmx
9bf1f40af1
xdg: disambiguate home.file attribute names 2020-10-22 23:51:01 +02:00
Tobias Happ
22a3a5651d
gh: add module 2020-10-22 23:36:15 +02:00
Milan Pässler
308ee310de
gammastep: add module
Fixes #1396
2020-10-22 23:11:43 +02:00
zimbatm
9cf5f764e1
tree-wide: update link to the doc 2020-10-22 22:41:56 +02:00
zimbatm
014d8deb60
tree-wide: update url to the repo 2020-10-22 22:41:56 +02:00
Nick Hu
18a05a9604
zsh: add support for prezto configuration framework (#655) 2020-10-12 01:27:44 +01: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
Evan Stoll
9b1b55ba02
numlock: add test
- Add evanjs to CODEOWNERS for numlock and numlock test
- Add evanjs to maintainers for numlock module
2020-09-18 19:35:19 +02:00
Damien Cassou
472ca211ca
man: support building manual page index cache
The apropos software is useful to get a list of manpages matching a
description or to get a list of all manpages. The latter feature is
used by Emacs to get manpage completion (`M-x man`).

To have apropos working, a database of all available manpages must be
built with mandb. This is what this commits does.

A similar change was done for NixOS:
edc6a76cc0
2020-09-13 20:52:08 +02:00
Damien Cassou
605a8fc92e
generic-linux: add option extraXdgDataDirs
PR #1486
2020-09-11 12:26:55 +02:00
Niclas
4ebb7d1715
systemd: fix systemd spelling (#1373)
Systemdaemons are lowercased and get suffixed with a d
2020-09-06 11:28:40 +02:00
Olmo Kramer
4b702bf6b7
ncmpcpp: add module
PR #1457
2020-09-01 22:05:57 +02:00