Compare commits

...

173 Commits

Author SHA1 Message Date
Robert Helgesson
d835fdc2d0 systemd: enable start services by default
This enables the use of sd-switch to reload, start, and stop services
as needed when switching configurations.

This also entirely removes the Ruby based service helper.

Fixes #5452
2024-09-17 17:54:54 +02:00
Andrew Marshall
a9c9cc6e50 sway: do not use pkgs.sway when cfg.package = null
- Implicitly disable checkConfig when `cfg.package = null` as we don’t
  have any exe to use for the check
- Implicitly disable `swaymsg reload` on activation, since we have no
  exe to use for running it

See https://github.com/nix-community/home-manager/issues/5307
2024-09-16 00:56:20 +02:00
Andrew Marshall
76bf779881 sway: un-extract single-use variable 2024-09-16 00:51:30 +02:00
home-manager-bot
25479e29d1 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/574d1eac1c200690e27b8eb4e24887f8df7ac27c?narHash=sha256-v3rIhsJBOMLR8e/RNWxr828tB%2BWywYIoajrZKFM%2B0Gg%3D' (2024-09-06)
  → 'github:NixOS/nixpkgs/4f807e8940284ad7925ebd0a0993d2a1791acb2f?narHash=sha256-IiA3jfbR7K/B5%2B9byVi9BZGWTD4VSbWe8VLpp9B/iYk%3D' (2024-09-11)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-16 00:47:02 +02:00
sdaqo
9c5f16d703 borgmatic: fix service permissions
Fixes #5749
2024-09-15 09:32:04 +02:00
Robert Helgesson
e524c57b1f mopidy: fix formatting 2024-09-15 01:45:42 +02:00
Robert Helgesson
6c1a461a44 mopidy: reduce test closure size 2024-09-14 12:14:32 +02:00
Heitor Augusto
c6e4ec39df z-lua: add support for fish abbreviations 2024-09-14 11:53:10 +02:00
Heitor Augusto
0d118885b2 lsd: add support for fish abbreviations 2024-09-14 11:53:10 +02:00
Heitor Augusto
f69e61a2d7 pls: add support for fish abbreviations 2024-09-14 11:53:10 +02:00
Languages add-on
7edf6ccaec Add translation using Weblate (Hindi)
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
2024-09-14 07:18:07 +00:00
Jay Thomas
e94bee9574 Translate using Weblate (Hindi)
Currently translated at 8.1% (3 of 37 strings)

Add translation using Weblate (Hindi)

Co-authored-by: Jay Thomas <jay@gfax.ch>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/hi/
Translation: Home Manager/Home Manager CLI
2024-09-14 07:18:06 +00:00
NikSne
898eaef7ea Translate using Weblate (Russian)
Currently translated at 100.0% (37 of 37 strings)

Co-authored-by: NikSne <commits@niksne.ru>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ru/
Translation: Home Manager/Home Manager CLI
2024-09-14 07:18:06 +00:00
Dominic Esposito
f084d65319 swaync: fix example configuration
Add a semicolon after "notification-body-image-width = 200" for
completeness.

PR #5828
2024-09-14 09:15:45 +02:00
Ayman Bagabas
43845d04f8 git: add diff-highlight diff pager option
This adds a new diff-highlight option to make use of the simple
included git diff highlighter that comes with canonical git.

For more info, see https://github.com/git/git/blob/master/contrib/diff-highlight/README
2024-09-14 01:38:40 +02:00
Heitor Augusto
503af483e1 eza: add support for fish abbreviations 2024-09-13 12:12:18 +02:00
Heitor Augusto
076c78eded fish: add preferAbbrs option 2024-09-13 12:04:56 +02:00
NitroSniper
7923c69152 neovide: add module
Neovide is a simple, no-nonsense, cross-platform graphical user
interface for Neovim See <https://neovide.dev/>.

Used ruff's module as reference during creation.
2024-09-13 11:50:57 +02:00
Callum Leslie
4c8647b1ed trayscale: add module
Trayscale is an unofficial GUI wrapper around the Tailscale CLI
client.

PR #5803
2024-09-13 10:59:31 +02:00
O. C. Taskin
daaf0c2f8d kanshi: add support for output aliases
- Add `services.kanshi.profiles.<name>.outputs.*.alias` to support new
  alias directive from kanshi [1].
  - Add an assertion to reject aliases not on global scope, which are
    not allowed on kanshi [2].
  - Add a new test to check alias rejection, `alias-assertion`.
- Add relevant coverage by modifying the existing "new-configuration"
  test.
- Kanshi also doesn't allow wildcards on global scope [3], correct the
  faulty test case.

[1]: 1ed86ce523
[2]: 1605f7c813/item/doc/kanshi.5.scd (L78)
[3]: 1605f7c813/item/doc/kanshi.5.scd (L80)
2024-09-13 10:51:33 +02:00
Chet Gurevitch
cb3ab5928c helix: add example for use with evil-helix 2024-09-13 10:49:07 +02:00
Chet Gurevitch
ea244c5ae2 helix: remove outdated language-server comment 2024-09-13 10:49:06 +02:00
Zachary H
433e686675 autorandr: configModule.extraConfig
Add an option to programs.autorandr's configModule to allow arbitrary
extra config lines.

No option exists for adding arbitrary key/values to generated autorandr
profile config, as is common in other nix modules. This commit adds one.
2024-09-13 09:58:00 +02:00
Ayman Bagabas
ef50612457 gpg-agent: add launchd service agent and sockets
This adds a Darwin Launchd agent along with its sockets to make
gpg-agent starts at load or whenever the sockets are needed.

Fixes: https://github.com/nix-community/home-manager/issues/3864
2024-09-13 08:59:29 +02:00
Bryan Lai
c82fc8cf3f home-manager: use hostname from GNU inetutils
This partially reverts commit 89670e27e1.

Co-authored-by: Johannes Maier <johannes.maier@mailbox.org>
2024-09-13 08:37:10 +02:00
Bryan Lai
2b1957a0a3 home-manager: fix early exit due to FQDN error
Since 89670e27e1, FQDN lookup errors
from `hostname -f` may cause an early exit of the whole program.

This commit fixes the problem by absorbing the FQDN query inside the
`if` statement.
2024-09-13 08:37:09 +02:00
Robert Helgesson
da8406a6ff systemd: use getExe for sd-switch 2024-09-12 13:54:47 +02:00
Robert Helgesson
e1c6094075 systemd: unify handling of switch environment 2024-09-12 13:54:47 +02:00
Robert Helgesson
51e4664342 treewide: use non-deprecated substitute arguments 2024-09-12 13:54:47 +02:00
home-manager-bot
8a16716428 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/12228ff1752d7b7624a54e9c1af4b222b3c1073b?narHash=sha256-Ym04C5%2BqovuQDYL/rKWSR%2BWESseQBbNAe5DsXNx5trY%3D' (2024-08-31)
  → 'github:NixOS/nixpkgs/574d1eac1c200690e27b8eb4e24887f8df7ac27c?narHash=sha256-v3rIhsJBOMLR8e/RNWxr828tB%2BWywYIoajrZKFM%2B0Gg%3D' (2024-09-06)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-11 08:40:28 +02:00
Weblate (bot)
e5fa72bad0 Translate using Weblate (Romanian)
Currently translated at 100.0% (37 of 37 strings)


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

Co-authored-by: Felix Puscasu <puscasu.felix1@gmail.com>
2024-09-10 08:04:35 +02:00
Donovan Glover
10541f19c5 pqiv: add boolean support 2024-09-09 16:50:17 +02:00
Paul Meyer
be47a2bdf2 k9s: remove katexochen as maintainer 2024-09-09 08:34:44 +02:00
Sefa Eyeoglu
77c9414828 k9s: allow defining custom theme file
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-09-09 08:27:29 +02:00
Robert Helgesson
8a175a8913 tests: change quoting to match new Nixpkgs behavior
Fixes tests that are affected by
<https://github.com/NixOS/nixpkgs/pull/333744>.
2024-09-08 23:32:19 +02:00
Nina Morgan
ec4c6928bb firefox: fix selection of lastUserContextId
The lastUserContextId value should match the highest context ID from
the containers set in a given profile. This update ensures that this
always is the case.
2024-09-08 09:52:15 +02:00
NAHO
aaebdea769 taskwarrior: support taskwarrior3 migration
Support taskwarrior3 migration, following the approach in [1] to avoid
breaking changes.

[1]: https://github.com/NixOS/nixpkgs/pull/303632

Closes: https://github.com/nix-community/home-manager/issues/5310
Link: https://github.com/nix-community/home-manager/pull/5782
2024-09-07 09:41:58 +02:00
DCsunset
127ccc3eb7 i3/sway: support str type for font size 2024-09-06 15:23:08 +02:00
home-manager-bot
7d569851e9 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5e0ca22929f3342b19569b21b2f3462f053e497b?narHash=sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI%3D' (2024-08-09)
  → 'github:NixOS/nixpkgs/12228ff1752d7b7624a54e9c1af4b222b3c1073b?narHash=sha256-Ym04C5%2BqovuQDYL/rKWSR%2BWESseQBbNAe5DsXNx5trY%3D' (2024-08-31)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-06 15:03:51 +02:00
Ferenci Ákos
5b95e0611b Translate using Weblate (Hungarian)
Currently translated at 33.3% (6 of 18 strings)

Translate using Weblate (Hungarian)

Currently translated at 97.2% (36 of 37 strings)

Co-authored-by: Ferenci Ákos <synthetace@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/hu/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/hu/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2024-09-06 14:55:42 +02:00
Bruno BELANYI
b00bdf59c0 xdg: add option 'xdg.stateFile' 2024-09-06 14:55:36 +02:00
Lulu
03b49187a2 sway: indent sway configuration options
Fix the indentation for the configuration of `input`, `output` and
`seat` to match that of `mode`.
2024-09-06 14:51:44 +02:00
Martin Eek Gerhardsen
5130249ab2 taskwarrior-sync: add package option
Add option to change which package is used for taskwarrior-sync, to
e.g. taskwarrior3.
2024-09-06 14:47:43 +02:00
Alex Lov
471e3eb0a1 git: add option to provide difftastic package 2024-09-01 10:42:46 +02:00
name_snrl
c2cd2a52e0 submodule-support: add default values for top-level configs
This way the end user can easily check whether the home-manager
configuration is part of the module or not. Example of use:

```nix
{ lib, nixosConfig, ... }:
let
  mkIfNixos = lib.mkIf nixosConfig != null;
in
{
  programs.foot.enable = mkIfNixos true;
}
```
2024-08-23 19:56:03 +02:00
Szabin Hamrik
5dc2535656 Translate using Weblate (Hungarian)
Currently translated at 22.2% (4 of 18 strings)

Translation: Home Manager/Home Manager Modules
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/hu/
2024-08-23 16:09:26 +02:00
Robert Helgesson
b18f3ebc40 systemd: fully deprecate legacy switcher
This switches `systemd.user.startServices = true` to be the same as
`systemd.user.startServices = "sd-switch"`, previously it would use
the "legacy" method. It also introduces a warning that triggers if the
user explicitly have `systemd.user.startServices = "legacy"`.

See #5452
2024-08-23 13:31:48 +02:00
Robert Helgesson
25c12f0736 tests: fix escaping of wait command 2024-08-23 13:31:48 +02:00
sudoforge
40ddec2f8a zsh: add option: history.append
This change adds the programs.zsh.history.append option in order to
manage the configuration of the APPEND_HISTORY zsh option.
2024-08-23 13:29:12 +02:00
Alex Hamilton
2598861031 bash: add package option 2024-08-18 15:15:31 +02:00
home-manager-bot
086f619dd9 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/52ec9ac3b12395ad677e8b62106f0b98c1f8569d?narHash=sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k%3D' (2024-07-28)
  → 'github:NixOS/nixpkgs/5e0ca22929f3342b19569b21b2f3462f053e497b?narHash=sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI%3D' (2024-08-09)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-08-11 20:11:24 +02:00
Weblate (bot)
8b7cdfceaf Translate using Weblate (Catalan)
Currently translated at 100.0% (37 of 37 strings)


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

Co-authored-by: Tomi Ockier <ockier1@gmail.com>
2024-08-11 20:11:05 +02:00
Ladas552
b3d5ea65d8 fastfetch: update example for JsonConfig settings
fastfetch: update example for JsonConfig settings

Using the present version of the example, trows an error:

    JsonConfig Error: `display.binaryPrefix` has been renamed to
    `display.size.binaryPrefix`. Sorry for another break change.

It occurs because of change in fastfetch 2.19 of JsonConfig - moving
`display.binaryPrefix` to `display.size.binaryPrefix`

To not confuse the users, this commit changes the example to fit
current standard

See <b3ac696312/CHANGELOG.md (L85)>
2024-08-07 09:21:46 +02:00
Anomalocaridid
a6c743980e dunst: use -config flag when configFile is set 2024-08-06 11:28:17 +02:00
Weblate (bot)
afc892db74 Translate using Weblate (Vietnamese)
Currently translated at 44.4% (8 of 18 strings)

Translate using Weblate (Vietnamese)

Currently translated at 97.2% (36 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-08-02 22:21:05 +02:00
home-manager-bot
6e090576c4 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b73c2221a46c13557b1b3be9c2070cc42cf01eb3?narHash=sha256-QOS0ykELUmPbrrUGmegAUlpmUFznDQeR4q7rFhl8eQg%3D' (2024-07-27)
  → 'github:NixOS/nixpkgs/52ec9ac3b12395ad677e8b62106f0b98c1f8569d?narHash=sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k%3D' (2024-07-28)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-07-31 23:45:38 +02:00
William Tan
58cef37962 nix-gc: remove extraneous quotes from shell script 2024-07-31 08:27:17 +02:00
Jakub Nowak
4fcd54df7c firefox: fix userChrome example
Example CSS wasn't valid for Firefox 69+.
2024-07-30 08:33:10 +02:00
Ninja3047
d34aaf7b3b nix-gc: set service type to oneshot 2024-07-30 07:54:40 +02:00
Ninja3047
db40fead89 nix-gc: call nix-collect-garbage in a shell script
This will match the behavior in the upstream service which allows the
user to set options to something that uses shell syntax.
2024-07-30 07:54:18 +02:00
Gaurav Juvekar
89670e27e1 home-manager: ignore hostname -f lookup errors
`hostname -f` could fail depending on the resolver. Discard any stderr
and test for the exit status before using the value for flake attribute
lookup.

I was unable to repro the exact bad exit status in #5665.
With
  - nscd disabled,
  - nsswitch.conf pointing to 'files',
  - hostname entry removed from /etc/hosts
`hostname -f` from inetutils-2.5 fell back to showing just the nodename
from `uname(2)`. Injecting an empty string into the
`(struct utsname).nodename` field of `uname(2)` using strace still
exited with empty output and 0 exit-status.

Fixes #5665
2024-07-28 21:21:23 -07:00
bricked
792757f643 firefox: support firefox derivatives
Adds support for Firefox forks by introducing methods that create
generic configs and options. Additional configs and options can be
added in separate modules.
2024-07-28 23:53:08 +02:00
Jean Sidharta
587fcca66e eww: add terminal integration options
Use eww's shell-completions command to generate completions for
bash, zsh and fish.
2024-07-28 23:37:02 +02:00
nikitax44
a11cfcd0a1 micro: add package option 2024-07-28 23:00:57 +02:00
Milo Moisson
ea72cf548f jujutsu: support darwin guidelines for config placement
Follow up to #5207, fixing jujutsu module on darwin targets.
2024-07-28 22:54:29 +02:00
home-manager-bot
9fdadb1cb6 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/68c9ed8bbed9dfce253cc91560bf9043297ef2fe?narHash=sha256-Tybxt65eyOARf285hMHIJ2uul8SULjFZbT9ZaEeUnP8%3D' (2024-07-21)
  → 'github:NixOS/nixpkgs/b73c2221a46c13557b1b3be9c2070cc42cf01eb3?narHash=sha256-QOS0ykELUmPbrrUGmegAUlpmUFznDQeR4q7rFhl8eQg%3D' (2024-07-27)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-07-28 22:43:01 +02:00
polykernel
cd520fbd31 maintainers: remove polykernel 2024-07-28 11:58:33 -04:00
Tomodachi94
d0240a064d gnome-terminal: update package name
The `pkgs.gnome.gnome-terminal` package was moved to
`pkgs.gnome-terminal`. The former is now a deprecated alias that
throws a warning whenever a configuration enabling the module is used:

```
The ‘gnome.gnome-terminal’ was moved to top-level. Please use
‘pkgs.gnome-terminal’ directly.
```

Related: https://github.com/NixOS/nixpkgs/pull/319659
Related: https://github.com/nix-community/home-manager/pull/5611
2024-07-28 00:32:19 +02:00
Robert Helgesson
975b83ca56 treewide: fix eval after Nixpkgs maintainer changes 2024-07-27 10:10:13 +02:00
Robert Helgesson
180158b46e mcfly: add settings option 2024-07-27 10:10:13 +02:00
Masum Reza
bc2b96acda zsh: add programs.zsh.autosuggestions.strategy option (#5396)
defaults to history
2024-07-26 14:28:33 +02:00
Cezary Drożak
304a011325 firefox: add languagePacks option
Port the programs.firefox.languagePacks option from NixOS
2024-07-24 22:15:38 +02:00
home-manager-bot
af70fc502a flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1d9c2c9b3e71b9ee663d11c5d298727dace8d374?narHash=sha256-8MUgifkJ7lkZs3u99UDZMB4kbOxvMEXQZ31FO3SopZ0%3D' (2024-07-19)
  → 'github:NixOS/nixpkgs/68c9ed8bbed9dfce253cc91560bf9043297ef2fe?narHash=sha256-Tybxt65eyOARf285hMHIJ2uul8SULjFZbT9ZaEeUnP8%3D' (2024-07-21)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-07-24 08:55:10 +02:00
Donovan Glover
465ea1f994 swayosd: avoid restarting too quickly
Should fix an issue where swayosd.service would stop without starting
again after restarting too quickly.

Triggered by ending a Hyprland session and logging in with tuigreet.

Related: https://github.com/nix-community/home-manager/pull/4316
2024-07-24 07:37:28 +02:00
Amit Aryeh Levy
7560dc942a kbfs: avoid using PrivateTmp for systemd service
The kbfs service does not seem to actually work with a PrivateTmp. A
PrivateTmp seems as appropriate for kbfs as anything else, but the
upstream service does not use it either
<https://github.com/keybase/client/blob/master/packaging/linux/systemd/kbfs.service>
2024-07-23 08:04:23 +02:00
github-actions[bot]
635563f245 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/00d80d13810dbfea8ab4ed1009b09100cca86ba8?narHash=sha256-H3%2BEC5cYuq%2BgQW8y0lSrrDZfH71LB4DAf%2BTDFyvwCNA%3D' (2024-07-01)
  → 'github:NixOS/nixpkgs/1d9c2c9b3e71b9ee663d11c5d298727dace8d374?narHash=sha256-8MUgifkJ7lkZs3u99UDZMB4kbOxvMEXQZ31FO3SopZ0%3D' (2024-07-19)
2024-07-21 03:59:25 +00:00
O. C. Taskin
afd2021bed papis: add program.papis.package option
Add `programs.papis.package` option to override default package used.
This can be useful to track latest rev from repository via a flake.
2024-07-16 15:19:18 +02:00
O. C. Taskin
a38f88045e khard: add option to contact module for khard dir
Add an extra option,

    accounts.contact.accounts.<name>.khard.defaultCollection

to hardcode a subdirectory for khard to function as intended. Khard
expects to be given a collection directory directly, from which there
can be multiple of in a vdir. This contrasts khal or vdirsyncer which
support recursive search.

Fixes #4531
2024-07-16 15:17:37 +02:00
Chris Hodapp
90ae324e2c sd-switch: respect xdg directory specifications 2024-07-11 23:48:33 +02:00
Johann
c085b984ff gnome-keyring: update package
`pkgs.gnome.gnome-keyring` has been moved to `pkgs.gnome-keyring` In nixpgkgs-unstable
2024-07-10 23:15:28 +02:00
Lin Xianyi
57d85c6c6d xdg-desktop-entries: allow terminal to be null 2024-07-10 23:13:46 +02:00
Robert Helgesson
f79d950ac2 atuin: fix tests 2024-07-10 23:11:15 +02:00
Bruno BELANYI
f749fabecc atuin: use 'lib.getExe' 2024-07-10 13:07:54 +00:00
Robert Helgesson
2fb5c1e0a1 tests: update to match new sd-switch version
Also, seems Nix has become more memory hungry so increase memory
allocation.
2024-07-08 22:34:06 +02:00
Robert Helgesson
dfaf0ff2e7 systemd: only set old units directory when available 2024-07-08 22:34:05 +02:00
Weblate (bot)
6b7ce96f34 Translate using Weblate (Hungarian)
Currently translated at 43.2% (16 of 37 strings)


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

Co-authored-by: Ferenci Ákos <synthetace@gmail.com>
2024-07-07 06:49:29 +02:00
Bojun Ren
10486e6b31 starship: fix type of settings to allow all valid value
Previously, type check of `programs.starship.settings` fails for some
valid settings, such as `c.commands = [["cc" "--version"]]`.

The commit fix the `type` argument passed to `mkOption`, so
`programs.starship.settings` can accept all valid values (of toml
type).
2024-07-06 20:08:39 +02:00
novenary
e3582e5151 sway: unfail units before starting session target
Sometimes services can fail. Failed services will generally not be
restarted by systemd. To start previously failed services we can
just reset their failed state before starting our session target.

GNOME and Plasma do the same thing.

See: https://github.com/alebastr/sway-systemd/pull/11
2024-07-05 17:10:02 +03:00
novenary
b7b55e285c sway: stop sway-session.target on exit
This ensures graphical-session.target is properly cycled, and that all
of its members are restarted on consecutive runs.
2024-07-05 17:10:02 +03:00
0x4A6F
bbe6e94737 dunst: fix warning for lib.cartesianProductOfSets
"lib.cartesianProductOfSets is a deprecated alias of lib.cartesianProduct."
Rename happened in nixpkgs commit `228621e42dc43f936b66e0ed042c90c511aa0535`.
2024-07-05 10:12:00 +02:00
Robert Helgesson
c514e862cd treewide: fix eval after Nixpkgs maintainer changes 2024-07-05 01:19:01 +02:00
Tadeo Kondrak
6ea6fafa3e mpv: remove tadeokondrak as maintainer 2024-07-05 01:09:47 +02:00
TheRealGramdalf
c23060ce95 hyprland: emphasize usage of the NixOS module 2024-07-05 01:07:22 +02:00
novenary
0a30138c69 mpd: specify dependency of service on socket
This allows `systemctl --user restart mpd.socket` to work properly.
2024-07-04 00:22:58 +02:00
home-manager-bot
58268b4d77 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b2852eb9365c6de48ffb0dc2c9562591f652242a?narHash=sha256-C8e9S7RzshSdHB7L%2Bv9I51af1gDM5unhJ2xO1ywxNH8%3D' (2024-06-27)
  → 'github:NixOS/nixpkgs/00d80d13810dbfea8ab4ed1009b09100cca86ba8?narHash=sha256-H3%2BEC5cYuq%2BgQW8y0lSrrDZfH71LB4DAf%2BTDFyvwCNA%3D' (2024-07-01)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-07-03 23:36:42 +02:00
uncenter
e915831472 yazi: allow literal string for initLua 2024-07-03 23:36:14 +02:00
sg-qwt
269cc18d94 sway: fix systemd variables example 2024-07-04 03:43:38 +08:00
Sumner Evans
36e2f9da91 maintainers: remove ivar
ivar was removed as a maintainer from upstream nixpkgs due to
inactivity: https://github.com/NixOS/nixpkgs/pull/322266

Signed-off-by: Sumner Evans <me@sumnerevans.com>
2024-07-03 09:39:20 +02:00
home-manager-bot
59ce796b25 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2893f56de08021cffd9b6b6dfc70fd9ccd51eb60?narHash=sha256-ECni%2BIkwXjusHsm9Sexdtq8weAq/yUyt1TWIemXt3Ko%3D' (2024-06-24)
  → 'github:NixOS/nixpkgs/b2852eb9365c6de48ffb0dc2c9562591f652242a?narHash=sha256-C8e9S7RzshSdHB7L%2Bv9I51af1gDM5unhJ2xO1ywxNH8%3D' (2024-06-27)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-07-01 11:50:39 +02:00
dependabot[bot]
ef74bacbb4 ci: bump DeterminateSystems/update-flake-lock from 22 to 23
Bumps [DeterminateSystems/update-flake-lock](https://github.com/determinatesystems/update-flake-lock) from 22 to 23.
- [Release notes](https://github.com/determinatesystems/update-flake-lock/releases)
- [Commits](https://github.com/determinatesystems/update-flake-lock/compare/v22...v23)

---
updated-dependencies:
- dependency-name: DeterminateSystems/update-flake-lock
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 11:49:15 +02:00
Shogo Takata
36317d4d38 direnv: add silent option
PR #5586
2024-06-29 18:07:14 +02:00
Robert Helgesson
c2f806e60a pulseeffects: fix test evaluation
Fixes #5588
2024-06-29 17:20:18 +02:00
Gutyina Gergő
7e68e55d2e glance: add module 2024-06-28 17:24:13 +02:00
home-manager-bot
f50e2779ed flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d603719ec6e294f034936c0d0dc06f689d91b6c3?narHash=sha256-k3JqJrkdoYwE3fHE6xGDY676AYmyh4U2Zw%2B0Bwe5DLU%3D' (2024-06-20)
  → 'github:NixOS/nixpkgs/2893f56de08021cffd9b6b6dfc70fd9ccd51eb60?narHash=sha256-ECni%2BIkwXjusHsm9Sexdtq8weAq/yUyt1TWIemXt3Ko%3D' (2024-06-24)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-28 16:16:42 +02:00
Jakob Kukla
19e2f43e0b rbw: fix url option examples
rbw expects a protocol for its base_url setting[1]. Otherwise fails
with `rbw unlock: failed to parse base url: relative URL without a
base`.

[1] 741a72cf0d/README.md (configuration)
2024-06-28 16:16:01 +02:00
Shahar "Dawn" Or
1a4f12ae0b docs: introduction chapter
Adds an introduction chapter to the manual.
2024-06-26 23:48:52 +02:00
Adam Dinwoodie
607f969f5d systemd: don't try to restart templates
If the user has template services in their systemd configuration, these
can't be restarted, and will produces warnings during the activation
phase.  Avoid those warnings by skipping any uninstantiated templates
when looking for services to start or stop.
2024-06-26 18:14:48 +02:00
Kacper Koniuszy
7a88ff6ad1 systemd: fix sd-switch error on empty target directory
After update to sd-switch 0.5.0, `home-manager switch` failed with the
following error message:

> Error: Error switching
>
> Caused by:
>     0: Failed to build switch plan
>     1: No such file or directory (os error 2)

This was caused by a non-existing target unit directory due to no user
services being managed by home-manager. This change makes sd-switch
run with pkgs.emptyDirectory as the target in such cases.

Closes: https://github.com/nix-community/home-manager/issues/5552
2024-06-26 17:41:48 +02:00
eljamm
92a26bf6df yazi: add shellWrapperName & rename wrappers to yy
The program shell wrappers have been renamed from `ya` to `yy`
following the introduction of the new CLI tool named `ya`.

With this in mind, the `shellWrapperName` option has been introduced
to provide users with more flexibility in choosing the name they're
most accustomed to (ra, lf, ...).

Co-authored-by: XYenon <register@xyenon.bid>

Co-authored-by: 三咲雅 · Misaki Masa <sxyazi@gmail.com>
2024-06-26 09:08:30 +02:00
eljamm
d3bf2a0612 yazi: add eljamm as maintainer 2024-06-25 14:27:44 +01:00
h7x4
6b1f90a8ff stalonetray: move config file to XDG_CONFIG_HOME 2024-06-24 00:10:26 +02:00
Robert Helgesson
d2f631a96e yazi: ensure plugin suffix .yazi
PR #5492
2024-06-24 00:06:20 +02:00
lordkekz
216d51eb22 yazi: Fix expected structure of flavors 2024-06-23 23:12:50 +02:00
lordkekz
16f86c94ce yazi: Assert plugin/flavor structure and warn about plugin/flavor suffix
- Always append suffix `.yazi` to plugin's and flavor's attribute names.
- Warn if the attribute names already have the suffix.
- Assert that plugin's and flavor's values point to directories
  containing an `init.lua` file.
2024-06-23 23:12:50 +02:00
Didn't read the style guide
09bc5c5949 yazi: plugin names should be in kebab case (test)
Co-authored-by: 三咲雅 · Misaki Masa <sxyazi@gmail.com>
2024-06-23 23:12:50 +02:00
lordkekz
340b98c0ab yazi: Assert that plugins have valid structure 2024-06-23 23:12:50 +02:00
lordkekz
5ccc3d6739 yazi: Ensure plugin suffix .yazi
- Append suffix `.yazi` to symlink targets of yazi plugins, if needed
- Improve some docs, especially links to upstream docs.
- Update tests to make use of this feature.
2024-06-23 23:12:50 +02:00
home-manager-bot
6a9a1e51bb flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b60ebf54c15553b393d144357375ea956f89e9a9?narHash=sha256-pup6cYwtgvzDpvpSCFh1TEUjw2zkNpk8iolbKnyFmmU%3D' (2024-06-16)
  → 'github:NixOS/nixpkgs/d603719ec6e294f034936c0d0dc06f689d91b6c3?narHash=sha256-k3JqJrkdoYwE3fHE6xGDY676AYmyh4U2Zw%2B0Bwe5DLU%3D' (2024-06-20)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-23 23:11:27 +02:00
Robert Helgesson
8be82697f7 ssh-agent: fix evaluation of maintainer field 2024-06-23 23:03:18 +02:00
daru
cd88671199 blanket: add module 2024-06-22 08:19:17 +02:00
Kira Bruneau
c559542f0a gtk: explicitly set default font size
Fixes #5562
2024-06-21 11:32:58 -04:00
home-manager-bot
d7830d0542 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e9ee548d90ff586a6471b4ae80ae9cfcbceb3420?narHash=sha256-4Zu0RYRcAY/VWuu6awwq4opuiD//ahpc2aFHg2CWqFY%3D' (2024-06-13)
  → 'github:NixOS/nixpkgs/b60ebf54c15553b393d144357375ea956f89e9a9?narHash=sha256-pup6cYwtgvzDpvpSCFh1TEUjw2zkNpk8iolbKnyFmmU%3D' (2024-06-16)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-19 11:11:47 +02:00
Weblate (bot)
0dd1c1495a Translate using Weblate (Polish)
Currently translated at 100.0% (18 of 18 strings)

Translate using Weblate (Polish)

Currently translated at 100.0% (37 of 37 strings)


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

Co-authored-by: Mateusz P <medan1993@gmail.com>
2024-06-18 23:05:42 +02:00
bricked
fab8e511d5 firefox: update expected container settings 2024-06-18 15:23:11 +02:00
Balint Barna Kovari
0a7ffb28e5 Translate using Weblate (Hungarian)
Currently translated at 5.4% (2 of 37 strings)

Add translation using Weblate (Hungarian)

Co-authored-by: Balint Barna Kovari <balint+weblate@kovari.cc>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/hu/
Translation: Home Manager/Home Manager CLI
2024-06-16 10:32:27 +02:00
Languages add-on
6396c03229 Add translation using Weblate (Hungarian)
Add translation using Weblate (Arabic)

Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
2024-06-16 10:32:26 +02:00
Mohamed Nehad Shalabi
f2f254640e Add translation using Weblate (Arabic)
Co-authored-by: Mohamed Nehad Shalabi <mohammednehad450@gmail.com>
2024-06-16 10:32:26 +02:00
home-manager-bot
03c45b982c flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/051f920625ab5aabe37c920346e3e69d7d34400e?narHash=sha256-4q0s6m0GUcN7q%2BY2DqD27iLvbcd1G50T2lv08kKxkSI%3D' (2024-06-07)
  → 'github:NixOS/nixpkgs/e9ee548d90ff586a6471b4ae80ae9cfcbceb3420?narHash=sha256-4Zu0RYRcAY/VWuu6awwq4opuiD//ahpc2aFHg2CWqFY%3D' (2024-06-13)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-16 10:32:21 +02:00
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
home-manager-bot
885c037109 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ad57eef4ef0659193044870c731987a6df5cf56b?narHash=sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs%3D' (2024-05-29)
  → 'github:NixOS/nixpkgs/051f920625ab5aabe37c920346e3e69d7d34400e?narHash=sha256-4q0s6m0GUcN7q%2BY2DqD27iLvbcd1G50T2lv08kKxkSI%3D' (2024-06-07)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-09 13:09:33 +02:00
Mario Rodas
8bdb74eaff docs: add redirect from the previous options.html
After migrating to nixos-render-docs, the extension move to .xtml.
Unfortunately, this broke links to the previous Options Page.

This patch provides a basic redirect support to the new Options Page.
2024-06-09 13:09:00 +02:00
Mario Rodas
8f1b183c91 fcitx5: fix tests
Since https://github.com/NixOS/nixpkgs/pull/308725, fcitx5-with-addons
expects share/dbus-1/services/ to be present.
This patch updates the fcitx5 stub to reflect that.
2024-06-07 04:20:00 +00: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
Sumner Evans
2cacdd6a27 ci/labeler: fix upgrade to v5 format
Signed-off-by: Sumner Evans <me@sumnerevans.com>
2024-06-04 08:39:30 +02:00
Sumner Evans
1a577c135c ci/labeler: upgrade to v5 format
Signed-off-by: Sumner Evans <me@sumnerevans.com>
2024-06-04 08:32:53 +02:00
Sumner Evans
07b2c41d2d ci: bump all actions versions (#5496)
* cachix/install-nix-action: v23 -> v27

  Release: https://github.com/cachix/install-nix-action/releases/tag/v27

* actions/labeler: v4 -> v5

  Release: https://github.com/actions/labeler/releases/tag/v5.0.0

* DeterminateSystems/update-flake-lock: v21 -> v22

  Release: https://github.com/DeterminateSystems/update-flake-lock/releases/tag/v22

Signed-off-by: Sumner Evans <me@sumnerevans.com>
2024-06-03 22:41:47 -06: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
github-actions[bot]
c497bdc12f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/bfb7a882678e518398ce9a31a881538679f6f092' (2024-05-24)
  → 'github:NixOS/nixpkgs/ad57eef4ef0659193044870c731987a6df5cf56b' (2024-05-29)
2024-06-02 03:59:27 +00:00
Gaurav Juvekar
0eb314b4f0 home-manager: use short -f instead of --fqdn
MacOS doesn't support the long-style `--fqdn` option to `hostname` that
was added by 1b589257f7.

Switch to short style `-f` that should be supported on every platform.
2024-05-30 21:35:07 +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
Weblate (bot)
60b85414b4 Translate using Weblate (Korean)
Currently translated at 100.0% (37 of 37 strings)


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

Co-authored-by: lentil32 <lentil32@icloud.com>
2024-05-30 08:17:09 +02:00
Gaurav Juvekar
1b589257f7 home-manager: check FQDN for '--flake .' attribute
Since nixpkgs commit 993baa587c4b82e791686f6ce711bcd4ee8ef933,
`networking.hostName` is not allowed to be a FQDN.

Add `hostname --fqdn` to the default flake attribute names that are
searched.

If

    netorking.hostname = "hostname";
    networking.domain = "example.com";

is set in the system NixOS configuration, this allows defining

    homeConfigurations."username@hostname.example.com" = ...

and still use

    home-manager switch --flake .

instead of having to type out

    home-manager switch --flake .#$(whoami)@$(hostname --fqdn)
2024-05-30 00:02:35 +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
midchildan
373ead2060 tests: fix broken overlay in mpv test 2024-05-28 17:02:06 +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
home-manager-bot
b2a4ddf657 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f1010e0469db743d14519a1efd37e23f8513d714' (2024-05-09)
  → 'github:NixOS/nixpkgs/bfb7a882678e518398ce9a31a881538679f6f092' (2024-05-24)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-05-26 17:15:27 +02:00
DeeKahy
05e6ba83eb Translate using Weblate (Danish)
Currently translated at 100.0% (37 of 37 strings)

Co-authored-by: DeeKahy <Lennart.Diego.Kahn@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/da/
Translation: Home Manager/Home Manager CLI
2024-05-26 10:13:39 +02:00
TANIGUCHI Kohei
517682ed21 Translate using Weblate (Japanese)
Currently translated at 100.0% (37 of 37 strings)

Co-authored-by: TANIGUCHI Kohei <a.d.xvii.kal.mai@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ja/
Translation: Home Manager/Home Manager CLI
2024-05-26 10:13:39 +02:00
Narazaki Shuji
cd29501b79 Translate using Weblate (Japanese)
Currently translated at 94.5% (35 of 37 strings)

Co-authored-by: Narazaki Shuji <shujinarazaki@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ja/
Translation: Home Manager/Home Manager CLI
2024-05-26 10:13:39 +02:00
halbGefressen
943f1e97fc Translate using Weblate (German)
Currently translated at 100.0% (37 of 37 strings)

Co-authored-by: halbGefressen <chzi@pm.me>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/de/
Translation: Home Manager/Home Manager CLI
2024-05-26 10:13:39 +02:00
Zexin Yuan
fb7feac55b Translate using Weblate (Chinese (Simplified))
Currently translated at 100.0% (37 of 37 strings)

Co-authored-by: Zexin Yuan <yuan.zx@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/zh_Hans/
Translation: Home Manager/Home Manager CLI
2024-05-26 10:13:39 +02:00
dependabot[bot]
6a35d1969e ci: bump cachix/cachix-action from 13 to 15
Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action) from 13 to 15.
- [Release notes](https://github.com/cachix/cachix-action/releases)
- [Commits](https://github.com/cachix/cachix-action/compare/v13...v15)

---
updated-dependencies:
- dependency-name: cachix/cachix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-26 10:13:35 +02:00
Robert Helgesson
e4611630c3 ci: fix manual build in sourcehut build 2024-05-26 01:25:03 +02:00
Robert Helgesson
d179da4e81 home-manager: prepare 24.11-pre 2024-05-25 22:13:25 +02:00
Robert Helgesson
548ba194d0 home-manager: prepare release 24.05 2024-05-25 22:13:25 +02:00
Robert Helgesson
850cb32204 ci: make dependabot consider the release-24.05
Also remove 23.05 from dependabot.
2024-05-23 11:45:08 +02:00
Robert Helgesson
25dedb0d52 version: allow 24.11 as state version 2024-05-23 09:07:00 +02:00
274 changed files with 4731 additions and 2065 deletions

View File

@@ -9,6 +9,7 @@ environment:
NIX_CONFIG: "experimental-features = nix-command flakes"
packages:
- nixos.cachix
- nixos.jq
tasks:
- setup: |
cachix use rycee
@@ -26,7 +27,7 @@ tasks:
if [[ $gitBranch == master ]]; then
dirName="unstable"
else
dirName="$(cat .release)"
dirName="$(jq -r .release < release.json)"
fi
rsync --delete -r --info=stats \

View File

@@ -19,3 +19,6 @@ indent_style = tab
[*.md]
trim_trailing_whitespace = false
[*.plist]
insert_final_newline = false

View File

@@ -10,7 +10,7 @@ updates:
- package-ecosystem: "github-actions"
directory: "/"
target-branch: "release-23.05"
target-branch: "release-23.11"
schedule:
interval: "weekly"
commit-message:
@@ -18,7 +18,7 @@ updates:
- package-ecosystem: "github-actions"
directory: "/"
target-branch: "release-23.11"
target-branch: "release-24.05"
schedule:
interval: "weekly"
commit-message:

64
.github/labeler.yml vendored
View File

@@ -1,36 +1,46 @@
"mail":
- modules/programs/aerc*.nix
- modules/programs/alot*.nix
- tests/modules/programs/aerc/*
- tests/modules/programs/alot/*
- modules/programs/mujmap.nix
- tests/modules/programs/mujmap/*
- modules/programs/notmuch.nix
- modules/programs/neomutt*
- tests/modules/programs/neomutt/*
- modules/programs/getmail*
- modules/*/mbsync*
- tests/modules/programs/mbsync/*
- modules/programs/himalaya.nix
- tests/modules/programs/himalaya/*
- modules/programs/thunderbird.nix
- tests/modules/programs/thunderbird/*
- modules/services/imapnotify.nix
- changed-files:
- any-glob-to-any-file:
- modules/programs/aerc*.nix
- modules/programs/alot*.nix
- tests/modules/programs/aerc/*
- tests/modules/programs/alot/*
- modules/programs/mujmap.nix
- tests/modules/programs/mujmap/*
- modules/programs/notmuch.nix
- modules/programs/neomutt*
- tests/modules/programs/neomutt/*
- modules/programs/getmail*
- modules/*/mbsync*
- tests/modules/programs/mbsync/*
- modules/programs/himalaya.nix
- tests/modules/programs/himalaya/*
- modules/programs/thunderbird.nix
- tests/modules/programs/thunderbird/*
- modules/services/imapnotify.nix
"neovim":
- modules/programs/neovim.nix
- tests/modules/programs/neovim/**/*
- changed-files:
- any-glob-to-any-file:
- modules/programs/neovim.nix
- tests/modules/programs/neovim/**/*
"shell":
- modules/lib/zsh.nix
- modules/programs/zsh*
- modules/programs/bash*
- tests/modules/programs/zsh/**/*
- changed-files:
- any-glob-to-any-file:
- modules/lib/zsh.nix
- modules/programs/zsh*
- modules/programs/bash*
- tests/modules/programs/zsh/**/*
"calendar":
- modules/programs/khal*
- modules/*/vdirsyncer*
- modules/accounts/calendar.nix
- changed-files:
- any-glob-to-any-file:
- modules/programs/khal*
- modules/*/vdirsyncer*
- modules/accounts/calendar.nix
"contacts":
- modules/accounts/contacts.nix
- changed-files:
- any-glob-to-any-file:
- modules/accounts/contacts.nix

View File

@@ -11,10 +11,10 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v23
- uses: cachix/install-nix-action@v27
with:
nix_path: nixpkgs=channel:nixos-unstable
- uses: cachix/cachix-action@v13
- uses: cachix/cachix-action@v15
with:
name: nix-community
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'

View File

@@ -17,8 +17,7 @@ jobs:
runs-on: ubuntu-latest
if: github.repository_owner == 'nix-community'
steps:
- uses: actions/labeler@v4
- uses: actions/labeler@v5
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
sync-labels: true

View File

@@ -12,7 +12,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v23
- uses: cachix/install-nix-action@v27
with:
nix_path: nixpkgs=channel:nixos-unstable
- run: |

View File

@@ -12,9 +12,9 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Nix
uses: cachix/install-nix-action@v23
uses: cachix/install-nix-action@v27
- name: Update flake.lock
uses: DeterminateSystems/update-flake-lock@v21
uses: DeterminateSystems/update-flake-lock@v23
with:
token: ${{ secrets.GH_TOKEN_FOR_UPDATES }}
pr-labels: dependencies

View File

@@ -28,7 +28,7 @@ Releases
Home Manager is developed against `nixpkgs-unstable` branch, which often causes
it to contain tweaks for changes/packages not yet released in stable [NixOS][].
To avoid breaking users' configurations, Home Manager is released in branches
corresponding to NixOS releases (e.g. `release-23.11`). These branches get
corresponding to NixOS releases (e.g. `release-24.05`). These branches get
fixes, but usually not new modules. If you need a module to be backported, then
feel free to open an issue.
@@ -49,7 +49,7 @@ dconf store and cannot tell whether a configuration that it is about to be
overwritten was from a previous Home Manager generation or from manual
configuration.
Home Manager targets [NixOS][] unstable and NixOS version 23.11 (the current
Home Manager targets [NixOS][] unstable and NixOS version 24.05 (the current
stable version), it may or may not work on other Linux distributions and NixOS
versions.

View File

@@ -147,7 +147,7 @@ in {
substitute \
${hmOptionsDocs.optionsJSON}/nix-support/hydra-build-products \
$out/nix-support/hydra-build-products \
--replace \
--replace-fail \
'${hmOptionsDocs.optionsJSON}/share/doc/nixos' \
"$out/share/doc/home-manager"
'';

View File

@@ -32,6 +32,8 @@ in stdenv.mkDerivation {
OPTIONS_JSON \
${home-manager-options.nix-darwin}/share/doc/nixos/options.json
cp ${./options.html} out/options.html
cp ${./static/style.css} out/style.css
cp -r ${./release-notes} release-notes

View File

@@ -15,10 +15,10 @@ $ nix-channel --add https://github.com/nix-community/home-manager/archive/master
$ nix-channel --update
```
and if you follow a Nixpkgs version 23.11 channel, you can run
and if you follow a Nixpkgs version 24.05 channel, you can run
``` shell
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz home-manager
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-24.05.tar.gz home-manager
$ nix-channel --update
```
@@ -45,7 +45,7 @@ home-manager.users.eve = { pkgs, ... }: {
# The state version is required and should stay at the version you
# originally installed.
home.stateVersion = "23.11";
home.stateVersion = "24.05";
};
```

View File

@@ -17,10 +17,10 @@ $ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/m
$ sudo nix-channel --update
```
and if you follow a Nixpkgs version 23.11 channel, you can run
and if you follow a Nixpkgs version 24.05 channel, you can run
``` shell
$ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz home-manager
$ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-24.05.tar.gz home-manager
$ sudo nix-channel --update
```
@@ -44,7 +44,7 @@ home-manager.users.eve = { pkgs, ... }: {
# The state version is required and should stay at the version you
# originally installed.
home.stateVersion = "23.11";
home.stateVersion = "24.05";
};
```

View File

@@ -19,10 +19,10 @@
$ nix-channel --update
```
and if you follow a Nixpkgs version 23.11 channel you can run
and if you follow a Nixpkgs version 24.05 channel you can run
``` shell
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz home-manager
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-24.05.tar.gz home-manager
$ nix-channel --update
```

View File

@@ -0,0 +1,32 @@
# Introduction to Home Manager {#ch-introduction}
Home Manager is a [Nix](https://nix.dev/)-powered tool for reproducible management of the contents of users' home directories.
This includes programs, configuration files, environment variables and, well… arbitrary files.
The following example snippet of Nix code:
```nix
programs.git = {
enable = true;
userEmail = "joe@example.org";
userName = "joe";
};
```
would make available to a user the `git` executable and man pages and a configuration file `~/.config/git/config`:
```ini
[user]
email = "joe@example.org"
name = "joe"
```
Since Home Manager is implemented in Nix, it provides several benefits:
- Contents are reproducible — a home will be the exact same every time it is built, unless of course, an intentional change is made.
This also means you can have the exact same home on different hosts.
- Significantly faster and more powerful than various backup strategies.
- Unlike "dotfiles" repositories, Home Manager supports specifying programs, as well as their configurations.
- Supported by <http://cache.nixos.org/>, so that you don't have to build from source.
- If you do want to build some programs from source, there is hardly a tool more useful than Nix for that, and the build instructions can be neatly integrated in your Home Manager usage.
- Infinitely composable, so that values in different configuration files and build instructions can share a source of truth.
- Connects you with the [most extensive](https://repology.org/repositories/statistics/total) and [most up-to-date](https://repology.org/repositories/statistics/newest) software package repository on earth, [Nixpkgs](https://github.com/NixOS/nixpkgs).

View File

@@ -8,6 +8,7 @@ preface.md
```
```{=include=} parts
introduction.md
installation.md
usage.md
nix-flakes.md

View File

@@ -11,10 +11,10 @@ then to generate and activate a basic configuration run the command
$ nix run home-manager/master -- init --switch
```
For Nixpkgs or NixOS version 23.11 run
For Nixpkgs or NixOS version 24.05 run
``` shell
$ nix run home-manager/release-23.11 -- init --switch
$ nix run home-manager/release-24.05 -- init --switch
```
This will generate a `flake.nix` and a `home.nix` file in
@@ -30,7 +30,7 @@ $ # Edit files in ~/.config/home-manager
$ nix run home-manager/$branch -- init --switch
```
Where `$branch` is one of `master` or `release-23.11`.
Where `$branch` is one of `master` or `release-24.05`.
After the initial activation has completed successfully then building
and activating your flake-based configuration is as simple as

View File

@@ -20,7 +20,7 @@ A fresh install of Home Manager will generate a minimal
# You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
home.stateVersion = "23.11";
home.stateVersion = "24.05";
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
@@ -65,7 +65,7 @@ follows:
# You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
home.stateVersion = "23.11";
home.stateVersion = "24.05";
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;

15
docs/options.html Normal file
View File

@@ -0,0 +1,15 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Redirecting&hellip;</title>
<meta charset="utf-8">
<link rel="canonical" href="options.xhtml">
<noscript><meta http-equiv="refresh" content="0; url=options.xhtml"></noscript>
</head>
<body>
<h1>Redirecting&hellip;</h1>
<script>
window.location.href = "options.xhtml" + (window.location.search || "") + (window.location.hash || "");
</script>
</body>
</html>

View File

@@ -4,6 +4,7 @@ This section lists the release notes for stable versions of Home Manager
and the current unstable version.
```{=include=} chapters
rl-2411.md
rl-2405.md
rl-2311.md
rl-2305.md

View File

@@ -1,7 +1,6 @@
# Release 24.05 {#sec-release-24.05}
This is the current unstable branch and the information in this section
is therefore not final.
The 24.05 release branch became stable in May, 2024.
## Highlights {#sec-release-24.05-highlights}
@@ -89,4 +88,4 @@ The state version in this release includes the changes below. These
changes are only active if the `home.stateVersion` option is set to
\"24.05\" or later.
- Nothing, yet.
- There was no state version change in this release.

View File

@@ -0,0 +1,30 @@
# Release 24.11 {#sec-release-24.11}
This is the current unstable branch and the information in this section
is therefore not final.
## Highlights {#sec-release-24.11-highlights}
This release has the following notable changes:
- The option
[systemd.user.startServices](#opt-systemd.user.startServices) now
defaults to `true`. This means that managed systemd services will be
automatically started and stopped as needed.
If you encounter errors please set the option to `false` in your
configuration:
```nix
systemd.user.startServices = false
```
Also, please report the error in the Home Manager issue tracker.
## State Version Changes {#sec-release-24.11-state-version-changes}
The state version in this release includes the changes below. These
changes are only active if the `home.stateVersion` option is set to
\"24.11\" or later.
- No changes.

6
flake.lock generated
View File

@@ -2,11 +2,11 @@
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1715266358,
"narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=",
"lastModified": 1726062873,
"narHash": "sha256-IiA3jfbR7K/B5+9byVi9BZGWTD4VSbWe8VLpp9B/iYk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f1010e0469db743d14519a1efd37e23f8513d714",
"rev": "4f807e8940284ad7925ebd0a0993d2a1791acb2f",
"type": "github"
},
"original": {

View File

@@ -1,5 +1,5 @@
{ runCommand, lib, bash, callPackage, coreutils, findutils, gettext, gnused, jq
, less, ncurses, unixtools
, less, ncurses, inetutils
# used for pkgs.path for nixos-option
, pkgs
@@ -38,7 +38,7 @@ in runCommand "home-manager" {
less
ncurses
nixos-option
unixtools.hostname
inetutils # for `hostname`
]
}" \
--subst-var-by HOME_MANAGER_LIB '${../lib/bash/home-manager.sh}' \

View File

@@ -198,9 +198,9 @@ function setFlakeAttribute() {
;;
*)
local name="$USER"
# Check both long and short hostnames; long first to preserve
# Check FQDN, long, and short hostnames; long first to preserve
# pre-existing behaviour in case both happen to be defined.
for n in "$USER@$(hostname)" "$USER@$(hostname -s)"; do
for n in "$USER@$(hostname -f)" "$USER@$(hostname)" "$USER@$(hostname -s)"; do
if [[ "$(nix eval "$flake#homeConfigurations" --apply "x: x ? \"$n\"")" == "true" ]]; then
name="$n"
if [[ -v VERBOSE ]]; then
@@ -359,7 +359,7 @@ $xdgVars
# You should not change this value, even if you update Home Manager. If you do
# want to update the value, then make sure to first check the Home Manager
# release notes.
home.stateVersion = "23.11"; # Please read the comment before changing.
home.stateVersion = "24.05"; # Please read the comment before changing.
# The home.packages option allows you to install Nix packages into your
# environment.
@@ -857,7 +857,7 @@ function doUninstall() {
uninstall = true;
home.username = "$USER";
home.homeDirectory = "$HOME";
home.stateVersion = "23.11";
home.stateVersion = "24.05";
}
EOF
# shellcheck disable=2064
@@ -1044,7 +1044,7 @@ while [[ $# -gt 0 ]]; do
export VERBOSE=1
;;
--version)
echo 24.05-pre
echo 24.11-pre
exit 0
;;
*)

217
home-manager/po/ar.po Normal file
View File

@@ -0,0 +1,217 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Home Manager contributors
# This file is distributed under the same license as the Home Manager package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
#. translators: For example: "home-manager: missing argument for --cores"
#: home-manager/home-manager:16
msgid "%s: missing argument for %s"
msgstr ""
#: home-manager/home-manager:64
msgid "No configuration file found at %s"
msgstr ""
#. translators: The first '%s' specifier will be replaced by either
#. 'home.nix' or 'flake.nix'.
#: home-manager/home-manager:81 home-manager/home-manager:85
#: home-manager/home-manager:184
msgid ""
"Keeping your Home Manager %s in %s is deprecated,\n"
"please move it to %s"
msgstr ""
#: home-manager/home-manager:92
msgid "No configuration file found. Please create one at %s"
msgstr ""
#: home-manager/home-manager:107
msgid "Home Manager not found at %s."
msgstr ""
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
#: home-manager/home-manager:115
msgid ""
"The fallback Home Manager path %s has been deprecated and a file/directory "
"was found there."
msgstr ""
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
#: home-manager/home-manager:118
msgid ""
"To remove this warning, do one of the following.\n"
"\n"
"1. Explicitly tell Home Manager to use the path, for example by adding\n"
"\n"
" { programs.home-manager.path = \"%s\"; }\n"
"\n"
" to your configuration.\n"
"\n"
" If you import Home Manager directly, you can use the `path` parameter\n"
"\n"
" pkgs.callPackage /path/to/home-manager-package { path = \"%s\"; }\n"
"\n"
" when calling the Home Manager package.\n"
"\n"
"2. Remove the deprecated path.\n"
"\n"
" $ rm -r \"%s\""
msgstr ""
#: home-manager/home-manager:146
msgid "Sanity checking Nix"
msgstr ""
#: home-manager/home-manager:166
msgid "Could not find suitable profile directory, tried %s and %s"
msgstr ""
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:221
msgid "Can't inspect options of a flake configuration"
msgstr ""
#: home-manager/home-manager:296 home-manager/home-manager:319
#: home-manager/home-manager:1051
msgid "%s: unknown option '%s'"
msgstr ""
#: home-manager/home-manager:301 home-manager/home-manager:1052
msgid "Run '%s --help' for usage help"
msgstr ""
#: home-manager/home-manager:327 home-manager/home-manager:431
msgid "The file %s already exists, leaving it unchanged..."
msgstr ""
#: home-manager/home-manager:329 home-manager/home-manager:433
msgid "Creating %s..."
msgstr ""
#: home-manager/home-manager:475
msgid "Creating initial Home Manager generation..."
msgstr ""
#. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/home-manager:480
msgid ""
"All done! The home-manager tool should now be installed and you can edit\n"
"\n"
" %s\n"
"\n"
"to configure Home Manager. Run 'man home-configuration.nix' to\n"
"see all available options."
msgstr ""
#. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/home-manager:485
msgid ""
"Uh oh, the installation failed! Please create an issue at\n"
"\n"
" %s\n"
"\n"
"if the error seems to be the fault of Home Manager."
msgstr ""
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:496
msgid "Can't instantiate a flake configuration"
msgstr ""
#: home-manager/home-manager:572
msgid ""
"There is %d unread and relevant news item.\n"
"Read it by running the command \"%s news\"."
msgid_plural ""
"There are %d unread and relevant news items.\n"
"Read them by running the command \"%s news\"."
msgstr[0] ""
msgstr[1] ""
#: home-manager/home-manager:586
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr ""
#: home-manager/home-manager:594
#, sh-format
msgid "Please set the $EDITOR or $VISUAL environment variable"
msgstr ""
#: home-manager/home-manager:612
msgid "Cannot run build in read-only directory"
msgstr ""
#: home-manager/home-manager:693
msgid "No generation with ID %s"
msgstr ""
#: home-manager/home-manager:695
msgid "Cannot remove the current generation %s"
msgstr ""
#: home-manager/home-manager:697
msgid "Removing generation %s"
msgstr ""
#: home-manager/home-manager:718
msgid "No generations to expire"
msgstr ""
#: home-manager/home-manager:729
msgid "No home-manager packages seem to be installed."
msgstr ""
#: home-manager/home-manager:811
msgid "Unknown argument %s"
msgstr ""
#: home-manager/home-manager:835
msgid "This will remove Home Manager from your system."
msgstr ""
#: home-manager/home-manager:838
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr ""
#: home-manager/home-manager:842
msgid "Really uninstall Home Manager?"
msgstr ""
#: home-manager/home-manager:848
msgid "Switching to empty Home Manager configuration..."
msgstr ""
#: home-manager/home-manager:863
msgid "Yay!"
msgstr ""
#: home-manager/home-manager:868
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr ""
#: home-manager/home-manager:1091
msgid "expire-generations expects one argument, got %d."
msgstr ""
#: home-manager/home-manager:1113
msgid "Unknown command: %s"
msgstr ""
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell."
msgstr ""

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: 2024-04-05 11:01+0000\n"
"Last-Translator: Leix b <abone9999@gmail.com>\n"
"PO-Revision-Date: 2024-08-07 17:09+0000\n"
"Last-Translator: Tomi Ockier <ockier1@gmail.com>\n"
"Language-Team: Catalan <https://hosted.weblate.org/projects/home-manager/cli/"
"ca/>\n"
"Language: ca\n"
@@ -17,12 +17,12 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.5-dev\n"
"X-Generator: Weblate 5.7-dev\n"
#. translators: For example: "home-manager: missing argument for --cores"
#: home-manager/home-manager:16
msgid "%s: missing argument for %s"
msgstr ""
msgstr "%: falta un argument per %s"
#: home-manager/home-manager:64
msgid "No configuration file found at %s"

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: 2024-02-16 22:01+0000\n"
"Last-Translator: Robert Helgesson <robert@rycee.net>\n"
"PO-Revision-Date: 2024-05-25 11:09+0000\n"
"Last-Translator: DeeKahy <Lennart.Diego.Kahn@gmail.com>\n"
"Language-Team: Danish <https://hosted.weblate.org/projects/home-manager/cli/"
"da/>\n"
"Language: da\n"
@@ -17,12 +17,12 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.4\n"
"X-Generator: Weblate 5.6-dev\n"
#. translators: For example: "home-manager: missing argument for --cores"
#: home-manager/home-manager:16
msgid "%s: missing argument for %s"
msgstr ""
msgstr "%s: manglende argument for %s"
#: home-manager/home-manager:64
msgid "No configuration file found at %s"
@@ -36,8 +36,8 @@ msgid ""
"Keeping your Home Manager %s in %s is deprecated,\n"
"please move it to %s"
msgstr ""
"At have din Home Manager %s i %s er forældet,\n"
"flyt den venligst til %s"
"Det er forældet at holde Home Manager %s i %s,\n"
"ryk den venligst til %s"
#: home-manager/home-manager:92
msgid "No configuration file found. Please create one at %s"
@@ -45,7 +45,7 @@ msgstr "Ingen konfigurationsfiler fundet. Venligst lav en ved %s"
#: home-manager/home-manager:107
msgid "Home Manager not found at %s."
msgstr "Home Manager kan ikke findes under %s."
msgstr "Home Manager blev ikke fundet ved %s."
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
#: home-manager/home-manager:115
@@ -53,8 +53,8 @@ msgid ""
"The fallback Home Manager path %s has been deprecated and a file/directory "
"was found there."
msgstr ""
"Fallback-stien til Home Manager %s er blevet forældet, og en fil/mappe blev "
"fundet der."
"Det er forældet at bruge fallback Home Manager path %s og der blev fundet en "
"fil/mappe der."
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
#: home-manager/home-manager:118
@@ -120,7 +120,7 @@ msgstr "Kør '%s --help' for brugsvejledning"
#: home-manager/home-manager:327 home-manager/home-manager:431
msgid "The file %s already exists, leaving it unchanged..."
msgstr "Filen %s findes allerede, lader den være uændret..."
msgstr "Filen %s eksisterer allerede, efterlader den uændret"
#: home-manager/home-manager:329 home-manager/home-manager:433
msgid "Creating %s..."
@@ -189,7 +189,7 @@ msgstr "Ubekændt \"news.display\" indstilling \"%s\"."
#: home-manager/home-manager:594
#, sh-format
msgid "Please set the $EDITOR or $VISUAL environment variable"
msgstr ""
msgstr "Indstil venligst miljøvariablen $EDITOR eller $VISUAL"
#: home-manager/home-manager:612
msgid "Cannot run build in read-only directory"

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: 2024-03-04 18:50+0000\n"
"Last-Translator: Robert Helgesson <robert@rycee.net>\n"
"PO-Revision-Date: 2024-05-21 18:02+0000\n"
"Last-Translator: halbGefressen <chzi@pm.me>\n"
"Language-Team: German <https://hosted.weblate.org/projects/home-manager/cli/"
"de/>\n"
"Language: de\n"
@@ -17,12 +17,12 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.5-dev\n"
"X-Generator: Weblate 5.6-dev\n"
#. translators: For example: "home-manager: missing argument for --cores"
#: home-manager/home-manager:16
msgid "%s: missing argument for %s"
msgstr ""
msgstr "%s: Fehlendes Argument für %s"
#: home-manager/home-manager:64
msgid "No configuration file found at %s"

View File

@@ -8,23 +8,25 @@ msgstr ""
"Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"PO-Revision-Date: 2024-05-31 17:09+0000\n"
"Last-Translator: jarre johansson <jarre@johansson.today>\n"
"Language-Team: Finnish <https://hosted.weblate.org/projects/home-manager/cli/"
"fi/>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.6-dev\n"
#. translators: For example: "home-manager: missing argument for --cores"
#: home-manager/home-manager:16
msgid "%s: missing argument for %s"
msgstr ""
msgstr "%s: puuttuva argumentti kohteelle %s"
#: home-manager/home-manager:64
msgid "No configuration file found at %s"
msgstr ""
msgstr "Konfiguraatiotiedostoa ei löytynyt sijainnista %s"
#. translators: The first '%s' specifier will be replaced by either
#. 'home.nix' or 'flake.nix'.
@@ -37,11 +39,11 @@ msgstr ""
#: home-manager/home-manager:92
msgid "No configuration file found. Please create one at %s"
msgstr ""
msgstr "Konfiguraatiotiedostoa ei löytynyt. Luo sellainen sijaintiin %s"
#: home-manager/home-manager:107
msgid "Home Manager not found at %s."
msgstr ""
msgstr "Home Manageria ei löytynyt sijainnista %s."
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
#: home-manager/home-manager:115
@@ -74,37 +76,37 @@ msgstr ""
#: home-manager/home-manager:146
msgid "Sanity checking Nix"
msgstr ""
msgstr "Nixin eheys tarkistetaan"
#: home-manager/home-manager:166
msgid "Could not find suitable profile directory, tried %s and %s"
msgstr ""
msgstr "Sopivaa profiilihakemistoa ei löytynyt, yritettiin %s ja %s"
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:221
msgid "Can't inspect options of a flake configuration"
msgstr ""
msgstr "Flake-konfiguraation asetuksia ei voi tarkastella"
#: home-manager/home-manager:296 home-manager/home-manager:319
#: home-manager/home-manager:1051
msgid "%s: unknown option '%s'"
msgstr ""
msgstr "%s: tuntematon vaihtoehto '%s"
#: home-manager/home-manager:301 home-manager/home-manager:1052
msgid "Run '%s --help' for usage help"
msgstr ""
msgstr "Aja '%s --help' saadaksesi käyttöohjeita"
#: home-manager/home-manager:327 home-manager/home-manager:431
msgid "The file %s already exists, leaving it unchanged..."
msgstr ""
msgstr "Tiedosto %s on jo olemassa, jätetään se muuttumattomaksi..."
#: home-manager/home-manager:329 home-manager/home-manager:433
msgid "Creating %s..."
msgstr ""
msgstr "Luodaan tiedostoa %s..."
#: home-manager/home-manager:475
msgid "Creating initial Home Manager generation..."
msgstr ""
msgstr "Luodaan alkuperäistä Home Manager -generaatiota..."
#. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/home-manager:480
@@ -130,7 +132,7 @@ msgstr ""
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:496
msgid "Can't instantiate a flake configuration"
msgstr ""
msgstr "Flake-konfiguraatiota ei voi luoda"
#: home-manager/home-manager:572
msgid ""
@@ -140,16 +142,20 @@ msgid_plural ""
"There are %d unread and relevant news items.\n"
"Read them by running the command \"%s news\"."
msgstr[0] ""
"Sinulla on %d lukematon ja oleellinen uutisartikkeli.\n"
"Lue se ajamalla komento \"%s news\"."
msgstr[1] ""
"Sinulla on %d lukematonta ja oleellista uutisartikkelia.\n"
"Lue ne ajamalla komento \"%s news\"."
#: home-manager/home-manager:586
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr ""
msgstr "Tuntematon asetus \"news.display\" \"%s\"."
#: home-manager/home-manager:594
#, sh-format
msgid "Please set the $EDITOR or $VISUAL environment variable"
msgstr ""
msgstr "Aseta $EDITOR- tai $VISUAL-ympäristömuuttujaksi"
#: home-manager/home-manager:612
msgid "Cannot run build in read-only directory"
@@ -161,11 +167,11 @@ msgstr ""
#: home-manager/home-manager:695
msgid "Cannot remove the current generation %s"
msgstr ""
msgstr "Nykyistä generaatiota %s ei voi poistaa"
#: home-manager/home-manager:697
msgid "Removing generation %s"
msgstr ""
msgstr "Generaatio %s poistetaan"
#: home-manager/home-manager:718
msgid "No generations to expire"
@@ -173,35 +179,36 @@ msgstr ""
#: home-manager/home-manager:729
msgid "No home-manager packages seem to be installed."
msgstr ""
msgstr "Näyttää siltä, ettei yhtään home-manager-pakettia ole asennettu."
#: home-manager/home-manager:811
msgid "Unknown argument %s"
msgstr ""
msgstr "Tuntematon argumentti %s"
#: home-manager/home-manager:835
msgid "This will remove Home Manager from your system."
msgstr ""
msgstr "Tämä poistaa Home Managerin järjestelmästäsi."
#: home-manager/home-manager:838
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr ""
msgstr "Tämä on kuivaharjoitus, mitään ei oikeasti poisteta."
#: home-manager/home-manager:842
msgid "Really uninstall Home Manager?"
msgstr ""
msgstr "Haluatko varmasti poistaa Home Managerin?"
#: home-manager/home-manager:848
msgid "Switching to empty Home Manager configuration..."
msgstr ""
msgstr "Vaihdetaan tyhjään Home Manager -konfiguraatioon..."
#: home-manager/home-manager:863
msgid "Yay!"
msgstr ""
msgstr "Jes!"
#: home-manager/home-manager:868
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr ""
"Home Manager on poistettu, mutta home.nix-tiedostosi jää koskemattomaksi."
#: home-manager/home-manager:1091
msgid "expire-generations expects one argument, got %d."
@@ -209,7 +216,7 @@ msgstr ""
#: home-manager/home-manager:1113
msgid "Unknown command: %s"
msgstr ""
msgstr "Tuntematon komento: %s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell."

220
home-manager/po/hi.po Normal file
View File

@@ -0,0 +1,220 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Home Manager contributors
# This file is distributed under the same license as the Home Manager package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: 2024-09-13 03:09+0000\n"
"Last-Translator: Jay Thomas <jay@gfax.ch>\n"
"Language-Team: Hindi <https://hosted.weblate.org/projects/home-manager/cli/"
"hi/>\n"
"Language: hi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.8-dev\n"
#. translators: For example: "home-manager: missing argument for --cores"
#: home-manager/home-manager:16
msgid "%s: missing argument for %s"
msgstr ""
#: home-manager/home-manager:64
msgid "No configuration file found at %s"
msgstr ""
#. translators: The first '%s' specifier will be replaced by either
#. 'home.nix' or 'flake.nix'.
#: home-manager/home-manager:81 home-manager/home-manager:85
#: home-manager/home-manager:184
msgid ""
"Keeping your Home Manager %s in %s is deprecated,\n"
"please move it to %s"
msgstr ""
"अपने Home Manager %s को %s में रखना अप्रचलित है,\n"
"कृपया इसे %s में स्थानांतरित करें"
#: home-manager/home-manager:92
msgid "No configuration file found. Please create one at %s"
msgstr "कोई कॉन्फ़िगरेशन फ़ाइल नहीं मिली। कृपया %s पर एक फ़ाइल बनाएं।"
#: home-manager/home-manager:107
msgid "Home Manager not found at %s."
msgstr "%s पर Home Manager नहीं मिला।"
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
#: home-manager/home-manager:115
msgid ""
"The fallback Home Manager path %s has been deprecated and a file/directory "
"was found there."
msgstr ""
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
#: home-manager/home-manager:118
msgid ""
"To remove this warning, do one of the following.\n"
"\n"
"1. Explicitly tell Home Manager to use the path, for example by adding\n"
"\n"
" { programs.home-manager.path = \"%s\"; }\n"
"\n"
" to your configuration.\n"
"\n"
" If you import Home Manager directly, you can use the `path` parameter\n"
"\n"
" pkgs.callPackage /path/to/home-manager-package { path = \"%s\"; }\n"
"\n"
" when calling the Home Manager package.\n"
"\n"
"2. Remove the deprecated path.\n"
"\n"
" $ rm -r \"%s\""
msgstr ""
#: home-manager/home-manager:146
msgid "Sanity checking Nix"
msgstr ""
#: home-manager/home-manager:166
msgid "Could not find suitable profile directory, tried %s and %s"
msgstr ""
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:221
msgid "Can't inspect options of a flake configuration"
msgstr ""
#: home-manager/home-manager:296 home-manager/home-manager:319
#: home-manager/home-manager:1051
msgid "%s: unknown option '%s'"
msgstr ""
#: home-manager/home-manager:301 home-manager/home-manager:1052
msgid "Run '%s --help' for usage help"
msgstr ""
#: home-manager/home-manager:327 home-manager/home-manager:431
msgid "The file %s already exists, leaving it unchanged..."
msgstr ""
#: home-manager/home-manager:329 home-manager/home-manager:433
msgid "Creating %s..."
msgstr ""
#: home-manager/home-manager:475
msgid "Creating initial Home Manager generation..."
msgstr ""
#. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/home-manager:480
msgid ""
"All done! The home-manager tool should now be installed and you can edit\n"
"\n"
" %s\n"
"\n"
"to configure Home Manager. Run 'man home-configuration.nix' to\n"
"see all available options."
msgstr ""
#. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/home-manager:485
msgid ""
"Uh oh, the installation failed! Please create an issue at\n"
"\n"
" %s\n"
"\n"
"if the error seems to be the fault of Home Manager."
msgstr ""
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:496
msgid "Can't instantiate a flake configuration"
msgstr ""
#: home-manager/home-manager:572
msgid ""
"There is %d unread and relevant news item.\n"
"Read it by running the command \"%s news\"."
msgid_plural ""
"There are %d unread and relevant news items.\n"
"Read them by running the command \"%s news\"."
msgstr[0] ""
msgstr[1] ""
#: home-manager/home-manager:586
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr ""
#: home-manager/home-manager:594
#, sh-format
msgid "Please set the $EDITOR or $VISUAL environment variable"
msgstr ""
#: home-manager/home-manager:612
msgid "Cannot run build in read-only directory"
msgstr ""
#: home-manager/home-manager:693
msgid "No generation with ID %s"
msgstr ""
#: home-manager/home-manager:695
msgid "Cannot remove the current generation %s"
msgstr ""
#: home-manager/home-manager:697
msgid "Removing generation %s"
msgstr ""
#: home-manager/home-manager:718
msgid "No generations to expire"
msgstr ""
#: home-manager/home-manager:729
msgid "No home-manager packages seem to be installed."
msgstr ""
#: home-manager/home-manager:811
msgid "Unknown argument %s"
msgstr ""
#: home-manager/home-manager:835
msgid "This will remove Home Manager from your system."
msgstr ""
#: home-manager/home-manager:838
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr ""
#: home-manager/home-manager:842
msgid "Really uninstall Home Manager?"
msgstr ""
#: home-manager/home-manager:848
msgid "Switching to empty Home Manager configuration..."
msgstr ""
#: home-manager/home-manager:863
msgid "Yay!"
msgstr ""
#: home-manager/home-manager:868
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr ""
#: home-manager/home-manager:1091
msgid "expire-generations expects one argument, got %d."
msgstr ""
#: home-manager/home-manager:1113
msgid "Unknown command: %s"
msgstr ""
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell."
msgstr ""

258
home-manager/po/hu.po Normal file
View File

@@ -0,0 +1,258 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Home Manager contributors
# This file is distributed under the same license as the Home Manager package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: 2024-09-02 17:09+0000\n"
"Last-Translator: Ferenci Ákos <synthetace@gmail.com>\n"
"Language-Team: Hungarian <https://hosted.weblate.org/projects/home-manager/"
"cli/hu/>\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.8-dev\n"
#. translators: For example: "home-manager: missing argument for --cores"
#: home-manager/home-manager:16
msgid "%s: missing argument for %s"
msgstr "%s: hiányzó érték erre: %s"
#: home-manager/home-manager:64
msgid "No configuration file found at %s"
msgstr "Nincs konfigurációs fájl itt: %s"
#. translators: The first '%s' specifier will be replaced by either
#. 'home.nix' or 'flake.nix'.
#: home-manager/home-manager:81 home-manager/home-manager:85
#: home-manager/home-manager:184
msgid ""
"Keeping your Home Manager %s in %s is deprecated,\n"
"please move it to %s"
msgstr ""
"A Home Manager %s %s elérési úton való tárolása elavult. Kérem helyezze át a "
"%s elérési úthoz"
#: home-manager/home-manager:92
msgid "No configuration file found. Please create one at %s"
msgstr ""
"Nem található konfigurációs fájl. Kérem hozza létre a fájlt a %s elérési úton"
#: home-manager/home-manager:107
msgid "Home Manager not found at %s."
msgstr "Home Manager nem található a %s elérési úton."
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
#: home-manager/home-manager:115
msgid ""
"The fallback Home Manager path %s has been deprecated and a file/directory "
"was found there."
msgstr ""
"A tartalék Home Manager fájlútvonal %s elavult és fájl/könyvtár található "
"itt."
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
#: home-manager/home-manager:118
msgid ""
"To remove this warning, do one of the following.\n"
"\n"
"1. Explicitly tell Home Manager to use the path, for example by adding\n"
"\n"
" { programs.home-manager.path = \"%s\"; }\n"
"\n"
" to your configuration.\n"
"\n"
" If you import Home Manager directly, you can use the `path` parameter\n"
"\n"
" pkgs.callPackage /path/to/home-manager-package { path = \"%s\"; }\n"
"\n"
" when calling the Home Manager package.\n"
"\n"
"2. Remove the deprecated path.\n"
"\n"
" $ rm -r \"%s\""
msgstr ""
"A felmerült hiba elhárítására a következőket tegye:\n"
"\n"
"1. Közvetlen adja át a Home Manager-nek a fájlútvonalat, pl.:\n"
"\n"
" { programs.home-manager.path = \"%s\"; }\n"
"\n"
" sor konfigurációhoz való hozzáadásával.\n"
"\n"
" Amennyiben a Home Manager-t közvetlen importolja, használhatja a 'path' "
"paramétert\n"
"\n"
" pkgs.callPackage/path/tohome-manager-package{path = \"%s\"; }\n"
" a Home Manager csomag meghívásakor.\n"
"\n"
" 2. Távolítsa el az elavult fájlútvonalat.\n"
"\n"
" $ rm -r \"$s\""
#: home-manager/home-manager:146
msgid "Sanity checking Nix"
msgstr "Nix épségének ellenőrzése"
#: home-manager/home-manager:166
msgid "Could not find suitable profile directory, tried %s and %s"
msgstr ""
"Nem található megfelelő profil mappa, %s és %s útvonalak lettek kipróbálva."
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:221
msgid "Can't inspect options of a flake configuration"
msgstr "Nem lehet a flake konfiguráció beállításait megtekinteni."
#: home-manager/home-manager:296 home-manager/home-manager:319
#: home-manager/home-manager:1051
msgid "%s: unknown option '%s'"
msgstr "%s: ismeretlen opció '%s'"
#: home-manager/home-manager:301 home-manager/home-manager:1052
msgid "Run '%s --help' for usage help"
msgstr "Futtasa a '%s --help' parancsot a használattal kapcsolatos segítségért"
#: home-manager/home-manager:327 home-manager/home-manager:431
msgid "The file %s already exists, leaving it unchanged..."
msgstr "A fájl %s már létezik és változatlan marad..."
#: home-manager/home-manager:329 home-manager/home-manager:433
msgid "Creating %s..."
msgstr "%s létrehozása..."
#: home-manager/home-manager:475
msgid "Creating initial Home Manager generation..."
msgstr "Kezdeti Home Manager generáció létrehozása..."
#. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/home-manager:480
msgid ""
"All done! The home-manager tool should now be installed and you can edit\n"
"\n"
" %s\n"
"\n"
"to configure Home Manager. Run 'man home-configuration.nix' to\n"
"see all available options."
msgstr ""
"Elkészült! A home-manager eszköz most már installálva van és a \n"
"\n"
" %s\n"
"\n"
"fájl szerkesztésével konfigurálhatja a Home Manager-t. \n"
"Futtassa a 'man home-configuration.nix' parancsot az összes opció "
"áttekintéséhez."
#. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/home-manager:485
msgid ""
"Uh oh, the installation failed! Please create an issue at\n"
"\n"
" %s\n"
"\n"
"if the error seems to be the fault of Home Manager."
msgstr ""
"Uh oh, az installáció nem sikerült! Kérem készítsen egy jelentést erről a \n"
"\n"
" %s\n"
"\n"
"helyen amennyiben a hiba a Home Manager miatt lépett fel."
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:496
msgid "Can't instantiate a flake configuration"
msgstr "Flake konfiguráció nem példányosítható"
#: home-manager/home-manager:572
msgid ""
"There is %d unread and relevant news item.\n"
"Read it by running the command \"%s news\"."
msgid_plural ""
"There are %d unread and relevant news items.\n"
"Read them by running the command \"%s news\"."
msgstr[0] ""
"%d olvasatlan és releváns hírt kapott.\n"
"Olvassa el a \"%s news\" futattásával."
msgstr[1] ""
"%d olvasatlan és releváns hírt kapott.\n"
"Olvassa el őket a \"%s news\" futattásával."
#: home-manager/home-manager:586
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Ismeretlen \"news.display\" opció \"%s\"."
#: home-manager/home-manager:594
#, sh-format
msgid "Please set the $EDITOR or $VISUAL environment variable"
msgstr "Kérem állítása be az $EDITOR vagy a $VISUAL környezeti változókat."
#: home-manager/home-manager:612
msgid "Cannot run build in read-only directory"
msgstr "Build futtatása nem lehetséges csak-olvasható könyvtárban"
#: home-manager/home-manager:693
msgid "No generation with ID %s"
msgstr "Nem található generáció a következő ID-val: %"
#: home-manager/home-manager:695
msgid "Cannot remove the current generation %s"
msgstr "A jelenlegi generáció %s nem eltávolítható"
#: home-manager/home-manager:697
msgid "Removing generation %s"
msgstr "%s generáció eltávolítása"
#: home-manager/home-manager:718
msgid "No generations to expire"
msgstr "Nincs lejárandó generáció"
#: home-manager/home-manager:729
msgid "No home-manager packages seem to be installed."
msgstr "Nem található installált Home Manager csomag"
#: home-manager/home-manager:811
msgid "Unknown argument %s"
msgstr "Ismeretlen argumentum %s"
#: home-manager/home-manager:835
msgid "This will remove Home Manager from your system."
msgstr "Ez a művelet eltávolítja a Home Manager-t a rendszeréről."
#: home-manager/home-manager:838
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "Ez egy üres járat, semmi nem lesz valójában eltávolítva."
#: home-manager/home-manager:842
msgid "Really uninstall Home Manager?"
msgstr "Biztosan eltávolítja a Home Managert-t?"
#: home-manager/home-manager:848
msgid "Switching to empty Home Manager configuration..."
msgstr "Átváltás üres Home Manager konfigurációra..."
#: home-manager/home-manager:863
msgid "Yay!"
msgstr "Hurrá!"
#: home-manager/home-manager:868
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager eltávolítva, de a home.nix fájl érintetlenül maradt."
#: home-manager/home-manager:1091
msgid "expire-generations expects one argument, got %d."
msgstr ""
#: home-manager/home-manager:1113
msgid "Unknown command: %s"
msgstr "Ismeretlen parancs: %s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell."
msgstr ""
"Ez a származtatás nem építhető fel, kérlek futtasd nix-shell segítségével."

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: 2024-04-29 18:07+0000\n"
"Last-Translator: Kento Okamoto <kentokamoto@protonmail.com>\n"
"PO-Revision-Date: 2024-05-25 11:09+0000\n"
"Last-Translator: TANIGUCHI Kohei <a.d.xvii.kal.mai@gmail.com>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/home-manager/"
"cli/ja/>\n"
"Language: ja\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.5.2\n"
"X-Generator: Weblate 5.6-dev\n"
#. translators: For example: "home-manager: missing argument for --cores"
#: home-manager/home-manager:16
@@ -45,14 +45,15 @@ msgstr "設定ファイルがありません。ファイルを %s に作って
#: home-manager/home-manager:107
msgid "Home Manager not found at %s."
msgstr ""
msgstr "%s にHome Managerが見つかりません。"
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
#: home-manager/home-manager:115
msgid ""
"The fallback Home Manager path %s has been deprecated and a file/directory "
"was found there."
msgstr ""
msgstr "フォールバックの Home Manager のパス %s "
"は非推奨ですが、そこにファイルまたはディレクトリがあります。"
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
#: home-manager/home-manager:118
@@ -75,6 +76,24 @@ msgid ""
"\n"
" $ rm -r \"%s\""
msgstr ""
"この警告が表示されないようにするには、以下のどれかを行ってください。\n"
"\n"
"1. Home Manager にそのパスを使うよう伝えます。例えば\n"
"\n"
" { programs.home-manager.path = \"%s\"; }\n"
"\n"
" を設定に追加します。\n"
"\n"
" もし Home Manager を直接インポートしているのであれば、 Home Manager "
"パッケージを呼び出すときに `path` パラメーターを使って\n"
"\n"
" pkgs.callPackage /path/to/home-manager-package { path = \"%s\"; }\n"
"\n"
" のようにできます。\n"
"\n"
"2. 非推奨のパスにあるものを削除します。\n"
"\n"
" $ rm -r \"%s\""
#: home-manager/home-manager:146
msgid "Sanity checking Nix"
@@ -168,7 +187,7 @@ msgstr "\"news.display\"に\"%s\"という設定は存在しません。"
#: home-manager/home-manager:594
#, sh-format
msgid "Please set the $EDITOR or $VISUAL environment variable"
msgstr ""
msgstr "環境変数 $EDITOR または $VISUAL を設定してください"
#: home-manager/home-manager:612
msgid "Cannot run build in read-only directory"

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: 2024-03-19 04:01+0000\n"
"Last-Translator: honnip <me@honnip.page>\n"
"PO-Revision-Date: 2024-05-30 06:09+0000\n"
"Last-Translator: lentil32 <lentil32@icloud.com>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/home-manager/cli/"
"ko/>\n"
"Language: ko\n"
@@ -17,12 +17,12 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.5-dev\n"
"X-Generator: Weblate 5.6-dev\n"
#. translators: For example: "home-manager: missing argument for --cores"
#: home-manager/home-manager:16
msgid "%s: missing argument for %s"
msgstr ""
msgstr "%s: %s에 대한 인자 누락"
#: home-manager/home-manager:64
msgid "No configuration file found at %s"

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: 2024-02-16 22:01+0000\n"
"Last-Translator: Robert Helgesson <robert@rycee.net>\n"
"PO-Revision-Date: 2024-06-17 09:46+0000\n"
"Last-Translator: Mateusz P <medan1993@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/home-manager/cli/"
"pl/>\n"
"Language: pl\n"
@@ -18,12 +18,12 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
"X-Generator: Weblate 5.4\n"
"X-Generator: Weblate 5.6-dev\n"
#. translators: For example: "home-manager: missing argument for --cores"
#: home-manager/home-manager:16
msgid "%s: missing argument for %s"
msgstr ""
msgstr "%s: brakuje wartości dla %s"
#: home-manager/home-manager:64
msgid "No configuration file found at %s"
@@ -194,7 +194,7 @@ msgstr "Nieznane ustawienie „%s” „news.display”."
#: home-manager/home-manager:594
#, sh-format
msgid "Please set the $EDITOR or $VISUAL environment variable"
msgstr ""
msgstr "Proszę ustawić zmienną środowiskową $EDITOR lub $VISUAL"
#: home-manager/home-manager:612
msgid "Cannot run build in read-only directory"

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: 2024-03-31 22:01+0000\n"
"Last-Translator: SMFloris <floris.sm@gmail.com>\n"
"PO-Revision-Date: 2024-09-09 10:09+0000\n"
"Last-Translator: Felix Puscasu <puscasu.felix1@gmail.com>\n"
"Language-Team: Romanian <https://hosted.weblate.org/projects/home-manager/"
"cli/ro/>\n"
"Language: ro\n"
@@ -18,12 +18,12 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n"
"X-Generator: Weblate 5.5-dev\n"
"X-Generator: Weblate 5.8-dev\n"
#. translators: For example: "home-manager: missing argument for --cores"
#: home-manager/home-manager:16
msgid "%s: missing argument for %s"
msgstr ""
msgstr "%s: Argument lipsă pentru %s"
#: home-manager/home-manager:64
msgid "No configuration file found at %s"

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: 2024-03-31 22:01+0000\n"
"Last-Translator: Petr Portnov | PROgrm_JARvis <mrJARVIScraft@gmail.com>\n"
"PO-Revision-Date: 2024-09-12 02:12+0000\n"
"Last-Translator: NikSne <commits@niksne.ru>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/home-manager/cli/"
"ru/>\n"
"Language: ru\n"
@@ -18,12 +18,12 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Weblate 5.5-dev\n"
"X-Generator: Weblate 5.8-dev\n"
#. translators: For example: "home-manager: missing argument for --cores"
#: home-manager/home-manager:16
msgid "%s: missing argument for %s"
msgstr ""
msgstr "%s: отсутствует параметр для %s"
#: home-manager/home-manager:64
msgid "No configuration file found at %s"

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: 2024-03-27 15:05+0000\n"
"Last-Translator: Nguyen Khanh <nguynkhan479@gmail.com>\n"
"PO-Revision-Date: 2024-08-01 04:09+0000\n"
"Last-Translator: goatastronaut0212 <goatastronaut0212@proton.me>\n"
"Language-Team: Vietnamese <https://hosted.weblate.org/projects/home-manager/"
"cli/vi/>\n"
"Language: vi\n"
@@ -17,12 +17,12 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.5-dev\n"
"X-Generator: Weblate 5.7-dev\n"
#. translators: For example: "home-manager: missing argument for --cores"
#: home-manager/home-manager:16
msgid "%s: missing argument for %s"
msgstr ""
msgstr "%s: bị thiếu đối số cho %s"
#: home-manager/home-manager:64
msgid "No configuration file found at %s"
@@ -36,6 +36,8 @@ msgid ""
"Keeping your Home Manager %s in %s is deprecated,\n"
"please move it to %s"
msgstr ""
"Giữ Home Manager của bạn %s ở %s đã không còn phù hợp,\n"
"hãy chuyển nó tới %s"
#: home-manager/home-manager:92
msgid "No configuration file found. Please create one at %s"
@@ -95,7 +97,7 @@ msgstr ""
#: home-manager/home-manager:146
msgid "Sanity checking Nix"
msgstr ""
msgstr "Kiểm tra hợp lệ của Nix"
#: home-manager/home-manager:166
msgid "Could not find suitable profile directory, tried %s and %s"
@@ -104,7 +106,7 @@ msgstr "Không thể tìm thấy thư mục hồ sơ phù hợp, đã thử %s v
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:221
msgid "Can't inspect options of a flake configuration"
msgstr ""
msgstr "Không thể kiểm tra tùy chọn của cấu hình flake"
#: home-manager/home-manager:296 home-manager/home-manager:319
#: home-manager/home-manager:1051
@@ -137,6 +139,13 @@ msgid ""
"to configure Home Manager. Run 'man home-configuration.nix' to\n"
"see all available options."
msgstr ""
"Đã hoàn thành! Công cụ home-manager giờ đạ được cài đặt và bạn có thể chỉnh "
"sửa\n"
"\n"
" %s\n"
"\n"
"để cấu hình Home Manager. Chạy lệnh 'man home-configuration.nix' để\n"
"xem toàn bộ tùy chọn có sẵn."
#. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/home-manager:485
@@ -147,6 +156,11 @@ msgid ""
"\n"
"if the error seems to be the fault of Home Manager."
msgstr ""
"Quá trình cài đặt đã thất bại! Vui lòng tạo 1 báo cáo lỗi tại\n"
"\n"
" %s\n"
"\n"
"nếu như lỗi đó thuộc về Home Manager."
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:496
@@ -161,76 +175,79 @@ msgid_plural ""
"There are %d unread and relevant news items.\n"
"Read them by running the command \"%s news\"."
msgstr[0] ""
msgstr[1] ""
"Có %d tin tức liên quan và chưa được đọc.\n"
"Để đọc nó hãy chạy lệnh \"%s news\"."
#: home-manager/home-manager:586
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr ""
msgstr "Không tồn tại \"news.display\" cấu hình \"%s\"."
#: home-manager/home-manager:594
#, sh-format
msgid "Please set the $EDITOR or $VISUAL environment variable"
msgstr ""
msgstr "Vui lòng đặt biến môi trường $EDITOR hoặc $VISUAL"
#: home-manager/home-manager:612
msgid "Cannot run build in read-only directory"
msgstr ""
msgstr "Không thể chạy lệnh xây dựng trong thư mục chỉ cho phép đọc"
#: home-manager/home-manager:693
msgid "No generation with ID %s"
msgstr ""
msgstr "Không có thế hệ với ID %s"
#: home-manager/home-manager:695
msgid "Cannot remove the current generation %s"
msgstr ""
msgstr "Không thể xóa thể hệ hiện tại %s"
#: home-manager/home-manager:697
msgid "Removing generation %s"
msgstr ""
msgstr "Đang xóa thế hệ %s"
#: home-manager/home-manager:718
msgid "No generations to expire"
msgstr ""
msgstr "Không có bất kỳ thế hệ nào hết hạn"
#: home-manager/home-manager:729
msgid "No home-manager packages seem to be installed."
msgstr ""
msgstr "Không có bất kỳ gói home-manager nào được cài đặt."
#: home-manager/home-manager:811
msgid "Unknown argument %s"
msgstr ""
msgstr "Không tồn tại đối số %s"
#: home-manager/home-manager:835
msgid "This will remove Home Manager from your system."
msgstr ""
msgstr "Việc này sẽ xóa Home Manager khỏi hệ thống của bạn."
#: home-manager/home-manager:838
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr ""
msgstr "Đây là chạy thử nghiệm, sẽ không có bất cư thứ gì được gỡ cài đặt."
#: home-manager/home-manager:842
msgid "Really uninstall Home Manager?"
msgstr ""
msgstr "Bạn có muốn gỡ Home Manager không?"
#: home-manager/home-manager:848
msgid "Switching to empty Home Manager configuration..."
msgstr ""
msgstr "Chuyển đổi sang cấu hình Home Manager trống..."
#: home-manager/home-manager:863
msgid "Yay!"
msgstr ""
msgstr "Tuyệt vời!"
#: home-manager/home-manager:868
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr ""
"Home Manager đã được gỡ cài đặt nhưng home.nix của bạn sẽ được giữ nguyên "
"vẹn."
#: home-manager/home-manager:1091
msgid "expire-generations expects one argument, got %d."
msgstr ""
msgstr "expire-generations kỳ vọng 1 đối số, có %d."
#: home-manager/home-manager:1113
msgid "Unknown command: %s"
msgstr ""
msgstr "Không tồn tại câu lệnh: %s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell."

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: 2024-03-03 06:24+0000\n"
"Last-Translator: immwind <i@immwind.com>\n"
"PO-Revision-Date: 2024-05-13 10:00+0000\n"
"Last-Translator: Zexin Yuan <yuan.zx@outlook.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"home-manager/cli/zh_Hans/>\n"
"Language: zh_Hans\n"
@@ -17,12 +17,12 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.5-dev\n"
"X-Generator: Weblate 5.5.5-dev\n"
#. translators: For example: "home-manager: missing argument for --cores"
#: home-manager/home-manager:16
msgid "%s: missing argument for %s"
msgstr ""
msgstr "%s缺少参数 %s"
#: home-manager/home-manager:64
msgid "No configuration file found at %s"

View File

@@ -493,13 +493,14 @@ in {
maildirBasePath = mkOption {
type = types.str;
default = "${config.home.homeDirectory}/Maildir";
defaultText = "$HOME/Maildir";
defaultText = "Maildir";
apply = p:
if hasPrefix "/" p then p else "${config.home.homeDirectory}/${p}";
description = ''
The base directory for account maildir directories. May be a
relative path, in which case it is relative the home
directory.
relative path (e.g. the user setting this value as "MyMaildir"),
in which case it is relative the home directory (e.g. resulting
in "~/MyMaildir").
'';
};

View File

@@ -67,7 +67,7 @@ let
};
in {
meta.maintainers = [ maintainers.polykernel maintainers.league ];
meta.maintainers = [ maintainers.league ];
imports = [
(mkAliasOptionModule [ "xsession" "pointerCursor" "package" ] [

View File

@@ -49,6 +49,12 @@
github = "bertof";
githubId = 9915675;
};
bricked = {
name = "Bricked";
email = "hello@bricked.dev";
github = "brckd";
githubId = 92804487;
};
CarlosLoboxyz = {
name = "Carlos Lobo";
email = "86011416+CarlosLoboxyz@users.noreply.github.com";
@@ -113,6 +119,13 @@
github = "jack5079";
githubId = 29169102;
};
janik = {
name = "Janik";
email = "janik@aq0.de";
matrix = "@janik0:matrix.org";
github = "Janik-Haag";
githubId = 80165193;
};
jkarlson = {
email = "jekarlson@gmail.com";
github = "jkarlson";
@@ -173,6 +186,13 @@
github = "iosmanthus";
githubId = 16307070;
};
jonringer = {
email = "jonringer117@gmail.com";
matrix = "@jonringer:matrix.org";
github = "jonringer";
githubId = 7673602;
name = "Jonathan Ringer";
};
kalhauge = {
name = "Christian Gram Kalhauge";
email = "kalhauge@users.noreply.github.com";
@@ -201,6 +221,19 @@
github = "kubukoz";
githubId = 894884;
};
lheckemann = {
name = "Linus Heckemann";
email = "git@sphalerite.org";
github = "lheckemann";
githubId = 341954;
};
lilyinstarlight = {
email = "lily@lily.flowers";
matrix = "@lily:lily.flowers";
github = "lilyinstarlight";
githubId = 298109;
name = "Lily Foster";
};
loicreynier = {
name = "Loïc Reynier";
email = "loic@loireynier.fr";
@@ -243,6 +276,12 @@
github = "nilp0inter";
githubId = 1224006;
};
NitroSniper = {
name = "Nitro Sniper";
email = "nitro@ortin.dev";
github = "NitroSniper";
githubId = 44097331;
};
seylerius = {
email = "sable@seyleri.us";
name = "Sable Seyler";
@@ -554,4 +593,12 @@
github = "zorrobert";
githubId = 118135271;
};
callumio = {
name = "Callum Leslie";
email = "git+nix@cleslie.uk";
github = "callumio";
githubId = 16057677;
keys =
[{ fingerprint = "BC82 4BB5 1656 D144 285E A0EC D382 C4AF EECE AA90"; }];
};
}

View File

@@ -221,10 +221,9 @@ in {
config = mkIf cfg.enable (let
gtkIni = optionalAttrs (cfg.font != null) {
gtk-font-name = let
fontSize =
optionalString (cfg.font.size != null) " ${toString cfg.font.size}";
in "${cfg.font.name}" + fontSize;
gtk-font-name =
let fontSize = if cfg.font.size != null then cfg.font.size else 10;
in "${cfg.font.name} ${toString fontSize}";
} // optionalAttrs (cfg.theme != null) { gtk-theme-name = cfg.theme.name; }
// optionalAttrs (cfg.iconTheme != null) {
gtk-icon-theme-name = cfg.iconTheme.name;
@@ -245,10 +244,9 @@ in {
'' + cfg4.extraCss;
dconfIni = optionalAttrs (cfg.font != null) {
font-name = let
fontSize =
optionalString (cfg.font.size != null) " ${toString cfg.font.size}";
in "${cfg.font.name}" + fontSize;
font-name =
let fontSize = if cfg.font.size != null then cfg.font.size else 10;
in "${cfg.font.name} ${toString fontSize}";
} // optionalAttrs (cfg.theme != null) { gtk-theme = cfg.theme.name; }
// optionalAttrs (cfg.iconTheme != null) {
icon-theme = cfg.iconTheme.name;

View File

@@ -1656,6 +1656,91 @@ in {
See https://codeberg.org/dnkl/yambar for more.
'';
}
{
time = "2024-05-25T14:36:03+00:00";
message = ''
Multiple new options are available:
- 'nix.nixPath'
- 'nix.keepOldNixPath'
- 'nix.channels'
'';
}
{
time = "2024-06-22T05:49:48+00:00";
condition = hostPlatform.isLinux;
message = ''
A new module is available: 'services.blanket'.
Blanket is a program you can use to improve your focus and increase
your productivity by listening to different sounds. See
https://github.com/rafaelmardojai/blanket for more.
'';
}
{
time = "2024-06-26T07:07:17+00:00";
condition = with config.programs.yazi;
enable && (enableBashIntegration || enableZshIntegration
|| enableFishIntegration || enableNushellIntegration);
message = ''
Yazi's shell integration wrappers have been renamed from 'ya' to 'yy'.
A new option `programs.yazi.shellWrapperName` is also available that
allows you to override this name.
'';
}
{
time = "2024-06-28T14:18:16+00:00";
condition = hostPlatform.isLinux;
message = ''
A new module is available: 'services.glance'.
Glance is a self-hosted dashboard that puts all your feeds in
one place. See https://github.com/glanceapp/glance for more.
'';
}
{
time = "2024-09-13T08:58:17+00:00";
condition = hostPlatform.isLinux;
message = ''
A new module is available: 'services.trayscale'.
An unofficial GUI wrapper around the Tailscale CLI client.
'';
}
{
time = "2024-09-13T09:50:49+00:00";
message = ''
A new module is available: 'programs.neovide'.
Neovide is a simple, no-nonsense, cross-platform graphical user
interface for Neovim (an aggressively refactored and updated Vim
editor).
'';
}
{
time = "2024-09-17T05:45:39+00:00";
condition = hostPlatform.isLinux;
message = ''
The option 'systemd.user.startServices' now defaults to 'true'. This
means that managed systemd services will be automatically started and
stopped as needed.
If you encounter errors please set the option to 'false' in your
configuration:
systemd.user.startServices = false
Also, please report the error in the Home Manager issue tracker.
'';
}
];
};
}

View File

@@ -1,15 +1,40 @@
{ config, lib, pkgs, ... }:
with lib;
let
inherit (lib)
boolToString concatStringsSep escape floatToString getVersion isBool
isConvertibleWithToString isDerivation isFloat isInt isList isString
literalExpression maintainers mapAttrsToList mkDefault mkEnableOption mkIf
mkMerge mkOption optionalString toPretty types versionAtLeast;
cfg = config.nix;
nixPackage = cfg.package;
isNixAtLeast = versionAtLeast (getVersion nixPackage);
nixPath = concatStringsSep ":" cfg.nixPath;
useXdg = config.nix.enable
&& (config.nix.settings.use-xdg-base-directories or false);
defexprDir = if useXdg then
"${config.xdg.stateHome}/nix/defexpr"
else
"${config.home.homeDirectory}/.nix-defexpr";
# The deploy path for declarative channels. The directory name is prefixed
# with a number to make it easier for files in defexprDir to control the order
# they'll be read relative to each other.
channelPath = "${defexprDir}/50-home-manager";
channelsDrv = let
mkEntry = name: drv: {
inherit name;
path = toString drv;
};
in pkgs.linkFarm "channels" (lib.mapAttrsToList mkEntry cfg.channels);
nixConf = assert isNixAtLeast "2.2";
let
@@ -102,6 +127,47 @@ in {
'';
};
nixPath = mkOption {
type = types.listOf types.str;
default = [ ];
example = [
"$HOME/.nix-defexpr/channels"
"darwin-config=$HOME/.config/nixpkgs/darwin-configuration.nix"
];
description = ''
Adds new directories to the Nix expression search path.
Used by Nix when looking up paths in angular brackets
(e.g. `<nixpkgs>`).
'';
};
keepOldNixPath = mkOption {
type = types.bool;
default = true;
example = false;
description = ''
Whether {option}`nix.nixPath` should keep the previously set values in
{env}`NIX_PATH`.
'';
};
channels = lib.mkOption {
type = with lib.types; attrsOf package;
default = { };
example = lib.literalExpression "{ inherit nixpkgs; }";
description = ''
A declarative alternative to Nix channels. Whereas with stock channels,
you would register URLs and fetch them into the Nix store with
{manpage}`nix-channel(1)`, this option allows you to register the store
path directly. One particularly useful example is registering flake
inputs as channels.
This option can coexist with stock Nix channels. If the same channel is
defined in both, this option takes precedence.
'';
};
registry = mkOption {
type = types.attrsOf (types.submodule (let
inputAttrs = types.attrsOf
@@ -210,6 +276,19 @@ in {
};
config = mkIf cfg.enable (mkMerge [
(mkIf (cfg.nixPath != [ ] && !cfg.keepOldNixPath) {
home.sessionVariables.NIX_PATH = "${nixPath}";
})
(mkIf (cfg.nixPath != [ ] && cfg.keepOldNixPath) {
home.sessionVariables.NIX_PATH = "${nixPath}\${NIX_PATH:+:$NIX_PATH}";
})
(lib.mkIf (cfg.channels != { }) {
nix.nixPath = [ channelPath ];
home.file."${channelPath}".source = channelsDrv;
})
(mkIf (cfg.registry != { }) {
xdg.configFile."nix/registry.json".source =
jsonFormat.generate "registry.json" {
@@ -232,5 +311,5 @@ in {
})
]);
meta.maintainers = [ maintainers.polykernel ];
meta.maintainers = [ ];
}

View File

@@ -29,4 +29,19 @@ with lib;
'';
};
};
config = {
# To make it easier for the end user to override the values in the
# configuration depending on the installation method, we set default values
# for the arguments that are defined in the NixOS/nix-darwin modules.
#
# Without these defaults, these attributes would simply not exist, and the
# module system can not inform modules about their non-existence; see
# https://github.com/NixOS/nixpkgs/issues/311709#issuecomment-2110861842
_module.args = {
osConfig = mkDefault null;
nixosConfig = mkDefault null;
darwinConfig = mkDefault null;
};
};
}

View File

@@ -21,7 +21,7 @@ in {
config = mkIf config.uninstall {
home.packages = lib.mkForce [ ];
home.file = lib.mkForce { };
home.stateVersion = lib.mkForce "23.11";
home.stateVersion = lib.mkForce "24.05";
home.enableNixpkgsReleaseCheck = lib.mkForce false;
manual.manpages.enable = lib.mkForce false;
news.display = lib.mkForce "silent";

View File

@@ -21,6 +21,7 @@ in {
"23.05"
"23.11"
"24.05"
"24.11"
];
description = ''
It is occasionally necessary for Home Manager to change

View File

@@ -51,7 +51,7 @@ let
terminal = mkOption {
description = "Whether the program runs in a terminal window.";
type = types.bool;
type = types.nullOr types.bool;
default = false;
};

View File

@@ -70,6 +70,16 @@ in {
'';
};
stateFile = mkOption {
type = fileType "xdg.stateFile" "<varname>xdg.stateHome</varname>"
cfg.stateHome;
default = { };
description = ''
Attribute set of files to link into the user's XDG
state home.
'';
};
stateHome = mkOption {
type = types.path;
defaultText = "~/.local/state";
@@ -122,6 +132,8 @@ in {
cfg.configFile)
(mapAttrs' (name: file: nameValuePair "${cfg.dataHome}/${name}" file)
cfg.dataFile)
(mapAttrs' (name: file: nameValuePair "${cfg.stateHome}/${name}" file)
cfg.stateFile)
{ "${cfg.cacheHome}/.keep".text = ""; }
];
}

View File

@@ -167,6 +167,7 @@ let
./programs/ncspot.nix
./programs/ne.nix
./programs/neomutt.nix
./programs/neovide.nix
./programs/neovim.nix
./programs/newsboat.nix
./programs/nheko.nix
@@ -274,6 +275,7 @@ let
./services/barrier.nix
./services/batsignal.nix
./services/betterlockscreen.nix
./services/blanket.nix
./services/blueman-applet.nix
./services/borgmatic.nix
./services/cachix-agent.nix
@@ -300,6 +302,7 @@ let
./services/fusuma.nix
./services/getmail.nix
./services/git-sync.nix
./services/glance.nix
./services/gnome-keyring.nix
./services/gpg-agent.nix
./services/grobi.nix
@@ -372,6 +375,7 @@ let
./services/tahoe-lafs.nix
./services/taskwarrior-sync.nix
./services/trayer.nix
./services/trayscale.nix
./services/twmn.nix
./services/udiskie.nix
./services/unclutter.nix

113
modules/po/ar.po Normal file
View File

@@ -0,0 +1,113 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Home Manager contributors
# This file is distributed under the same license as the Home Manager Modules package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Home Manager Modules\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: modules/files.nix:191
msgid "Creating home file links in %s"
msgstr ""
#: modules/files.nix:204
msgid "Cleaning up orphan links from %s"
msgstr ""
#: modules/files.nix:220
msgid "Creating profile generation %s"
msgstr ""
#: modules/files.nix:237
msgid "No change so reusing latest profile generation %s"
msgstr ""
#: modules/home-environment.nix:634
msgid ""
"Oops, Nix failed to install your new Home Manager profile!\n"
"\n"
"Perhaps there is a conflict with a package that was installed using\n"
"\"%s\"? Try running\n"
"\n"
" %s\n"
"\n"
"and if there is a conflicting package you can remove it with\n"
"\n"
" %s\n"
"\n"
"Then try activating your Home Manager configuration again."
msgstr ""
#: modules/home-environment.nix:667
msgid "Activating %s"
msgstr ""
#: modules/lib-bash/activation-init.sh:22
msgid "Migrating profile from %s to %s"
msgstr ""
#: modules/lib-bash/activation-init.sh:54
msgid "Could not find suitable profile directory, tried %s and %s"
msgstr ""
#: modules/lib-bash/activation-init.sh:83
msgid "Sanity checking oldGenNum and oldGenPath"
msgstr ""
#: modules/lib-bash/activation-init.sh:86
msgid ""
"The previous generation number and path are in conflict! These\n"
"must be either both empty or both set but are now set to\n"
"\n"
" '%s' and '%s'\n"
"\n"
"If you don't mind losing previous profile generations then\n"
"the easiest solution is probably to run\n"
"\n"
" rm %s/home-manager*\n"
" rm %s/current-home\n"
"\n"
"and trying home-manager switch again. Good luck!"
msgstr ""
#: modules/lib-bash/activation-init.sh:127
msgid "Error: USER is set to \"%s\" but we expect \"%s\""
msgstr ""
#: modules/lib-bash/activation-init.sh:136
msgid "Error: HOME is set to \"%s\" but we expect \"%s\""
msgstr ""
#: modules/lib-bash/activation-init.sh:153
msgid "Starting Home Manager activation"
msgstr ""
#: modules/lib-bash/activation-init.sh:157
msgid "Sanity checking Nix"
msgstr ""
#: modules/lib-bash/activation-init.sh:170
msgid "This is a dry run"
msgstr ""
#: modules/lib-bash/activation-init.sh:174
msgid "This is a live run"
msgstr ""
#: modules/lib-bash/activation-init.sh:180
msgid "Using Nix version: %s"
msgstr ""
#: modules/lib-bash/activation-init.sh:183
msgid "Activation variables:"
msgstr ""

View File

@@ -8,21 +8,24 @@ msgstr ""
"Project-Id-Version: Home Manager Modules\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"PO-Revision-Date: 2024-05-31 17:09+0000\n"
"Last-Translator: jarre johansson <jarre@johansson.today>\n"
"Language-Team: Finnish <https://hosted.weblate.org/projects/home-manager/"
"modules/fi/>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.6-dev\n"
#: modules/files.nix:191
msgid "Creating home file links in %s"
msgstr ""
msgstr "Luodaan kotitiedostolinkkejä sijaintiin %s"
#: modules/files.nix:204
msgid "Cleaning up orphan links from %s"
msgstr ""
msgstr "Siivotaan orpoja linkkejä sijainnista %s"
#: modules/files.nix:220
msgid "Creating profile generation %s"
@@ -50,15 +53,15 @@ msgstr ""
#: modules/home-environment.nix:667
msgid "Activating %s"
msgstr ""
msgstr "Aktivoidaan %s"
#: modules/lib-bash/activation-init.sh:22
msgid "Migrating profile from %s to %s"
msgstr ""
msgstr "Siirretään profiilia sijainnista %s kohteeseen %s"
#: modules/lib-bash/activation-init.sh:54
msgid "Could not find suitable profile directory, tried %s and %s"
msgstr ""
msgstr "Sopivaa profiilihakemistoa ei löytynyt, yritettiin %s ja %s"
#: modules/lib-bash/activation-init.sh:83
msgid "Sanity checking oldGenNum and oldGenPath"
@@ -79,6 +82,19 @@ msgid ""
"\n"
"and trying home-manager switch again. Good luck!"
msgstr ""
"Edellinen generaation numero ja polku ovat ristiriidassa! Niiden on oltava "
"joko molemmat tyhjiä tai molemmat määritettyjä, mutta ne ovat nyt asetettu "
"seuraavasti:\n"
"\n"
"'%s' ja '%s'\n"
"\n"
"Jos et välitä menettää aiempia profiilin generointeja, niin helpoin ratkaisu "
"on todennäköisesti suorittaa\n"
"\n"
"rm %s/home-manager*\n"
"rm %s/current-home\n"
"\n"
"ja yrittää sitten uudelleen home-manager switch -komentoa. Onnea matkaan!"
#: modules/lib-bash/activation-init.sh:127
msgid "Error: USER is set to \"%s\" but we expect \"%s\""
@@ -90,15 +106,15 @@ msgstr ""
#: modules/lib-bash/activation-init.sh:153
msgid "Starting Home Manager activation"
msgstr ""
msgstr "Home Managerin aktivointi käynnistyy"
#: modules/lib-bash/activation-init.sh:157
msgid "Sanity checking Nix"
msgstr ""
msgstr "Nixin eheys tarkistetaan"
#: modules/lib-bash/activation-init.sh:170
msgid "This is a dry run"
msgstr ""
msgstr "Tämä on testiajo"
#: modules/lib-bash/activation-init.sh:174
msgid "This is a live run"
@@ -110,4 +126,4 @@ msgstr ""
#: modules/lib-bash/activation-init.sh:183
msgid "Activation variables:"
msgstr ""
msgstr "Aktivointimuuttujat:"

113
modules/po/hi.po Normal file
View File

@@ -0,0 +1,113 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Home Manager contributors
# This file is distributed under the same license as the Home Manager Modules package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Home Manager Modules\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: hi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: modules/files.nix:191
msgid "Creating home file links in %s"
msgstr ""
#: modules/files.nix:204
msgid "Cleaning up orphan links from %s"
msgstr ""
#: modules/files.nix:220
msgid "Creating profile generation %s"
msgstr ""
#: modules/files.nix:237
msgid "No change so reusing latest profile generation %s"
msgstr ""
#: modules/home-environment.nix:634
msgid ""
"Oops, Nix failed to install your new Home Manager profile!\n"
"\n"
"Perhaps there is a conflict with a package that was installed using\n"
"\"%s\"? Try running\n"
"\n"
" %s\n"
"\n"
"and if there is a conflicting package you can remove it with\n"
"\n"
" %s\n"
"\n"
"Then try activating your Home Manager configuration again."
msgstr ""
#: modules/home-environment.nix:667
msgid "Activating %s"
msgstr ""
#: modules/lib-bash/activation-init.sh:22
msgid "Migrating profile from %s to %s"
msgstr ""
#: modules/lib-bash/activation-init.sh:54
msgid "Could not find suitable profile directory, tried %s and %s"
msgstr ""
#: modules/lib-bash/activation-init.sh:83
msgid "Sanity checking oldGenNum and oldGenPath"
msgstr ""
#: modules/lib-bash/activation-init.sh:86
msgid ""
"The previous generation number and path are in conflict! These\n"
"must be either both empty or both set but are now set to\n"
"\n"
" '%s' and '%s'\n"
"\n"
"If you don't mind losing previous profile generations then\n"
"the easiest solution is probably to run\n"
"\n"
" rm %s/home-manager*\n"
" rm %s/current-home\n"
"\n"
"and trying home-manager switch again. Good luck!"
msgstr ""
#: modules/lib-bash/activation-init.sh:127
msgid "Error: USER is set to \"%s\" but we expect \"%s\""
msgstr ""
#: modules/lib-bash/activation-init.sh:136
msgid "Error: HOME is set to \"%s\" but we expect \"%s\""
msgstr ""
#: modules/lib-bash/activation-init.sh:153
msgid "Starting Home Manager activation"
msgstr ""
#: modules/lib-bash/activation-init.sh:157
msgid "Sanity checking Nix"
msgstr ""
#: modules/lib-bash/activation-init.sh:170
msgid "This is a dry run"
msgstr ""
#: modules/lib-bash/activation-init.sh:174
msgid "This is a live run"
msgstr ""
#: modules/lib-bash/activation-init.sh:180
msgid "Using Nix version: %s"
msgstr ""
#: modules/lib-bash/activation-init.sh:183
msgid "Activation variables:"
msgstr ""

117
modules/po/hu.po Normal file
View File

@@ -0,0 +1,117 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Home Manager contributors
# This file is distributed under the same license as the Home Manager Modules package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Home Manager Modules\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: 2024-09-02 17:09+0000\n"
"Last-Translator: Ferenci Ákos <synthetace@gmail.com>\n"
"Language-Team: Hungarian <https://hosted.weblate.org/projects/home-manager/"
"modules/hu/>\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.8-dev\n"
#: modules/files.nix:191
msgid "Creating home file links in %s"
msgstr "Hivatkozások létrehozása itt: %s"
#: modules/files.nix:204
msgid "Cleaning up orphan links from %s"
msgstr "Árva hivatkozások kitakarítása innen: %s"
#: modules/files.nix:220
msgid "Creating profile generation %s"
msgstr "%s. profil generáció létrehozása"
#: modules/files.nix:237
msgid "No change so reusing latest profile generation %s"
msgstr "Nincs változás, legutóbbi %s. generáció lesz használva"
#: modules/home-environment.nix:634
msgid ""
"Oops, Nix failed to install your new Home Manager profile!\n"
"\n"
"Perhaps there is a conflict with a package that was installed using\n"
"\"%s\"? Try running\n"
"\n"
" %s\n"
"\n"
"and if there is a conflicting package you can remove it with\n"
"\n"
" %s\n"
"\n"
"Then try activating your Home Manager configuration again."
msgstr ""
#: modules/home-environment.nix:667
msgid "Activating %s"
msgstr ""
#: modules/lib-bash/activation-init.sh:22
msgid "Migrating profile from %s to %s"
msgstr ""
#: modules/lib-bash/activation-init.sh:54
msgid "Could not find suitable profile directory, tried %s and %s"
msgstr ""
"Nem található megfelelő profil mappa, %s és %s útvonalak lettek kipróbálva."
#: modules/lib-bash/activation-init.sh:83
msgid "Sanity checking oldGenNum and oldGenPath"
msgstr ""
#: modules/lib-bash/activation-init.sh:86
msgid ""
"The previous generation number and path are in conflict! These\n"
"must be either both empty or both set but are now set to\n"
"\n"
" '%s' and '%s'\n"
"\n"
"If you don't mind losing previous profile generations then\n"
"the easiest solution is probably to run\n"
"\n"
" rm %s/home-manager*\n"
" rm %s/current-home\n"
"\n"
"and trying home-manager switch again. Good luck!"
msgstr ""
#: modules/lib-bash/activation-init.sh:127
msgid "Error: USER is set to \"%s\" but we expect \"%s\""
msgstr ""
#: modules/lib-bash/activation-init.sh:136
msgid "Error: HOME is set to \"%s\" but we expect \"%s\""
msgstr ""
#: modules/lib-bash/activation-init.sh:153
msgid "Starting Home Manager activation"
msgstr ""
#: modules/lib-bash/activation-init.sh:157
msgid "Sanity checking Nix"
msgstr "Nix épségének ellenőrzése"
#: modules/lib-bash/activation-init.sh:170
msgid "This is a dry run"
msgstr ""
#: modules/lib-bash/activation-init.sh:174
msgid "This is a live run"
msgstr ""
#: modules/lib-bash/activation-init.sh:180
msgid "Using Nix version: %s"
msgstr ""
#: modules/lib-bash/activation-init.sh:183
msgid "Activation variables:"
msgstr ""

View File

@@ -8,17 +8,17 @@ msgstr ""
"Project-Id-Version: Home Manager Modules\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: 2023-05-03 19:48+0000\n"
"Last-Translator: Eryk Michalak <gnu.ewm@protonmail.com>\n"
"PO-Revision-Date: 2024-06-17 09:46+0000\n"
"Last-Translator: Mateusz P <medan1993@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/home-manager/"
"modules/pl/>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.18-dev\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
"X-Generator: Weblate 5.6-dev\n"
#: modules/files.nix:191
msgid "Creating home file links in %s"
@@ -112,10 +112,14 @@ msgstr ""
#: modules/lib-bash/activation-init.sh:127
msgid "Error: USER is set to \"%s\" but we expect \"%s\""
msgstr ""
"Błąd: Właściwość USER ma wartość \"%s\" podczas gdy spodziewana wartość to \""
"%s\""
#: modules/lib-bash/activation-init.sh:136
msgid "Error: HOME is set to \"%s\" but we expect \"%s\""
msgstr ""
"Błąd: Właściwość HOME ma wartość \"%s\" podczas gdy spodziewana wartość to \""
"%s\""
#: modules/lib-bash/activation-init.sh:153
msgid "Starting Home Manager activation"

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Home Manager Modules\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: 2024-03-27 15:05+0000\n"
"Last-Translator: Nguyen Khanh <nguynkhan479@gmail.com>\n"
"PO-Revision-Date: 2024-08-01 04:09+0000\n"
"Last-Translator: goatastronaut0212 <goatastronaut0212@proton.me>\n"
"Language-Team: Vietnamese <https://hosted.weblate.org/projects/home-manager/"
"modules/vi/>\n"
"Language: vi\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.5-dev\n"
"X-Generator: Weblate 5.7-dev\n"
#: modules/files.nix:191
msgid "Creating home file links in %s"
@@ -53,11 +53,11 @@ msgstr ""
#: modules/home-environment.nix:667
msgid "Activating %s"
msgstr ""
msgstr "Đang khởi động %s"
#: modules/lib-bash/activation-init.sh:22
msgid "Migrating profile from %s to %s"
msgstr ""
msgstr "Chuyển đổi hồ sơ từ %s tới %s"
#: modules/lib-bash/activation-init.sh:54
msgid "Could not find suitable profile directory, tried %s and %s"
@@ -85,11 +85,11 @@ msgstr ""
#: modules/lib-bash/activation-init.sh:127
msgid "Error: USER is set to \"%s\" but we expect \"%s\""
msgstr ""
msgstr "Lỗi: USER được đặt thành \"%s\" nhưng chúng tôi kỳ vọng \"%s\""
#: modules/lib-bash/activation-init.sh:136
msgid "Error: HOME is set to \"%s\" but we expect \"%s\""
msgstr ""
msgstr "Lỗi: HOME được đặt thành \"%s\" nhưng chúng tôi kỳ vọng \"%s\""
#: modules/lib-bash/activation-init.sh:153
msgid "Starting Home Manager activation"
@@ -97,7 +97,7 @@ msgstr ""
#: modules/lib-bash/activation-init.sh:157
msgid "Sanity checking Nix"
msgstr ""
msgstr "Kiểm tra hợp lệ của Nix"
#: modules/lib-bash/activation-init.sh:170
msgid "This is a dry run"
@@ -109,8 +109,8 @@ msgstr ""
#: modules/lib-bash/activation-init.sh:180
msgid "Using Nix version: %s"
msgstr ""
msgstr "Phiên bản Nix đươc sử dụng: %s"
#: modules/lib-bash/activation-init.sh:183
msgid "Activation variables:"
msgstr ""
msgstr "Các biến được kích hoạt:"

View File

@@ -56,7 +56,7 @@ in {
buildCommand = lib.concatStringsSep "\n" [
prevAttrs.buildCommand
# TODO: why is this needed? Is there a better way to retain escape sequences?
"substituteInPlace $out --replace '\\\\' '\\'"
"substituteInPlace $out --replace-quiet '\\\\' '\\'"
];
});
};

View File

@@ -110,18 +110,18 @@ in {
programs.bash.initExtra = mkIf cfg.enableBashIntegration ''
if [[ :$SHELLOPTS: =~ :(vi|emacs): ]]; then
source "${pkgs.bash-preexec}/share/bash/bash-preexec.sh"
eval "$(${cfg.package}/bin/atuin init bash ${flagsStr})"
eval "$(${lib.getExe cfg.package} init bash ${flagsStr})"
fi
'';
programs.zsh.initExtra = mkIf cfg.enableZshIntegration ''
if [[ $options[zle] = on ]]; then
eval "$(${cfg.package}/bin/atuin init zsh ${flagsStr})"
eval "$(${lib.getExe cfg.package} init zsh ${flagsStr})"
fi
'';
programs.fish.interactiveShellInit = mkIf cfg.enableFishIntegration ''
${cfg.package}/bin/atuin init fish ${flagsStr} | source
${lib.getExe cfg.package} init fish ${flagsStr} | source
'';
programs.nushell = mkIf cfg.enableNushellIntegration {
@@ -130,7 +130,9 @@ in {
if not ($atuin_cache | path exists) {
mkdir $atuin_cache
}
${cfg.package}/bin/atuin init nu ${flagsStr} | save --force ${config.xdg.cacheHome}/atuin/init.nu
${
lib.getExe cfg.package
} init nu ${flagsStr} | save --force ${config.xdg.cacheHome}/atuin/init.nu
'';
extraConfig = ''
source ${config.xdg.cacheHome}/atuin/init.nu

View File

@@ -177,6 +177,18 @@ let
default = null;
example = "nearest";
};
extraConfig = mkOption {
type = types.lines;
description = "Extra lines to append to this profile's config.";
default = "";
example = literalExpression ''
'''
x-prop-non_desktop 0
some-key some-value
'''
'';
};
};
};
@@ -267,7 +279,8 @@ let
+ concatMapStringsSep "," toString (flatten config.transform))
++ optional (config.scale != null)
((if config.scale.method == "factor" then "scale" else "scale-from")
+ " ${toString config.scale.x}x${toString config.scale.y}"))
+ " ${toString config.scale.x}x${toString config.scale.y}")
++ optional (config.extraConfig != "") config.extraConfig)
else ''
output ${name}
off

View File

@@ -29,6 +29,8 @@ in {
programs.bash = {
enable = mkEnableOption "GNU Bourne-Again SHell";
package = mkPackageOption pkgs "bash" { default = "bashInteractive"; };
enableCompletion = mkOption {
type = types.bool;
default = true;
@@ -67,8 +69,8 @@ in {
};
historyControl = mkOption {
type =
types.listOf (types.enum [ "erasedups" "ignoredups" "ignorespace" ]);
type = types.listOf
(types.enum [ "erasedups" "ignoredups" "ignorespace" "ignoreboth" ]);
default = [ ];
description = "Controlling how commands are saved on the history list.";
};
@@ -190,7 +192,7 @@ in {
HISTIGNORE = escapeShellArg (concatStringsSep ":" cfg.historyIgnore);
}));
in mkIf cfg.enable {
home.packages = [ pkgs.bashInteractive ];
home.packages = [ cfg.package ];
home.file.".bash_profile".source = writeBashScript "bash_profile" ''
# include .profile if it exists

View File

@@ -56,5 +56,5 @@ in {
};
};
meta.maintainers = [ maintainers.polykernel ];
meta.maintainers = [ ];
}

View File

@@ -95,6 +95,7 @@ in {
package = mkPackageOption pkgs "nix-direnv" { };
};
silent = mkEnableOption "silent mode, that is, disabling direnv logging";
};
config = mkIf cfg.enable {
@@ -163,5 +164,7 @@ in {
}
)
'');
home.sessionVariables = lib.mkIf cfg.silent { DIRENV_LOG_FORMAT = ""; };
};
}

View File

@@ -5,6 +5,7 @@ with lib;
let
cfg = config.programs.eww;
ewwCmd = "${cfg.package}/bin/eww";
in {
meta.maintainers = [ hm.maintainers.mainrs ];
@@ -30,10 +31,40 @@ in {
{file}`$XDG_CONFIG_HOME/eww`.
'';
};
enableBashIntegration = mkEnableOption "Bash integration" // {
default = true;
};
enableZshIntegration = mkEnableOption "Zsh integration" // {
default = true;
};
enableFishIntegration = mkEnableOption "Fish integration" // {
default = true;
};
};
config = mkIf cfg.enable {
home.packages = [ cfg.package ];
xdg.configFile."eww".source = cfg.configDir;
programs.bash.initExtra = mkIf cfg.enableBashIntegration ''
if [[ $TERM != "dumb" ]]; then
eval "$(${ewwCmd} shell-completions --shell bash)"
fi
'';
programs.zsh.initExtra = mkIf cfg.enableZshIntegration ''
if [[ $TERM != "dumb" ]]; then
eval "$(${ewwCmd} shell-completions --shell zsh)"
fi
'';
programs.fish.interactiveShellInit = mkIf cfg.enableFishIntegration ''
if test "$TERM" != "dumb"
eval "$(${ewwCmd} shell-completions --shell fish)"
end
'';
};
}

View File

@@ -73,7 +73,7 @@ with lib;
args = escapeShellArgs (optional cfg.icons "--icons"
++ optional cfg.git "--git" ++ cfg.extraOptions);
optionsAlias = { eza = "eza ${args}"; };
optionsAlias = optionalAttrs (args != "") { eza = "eza ${args}"; };
aliases = builtins.mapAttrs (_name: value: lib.mkDefault value) {
ls = "eza";
@@ -91,8 +91,17 @@ with lib;
programs.zsh.shellAliases = optionsAlias
// optionalAttrs cfg.enableZshIntegration aliases;
programs.fish.shellAliases = optionsAlias
// optionalAttrs cfg.enableFishIntegration aliases;
programs.fish = mkMerge [
(mkIf (!config.programs.fish.preferAbbrs) {
shellAliases = optionsAlias
// optionalAttrs cfg.enableFishIntegration aliases;
})
(mkIf config.programs.fish.preferAbbrs {
shellAliases = optionsAlias;
shellAbbrs = optionalAttrs cfg.enableFishIntegration aliases;
})
];
programs.ion.shellAliases = optionsAlias
// optionalAttrs cfg.enableIonIntegration aliases;

View File

@@ -26,7 +26,9 @@ in {
};
};
display = {
binaryPrefix = "si";
size = {
binaryPrefix = "si";
};
color = "blue";
separator = " ";
};

View File

@@ -38,7 +38,7 @@ with lib; {
args = escapeShellArgs (optional cfg.hidden "--hidden" ++ cfg.extraOptions);
optionsAlias = { fd = "fd ${args}"; };
optionsAlias = optionalAttrs (args != "") { fd = "fd ${args}"; };
in mkIf cfg.enable {
home.packages = [ cfg.package ];

View File

@@ -1,945 +1,51 @@
{ config, lib, pkgs, ... }:
{ lib, ... }:
with lib;
let
inherit (pkgs.stdenv.hostPlatform) isDarwin;
modulePath = [ "programs" "firefox" ];
cfg = config.programs.firefox;
moduleName = concatStringsSep "." modulePath;
jsonFormat = pkgs.formats.json { };
mozillaConfigPath =
if isDarwin then "Library/Application Support/Mozilla" else ".mozilla";
firefoxConfigPath = if isDarwin then
"Library/Application Support/Firefox"
else
"${mozillaConfigPath}/firefox";
profilesPath =
if isDarwin then "${firefoxConfigPath}/Profiles" else firefoxConfigPath;
nativeMessagingHostsPath = if isDarwin then
"${mozillaConfigPath}/NativeMessagingHosts"
else
"${mozillaConfigPath}/native-messaging-hosts";
nativeMessagingHostsJoined = pkgs.symlinkJoin {
name = "ff_native-messaging-hosts";
paths = [
# Link a .keep file to keep the directory around
(pkgs.writeTextDir "lib/mozilla/native-messaging-hosts/.keep" "")
# Link package configured native messaging hosts (entire Firefox actually)
cfg.finalPackage
]
# Link user configured native messaging hosts
++ cfg.nativeMessagingHosts;
};
# The extensions path shared by all profiles; will not be supported
# by future Firefox versions.
extensionPath = "extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}";
profiles = flip mapAttrs' cfg.profiles (_: profile:
nameValuePair "Profile${toString profile.id}" {
Name = profile.name;
Path = if isDarwin then "Profiles/${profile.path}" else profile.path;
IsRelative = 1;
Default = if profile.isDefault then 1 else 0;
}) // {
General = { StartWithLastProfile = 1; };
};
profilesIni = generators.toINI { } profiles;
userPrefValue = pref:
builtins.toJSON (if isBool pref || isInt pref || isString pref then
pref
else
builtins.toJSON pref);
mkUserJs = prefs: extraPrefs: bookmarks:
let
prefs' = lib.optionalAttrs ([ ] != bookmarks) {
"browser.bookmarks.file" = toString (firefoxBookmarksFile bookmarks);
"browser.places.importBookmarksHTML" = true;
} // prefs;
in ''
// Generated by Home Manager.
${concatStrings (mapAttrsToList (name: value: ''
user_pref("${name}", ${userPrefValue value});
'') prefs')}
${extraPrefs}
'';
mkContainersJson = containers:
let
containerToIdentity = _: container: {
userContextId = container.id;
name = container.name;
icon = container.icon;
color = container.color;
public = true;
};
in ''
${builtins.toJSON {
version = 4;
lastUserContextId =
elemAt (mapAttrsToList (_: container: container.id) containers) 0;
identities = mapAttrsToList containerToIdentity containers ++ [
{
userContextId = 4294967294; # 2^32 - 2
name = "userContextIdInternal.thumbnail";
icon = "";
color = "";
accessKey = "";
public = false;
}
{
userContextId = 4294967295; # 2^32 - 1
name = "userContextIdInternal.webextStorageLocal";
icon = "";
color = "";
accessKey = "";
public = false;
}
];
}}
'';
firefoxBookmarksFile = bookmarks:
let
indent = level:
lib.concatStringsSep "" (map (lib.const " ") (lib.range 1 level));
bookmarkToHTML = indentLevel: bookmark:
''
${indent indentLevel}<DT><A HREF="${
escapeXML bookmark.url
}" ADD_DATE="1" LAST_MODIFIED="1"${
lib.optionalString (bookmark.keyword != null)
" SHORTCUTURL=\"${escapeXML bookmark.keyword}\""
}${
lib.optionalString (bookmark.tags != [ ])
" TAGS=\"${escapeXML (concatStringsSep "," bookmark.tags)}\""
}>${escapeXML bookmark.name}</A>'';
directoryToHTML = indentLevel: directory: ''
${indent indentLevel}<DT>${
if directory.toolbar then
''
<H3 ADD_DATE="1" LAST_MODIFIED="1" PERSONAL_TOOLBAR_FOLDER="true">Bookmarks Toolbar''
else
''<H3 ADD_DATE="1" LAST_MODIFIED="1">${escapeXML directory.name}''
}</H3>
${indent indentLevel}<DL><p>
${allItemsToHTML (indentLevel + 1) directory.bookmarks}
${indent indentLevel}</DL><p>'';
itemToHTMLOrRecurse = indentLevel: item:
if item ? "url" then
bookmarkToHTML indentLevel item
else
directoryToHTML indentLevel item;
allItemsToHTML = indentLevel: bookmarks:
lib.concatStringsSep "\n"
(map (itemToHTMLOrRecurse indentLevel) bookmarks);
bookmarkEntries = allItemsToHTML 1 bookmarks;
in pkgs.writeText "firefox-bookmarks.html" ''
<!DOCTYPE NETSCAPE-Bookmark-file-1>
<!-- This is an automatically generated file.
It will be read and overwritten.
DO NOT EDIT! -->
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<TITLE>Bookmarks</TITLE>
<H1>Bookmarks Menu</H1>
<DL><p>
${bookmarkEntries}
</DL>
'';
mkNoDuplicateAssertion = entities: entityKind:
(let
# Return an attribute set with entity IDs as keys and a list of
# entity names with corresponding ID as value. An ID is present in
# the result only if more than one entity has it. The argument
# entities is a list of AttrSet of one id/name pair.
findDuplicateIds = entities:
filterAttrs (_entityId: entityNames: length entityNames != 1)
(zipAttrs entities);
duplicates = findDuplicateIds (mapAttrsToList
(entityName: entity: { "${toString entity.id}" = entityName; })
entities);
mkMsg = entityId: entityNames:
" - ID ${entityId} is used by " + concatStringsSep ", " entityNames;
in {
assertion = duplicates == { };
message = ''
Must not have a Firefox ${entityKind} with an existing ID but
'' + concatStringsSep "\n" (mapAttrsToList mkMsg duplicates);
});
wrapPackage = package:
let
# The configuration expected by the Firefox wrapper.
fcfg = { enableGnomeExtensions = cfg.enableGnomeExtensions; };
# A bit of hackery to force a config into the wrapper.
browserName =
package.browserName or (builtins.parseDrvName package.name).name;
# The configuration expected by the Firefox wrapper builder.
bcfg = setAttrByPath [ browserName ] fcfg;
in if package == null then
null
else if isDarwin then
package
else if versionAtLeast config.home.stateVersion "19.09" then
package.override (old: {
cfg = old.cfg or { } // fcfg;
extraPolicies = (old.extraPolicies or { }) // cfg.policies;
})
else
(pkgs.wrapFirefox.override { config = bcfg; }) package { };
mkFirefoxModule = import ./firefox/mkFirefoxModule.nix;
in {
meta.maintainers = [ maintainers.rycee maintainers.kira-bruneau ];
meta.maintainers =
[ maintainers.rycee maintainers.kira-bruneau hm.maintainers.bricked ];
imports = [
(mkRemovedOptionModule [ "programs" "firefox" "extensions" ] ''
(mkFirefoxModule {
inherit modulePath;
name = "Firefox";
wrappedPackageName = "firefox";
unwrappedPackageName = "firefox-unwrapped";
visible = true;
platforms.linux = rec {
vendorPath = ".mozilla";
configPath = "${vendorPath}/firefox";
};
platforms.darwin = {
vendorPath = "Library/Application Support/Mozilla";
configPath = "Library/Application Support/Firefox";
};
})
(mkRemovedOptionModule (modulePath ++ [ "extensions" ]) ''
Extensions are now managed per-profile. That is, change from
programs.firefox.extensions = [ foo bar ];
${moduleName}.extensions = [ foo bar ];
to
programs.firefox.profiles.myprofile.extensions = [ foo bar ];'')
(mkRemovedOptionModule [ "programs" "firefox" "enableAdobeFlash" ]
${moduleName}.profiles.myprofile.extensions = [ foo bar ];'')
(mkRemovedOptionModule (modulePath ++ [ "enableAdobeFlash" ])
"Support for this option has been removed.")
(mkRemovedOptionModule [ "programs" "firefox" "enableGoogleTalk" ]
(mkRemovedOptionModule (modulePath ++ [ "enableGoogleTalk" ])
"Support for this option has been removed.")
(mkRemovedOptionModule [ "programs" "firefox" "enableIcedTea" ]
(mkRemovedOptionModule (modulePath ++ [ "enableIcedTea" ])
"Support for this option has been removed.")
];
options = {
programs.firefox = {
enable = mkEnableOption "Firefox";
package = mkOption {
type = with types; nullOr package;
default = if versionAtLeast config.home.stateVersion "19.09" then
pkgs.firefox
else
pkgs.firefox-unwrapped;
defaultText = literalExpression "pkgs.firefox";
example = literalExpression ''
pkgs.firefox.override {
# See nixpkgs' firefox/wrapper.nix to check which options you can use
nativeMessagingHosts = [
# Gnome shell native connector
pkgs.gnome-browser-connector
# Tridactyl native connector
pkgs.tridactyl-native
];
}
'';
description = ''
The Firefox package to use. If state version  19.09 then
this should be a wrapped Firefox package. For earlier state
versions it should be an unwrapped Firefox package.
Set to `null` to disable installing Firefox.
'';
};
nativeMessagingHosts = mkOption {
type = types.listOf types.package;
default = [ ];
description = ''
Additional packages containing native messaging hosts that should be
made available to Firefox extensions.
'';
};
finalPackage = mkOption {
type = with types; nullOr package;
readOnly = true;
description = "Resulting Firefox package.";
};
policies = mkOption {
type = types.attrsOf jsonFormat.type;
default = { };
description =
"[See list of policies](https://mozilla.github.io/policy-templates/).";
example = {
DefaultDownloadDirectory = "\${home}/Downloads";
BlockAboutConfig = true;
};
};
profiles = mkOption {
type = types.attrsOf (types.submodule ({ config, name, ... }: {
options = {
name = mkOption {
type = types.str;
default = name;
description = "Profile name.";
};
id = mkOption {
type = types.ints.unsigned;
default = 0;
description = ''
Profile ID. This should be set to a unique number per profile.
'';
};
settings = mkOption {
type = types.attrsOf (jsonFormat.type // {
description =
"Firefox preference (int, bool, string, and also attrs, list, float as a JSON string)";
});
default = { };
example = literalExpression ''
{
"browser.startup.homepage" = "https://nixos.org";
"browser.search.region" = "GB";
"browser.search.isUS" = false;
"distribution.searchplugins.defaultLocale" = "en-GB";
"general.useragent.locale" = "en-GB";
"browser.bookmarks.showMobileBookmarks" = true;
"browser.newtabpage.pinned" = [{
title = "NixOS";
url = "https://nixos.org";
}];
}
'';
description = ''
Attribute set of Firefox preferences.
Firefox only supports int, bool, and string types for
preferences, but home-manager will automatically
convert all other JSON-compatible values into strings.
'';
};
extraConfig = mkOption {
type = types.lines;
default = "";
description = ''
Extra preferences to add to {file}`user.js`.
'';
};
userChrome = mkOption {
type = types.lines;
default = "";
description = "Custom Firefox user chrome CSS.";
example = ''
/* Hide tab bar in FF Quantum */
@-moz-document url("chrome://browser/content/browser.xul") {
#TabsToolbar {
visibility: collapse !important;
margin-bottom: 21px !important;
}
#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header {
visibility: collapse !important;
}
}
'';
};
userContent = mkOption {
type = types.lines;
default = "";
description = "Custom Firefox user content CSS.";
example = ''
/* Hide scrollbar in FF Quantum */
*{scrollbar-width:none !important}
'';
};
bookmarks = mkOption {
type = let
bookmarkSubmodule = types.submodule ({ config, name, ... }: {
options = {
name = mkOption {
type = types.str;
default = name;
description = "Bookmark name.";
};
tags = mkOption {
type = types.listOf types.str;
default = [ ];
description = "Bookmark tags.";
};
keyword = mkOption {
type = types.nullOr types.str;
default = null;
description = "Bookmark search keyword.";
};
url = mkOption {
type = types.str;
description = "Bookmark url, use %s for search terms.";
};
};
}) // {
description = "bookmark submodule";
};
bookmarkType = types.addCheck bookmarkSubmodule (x: x ? "url");
directoryType = types.submodule ({ config, name, ... }: {
options = {
name = mkOption {
type = types.str;
default = name;
description = "Directory name.";
};
bookmarks = mkOption {
type = types.listOf nodeType;
default = [ ];
description = "Bookmarks within directory.";
};
toolbar = mkOption {
type = types.bool;
default = false;
description = ''
Make this the toolbar directory. Note, this does _not_
mean that this directory will be added to the toolbar,
this directory _is_ the toolbar.
'';
};
};
}) // {
description = "directory submodule";
};
nodeType = types.either bookmarkType directoryType;
in with types;
coercedTo (attrsOf nodeType) attrValues (listOf nodeType);
default = [ ];
example = literalExpression ''
[
{
name = "wikipedia";
tags = [ "wiki" ];
keyword = "wiki";
url = "https://en.wikipedia.org/wiki/Special:Search?search=%s&go=Go";
}
{
name = "kernel.org";
url = "https://www.kernel.org";
}
{
name = "Nix sites";
toolbar = true;
bookmarks = [
{
name = "homepage";
url = "https://nixos.org/";
}
{
name = "wiki";
tags = [ "wiki" "nix" ];
url = "https://wiki.nixos.org/";
}
];
}
]
'';
description = ''
Preloaded bookmarks. Note, this may silently overwrite any
previously existing bookmarks!
'';
};
path = mkOption {
type = types.str;
default = name;
description = "Profile path.";
};
isDefault = mkOption {
type = types.bool;
default = config.id == 0;
defaultText = "true if profile ID is 0";
description = "Whether this is a default profile.";
};
search = {
force = mkOption {
type = with types; bool;
default = false;
description = ''
Whether to force replace the existing search
configuration. This is recommended since Firefox will
replace the symlink for the search configuration on every
launch, but note that you'll lose any existing
configuration by enabling this.
'';
};
default = mkOption {
type = with types; nullOr str;
default = null;
example = "DuckDuckGo";
description = ''
The default search engine used in the address bar and search bar.
'';
};
privateDefault = mkOption {
type = with types; nullOr str;
default = null;
example = "DuckDuckGo";
description = ''
The default search engine used in the Private Browsing.
'';
};
order = mkOption {
type = with types; uniq (listOf str);
default = [ ];
example = [ "DuckDuckGo" "Google" ];
description = ''
The order the search engines are listed in. Any engines
that aren't included in this list will be listed after
these in an unspecified order.
'';
};
engines = mkOption {
type = with types; attrsOf (attrsOf jsonFormat.type);
default = { };
example = literalExpression ''
{
"Nix Packages" = {
urls = [{
template = "https://search.nixos.org/packages";
params = [
{ name = "type"; value = "packages"; }
{ name = "query"; value = "{searchTerms}"; }
];
}];
icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "@np" ];
};
"NixOS Wiki" = {
urls = [{ template = "https://wiki.nixos.org/index.php?search={searchTerms}"; }];
iconUpdateURL = "https://wiki.nixos.org/favicon.png";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = [ "@nw" ];
};
"Bing".metaData.hidden = true;
"Google".metaData.alias = "@g"; # builtin engines only support specifying one additional alias
}
'';
description = ''
Attribute set of search engine configurations. Engines
that only have {var}`metaData` specified will
be treated as builtin to Firefox.
See [SearchEngine.jsm](https://searchfox.org/mozilla-central/rev/669329e284f8e8e2bb28090617192ca9b4ef3380/toolkit/components/search/SearchEngine.jsm#1138-1177)
in Firefox's source for available options. We maintain a
mapping to let you specify all options in the referenced
link without underscores, but it may fall out of date with
future options.
Note, {var}`icon` is also a special option
added by Home Manager to make it convenient to specify
absolute icon paths.
'';
};
};
containersForce = mkOption {
type = types.bool;
default = false;
description = ''
Whether to force replace the existing containers
configuration. This is recommended since Firefox will
replace the symlink on every launch, but note that you'll
lose any existing configuration by enabling this.
'';
};
containers = mkOption {
type = types.attrsOf (types.submodule ({ name, ... }: {
options = {
name = mkOption {
type = types.str;
default = name;
description = "Container name, e.g., shopping.";
};
id = mkOption {
type = types.ints.unsigned;
default = 0;
description = ''
Container ID. This should be set to a unique number per container in this profile.
'';
};
# List of colors at
# https://searchfox.org/mozilla-central/rev/5ad226c7379b0564c76dc3b54b44985356f94c5a/toolkit/components/extensions/parent/ext-contextualIdentities.js#32
color = mkOption {
type = types.enum [
"blue"
"turquoise"
"green"
"yellow"
"orange"
"red"
"pink"
"purple"
"toolbar"
];
default = "pink";
description = "Container color.";
};
icon = mkOption {
type = types.enum [
"briefcase"
"cart"
"circle"
"dollar"
"fence"
"fingerprint"
"gift"
"vacation"
"food"
"fruit"
"pet"
"tree"
"chill"
];
default = "fruit";
description = "Container icon.";
};
};
}));
default = { };
example = {
"shopping" = {
id = 1;
color = "blue";
icon = "cart";
};
"dangerous" = {
id = 2;
color = "red";
icon = "fruit";
};
};
description = ''
Attribute set of container configurations. See
[Multi-Account
Containers](https://support.mozilla.org/en-US/kb/containers)
for more information.
'';
};
extensions = mkOption {
type = types.listOf types.package;
default = [ ];
example = literalExpression ''
with pkgs.nur.repos.rycee.firefox-addons; [
privacy-badger
]
'';
description = ''
List of Firefox add-on packages to install for this profile.
Some pre-packaged add-ons are accessible from the
[Nix User Repository](https://github.com/nix-community/NUR).
Once you have NUR installed run
```console
$ nix-env -f '<nixpkgs>' -qaP -A nur.repos.rycee.firefox-addons
```
to list the available Firefox add-ons.
Note that it is necessary to manually enable these extensions
inside Firefox after the first installation.
To automatically enable extensions add
`"extensions.autoDisableScopes" = 0;`
to
[{option}`programs.firefox.profiles.<profile>.settings`](#opt-programs.firefox.profiles._name_.settings)
'';
};
};
}));
default = { };
description = "Attribute set of Firefox profiles.";
};
enableGnomeExtensions = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable the GNOME Shell native host connector. Note, you
also need to set the NixOS option
`services.gnome.gnome-browser-connector.enable` to
`true`.
'';
};
};
};
config = mkIf cfg.enable {
assertions = [
(let
defaults =
catAttrs "name" (filter (a: a.isDefault) (attrValues cfg.profiles));
in {
assertion = cfg.profiles == { } || length defaults == 1;
message = "Must have exactly one default Firefox profile but found "
+ toString (length defaults) + optionalString (length defaults > 1)
(", namely " + concatStringsSep ", " defaults);
})
(let
getContainers = profiles:
flatten
(mapAttrsToList (_: value: (attrValues value.containers)) profiles);
findInvalidContainerIds = profiles:
filter (container: container.id >= 4294967294)
(getContainers profiles);
in {
assertion = cfg.profiles == { }
|| length (findInvalidContainerIds cfg.profiles) == 0;
message = "Container id must be smaller than 4294967294 (2^32 - 2)";
})
(mkNoDuplicateAssertion cfg.profiles "profile")
] ++ (mapAttrsToList
(_: profile: mkNoDuplicateAssertion profile.containers "container")
cfg.profiles);
warnings = optional (cfg.enableGnomeExtensions or false) ''
Using 'programs.firefox.enableGnomeExtensions' has been deprecated and
will be removed in the future. Please change to overriding the package
configuration using 'programs.firefox.package' instead. You can refer to
its example for how to do this.
'';
programs.firefox.finalPackage = wrapPackage cfg.package;
home.packages = lib.optional (cfg.finalPackage != null) cfg.finalPackage;
home.file = mkMerge ([{
"${firefoxConfigPath}/profiles.ini" =
mkIf (cfg.profiles != { }) { text = profilesIni; };
"${nativeMessagingHostsPath}" = {
source =
"${nativeMessagingHostsJoined}/lib/mozilla/native-messaging-hosts";
recursive = true;
};
}] ++ flip mapAttrsToList cfg.profiles (_: profile: {
"${profilesPath}/${profile.path}/.keep".text = "";
"${profilesPath}/${profile.path}/chrome/userChrome.css" =
mkIf (profile.userChrome != "") { text = profile.userChrome; };
"${profilesPath}/${profile.path}/chrome/userContent.css" =
mkIf (profile.userContent != "") { text = profile.userContent; };
"${profilesPath}/${profile.path}/user.js" = mkIf (profile.settings != { }
|| profile.extraConfig != "" || profile.bookmarks != [ ]) {
text =
mkUserJs profile.settings profile.extraConfig profile.bookmarks;
};
"${profilesPath}/${profile.path}/containers.json" =
mkIf (profile.containers != { }) {
force = profile.containersForce;
text = mkContainersJson profile.containers;
};
"${profilesPath}/${profile.path}/search.json.mozlz4" = mkIf
(profile.search.default != null || profile.search.privateDefault != null
|| profile.search.order != [ ] || profile.search.engines != { }) {
force = profile.search.force;
source = let
settings = {
version = 6;
engines = let
# Map of nice field names to internal field names.
# This is intended to be exhaustive and should be
# updated at every version bump.
internalFieldNames = (genAttrs [
"name"
"isAppProvided"
"loadPath"
"hasPreferredIcon"
"updateInterval"
"updateURL"
"iconUpdateURL"
"iconURL"
"iconMapObj"
"metaData"
"orderHint"
"definedAliases"
"urls"
] (name: "_${name}")) // {
searchForm = "__searchForm";
};
processCustomEngineInput = input:
(removeAttrs input [ "icon" ])
// optionalAttrs (input ? icon) {
# Convenience to specify absolute path to icon
iconURL = "file://${input.icon}";
} // (optionalAttrs (input ? iconUpdateURL) {
# Convenience to default iconURL to iconUpdateURL so
# the icon is immediately downloaded from the URL
iconURL = input.iconURL or input.iconUpdateURL;
} // {
# Required for custom engine configurations, loadPaths
# are unique identifiers that are generally formatted
# like: [source]/path/to/engine.xml
loadPath = ''
[home-manager]/programs.firefox.profiles.${profile.name}.search.engines."${
replaceStrings [ "\\" ] [ "\\\\" ] input.name
}"'';
});
processEngineInput = name: input:
let
requiredInput = {
inherit name;
isAppProvided = input.isAppProvided or removeAttrs input
[ "metaData" ] == { };
metaData = input.metaData or { };
};
in if requiredInput.isAppProvided then
requiredInput
else
processCustomEngineInput (input // requiredInput);
buildEngineConfig = name: input:
mapAttrs' (name: value: {
name = internalFieldNames.${name} or name;
inherit value;
}) (processEngineInput name input);
sortEngineConfigs = configs:
let
buildEngineConfigWithOrder = order: name:
let
config = configs.${name} or {
_name = name;
_isAppProvided = true;
_metaData = { };
};
in config // {
_metaData = config._metaData // { inherit order; };
};
engineConfigsWithoutOrder =
attrValues (removeAttrs configs profile.search.order);
sortedEngineConfigs =
(imap buildEngineConfigWithOrder profile.search.order)
++ engineConfigsWithoutOrder;
in sortedEngineConfigs;
engineInput = profile.search.engines // {
# Infer profile.search.default as an app provided
# engine if it's not in profile.search.engines
${profile.search.default} =
profile.search.engines.${profile.search.default} or { };
} // {
${profile.search.privateDefault} =
profile.search.engines.${profile.search.privateDefault} or { };
};
in sortEngineConfigs (mapAttrs buildEngineConfig engineInput);
metaData = optionalAttrs (profile.search.default != null) {
current = profile.search.default;
hash = "@hash@";
} // optionalAttrs (profile.search.privateDefault != null) {
private = profile.search.privateDefault;
privateHash = "@privateHash@";
} // {
useSavedOrder = profile.search.order != [ ];
};
};
# Home Manager doesn't circumvent user consent and isn't acting
# maliciously. We're modifying the search outside of Firefox, but
# a claim by Mozilla to remove this would be very anti-user, and
# is unlikely to be an issue for our use case.
disclaimer = appName:
"By modifying this file, I agree that I am doing so "
+ "only within ${appName} itself, using official, user-driven search "
+ "engine selection processes, and in a way which does not circumvent "
+ "user consent. I acknowledge that any attempt to change this file "
+ "from outside of ${appName} is a malicious act, and will be responded "
+ "to accordingly.";
salt = if profile.search.default != null then
profile.path + profile.search.default + disclaimer "Firefox"
else
null;
privateSalt = if profile.search.privateDefault != null then
profile.path + profile.search.privateDefault
+ disclaimer "Firefox"
else
null;
in pkgs.runCommand "search.json.mozlz4" {
nativeBuildInputs = with pkgs; [ mozlz4a openssl ];
json = builtins.toJSON settings;
inherit salt privateSalt;
} ''
if [[ -n $salt ]]; then
export hash=$(echo -n "$salt" | openssl dgst -sha256 -binary | base64)
export privateHash=$(echo -n "$privateSalt" | openssl dgst -sha256 -binary | base64)
mozlz4a <(substituteStream json search.json.in --subst-var hash --subst-var privateHash) "$out"
else
mozlz4a <(echo "$json") "$out"
fi
'';
};
"${profilesPath}/${profile.path}/extensions" =
mkIf (profile.extensions != [ ]) {
source = let
extensionsEnvPkg = pkgs.buildEnv {
name = "hm-firefox-extensions";
paths = profile.extensions;
};
in "${extensionsEnvPkg}/share/mozilla/${extensionPath}";
recursive = true;
force = true;
};
}));
};
}

File diff suppressed because it is too large Load Diff

View File

@@ -288,6 +288,16 @@ in {
'';
};
preferAbbrs = mkOption {
type = types.bool;
default = false;
example = true;
description = ''
If enabled, abbreviations will be preferred over aliases when
other modules define aliases for fish.
'';
};
shellInit = mkOption {
type = types.lines;
default = "";

View File

@@ -7,7 +7,7 @@ let
yamlFormat = pkgs.formats.yaml { };
in {
meta.maintainers = [ lib.maintainers.janik ];
meta.maintainers = [ lib.hm.maintainers.janik ];
options.programs.gh-dash = {
enable = lib.mkEnableOption "GitHub CLI dashboard plugin";

View File

@@ -214,6 +214,24 @@ in {
};
};
diff-highlight = {
enable = mkEnableOption "" // {
description = ''
Enable the contrib {command}`diff-highlight` syntax highlighter.
See <https://github.com/git/git/blob/master/contrib/diff-highlight/README>,
'';
};
pagerOpts = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "--tabs=4" "-RFX" ];
description = ''
Arguments to be passed to {command}`less`.
'';
};
};
difftastic = {
enable = mkEnableOption "" // {
description = ''
@@ -222,6 +240,8 @@ in {
'';
};
package = mkPackageOption pkgs "difftastic" { };
background = mkOption {
type = types.enum [ "light" "dark" ];
default = "light";
@@ -358,11 +378,15 @@ in {
home.packages = [ cfg.package ];
assertions = [{
assertion = let
enabled =
[ cfg.delta.enable cfg.diff-so-fancy.enable cfg.difftastic.enable ];
enabled = [
cfg.delta.enable
cfg.diff-so-fancy.enable
cfg.difftastic.enable
cfg.diff-highlight.enable
];
in count id enabled <= 1;
message =
"Only one of 'programs.git.delta.enable' or 'programs.git.difftastic.enable' or 'programs.git.diff-so-fancy.enable' can be set to true at the same time.";
"Only one of 'programs.git.delta.enable' or 'programs.git.difftastic.enable' or 'programs.git.diff-so-fancy.enable' or 'programs.git.diff-highlight' can be set to true at the same time.";
}];
programs.git.iniContent.user = {
@@ -477,12 +501,24 @@ in {
};
})
(mkIf cfg.diff-highlight.enable {
programs.git.iniContent = let
dhCommand =
"${cfg.package}/share/git/contrib/diff-highlight/diff-highlight";
in {
core.pager = "${dhCommand} | ${getExe pkgs.less} ${
escapeShellArgs cfg.diff-highlight.pagerOpts
}";
interactive.diffFilter = dhCommand;
};
})
(mkIf cfg.difftastic.enable {
home.packages = [ pkgs.difftastic ];
home.packages = [ cfg.difftastic.package ];
programs.git.iniContent = let
difftCommand = concatStringsSep " " [
"${pkgs.difftastic}/bin/difft"
"${getExe cfg.difftastic.package}"
"--color ${cfg.difftastic.color}"
"--background ${cfg.difftastic.background}"
"--display ${cfg.difftastic.display}"

View File

@@ -316,7 +316,7 @@ in {
})
];
home.packages = [ pkgs.gnome.gnome-terminal ];
home.packages = [ pkgs.gnome-terminal ];
dconf.settings = let dconfPath = "org/gnome/terminal/legacy";
in {

View File

@@ -15,6 +15,7 @@ in {
type = types.package;
default = pkgs.helix;
defaultText = literalExpression "pkgs.helix";
example = literalExpression "pkgs.evil-helix";
description = "The package to use for helix.";
};
@@ -75,7 +76,6 @@ in {
default = { };
example = literalExpression ''
{
# the language-server option currently requires helix from the master branch at https://github.com/helix-editor/helix/
language-server.typescript-language-server = with pkgs.nodePackages; {
command = "''${typescript-language-server}/bin/typescript-language-server";
args = [ "--stdio" "--tsserver-path=''${typescript}/lib/node_modules/typescript/lib" ];

View File

@@ -7,7 +7,7 @@ let
jsonFormat = pkgs.formats.json { };
in {
meta.maintainers = [ maintainers.lilyinstarlight ];
meta.maintainers = [ hm.maintainers.lilyinstarlight ];
options.programs.hyfetch = {
enable = mkEnableOption "hyfetch";

View File

@@ -7,6 +7,11 @@ let
cfg = config.programs.jujutsu;
tomlFormat = pkgs.formats.toml { };
configDir = if pkgs.stdenv.isDarwin then
"Library/Application Support"
else
config.xdg.configHome;
in {
meta.maintainers = [ maintainers.shikanime ];
@@ -51,7 +56,7 @@ in {
config = mkIf cfg.enable {
home.packages = [ cfg.package ];
xdg.configFile."jj/config.toml" = mkIf (cfg.settings != { }) {
home.file."${configDir}/jj/config.toml" = mkIf (cfg.settings != { }) {
source = tomlFormat.generate "jujutsu-config" (cfg.settings
// optionalAttrs (cfg.ediff) (let
emacsDiffScript = pkgs.writeShellScriptBin "emacs-ediff" ''

View File

@@ -9,11 +9,7 @@ let
inherit (pkgs.stdenv.hostPlatform) isDarwin;
in {
meta.maintainers = with maintainers; [
katexochen
liyangau
hm.maintainers.LucasWagler
];
meta.maintainers = with maintainers; [ liyangau hm.maintainers.LucasWagler ];
imports = [
(mkRenamedOptionModule [ "programs" "k9s" "skin" ] [
@@ -46,7 +42,7 @@ in {
};
skins = mkOption {
type = types.attrsOf yamlFormat.type;
type = with types; attrsOf (either yamlFormat.type path);
default = { };
description = ''
Skin files written to {file}`$XDG_CONFIG_HOME/k9s/skins/` (linux)
@@ -54,13 +50,16 @@ in {
<https://k9scli.io/topics/skins/> for supported values.
'';
example = literalExpression ''
my_blue_skin = {
k9s = {
body = {
fgColor = "dodgerblue";
{
my_blue_skin = {
k9s = {
body = {
fgColor = "dodgerblue";
};
};
};
};
my_red_skin = ./red_skin.yaml;
}
'';
};
@@ -174,7 +173,10 @@ in {
"k9s/skins/${name}.yaml"
else
"Library/Application Support/k9s/skins/${name}.yaml") {
source = yamlFormat.generate "k9s-skin-${name}.yaml" value;
source = if lib.types.path.check value then
value
else
yamlFormat.generate "k9s-skin-${name}.yaml" value;
}) cfg.skins;
enableXdgConfig = !isDarwin || config.xdg.enable;

View File

@@ -168,6 +168,8 @@ in {
options.programs.khal = {
enable = mkEnableOption "khal, a CLI calendar application";
package = mkPackageOption pkgs "khal" { };
locale = mkOption {
type = lib.types.submodule { options = localeOptions; };
description = ''
@@ -197,7 +199,7 @@ in {
};
config = mkIf cfg.enable {
home.packages = [ pkgs.khal ];
home.packages = [ cfg.package ];
xdg.configFile."khal/config".text = concatStringsSep "\n" ([ "[calendars]" ]
++ mapAttrsToList genCalendarStr khalAccounts ++ [

View File

@@ -68,6 +68,11 @@ in {
type = with lib.types;
attrsOf (submodule {
options.khard.enable = lib.mkEnableOption "khard access";
options.khard.defaultCollection = lib.mkOption {
type = types.str;
default = "";
description = "VCARD collection to be searched by khard.";
};
});
};
};
@@ -75,11 +80,17 @@ in {
config = lib.mkIf cfg.enable {
home.packages = [ pkgs.khard ];
xdg.configFile."khard/khard.conf".text = ''
xdg.configFile."khard/khard.conf".text = let
makePath = anAccount:
builtins.toString (/. + lib.concatStringsSep "/" [
anAccount.local.path
anAccount.khard.defaultCollection
]);
in ''
[addressbooks]
${lib.concatMapStringsSep "\n" (acc: ''
[[${acc.name}]]
path = ${acc.local.path}
path = ${makePath acc}
'') (lib.attrValues accounts)}
${renderSettings cfg.settings}

View File

@@ -74,7 +74,15 @@ in {
programs.zsh.shellAliases = mkIf cfg.enableAliases aliases;
programs.fish.shellAliases = mkIf cfg.enableAliases aliases;
programs.fish = mkMerge [
(mkIf (!config.programs.fish.preferAbbrs) {
shellAliases = mkIf cfg.enableAliases aliases;
})
(mkIf config.programs.fish.preferAbbrs {
shellAbbrs = mkIf cfg.enableAliases aliases;
})
];
programs.lsd =
mkIf (cfg.colors != { }) { settings.color.theme = "custom"; };

View File

@@ -5,6 +5,8 @@ let
cfg = config.programs.mcfly;
tomlFormat = pkgs.formats.toml { };
bashIntegration = ''
eval "$(${getExe pkgs.mcfly} init bash)"
'' + optionalString cfg.fzf.enable ''
@@ -40,6 +42,37 @@ in {
options.programs.mcfly = {
enable = mkEnableOption "mcfly";
settings = mkOption {
type = tomlFormat.type;
default = { };
example = literalExpression ''
{
colors = {
menubar = {
bg = "black";
fg = "red";
};
darkmode = {
prompt = "cyan";
timing = "yellow";
results_selection_fg = "cyan";
results_selection_bg = "black";
results_selection_hl = "red";
};
};
}
'';
description = ''
Settings written to {file}`~/.config/mcfly/config.toml`.
Note, if your McFly database is currently in {file}`~/.mcfly`,
then this option has no effect.
Move the database to {file}`$XDG_DATA_DIR/mcfly/history.db` and
remove {file}`~/.mcfly` to make the settings take effect. See
<https://github.com/cantino/mcfly#database-location>.
'';
};
keyScheme = mkOption {
type = types.enum [ "emacs" "vim" ];
default = "emacs";
@@ -105,6 +138,11 @@ in {
{
home.packages = [ pkgs.mcfly ] ++ optional cfg.fzf.enable pkgs.mcfly-fzf;
# Oddly enough, McFly expects this in the data path, not in config.
xdg.dataFile."mcfly/config.toml" = mkIf (cfg.settings != { }) {
source = tomlFormat.generate "mcfly-config.toml" cfg.settings;
};
programs.bash.initExtra = mkIf cfg.enableBashIntegration bashIntegration;
programs.zsh.initExtra = mkIf cfg.enableZshIntegration zshIntegration;

View File

@@ -15,6 +15,8 @@ in {
programs.micro = {
enable = mkEnableOption "micro, a terminal-based text editor";
package = mkPackageOption pkgs "micro" { };
settings = mkOption {
type = jsonFormat.type;
default = { };
@@ -35,7 +37,7 @@ in {
};
config = mkIf cfg.enable {
home.packages = [ pkgs.micro ];
home.packages = [ cfg.package ];
xdg.configFile."micro/settings.json".source =
jsonFormat.generate "micro-settings" cfg.settings;

View File

@@ -55,8 +55,10 @@ let
mpvPackage = if cfg.scripts == [ ] then
cfg.package
else if hasAttr "wrapMpv" pkgs then
pkgs.wrapMpv pkgs.mpv-unwrapped { scripts = cfg.scripts; }
else
pkgs.wrapMpv pkgs.mpv-unwrapped { scripts = cfg.scripts; };
pkgs.mpv.override { scripts = cfg.scripts; };
in {
options = {
@@ -227,5 +229,5 @@ in {
}
]);
meta.maintainers = with maintainers; [ tadeokondrak thiagokokada chuangzhu ];
meta.maintainers = with maintainers; [ thiagokokada chuangzhu ];
}

View File

@@ -0,0 +1,52 @@
{ config, lib, pkgs, ... }:
let
cfg = config.programs.neovide;
settingsFormat = pkgs.formats.toml { };
in {
meta.maintainers = [ lib.hm.maintainers.NitroSniper ];
options.programs.neovide = {
enable = lib.mkEnableOption "Neovide, No Nonsense Neovim Client in Rust";
package = lib.mkPackageOption pkgs "neovide" { };
settings = lib.mkOption {
type = settingsFormat.type;
example = lib.literalExpression ''
{
fork = false;
frame = "full";
idle = true;
maximized = false;
neovim-bin = "/usr/bin/nvim";
no-multigrid = false;
srgb = false;
tabs = true;
theme = "auto";
title-hidden = true;
vsync = true;
wsl = false;
font = {
normal = [];
size = 14.0;
};
}
'';
description = ''
Neovide configuration.
For available settings see <https://neovide.dev/config-file.html>.
For any option not found will need to be done in your neovim's config instead.
'';
};
};
config = lib.mkIf cfg.enable {
home.packages = [ cfg.package ];
xdg.configFile."neovide/config.toml".source =
settingsFormat.generate "config.toml" cfg.settings;
};
}

View File

@@ -19,6 +19,8 @@ in {
options.programs.papis = {
enable = mkEnableOption "papis";
package = mkPackageOption pkgs "papis" { };
settings = mkOption {
type = with types; attrsOf (oneOf [ bool int str ]);
default = { };
@@ -84,7 +86,7 @@ in {
(", namely " + concatStringsSep "," defaultLibraries);
}];
home.packages = [ pkgs.papis ];
home.packages = [ cfg.package ];
xdg.configFile."papis/config" =
mkIf (cfg.libraries != { }) { text = generators.toINI { } settingsIni; };

View File

@@ -28,7 +28,15 @@ in {
programs.bash.shellAliases = mkIf cfg.enableAliases aliases;
programs.fish.shellAliases = mkIf cfg.enableAliases aliases;
programs.fish = mkMerge [
(mkIf (!config.programs.fish.preferAbbrs) {
shellAliases = mkIf cfg.enableAliases aliases;
})
(mkIf config.programs.fish.preferAbbrs {
shellAbbrs = mkIf cfg.enableAliases aliases;
})
];
programs.zsh.shellAliases = mkIf cfg.enableAliases aliases;
};

View File

@@ -23,14 +23,13 @@ in {
default = { };
description = ''
Configuration written to {file}`$XDG_CONFIG_HOME/pqivrc`. See
{manpage}`pqiv(1)` for a list of available options. To set a
boolean flag, set the value to 1.
{manpage}`pqiv(1)` for a list of available options.
'';
example = literalExpression ''
{
options = {
lazy-load = 1;
hide-info-box = 1;
lazy-load = true;
hide-info-box = true;
background-pattern = "black";
thumbnail-size = "256x256";
command-1 = "thunar";
@@ -68,7 +67,15 @@ in {
xdg.configFile."pqivrc" =
mkIf (cfg.settings != { } && cfg.extraConfig != "") {
text = lib.concatLines [
(generators.toINI { } cfg.settings)
(generators.toINI {
mkKeyValue = key: value:
let
value' = if isBool value then
(if value then "1" else "0")
else
toString value;
in "${key} = ${value'}";
} cfg.settings)
cfg.extraConfig
];
};

View File

@@ -19,7 +19,7 @@ let
base_url = mkOption {
type = with types; nullOr str;
default = null;
example = "bitwarden.example.com";
example = "https://bitwarden.example.com/";
description =
"The base-url for a self-hosted bitwarden installation.";
};
@@ -27,7 +27,7 @@ let
identity_url = mkOption {
type = with types; nullOr str;
default = null;
example = "identity.example.com";
example = "https://identity.example.com/";
description = "The identity url for your bitwarden installation.";
};

View File

@@ -1,7 +1,7 @@
{ config, pkgs, lib, ... }:
let cfg = config.programs.script-directory;
in {
meta.maintainers = [ lib.maintainers.janik ];
meta.maintainers = [ lib.hm.maintainers.janik ];
options.programs.script-directory = {
enable = lib.mkEnableOption "script-directory";

View File

@@ -29,7 +29,7 @@ let
in "${key} ${generatedValue}";
in {
meta.maintainers = [ maintainers.ivar ];
meta.maintainers = [ ];
options.programs.sm64ex = {
enable = mkEnableOption "sm64ex";

View File

@@ -24,14 +24,7 @@ in {
};
settings = mkOption {
type = with types;
let
prim = either bool (either int str);
primOrPrimAttrs = either prim (attrsOf prim);
entry = either prim (listOf primOrPrimAttrs);
entryOrAttrsOf = t: either entry (attrsOf t);
entries = entryOrAttrsOf (entryOrAttrsOf entry);
in attrsOf entries // { description = "Starship configuration"; };
type = tomlFormat.type;
default = { };
example = literalExpression ''
{

View File

@@ -85,7 +85,8 @@ in {
'';
};
package = mkPackageOption pkgs "taskwarrior" { };
package =
mkPackageOption pkgs "taskwarrior" { example = "pkgs.taskwarrior3"; };
};
};

View File

@@ -28,13 +28,15 @@ in {
defaultText = literalExpression "{ }";
example = literalExpression ''
{
assume_yes = true;
disable = [
"flutter"
"node"
];
set_title = false;
cleanup = true;
misc = {
assume_yes = true;
disable = [
"flutter"
"node"
];
set_title = false;
cleanup = true;
};
commands = {
"Run garbage collection on Nix store" = "nix-collect-garbage";
};

View File

@@ -14,7 +14,7 @@ let
config.xdg.configHome;
in {
meta.maintainers = [ maintainers.polykernel ];
meta.maintainers = [ ];
options.programs.watson = {
enable = mkEnableOption "watson, a wonderful CLI to track your time";

View File

@@ -69,8 +69,8 @@ let
};
modules-left = mkOption {
type = listOf str;
default = [ ];
type = nullOr (listOf str);
default = null;
description = "Modules that will be displayed on the left.";
example = literalExpression ''
[ "sway/workspaces" "sway/mode" "wlr/taskbar" ]
@@ -78,8 +78,8 @@ let
};
modules-center = mkOption {
type = listOf str;
default = [ ];
type = nullOr (listOf str);
default = null;
description = "Modules that will be displayed in the center.";
example = literalExpression ''
[ "sway/window" ]
@@ -87,8 +87,8 @@ let
};
modules-right = mkOption {
type = listOf str;
default = [ ];
type = nullOr (listOf str);
default = null;
description = "Modules that will be displayed on the right.";
example = literalExpression ''
[ "mpd" "custom/mymodule#with-css-id" "temperature" ]

View File

@@ -7,29 +7,29 @@ let
tomlFormat = pkgs.formats.toml { };
bashIntegration = ''
function ya() {
function ${cfg.shellWrapperName}() {
local tmp="$(mktemp -t "yazi-cwd.XXXXX")"
yazi "$@" --cwd-file="$tmp"
if cwd="$(cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
cd -- "$cwd"
builtin cd -- "$cwd"
fi
rm -f -- "$tmp"
}
'';
fishIntegration = ''
function ya
function ${cfg.shellWrapperName}
set tmp (mktemp -t "yazi-cwd.XXXXX")
yazi $argv --cwd-file="$tmp"
if set cwd (cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ]
cd -- "$cwd"
builtin cd -- "$cwd"
end
rm -f -- "$tmp"
end
'';
nushellIntegration = ''
def --env ya [...args] {
def --env ${cfg.shellWrapperName} [...args] {
let tmp = (mktemp -t "yazi-cwd.XXXXX")
yazi ...$args --cwd-file $tmp
let cwd = (open $tmp)
@@ -40,16 +40,20 @@ let
}
'';
in {
meta.maintainers = [ maintainers.xyenon ];
meta.maintainers = with maintainers; [ xyenon eljamm ];
options.programs.yazi = {
enable = mkEnableOption "yazi";
package = mkOption {
type = types.package;
default = pkgs.yazi;
defaultText = literalExpression "pkgs.yazi";
description = "Yazi package to install.";
package = mkPackageOption pkgs "yazi" { };
shellWrapperName = mkOption {
type = types.str;
default = "yy";
example = "y";
description = ''
Name of the shell wrapper to be called.
'';
};
enableBashIntegration = mkEnableOption "Bash integration";
@@ -135,6 +139,52 @@ in {
for the full list of options
'';
};
initLua = mkOption {
type = with types; nullOr (either path lines);
default = null;
description = ''
The init.lua for Yazi itself.
'';
example = literalExpression "./init.lua";
};
plugins = mkOption {
type = with types; attrsOf (oneOf [ path package ]);
default = { };
description = ''
Lua plugins.
Values should be a package or path containing an `init.lua` file.
Will be linked to {file}`$XDG_CONFIG_HOME/yazi/plugins/<name>.yazi`.
See <https://yazi-rs.github.io/docs/plugins/overview>
for documentation.
'';
example = literalExpression ''
{
foo = ./foo;
bar = pkgs.bar;
}
'';
};
flavors = mkOption {
type = with types; attrsOf (oneOf [ path package ]);
default = { };
description = ''
Pre-made themes.
Values should be a package or path containing the required files.
Will be linked to {file}`$XDG_CONFIG_HOME/yazi/flavors/<name>.yazi`.
See <https://yazi-rs.github.io/docs/flavors/overview/> for documentation.
'';
example = literalExpression ''
{
foo = ./foo;
bar = pkgs.bar;
}
'';
};
};
config = mkIf cfg.enable {
@@ -160,6 +210,69 @@ in {
"yazi/theme.toml" = mkIf (cfg.theme != { }) {
source = tomlFormat.generate "yazi-theme" cfg.theme;
};
};
"yazi/init.lua" = mkIf (cfg.initLua != null)
(if builtins.isPath cfg.initLua then {
source = cfg.initLua;
} else {
text = cfg.initLua;
});
} // (mapAttrs' (name: value:
nameValuePair "yazi/flavors/${name}.yazi" { source = value; })
cfg.flavors) // (mapAttrs' (name: value:
nameValuePair "yazi/plugins/${name}.yazi" { source = value; })
cfg.plugins);
warnings = filter (s: s != "") (concatLists [
(mapAttrsToList (name: value:
optionalString (hasSuffix ".yazi" name) ''
Flavors like `programs.yazi.flavors."${name}"` should no longer have the suffix ".yazi" in their attribute name.
The flavor will be linked to `$XDG_CONFIG_HOME/yazi/flavors/${name}.yazi`.
You probably want to rename it to `programs.yazi.flavors."${
removeSuffix ".yazi" name
}"`.
'') cfg.flavors)
(mapAttrsToList (name: value:
optionalString (hasSuffix ".yazi" name) ''
Plugins like `programs.yazi.plugins."${name}"` should no longer have the suffix ".yazi" in their attribute name.
The plugin will be linked to `$XDG_CONFIG_HOME/yazi/plugins/${name}.yazi`.
You probably want to rename it to `programs.yazi.plugins."${
removeSuffix ".yazi" name
}"`.
'') cfg.plugins)
]);
assertions = let
mkAsserts = opt: requiredFiles:
mapAttrsToList (name: value:
let
isDir = pathIsDirectory "${value}";
msgNotDir = optionalString (!isDir)
"The path or package should be a directory, not a single file.";
isFileMissing = file:
!(pathExists "${value}/${file}")
|| pathIsDirectory "${value}/${file}";
missingFiles = filter isFileMissing requiredFiles;
msgFilesMissing = optionalString (missingFiles != [ ])
"The ${singularOpt} is missing these files: ${
toString missingFiles
}";
singularOpt = removeSuffix "s" opt;
in {
assertion = isDir && missingFiles == [ ];
message = ''
Value at `programs.yazi.${opt}.${name}` is not a valid yazi ${singularOpt}.
${msgNotDir}
${msgFilesMissing}
Evaluated value: `${value}`
'';
}) cfg.${opt};
in (mkAsserts "flavors" [
"flavor.toml"
"tmtheme.xml"
"README.md"
"preview.png"
"LICENSE"
"LICENSE-tmtheme"
]) ++ (mkAsserts "plugins" [ "init.lua" ]);
};
}

View File

@@ -77,16 +77,26 @@ in {
})"
'';
programs.fish.shellInit = mkIf cfg.enableFishIntegration ''
source (${pkgs.z-lua}/bin/z --init fish ${
concatStringsSep " " cfg.options
} | psub)
'';
programs.bash.shellAliases = mkIf cfg.enableAliases aliases;
programs.zsh.shellAliases = mkIf cfg.enableAliases aliases;
programs.fish.shellAliases = mkIf cfg.enableAliases aliases;
programs.fish = mkMerge [
{
shellInit = mkIf cfg.enableFishIntegration ''
source (${pkgs.z-lua}/bin/z --init fish ${
concatStringsSep " " cfg.options
} | psub)
'';
}
(mkIf (!config.programs.fish.preferAbbrs) {
shellAliases = mkIf cfg.enableAliases aliases;
})
(mkIf config.programs.fish.preferAbbrs {
shellAbbrs = mkIf cfg.enableAliases aliases;
})
];
};
}

View File

@@ -34,6 +34,21 @@ let
historyModule = types.submodule ({ config, ... }: {
options = {
append = mkOption {
type = types.bool;
default = false;
description = ''
If set, zsh sessions will append their history list to the history
file, rather than replace it. Thus, multiple parallel zsh sessions
will all have the new entries from their history lists added to the
history file, in the order that they exit.
This file will still be periodically re-written to trim it when the
number of lines grows 20% beyond the value specified by
`programs.zsh.history.save`.
'';
};
size = mkOption {
type = types.int;
default = 10000;
@@ -398,6 +413,22 @@ in
{manpage}`zshzle(1)` for syntax.
'';
};
strategy = mkOption {
type = types.listOf (types.enum [ "history" "completion" "match_prev_cmd" ]);
default = [ "history" ];
description = ''
`ZSH_AUTOSUGGEST_STRATEGY` is an array that specifies how suggestions should be generated.
The strategies in the array are tried successively until a suggestion is found.
There are currently three built-in strategies to choose from:
- `history`: Chooses the most recent match from history.
- `completion`: Chooses a suggestion based on what tab-completion would suggest. (requires `zpty` module)
- `match_prev_cmd`: Like `history`, but chooses the most recent match whose preceding history item matches
the most recently executed command. Note that this strategy won't work as expected with ZSH options that
don't preserve the history order such as `HIST_IGNORE_ALL_DUPS` or `HIST_EXPIRE_DUPS_FIRST`.
'';
};
};
history = mkOption {
@@ -610,6 +641,7 @@ in
(optionalString cfg.autosuggestion.enable ''
source ${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh
ZSH_AUTOSUGGEST_STRATEGY=(${concatStringsSep " " cfg.autosuggestion.strategy})
'')
(optionalString (cfg.autosuggestion.enable && cfg.autosuggestion.highlight != null) ''
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="${cfg.autosuggestion.highlight}"
@@ -652,6 +684,7 @@ in
mkdir -p "$(dirname "$HISTFILE")"
setopt HIST_FCNTL_LOCK
${if cfg.history.append then "setopt" else "unsetopt"} APPEND_HISTORY
${if cfg.history.ignoreDups then "setopt" else "unsetopt"} HIST_IGNORE_DUPS
${if cfg.history.ignoreAllDups then "setopt" else "unsetopt"} HIST_IGNORE_ALL_DUPS
${if cfg.history.ignoreSpace then "setopt" else "unsetopt"} HIST_IGNORE_SPACE

View File

@@ -0,0 +1,40 @@
{ pkgs, lib, config, ... }:
let
cfg = config.services.blanket;
inherit (lib) mkIf mkEnableOption mkPackageOption hm platforms;
in {
meta.maintainers = [ lib.maintainers.daru-san ];
options.services.blanket = {
enable = mkEnableOption "blanket";
package = mkPackageOption pkgs "blanket" { };
};
config = mkIf cfg.enable {
assertions = [
(hm.assertions.assertPlatform "services.blanket" pkgs platforms.linux)
];
home.packages = [ cfg.package ];
systemd.user.services.blanket = {
Unit = {
Description = "Blanket daemon";
Requires = [ "dbus.service" ];
After = [ "graphical-session-pre.target" ];
PartOf = [ "graphical-session.target" "pipewire.service" ];
};
Install.WantedBy = [ "graphical-session.target" ];
Service = {
ExecStart = "${cfg.package}/bin/blanket --gapplication-service";
Restart = "on-failure";
RestartSec = 5;
};
};
};
}

View File

@@ -46,7 +46,6 @@ in {
# Lower CPU and I/O priority:
Nice = 19;
CPUSchedulingPolicy = "batch";
IOSchedulingClass = "best-effort";
IOSchedulingPriority = 7;
IOWeight = 100;

Some files were not shown because too many files have changed in this diff Show More