1
0
mirror of https://github.com/nix-community/home-manager synced 2024-06-02 04:53:33 +02:00
Commit Graph

2134 Commits

Author SHA1 Message Date
polykernel
46dc2e5d9f
gtk: fix missing newline in formatted config (#2809)
The conversion from `concatMapStrings` to `concatStringsSep` introduced in https://github.com/nix-community/home-manager/pull/2481
creates an unintended behavior change where the formatted config does not end in a newline.[1]
This is problematic for manipulation at the Nix level. In particular, this cause a regression in
the generation of gtk2 settings due to concatenated of the formatted config and `gtk2.extraConfig`
without a newline in between.

This commit restores `concatMapStrings` to match the previous behavior and adds a newline to
the final string for the generated gtk2 config. The test case for gtk2-basic-config
was also updated to check behavior at concatenation boundaries.

[1] - https://github.com/nix-community/home-manager/pull/2481#discussion_r830648706
2022-03-20 16:22:56 -04:00
Naïm Favier
57476b5d28
xcursor: remove warning and use mkDefault for GTK options (#2808) 2022-03-20 13:32:34 -04:00
Sumner Evans
0fad959df8
stalebot: disable auto-closing of issues and pull requests (#2800) 2022-03-19 23:47:41 -06:00
Leon Vack
e96fc6d8f9
tmux: add notes to existing keybindings (#2540) (#2742)
Adds notes to the keybindings created in the tmux config making them
show up in C-b ? and tmux list-keys -N

Fixes #2540
2022-03-19 19:12:21 -04:00
mihnea-s
7cf15b19a9
vscode: add user tasks (#2804) 2022-03-18 18:54:24 -04:00
Naïm Favier
e2a85ac43f
bspwm: add alwaysResetDesktops (#2785)
If set to true, desktops configured in `monitors` will be reset every time
the config is run.

If set to false, desktops will only be configured the first time the config is run.
This is useful if you want to dynamically add desktops and you don't want them
to be destroyed if you re-run `bspwmrc`.
2022-03-17 22:56:56 -04:00
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
Sumner Evans
590da80ceb
neovim/coc: fix loading CoC plugin (#2801)
Specifically, refactored all places that use cfg.plugins to use a new
combined list that includes CoC if it's enabled.
2022-03-17 20:43:03 -06:00
Naïm Favier
a4b0a3faa4
xdg: add XDG_*_HOME variables to systemd.user.sessionVariables (#2790)
Make sure those variables are set in systemd user services.
This mirrors the situation for `XDG_*_DIRS` variables.
2022-03-17 22:22:53 -04:00
polykernel
e01facc340
gtk: add cursor theme configuration (#2481)
* gtk: add cursor theme configuration

- Added the `cursorTheme` under the gtk module.
- Added tests for the gtk3 settings file generation, and renamed
  the gtk2 unit test expected file for clarity.
- Added guard against generating a blank `gtk.css` when `cfg.extraCss`
  is empty.
- Replaced `concatMapStrings` calls with `concatStringsSep`. The library function
  `concatMapStrings` generates an intemediate list which is then passed to
  `concatStringsSep`, As we are not performing other transformation except
  the addition of newlines, a direct call to `concatStringsSep` is sufficient.
- Updated description of examples to be more general "~/.config" -> "$XDG_CONFIG_HOME".
- Update helper functions `toGtk3Ini` and `formatGtk2Option` to use the library
  function `boolToString` and escape the separator in the key name.

* xcursor: delegate GTK cursor settings to gtk.cursorTheme

- Added deprecation warning for GTK settings in the `xsession.cursorTheme` module.
- Modified config section to use `gtk.cursorTheme` for GTK cursor settings.
2022-03-17 15:30:48 -04:00
Kylie McClain
970b57fd3c
autorandr: add filter option (#2795)
xrandr's filter option is useful for enabling integer scaling on
displays that don't have support for it at a graphics card level.
2022-03-17 13:45:04 +01:00
Robert Helgesson
8eb7c009f0
fusuma: avoid unnecessary dependency in test 2022-03-13 23:23:41 +01:00
NomisIV
472e67d1bb
himalaya: add support for account.folders
Add support for `account.folders.(inbox|sent|draft)` in the himalaya
account configuration.

PR #2747
2022-03-13 23:20:41 +01: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
ReplayCoding
5d4327cff4
irssi: fix syntax error when no channels are specified 2022-03-13 13:33:09 +01:00
Robert Helgesson
da1f6fab90
ci: bump stable version for dependabot 2022-03-13 12:00:24 +01:00
dependabot[bot]
e6e19ea5a8
ci: bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-07 01:19:37 +00: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
Doğu Us
abd221c4b3
Translate using Weblate (Turkish)
Currently translated at 35.7% (5 of 14 strings)

Co-authored-by: Doğu Us <usdogu@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/tr/
Translation: Home Manager/Home Manager Modules
2022-03-06 10:08:57 +01:00
Anon Ymous
4e6856397e
Translate using Weblate (Polish)
Currently translated at 64.2% (9 of 14 strings)

Co-authored-by: Anon Ymous <mivon27841@shackvine.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/pl/
Translation: Home Manager/Home Manager Modules
2022-03-06 10:08:57 +01:00
maximsmol
87beebc7a2
just: add module 2022-03-06 09:50:52 +01:00
Yt
d119cea376
i3status-rust: change default to newer version (#2774) 2022-03-03 22:32:59 -05:00
Robert Helgesson
541874f55d
mpd: add basic test case 2022-03-04 01:36:48 +01:00
Sebastian Sellmeier
e58a7cb13d
xdg-desktop-entries: adjust to API changes
The `makeDesktopItem` function changed in a backwards incompatible way
in

    0c713dbed4

This commit updates the module accordingly.

Fixes #2767
2022-03-04 01:08:00 +01:00
sudosubin
ea85f4b1fd
launchd: fix multiple agents 2022-02-27 14:58:54 +01:00
Robert Helgesson
2499b91692
treewide: apply nixfmt to a few more files 2022-02-27 02:19:44 +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
ccd00e3c93
launchd: fix undefined variable in activation script (#2763) 2022-02-26 15:06:12 -05:00
midchildan
c7a13f76a7
launchd: initial support for LaunchAgents 2022-02-26 10:32:19 +01:00
Frank Moda
662350bee2
neovim: remove trace log of vim plugins (#2756) (#2760) 2022-02-25 14:35:13 +01:00
Markus Wamser
650cfe60f3
vscode: fix name of extension in example (#2759) 2022-02-24 18:45:41 -05:00
Mifom
8f7d925503
gitui: add module 2022-02-24 23:42:04 +01:00
Mikhail Chekan
1faefcded3
Translate using Weblate (Russian)
Currently translated at 100.0% (14 of 14 strings)

Co-authored-by: Mikhail Chekan <chekoopa@mail.ru>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ru/
Translation: Home Manager/Home Manager Modules
2022-02-24 22:43:44 +01:00
Weblate
2248ea1831
Add translation using Weblate (Italian)
Co-authored-by: Weblate <noreply@weblate.org>
2022-02-24 22:43:43 +01:00
Marco Turchetto
1950eb878b
Add translation using Weblate (Italian)
Co-authored-by: Marco Turchetto <marco.turchetto.mt@gmail.com>
2022-02-24 22:43:43 +01:00
Selene Hines
0b1745b4ef
neovim: autogenerate config.lua file sourced to init.vim (#2716) 2022-02-23 15:53:31 +01:00
Josh Holland
838d40d61a
foot: set OOMPolicy=continue for foot server (#2749)
Previously, if a process inside a foot client triggered the OOM killer,
systemd would also kill the parent unit, namely the foot server.
This is not ideal if a user has a lot of clients attached, and it's
usually not the terminal emulator's fault that a process inside it has
ended up using all the available memory.
2022-02-22 20:15:28 +01:00
NomisIV
69536af27e
himalaya: fix smtp-starttls option (#2744)
The `smtp-starttls` option was previously to the value of `account.imap.tls.useStartTls`, when `account.smtp.tls.useStartTls` should be used instead
2022-02-21 14:32:32 -07:00
Thiago Kenji Okada
b3af91d293
tests/nnn: fix tests (#2746)
There seems to be some changes on how wrapped binaries are implemented
on nixpkgs. This broke the nnn tests since the tests were coupled with
the old implementation.

This commit fix the tests, and also make it less coupled by just testing
if the bookmarks/plugins/environment variables are available.
2022-02-21 14:17:22 -07:00
Mario Rodas
0232fe1b75 atuin: don't install widget on limited terminals
Otherwise we get the following warning for terminals with limited
capabilities:

    bash: bind: warning: line editing not enabled
2022-02-19 04:20:00 +00: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
Daniel Siepmann
5b208b42b2
docs: section how to update system 2022-02-17 22:57:52 +01:00
Riley Inman
c859a5265a
sway: add tray.target 2022-02-17 22:48:14 +01:00
Caleb Chase
30082a623a
docs: fix standalone flake setup 2022-02-17 22:45:37 +01:00
Robert Helgesson
5375afb2fb
eww: fix maintainer referencee 2022-02-17 22:34:21 +01:00
mainrs
498c188e62
eww: add module
Closes #2682
2022-02-17 18:41:05 +01:00
Jian Lin
2116fe6b50
zsh: move sessionVariables from .zshrc to .zshenv (#2708)
This patch moves both home.sessionVariables and
programs.zsh.sessionVariables from .zshrc to .zshenv. Additionally,
these two kinds of session variables will not be sourced more than
once to allow user-customized ones to take effect.

Before, session variables are in .zshrc, which causes non-interactive
shells to not be able to get those variables. For example, running a
command through SSH is in a non-interactive and non-login shell, which
suffers from this. With this patch, all kinds of shells can get
session variables.

The reason why these session variables are not moved to .zprofile is
that programs started by systemd user instances are not able to get
variables defined in that file. For example, GNOME
Terminal (gnome-terminal-server.service) is one of these programs and
doesn't get variables defined in .zprofile. As a result, the shells it
starts, which are interactive and non-login, do not get those
variables.

Fixes #2445

Related NixOS/nixpkgs#33219
Related NixOS/nixpkgs#45784

This file is not formatted before and is excluded by ./format, so I don't format it.
2022-02-17 10:20:56 +01:00
mainrs
810e5f3613
zellij: add module
Closes #2666
2022-02-17 00:55:28 +01:00
teu5us
2a7e247202
Translate using Weblate (Russian)
Currently translated at 64.2% (9 of 14 strings)

Co-authored-by: teu5us <paulkreuzmann@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ru/
Translation: Home Manager/Home Manager Modules
2022-02-16 16:38:15 +01:00