1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-11-05 02:39:45 +01:00
Commit graph

155 commits

Author SHA1 Message Date
polykernel
32e433d07d
nix: add structural settings (#2718)
Nix permits user level configurations through ~/.config/nix/nix.conf that allow
customization of system-wide settings and behavior. This is beneficial in chroot
environments and for per-user configurations. System level Nix configurations in the
form of /etc/nix/nix.conf can be specified declaratively via the NixOS nix module but as
of currently no counter part exists in home-manager.

This PR is a port of the RFC42 implementation for the NixOS nix module[1]
to home-manager. Non-applicable options have been excluded and the config generation
backends have been tweaked to the backends offered by home-manager. A notable change
from the NixOS module is a mandatory option to specify the Nix binary corresponding
to the version "nix.conf" should be generated against. This is necessary because
the validation phase is dependent on the `nix show-config` subcommand on the host platform.
While it is possible to avoid validation entirely, the lack of type checking was deemed too significant.
In NixOs, the version information can be retrieved from the `package` option itself which
declares the Nix binary system-wide. However in home-manager, there is no pure way to
detect the system Nix version and what state version the "nix.conf" should be generated
against. Thus an option is used to overcome this limitation by forcing the user to
specify the Nix package. Note this interaction can still be automated by forwarding
the system-wide Nix package to the home-manager module if needed.

Three unit tests were added to test the module behavior for the empty settings, the example
settings and the example registry configurations respectively.

[1] - NixOS/nixpkgs#139075
2022-03-17 22:47:32 -04:00
iosmanthus
8bdfa41b4e
fusuma: add module
Fusuma is a tool supports multitouch gestures with libinput driver on
Linux.
2022-03-13 22:17:55 +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
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
Robert Helgesson
541874f55d
mpd: add basic test case 2022-03-04 01:36:48 +01:00
midchildan
c7a13f76a7
launchd: initial support for LaunchAgents 2022-02-26 10:32:19 +01:00
lucasew
4f4165a8b9
espanso: add module
This commit adds a module to configure espanso, a program to do text
expansions that is configured using a YAML configuration file.
2022-02-18 00:35:57 +01:00
Morgane Austreelis
63dccc4e60
twmn: add module
This module allows to configure and start the twmn daemon.
2022-02-04 01:05:04 +01:00
pinage404
418ae217dd
home-manager.autoUpgrade: add module
Home Manager upgrade service that periodically updates your Nix
channels before running `home-manager switch`.
2022-01-28 23:42:25 +01:00
Daniel Wagenknecht
cbc176010b
kodi: add module
Kodi is a media center software.
2022-01-26 23:56:25 +01:00
Robert Helgesson
f206f94ac5
tests: re-enable commented tests
The issue is now fixed in Nixpkgs.
2022-01-25 22:47:27 +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
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
Kirill Elagin
204f9808d3
sagemath: add module 2022-01-11 14:38:02 +01:00
Robert Helgesson
5a8b29bc7a
tests: disable a few tests due to broken notmuch
This disables a few tests that fail due to a broken notmuch in
Nixpkgs. See

    https://github.com/nix-community/home-manager/pull/2629

and

    https://github.com/NixOS/nixpkgs/pull/154309
2022-01-11 14:30:56 +01:00
Jos van Bakel
65e5b835a9
swayidle: add module (#2610)
Swayidle is an idle management daemon for Wayland. This modules adds support for
running swayidle as a SystemD user unit and makes it configurable through
home-manager.
2022-01-03 12:03:20 -07:00
Robert Helgesson
5f00024e75
tests: make enableBig an option
This makes it possible to identify the test as big in the test file
itself. It also seems like a more natural way to control the test
running.
2022-01-02 10:36:52 +01:00
Olmo Kramer
89bdef7994
herbstluftwm: init module 2021-12-31 10:44:08 +01:00
Peter Jones
0ebed30a10
gromit-mpx: add module 2021-12-11 19:17:59 +01:00
oxalica
78ff6b851c
gpg-agent: fix and enable tests 2021-12-08 00:01:29 +01:00
Pamplemousse
f23073f1da
less: allow customization
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
2021-11-30 23:28:32 +01:00
Robert Helgesson
dc2a4e4146
Switch to 21.11 as stable release 2021-11-25 22:22:26 +01:00
Robert Helgesson
81fc0c6fbf
tests: disable Nixpkgs release check 2021-11-25 08:16:16 +01: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
Robert Helgesson
e28a720ce9
irssi: fix test directory name
Also fix stub package name.
2021-10-30 20:40:49 +02: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
Robert Helgesson
0b47ded208
flameshot: add settings option 2021-10-11 21:47:05 +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
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
Gabriel Fontes
52e84a040e
xsettingsd: make configurable through module 2021-10-01 01:31:47 +02:00
Robert Helgesson
cb09a968e9
tests: add option test.stubs
This option provides a more convenient way to overlay dummy packages.
It also adds a function `config.lib.test.mkStubPackage` that can,
e.g., be used for `package` options.
2021-09-26 23:26:38 +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
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
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
Robert Helgesson
3d93e1e802
bat: support list settings and shell escaping
Fixes #2262
2021-08-12 21:29:14 +02:00
midchildan
b0d769691c
emacs: add extraConfig option 2021-08-06 23:57:14 +02:00
Andreas Mager
cc6909d407
trayer: add module (#2177) 2021-07-24 00:29:49 +02:00
IvarWithoutBones
775cb20bd4
sm64ex: add module 2021-07-12 08:57:35 +02:00
dawidsowa
97d183e2e4
devilspie2: add module (#1477)
Co-authored-by: Sumner Evans <me@sumnerevans.com>
Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2021-07-05 16:29:34 -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
Robert Helgesson
f4998f0adc
tests: bump nmt 2021-06-27 14:20:13 +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
ab0e6c3e0e
tests: bump nmt 2021-06-24 22:47:21 +02:00
Robert Helgesson
a73e619377
tests: update nmt
Allows running, e.g.,

    nix-build --pure tests -A build.all
2021-06-20 09:52:58 +02:00
Naïm Favier
e70524cd2b
bspwm: various improvements (#2095)
* bspwm: various improvements

- fixes shell escaping issues and general style issues
- allow reloading the config on-the-fly by exposing bspwmrc to the user

* bspwm: add configuration test
2021-06-19 18:40:17 -04:00
Philipp Dargel
d04e52b0c0
terminator: add module (#2063)
added configuration for terminator
2021-06-17 09:06:47 -06:00