Commit graph

312 commits

Author SHA1 Message Date
José Luis Lafuente 707cb75ed3
tmate: add module 2022-09-26 00:28:00 +02:00
Rosario Pulella 9b91709899
safeeyes: add module
This adds a basic module for Safe Eyes based off of the one in
Nixpkgs.
2022-09-25 23:01:25 +02:00
AndersonTorres f17819f4f1
fluxbox: add module 2022-09-22 00:43:09 +02:00
Mario Rodas f9f4c8e1e7
gallery-dl: add module
gallery-dl [1] is a cli to download image galleries from several image
hosting sites.

[1] https://github.com/mikf/gallery-dl
2022-09-09 11:56:37 +02:00
Mario Rodas 4cfc0a1e02
yt-dlp: add module
yt-dlp is a cli to download videos from YouTube.com and other sites.
2022-09-08 19:51:24 +02:00
Gabriel Volpe 6ec6b2e362
nheko: add module 2022-09-08 19:09:30 +02:00
Loïc Reynier de94878b6b
editorconfig: add module (#3204)
Add a module to generate `~/.editorconfig` configuration file.

Co-authored-by: Robert Helgesson <robert@rycee.net>
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2022-09-06 07:50:36 -06:00
Gaetan Lepage de079ec371
btop: add module 2022-09-05 14:34:37 +02:00
AndersonTorres 7bb4576f46
pueue: add module 2022-08-25 23:09:25 +02:00
Lukas Nagel 324fedcf9f
Add module for aerc (#3070)
This adds support for configuring email accounts, with automatic smtp, imap,
sendmail (msmpt) and maildir (mbsync, offlineimap) setup in aerc,
via `accounts.email`.
2022-08-11 23:08:28 +02:00
AndersonTorres 389f2b2037
bashmount: add module 2022-08-08 18:13:21 +02:00
Hemanth Bollamreddi d9e03b7f8c
wezterm: add module 2022-08-07 11:11:56 +02:00
Lily Foster d1c677ac25
hyfetch: add module 2022-08-01 18:38:42 +02:00
Gabriel Arazas 0e2f7876d2
recoll: add module 2022-07-27 14:25:27 +02:00
Loïc Reynier a3b778e672
spectrwm: add module
PR #3077
2022-07-25 13:42:06 +02:00
Jonas Heinrich 2c94b9801f
librewolf: add module 2022-07-13 15:31:25 +02:00
Thiago Kenji Okada 177f1887d4
compton: remove
This module was deprecated since release 20.03 according to the news, so
it can be removed.
2022-07-12 11:21:50 +02:00
Kylie McClain 0ca0b91088
sctd: add module
This adds a module for enabling the `sctd` daemon, as well as setting
the preferred base temperature.
2022-06-26 21:29:50 +02:00
Matthew Toohey 223b9deead
pistol: add module 2022-06-25 01:00:32 +02:00
Michael Forster 65bcfaccc5
micro: add module
This adds initial bare-bones support for the `micro` editor.
2022-06-24 19:19:11 +02:00
Eliza Velasquez d059b9448a
mujmap: add module
mujmap is a tool that synchronizes mail between a mail server and
notmuch via JMAP. It's very similar to lieer, so I heavily based the
implementation of the notmuch module on lieer's. I did not include an
equivalent to lieer's periodic synchronization service, however,
because I plan to soon introduce a daemon mode to mujmap.

https://github.com/elizagamedev/mujmap
2022-06-22 00:33:10 +02:00
Matthieu Coudron 07dbd4c0dd
pywal: fixed i3 config (#3002)
module was never imported and thus useless. This adds a neovim plugin too.
2022-06-15 23:44:52 +02:00
rcerc 70824bb5c7
swaylock: Add module (#3003) 2022-06-07 21:01:14 +02:00
Gabriel Arazas cb9f03d519
mopidy: add module
This is adapted from the `services.mopidy` NixOS module. The
difference is the setting can be configured with Nix language, taking
advantage of generators from nixpkgs. The module is also suited more
for user-specific configuration, removing the `extraConfigFiles` and
`dataDir` option.
2022-05-19 00:31:37 +02:00
polykernel c13ffa3ed4
home.pointerCursor: init (#2891)
* home.pointerCursor: init

The current architecture for cursor configurations is composed of individual
options for different backends. For example, X specific settings are managed under
`xsession.pointerCursor` and gtk specific settings are managed under `gtk.cursorTheme`.
While this architecture is modular, it causes duplication of similar structures for
each component. In theory, this provides flexibility because the components are independent
of each other which can be arranged in arbitrary ways to achieve the desired result.
However in practice, users wish to have one cursor theme applied to their entire system
The duplication of options correspond to duplication of settings on the user side and it
becomes a burden to keep track of all necessary settings.

This commit is an attempt to unify cursor configurations for different window systems and
GUI toolkits based on https://github.com/nix-community/home-manager/pull/2481#issuecomment-978917480.
`home.pointerCursor` is introduced as the interface for all cursor configurations.
It contain all options relevant to cursor themes with eneral options delcared under `home.pointerCursor.*`
and backend specific options declared under `home.pointerCursor.<backend>.*`. By default, a backend
independent configuration is generated. Backend specific configurations can be toggled via the
`home.pointerCursor.<backend>.enable` option for each backend. This was decided over using a
list of enums because it allows easy access to the state of the backend. Note generating different
cursor configurations for different backends is still possible by defining only `home.pointerCursor`
and managing the respective options manually.

* xcursor: migrate options to home.pointerCursor

- Removed `xession.pointerCursor` as x11 cursor configurations are now handled in `home.pointerCursor.x11`.
- Updated `meta.maintainer` field in `home.pointerCursor` and CODEOWNERS.
2022-05-03 18:29:17 -04:00
Robert Helgesson 0304f0f58b
specialization: add module
This module adds basic support for configuration specializations.
These allow the user to build multiple alternative configurations that
should be part of the same generation.
2022-05-03 00:42:23 +02:00
Mario Rodas 26858fc0db
tealdeer: add module (#2928) 2022-05-01 08:27:04 -06:00
Jia Xiaodong c82b8ac5ad
sioyek: add module (#2895) 2022-04-17 17:07:55 -04:00
florpe e39a9d0103
pylint: add module (#2729) 2022-04-10 21:54:04 -04:00
Ilan Joselevich 07b941f0c4
mpd-discord-rpc: init service (#2728) 2022-04-04 23:48:13 -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
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
maximsmol 87beebc7a2
just: add module 2022-03-06 09:50:52 +01:00
kmaasrud 1d90b6065a
tiny: add module (#2735)
Added module for tiny, a TUI IRC client written in Rust. Thanks to @ratsclub for helping me write my first Nix module!
2022-02-26 17:42:01 -05:00
midchildan c7a13f76a7
launchd: initial support for LaunchAgents 2022-02-26 10:32:19 +01:00
Mifom 8f7d925503
gitui: add module 2022-02-24 23:42:04 +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
mainrs 498c188e62
eww: add module
Closes #2682
2022-02-17 18:41:05 +01:00
mainrs 810e5f3613
zellij: add module
Closes #2666
2022-02-17 00:55:28 +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
Tristan 933b6d97b4
plex-mpv-shim: init service (#2655) 2022-02-02 16:34:19 -05: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
Joakim Holm 4e92ec84f9
ion: Add module (#2625)
Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
Co-authored-by: Matthieu Coudron <teto@users.noreply.github.com>
2022-01-27 19:15:45 +01:00
Michael Hoang aa6261bb96
nix: add module (#2623) 2022-01-27 18:58:25 +01:00
Daniel Wagenknecht cbc176010b
kodi: add module
Kodi is a media center software.
2022-01-26 23:56:25 +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
Carlos Lobo e622c5d836
tint2: add module 2022-01-22 18:09:15 +01:00
amesgen 54b8b13a9b
timidity: add module 2022-01-22 16:46:16 +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
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
Olmo Kramer 89bdef7994
herbstluftwm: init module 2021-12-31 10:44:08 +01:00
Lorenzo Manacorda 02426bb52f
systembus-notify: add module 2021-12-21 23:35:56 +01:00
Jonas Heinrich 3d46c011d2
opensnitch-ui: add module 2021-12-12 18:10:10 +01:00
Peter Jones 0ebed30a10
gromit-mpx: add module 2021-12-11 19:17:59 +01:00
Mario Rodas 6fe3b539e0
navi: add module 2021-12-11 12:55:29 +01:00
Mario Rodas fa73c3167e
sqls: add module
sqls is a SQL language server written in Go.
See: https://github.com/lighttiger2505/sqls
2021-12-11 00:21:49 +01:00
Pamplemousse f23073f1da
less: allow customization
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
2021-11-30 23:28:32 +01:00
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
Edmund Wu bc0acdad8c
modules/modules.nix: pkgs.system -> pkgs.stdenv.hostPlatform.system (#2419) 2021-10-29 09:50:50 -06: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
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
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
Robert Helgesson 2cfea84e6f
modules: fix list sorting 2021-09-14 23:14:41 +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
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
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
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
Philipp Dargel d04e52b0c0
terminator: add module (#2063)
added configuration for terminator
2021-06-17 09:06:47 -06: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
malte-v 3ffe2a4cdf
programs.senpai: add module (#2076)
* maintainers: add malvo

* programs.senpai: add module
2021-06-07 07:40:32 -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
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
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
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
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
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