Commit graph

2720 commits

Author SHA1 Message Date
midchildan 8d5e27b480
nix: add a declarative alternative to Nix channels (#4031)
* nix: add options 'nixPath' and 'keepOldNixPath'

By default, the system value for $NIX_PATH is kept as a fallback.
To completely override the system value for $NIX_PATH:

    nix.keepOldNixPath = false;

* nix: add more tests

* nix: add a declarative alternative to Nix channels

This adds a new option, 'nix.channels'. It's the Nix channels equivalent
of the 'nix.registry' option, and compatible with pre-Flake Nix tooling
including nix-env and nix-shell. Like 'nix.registry', this option is
useful for pinning Nix channels.

Channels defined in the new option can coexist with channels introduced
through the nix-channel command. If the same channel exists in both, the
one from Home Manager will be prioritized.

* nix: add news entry

* nix: make channels respect use-xdg-base-directories

* nix: remove 'with lib;'

---------

Co-authored-by: Michael Hoang <enzime@users.noreply.github.com>
2024-06-13 01:47:38 +00:00
Mathis H 892f76bd0a
mpv: fix package if wrapMpv not found
`wrapMpv` was removed from nixpkgs since this PR:
https://github.com/NixOS/nixpkgs/pull/304349

Co-authored-by: Mario Rodas <marsam@users.noreply.github.com>
2024-06-11 23:35:34 +02:00
Matthieu Coudron 3d65009eff
waybar: remove modules-* from defaults
Some prefer to handle modules-* imperatively for more flexibility, e.g.,
via waybar "includes" (https://github.com/Alexays/Waybar/wiki/Configuration).
Current HM defaults modules-* to `[]` instead of null for most other
settings, so they get written to ~/.config/waybar/config even though
no explicit configuration has been made.

And they take precedence over the imperative ones because of how
waybar's includes work:

====
Paths to additional configuration files.
Each file can contain a single object with any of the bar configuration options. In case of duplicate options, the first defined value takes precedence, i.e. including file -> first included file -> etc. Nested includes are permitted, but make sure to avoid circular imports.
For a multi-bar config, the include directive affects only current bar configuration object.
====
2024-06-09 13:14:04 +02:00
Mihai Fufezan 8a20efbb00
hyprland: install xwayland if enabled
Install the `xwayland` package if `cfg.xwayland.enable = true;`.
This allows XWayland to work without having to enable the NixOS Hyprland
option.
2024-06-09 13:11:01 +02:00
Jdogzz a7117efb37
accounts.email: add clarifying documentation
Add clarifying documentation for maildirBasePath value. Also improve
default text.
2024-06-04 20:23:39 +02:00
Dawid Dziurla 83bfe1bac8
nix-gc: add persistent option (#5490)
Mirrors the `nix.gc.persistent` option in nixpkgs:
https://search.nixos.org/options?channel=unstable&show=nix.gc.persistent&from=0&size=50&sort=relevance&type=packages&query=nix.gc.persistent
2024-06-03 22:20:47 -06:00
Matthieu Coudron 9b53a10f4c
swayidle: wait for WAYLAND_DISPLAY
To avoid this kind of message:

    swayidle[181123]: - [Line 1054] Unable to connect to the compositor. If your compositor is running, check or set the WAYLAND_DISPLAY environment variable.
2024-06-02 10:16:22 +02:00
Weblate (bot) 62da78e1f8
Translate using Weblate (Vietnamese)
Currently translated at 22.2% (4 of 18 strings)

Translate using Weblate (Vietnamese)

Currently translated at 75.6% (28 of 37 strings)


Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/vi/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/vi/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules

Co-authored-by: goatastronaut0212 <goatastronaut0212@proton.me>
2024-06-02 10:15:15 +02:00
Weblate (bot) bf3815854e
Translate using Weblate (Finnish)
Currently translated at 55.5% (10 of 18 strings)

Translate using Weblate (Finnish)

Currently translated at 72.9% (27 of 37 strings)


Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/fi/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/fi/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules

Co-authored-by: jarre johansson <jarre@johansson.today>
2024-06-02 10:14:04 +02:00
Liassica 29c69d9a46
kdeconnect: fix service with 24.05 package version
The 24.05 update for KDE Connect moved the kdeconnectd binary from
`/libexec` to `/bin`, so this fix will check the version of the
package used and set the path accordingly.
2024-05-30 09:05:10 +02:00
XYenon 04bc391a90 yazi: support plugins and flavors 2024-05-29 11:29:08 +08:00
Sharzy a9b36cbe92
gpg-agent: fix usage of splitString
`splitString "" "some string"` would throw exception `error: invalid
regular expression` on Darwin (or accurately, on Nix built against
libc++). Refer to https://github.com/NixOS/nix/issues/7208 for
details.

Before Nix handles that issue correctly, we should refrain from using
`splitString ""`, and luckliy `lib.stringAsChars` can do the same thing.
2024-05-28 23:15:11 +02:00
Dee Anzorge 10c7c219b7
listenbrainz-mpd: fix config example 2024-05-28 00:07:22 +02:00
Phani Rithvij 90010df158
topgrade: update example config 2024-05-28 00:03:45 +02:00
Jany 939375b396
khal: add package option 2024-05-27 23:59:26 +02:00
Gabriel Fontes 7e769959e8
hyprland: onChange: remove subshell comment 2024-05-27 23:57:03 +02:00
Gabriel Fontes 7ac529c221
hyprland: onChange: check XDG_RUNTIME_DIR as well
The previous check false negatives in Hyprland >= 0.40.0
2024-05-27 23:57:03 +02:00
RoadRoller01 0cf552f39f
bash: add missing 'ignoreboth' to historyControl
Reference: https://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html#index-HISTCONTROL
2024-05-27 23:52:55 +02:00
Austin Horstman e8482a798f
yazi: use builtin cd
cd conflicts with aliases that dont support -- syntax
2024-05-27 23:50:57 +02:00
Stanislav Asunkin 65e0f5aa25
eza: don't create shell aliases with empty args 2024-05-27 23:50:09 +02:00
Stanislav Asunkin 8f8eb15c6d
fd: don't create shell aliases with empty args 2024-05-27 23:49:28 +02:00
nurelin 5d151429e1
kanshi: fix configuration example 2024-05-26 17:19:20 +02:00
Robert Helgesson 548ba194d0
home-manager: prepare release 24.05 2024-05-25 22:13:25 +02:00
Robert Helgesson 25dedb0d52
version: allow 24.11 as state version 2024-05-23 09:07:00 +02:00
Nathan Henrie e3ad5108f5
espanso: remove background process type on Darwin
This leads to a considerably slower expansion time for snippets, which
severely degrades the user experience.

Also, the launchd plist from the source omits this key:

    8daadcc949/espanso/src/res/macos/com.federicoterzi.espanso.plist

PR #5411
2024-05-17 09:24:04 +02:00
Nathan Henrie 65b74b2045 espanso: add n8henrie to maintainers 2024-05-16 16:03:33 -06:00
Milo Moisson d768262018
jujutsu: switch to XDG config home 2024-05-11 00:34:09 +02:00
winston d939ce585c
mopidy: make scan service depend on mopidy-local 2024-05-11 00:26:54 +02:00
Hraban Luyat 15d7ec3051
darwin: misc defaults (dock, menu clock, finder) 2024-05-11 00:04:45 +02:00
Akiyoshi Suda 5514ed3210
yambar: add module 2024-05-10 23:29:58 +02:00
ilkecan f2c5ba5e72
fontconfig: add defaultFonts.* options 2024-05-10 18:48:17 +02:00
Sefa Eyeoglu f55718aec3
hyprland: add support for XDG autostart using systemd
Using the option

    wayland.windowManager.hyprland.systemd.enableXdgAutostart

users can now choose to start applications present in
`$XDG_CONFIG_HOME/autostart` when starting their sway session.

See 0144ac418e and
https://github.com/nix-community/home-manager/pull/3747
2024-05-10 17:35:14 +02:00
Austin Horstman 223743313b
hyprpaper: add module 2024-05-10 15:35:59 +02:00
Austin Horstman c6ddd80fb1
hyprlock: add module 2024-05-10 14:08:21 +02:00
Vincent Gatine 4855bfb6ce
kanshi: update configuration to better match upstream 2024-05-10 12:46:37 +02:00
afresquet f61917cbaa
fastfetch: add module
PR #5363
2024-05-10 12:42:39 +02:00
Bruno Bigras 6e277d9566
jujutsu: add ediff option
Based on <https://github.com/martinvonz/jj/wiki/Emacs#ediff-as-a-merge-tool>.
2024-05-07 12:25:03 +02:00
Tad Fisher 6ebe7be2e6
gnome-shell: add module 2024-05-06 09:44:34 +02:00
Léo DUBOIN 2b87a11125
git: add realName inside From field
We currently have no way of specifying the sender's name inside the
From field, making a patch sent through `git send-email` appear as
coming from "xxx@domain.com".

In this commit we make this field follow the standard

    realName <email>

format.
2024-05-06 08:17:53 +02:00
Daru 3dfe05aa9b
wlsunset: update options 2024-05-05 19:59:14 +02:00
Austin Horstman fdaaf543ba
hypridle: add module 2024-05-05 11:13:18 +02:00
Ryan f69bf670d2
cliphist: add extraOptions option
Add an extraOptions option that would be appended to the cliphist
command.
2024-05-05 09:37:54 +02:00
9p4 e0825ea211
swaync: fix style path 2024-05-05 01:28:16 +02:00
Keivan 67d0e7db88
Translate using Weblate (Persian)
Currently translated at 11.1% (2 of 18 strings)

Translate using Weblate (Persian)

Currently translated at 100.0% (37 of 37 strings)

Co-authored-by: Keivan <keyvan0082@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/fa/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/fa/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2024-05-02 12:58:30 +02:00
Kaleo 6d3b6dc922
conky: add module 2024-05-01 00:11:15 +02:00
Kaleo 28ef93bb8e
maintainers: add kaleocheng 2024-04-30 23:56:41 +02:00
Vonixxx 3c0df2a7e4
freetube: add module 2024-04-30 23:34:12 +02:00
Lichthagel f8e6694eda
files: make collision error message more helpful
Most importantly, also indicate how to use file backup for NixOS and
nix-darwin modules.
2024-04-30 00:41:45 +02:00
Yomi Ikuru 5632659886
swaync: add module
Co-authored-by: Ryan Horiguchi <rhoriguchi@users.noreply.github.com>
2024-04-30 00:16:28 +02:00
Yomi Ikuru 0125041fc9
maintainers: add abayomi185 as maintainer 2024-04-30 00:12:13 +02:00
Austin Horstman 4fe1f064bd
hyprland: use lib.generators.toHyprconf 2024-04-30 00:07:06 +02:00
Austin Horstman 9fdd301a5e
lib/generators: toHyprconf init
Create shared hyprlang generator for mainting Hyprland ecosystem.
2024-04-30 00:07:06 +02:00
Gabriel Birke 1a91cb7cdb
neomutt: allow binds to override vimKeys
In the generated neomutt configuration, source the optional
`vim-keys.rc` before applying the `binds` configuration, to allow the
user to override keybindings from `vim-keys.rc`.

Adapt the test files to account for the empty space left by the unset
`vimKeys` option.
2024-04-29 23:54:54 +02:00
IldenH 08d3cbfe4d
firefox: update extensions option description 2024-04-29 23:02:59 +02:00
Lichthagel b8d81ef15e
mpv: add extraInput option 2024-04-29 19:55:57 +02:00
Alvaro Fresquet 2af7c78b7b
thefuck: add nushell integration 2024-04-29 09:53:42 +02:00
Joaquín Triñanes 9fe79591c1
direnv: add nix-direnv to lib instead of sourcing
Also removes use of `with lib`.
2024-04-29 00:30:45 +02:00
Maciej Zwoliński c002bc08c8
cliphist: support images in clipboard history 2024-04-28 23:51:59 +02:00
Jan Schmitz d1980931de
psd: add module
PR #5349
2024-04-28 22:39:08 +02:00
Gabriel Fontes c1609d584a
xdg-portal: improve description of enable option
Specifically, add note about useUserPackages and pathsToLink. As
suggested in
<https://github.com/nix-community/home-manager/pull/5158#issuecomment-2012171515>.
2024-04-27 09:40:03 +02:00
Robert Hensing 26e72d85e6
home-manager: set module class to "homeManager"
This enables a module system feature documented here:
https://nixos.org/manual/nixpkgs/stable/index.html#module-system-lib-evalModules-param-class

For example, it allows a mistake to be caught, which is loading a
NixOS module into home-manager. This only works when the offending
module declares what it's for with a `_class` attribute.

It is not expected that users declare the `_type`, because the payoff
is small. It is only expected to be set by generic code, such as
functions or libraries that help with the "publishing" of modules
(e.g. flake-parts, flake-utils).

The class feature has been available in the module system since
https://github.com/NixOS/nixpkgs/pull/197547, merged May 6, 2023. It
has been part of all releases since 23.05-beta. The last NixOS release
that did _not_ support it has been end-of-life for close to a year
now.

Example:

    (lib.homeManagerConfiguration {
      pkgs = nixpkgs.legacyPackages.x86_64-linux;
      modules = [{ _class = "nixos"; imports = [ ./foo.nix ]; }];
    }).activation-script

Corresponding error:

    error: The module <unknown-file> was imported into homeManager instead of nixos.

(`<unknown-file>` can be improved by also setting `_file`, if known; a
much older feature)

PR #5339
2024-04-27 09:28:21 +02:00
Languages add-on 6864ca2d26
Add translation using Weblate (Icelandic)
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
2024-04-25 12:04:16 +02:00
Johan Runsten 2f072c127c
zsh: use correct autosuggestion color variable (#5320)
To configure zsh's autosuggest "highlight style" we use ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE but it's currently set to AUTOSUGGESTION_HIGHLIGHT_COLOR (via autosuggestion.highlight). This change was apparently made back in 2016 or earlier.
2024-04-24 22:59:02 +02:00
Sergio Ribera bfa7c06436
swayosd: add custom style option 2024-04-23 23:09:45 +02:00
Samuel Tschiedel 67de98ae6e
tealdeer: documentation typo 2024-04-22 22:38:46 +02:00
nat e866aae5bb
amberol: add module
Amberol is a small and simple music player.
2024-04-22 20:06:31 +02:00
quasigod 1451d2866d
foot: unset PATH in server's systemd unit file
This reverts commit 40ab43ae98.
2024-04-22 18:04:34 +02:00
paki23 e2e7ea9b8f
kconfig: fix missing quoting 2024-04-22 17:21:19 +02:00
Nicolas Goudry 46833c3115
bat: allow overriding package (#5301) 2024-04-22 14:44:39 +02:00
Mirko Lenz 670d9ecc3e
poetry: add module 2024-04-21 22:53:14 +02:00
zorrobert 2846d5230a
joplin-desktop: allow undefined options
This PR fixes two issues that cause rebuild to fail, see #5222.

The first was caused when sync.target and sync.interval were not set,
this was fixed by changing the default values from null to "undefined"
and filtering these out later.

The second error occurred when the .config/joplin-desktop directory
didn't exist (e.g. when installing Joplin for the first time) which
caused the touch command to fail. This was fixed using mkdir to ensure
that .config/joplin-desktop exists.
2024-04-21 17:24:52 +02:00
JulianFP ad83c154bd
qt: fix qt.platformTheme = "gtk3" 2024-04-21 15:53:39 +02:00
JulianFP 147b5a5e1c
qt: fix platform theme package install 2024-04-21 15:53:39 +02:00
Coutinho de Souza 057117a401
kdeconnect: fix "tray.target" requires
The PR #5299[0] actually adds the requirement on "tray.target" for the
kdeconnect service, when kdeconnect-indicator is set to true. What it
should do is add the requirement directly to the latter. This commit
fixes it.

[0]: https://github.com/nix-community/home-manager/pull/5299#issue-2252834123
2024-04-20 00:38:28 +02:00
Andrew Marshall 3a435342e2
sway: check config file validity
Helps avoid successful build but Sway failing to start.

To meaningfully test this, I had to actually use `pkgs.sway` in the
test rather than the stub, but left all other tests using the stub and
changed them to skipping the test.

We need to pass `--unsupported-gpu` as Sway checks for `nvidia` in
`/proc/modules`, and the Nix sandbox has `/proc/modules` available.
2024-04-19 23:16:55 +02:00
Andrew Marshall 95888b153c
sway: writeText -> writeTextFile
The latter is more flexible and shall be used soon, splitting this
change out for simpler diff later.
2024-04-19 23:11:30 +02:00
Felipe Silva 991f6fafce
Translate using Weblate (Portuguese)
Currently translated at 100.0% (37 of 37 strings)

Translate using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (18 of 18 strings)

Translate using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (37 of 37 strings)

Co-authored-by: Felipe Silva <hey@felipeqq2.rocks>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/pt/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/pt_BR/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2024-04-19 19:26:09 +02:00
Masum Reza 938357cb23
hyprland: remove enableNvidiaPatches option
Hyprland no longer requires patching to work on Nvidia.
2024-04-19 19:25:59 +02:00
Pasquale 6a171bfd84
kconfig: add module 2024-04-19 17:36:11 +02:00
Cynthia Fox 1f305c363e
remmina: add module
Adds a module to enable managing Remmina, an RDP client, with a Home
Manager module, providing a systemd service and mimetype integration
that can be disabled if so desired.
2024-04-19 17:16:42 +02:00
Ivan Leshchenko 31c77dcc2e
sway: systemd customization 2024-04-19 17:15:54 +02:00
Ramses 068dd4ae29
alacritty: cleanup after 0.13 merge in nixpkgs 2024-04-19 16:57:02 +02:00
Ramses 7ca7025cf2
alacritty: fix escape sequence in example and test
See https://github.com/nix-community/home-manager/pull/4817#discussion_r1441710049
2024-04-19 16:26:23 +02:00
Coutinho de Souza dc906b197b
kdeconnect: require "tray.target" for kdeconnect
Since kdeconnect-indicator is a tray application, it should require
"tray.target", as is the case for flameshot[0].

[0]: b1a5b3d6a5/modules/services/flameshot.nix (L58)
2024-04-19 14:22:32 +02:00
Raito Bezarius 0184c8180f
neomutt: add some options
Superficially, allow source primary account by default and show
default mailbox.
2024-04-19 13:56:54 +02:00
Felipe Silva b1a5b3d6a5
vdirsyncer: set postHook to null when not set (#5294)
The `postHook` option was being processed and reset to a string, even if
the user set it to null, causing issues under certain conditions (see

Using `if-then-else` instead of `optionalString` keeps the option as
null, instead of setting it to an empty string.
2024-04-19 13:01:05 +02:00
diniamo b62cad68b7
spotify-player: add module 2024-04-19 12:39:30 +02:00
Danil Suetin b5b2b1ac63
helix: add ignores option 2024-04-19 12:05:08 +02:00
Henri Sota 8ff7bb3f4d
tofi: add module 2024-04-19 11:32:49 +02:00
Robert Helgesson f3506ba86c
bash: add bash package to home.packages
Fixes #5295
2024-04-19 09:55:03 +02:00
uncenter ffc3600f40
fd: add module 2024-04-19 00:31:16 +02:00
tschai-yim 54e35e0e1c
qt: use warnings API 2024-04-18 23:29:12 +02:00
Tschai be2b17615c
qt: fix adwaita decorations link
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
2024-04-18 23:25:50 +02:00
tschai-yim b31019d64f
qt: add adwaita platform theme
Fixes #4702 and https://github.com/NixOS/nixpkgs/issues/295345.
2024-04-18 23:25:50 +02:00
Hosted Weblate 7cebe921ea
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2024-04-18 17:26:10 +02:00
Robert Helgesson 178e26895b
home-manager: error out on missing option argument
Instead of an error

    line 958: $1: unbound variable

we now emit an error such as

    missing argument for --cores

Note, this is not perfect. In many cases you still get sub-optimal
error messages.
2024-04-18 17:25:13 +02:00
a-kenji f46814ec7c
treewide: prefer the official wiki 2024-04-17 23:58:16 +02:00
Pol Dellaiera fa8c16e245
systemd: add enable option 2024-04-16 21:12:47 +02:00
Nathan Henrie 59d50bc582
espanso: enable module on darwin 2024-04-15 09:40:27 +02:00
Jose Plana 9f32c66a51
k9s: configuration files in Darwin without XDG
Support alternate configuration files for k9s in darwin where XDG is
not mandated and k9s expects configuration files in
`~/Library/Application Support/k9s/`.
2024-04-14 23:48:01 +02:00