diff --git a/.builds/manual.yml b/.builds/manual.yml
index af257412c..4072e5a4d 100644
--- a/.builds/manual.yml
+++ b/.builds/manual.yml
@@ -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 \
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 76b9adfa7..6ba7256db 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -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:
diff --git a/.github/labeler.yml b/.github/labeler.yml
index b03251e89..cab1b5438 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -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
diff --git a/.github/workflows/github_pages.yml b/.github/workflows/github_pages.yml
index 32e670e8a..9f49d49a8 100644
--- a/.github/workflows/github_pages.yml
+++ b/.github/workflows/github_pages.yml
@@ -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 }}'
diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml
index daea610a3..81585d859 100644
--- a/.github/workflows/labeler.yml
+++ b/.github/workflows/labeler.yml
@@ -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
-
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 40d4e2b33..05d04163b 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -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: |
diff --git a/.github/workflows/update-flake.yml b/.github/workflows/update-flake.yml
index 648528668..8ba9264d3 100644
--- a/.github/workflows/update-flake.yml
+++ b/.github/workflows/update-flake.yml
@@ -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
diff --git a/README.md b/README.md
index 4444fbbdb..075ccaae8 100644
--- a/README.md
+++ b/README.md
@@ -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.
diff --git a/docs/home-manager-manual.nix b/docs/home-manager-manual.nix
index 34196d423..23b2d1e65 100644
--- a/docs/home-manager-manual.nix
+++ b/docs/home-manager-manual.nix
@@ -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
diff --git a/docs/manual/installation/nix-darwin.md b/docs/manual/installation/nix-darwin.md
index afa93e8f9..f10253064 100644
--- a/docs/manual/installation/nix-darwin.md
+++ b/docs/manual/installation/nix-darwin.md
@@ -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";
};
```
diff --git a/docs/manual/installation/nixos.md b/docs/manual/installation/nixos.md
index 18a60e96c..d432a54be 100644
--- a/docs/manual/installation/nixos.md
+++ b/docs/manual/installation/nixos.md
@@ -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";
};
```
diff --git a/docs/manual/installation/standalone.md b/docs/manual/installation/standalone.md
index 7ca38ef65..4afb7f347 100644
--- a/docs/manual/installation/standalone.md
+++ b/docs/manual/installation/standalone.md
@@ -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
```
diff --git a/docs/manual/introduction.md b/docs/manual/introduction.md
new file mode 100644
index 000000000..ebdac5bd6
--- /dev/null
+++ b/docs/manual/introduction.md
@@ -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 , 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).
diff --git a/docs/manual/manual.md b/docs/manual/manual.md
index a1cfb1a0c..0f81642f7 100644
--- a/docs/manual/manual.md
+++ b/docs/manual/manual.md
@@ -8,6 +8,7 @@ preface.md
```
```{=include=} parts
+introduction.md
installation.md
usage.md
nix-flakes.md
diff --git a/docs/manual/nix-flakes/standalone.md b/docs/manual/nix-flakes/standalone.md
index 4ee8278a6..fc967f460 100644
--- a/docs/manual/nix-flakes/standalone.md
+++ b/docs/manual/nix-flakes/standalone.md
@@ -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
diff --git a/docs/manual/usage/configuration.md b/docs/manual/usage/configuration.md
index d611ec185..deb046a6b 100644
--- a/docs/manual/usage/configuration.md
+++ b/docs/manual/usage/configuration.md
@@ -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;
diff --git a/docs/options.html b/docs/options.html
new file mode 100644
index 000000000..66c803fc9
--- /dev/null
+++ b/docs/options.html
@@ -0,0 +1,15 @@
+
+
+
+ Redirecting…
+
+
+
+
+
+
Redirecting…
+
+
+
diff --git a/docs/release-notes/release-notes.md b/docs/release-notes/release-notes.md
index 91fc2ed5d..dabeba0c9 100644
--- a/docs/release-notes/release-notes.md
+++ b/docs/release-notes/release-notes.md
@@ -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
diff --git a/docs/release-notes/rl-2405.md b/docs/release-notes/rl-2405.md
index b69b34fe3..9bb629f72 100644
--- a/docs/release-notes/rl-2405.md
+++ b/docs/release-notes/rl-2405.md
@@ -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.
diff --git a/docs/release-notes/rl-2411.md b/docs/release-notes/rl-2411.md
new file mode 100644
index 000000000..85eae034f
--- /dev/null
+++ b/docs/release-notes/rl-2411.md
@@ -0,0 +1,18 @@
+# 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:
+
+- No changes.
+
+## 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.
diff --git a/flake.lock b/flake.lock
index 3213b2add..b700f2083 100644
--- a/flake.lock
+++ b/flake.lock
@@ -2,11 +2,11 @@
"nodes": {
"nixpkgs": {
"locked": {
- "lastModified": 1715266358,
- "narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=",
+ "lastModified": 1719848872,
+ "narHash": "sha256-H3+EC5cYuq+gQW8y0lSrrDZfH71LB4DAf+TDFyvwCNA=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "f1010e0469db743d14519a1efd37e23f8513d714",
+ "rev": "00d80d13810dbfea8ab4ed1009b09100cca86ba8",
"type": "github"
},
"original": {
diff --git a/home-manager/home-manager b/home-manager/home-manager
index 630fe39a9..5bf796b47 100644
--- a/home-manager/home-manager
+++ b/home-manager/home-manager
@@ -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
;;
*)
diff --git a/home-manager/po/ar.po b/home-manager/po/ar.po
new file mode 100644
index 000000000..ea67fd5ae
--- /dev/null
+++ b/home-manager/po/ar.po
@@ -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 , 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 ""
diff --git a/home-manager/po/da.po b/home-manager/po/da.po
index c49a76fdd..b05d5c231 100644
--- a/home-manager/po/da.po
+++ b/home-manager/po/da.po
@@ -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 \n"
+"PO-Revision-Date: 2024-05-25 11:09+0000\n"
+"Last-Translator: DeeKahy \n"
"Language-Team: Danish \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"
diff --git a/home-manager/po/de.po b/home-manager/po/de.po
index a8109ee50..dddccb375 100644
--- a/home-manager/po/de.po
+++ b/home-manager/po/de.po
@@ -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 \n"
+"PO-Revision-Date: 2024-05-21 18:02+0000\n"
+"Last-Translator: halbGefressen \n"
"Language-Team: German \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"
diff --git a/home-manager/po/fi.po b/home-manager/po/fi.po
index 4e3c19357..2ac20911d 100644
--- a/home-manager/po/fi.po
+++ b/home-manager/po/fi.po
@@ -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 \n"
+"Language-Team: Finnish \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."
diff --git a/home-manager/po/hu.po b/home-manager/po/hu.po
new file mode 100644
index 000000000..a127cf1b0
--- /dev/null
+++ b/home-manager/po/hu.po
@@ -0,0 +1,221 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Home Manager contributors
+# This file is distributed under the same license as the Home Manager package.
+# FIRST AUTHOR , 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-07-05 14:09+0000\n"
+"Last-Translator: Ferenci Ákos \n"
+"Language-Team: Hungarian \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.7-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 ""
+
+#. 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 "%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 ""
+
+#. 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 "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] ""
+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 "Build futtatása nem lehetséges csak-olvasható könyvtárban"
+
+#: 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 "%s generáció eltávolítása"
+
+#: 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 "Ismeretlen argumentum %s"
+
+#: 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 "Hurrá!"
+
+#: 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 "Ismeretlen parancs: %s"
+
+#: home-manager/install.nix:18
+msgid "This derivation is not buildable, please run it using nix-shell."
+msgstr ""
diff --git a/home-manager/po/ja.po b/home-manager/po/ja.po
index 17af07a85..5a558d365 100644
--- a/home-manager/po/ja.po
+++ b/home-manager/po/ja.po
@@ -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 \n"
+"PO-Revision-Date: 2024-05-25 11:09+0000\n"
+"Last-Translator: TANIGUCHI Kohei \n"
"Language-Team: Japanese \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"
diff --git a/home-manager/po/ko.po b/home-manager/po/ko.po
index 2b8fbd2a3..96eae0712 100644
--- a/home-manager/po/ko.po
+++ b/home-manager/po/ko.po
@@ -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 \n"
+"PO-Revision-Date: 2024-05-30 06:09+0000\n"
+"Last-Translator: lentil32 \n"
"Language-Team: Korean \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"
diff --git a/home-manager/po/pl.po b/home-manager/po/pl.po
index c8fa742f0..63eeed3f0 100644
--- a/home-manager/po/pl.po
+++ b/home-manager/po/pl.po
@@ -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 \n"
+"PO-Revision-Date: 2024-06-17 09:46+0000\n"
+"Last-Translator: Mateusz P \n"
"Language-Team: Polish \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"
diff --git a/home-manager/po/vi.po b/home-manager/po/vi.po
index 336b5562a..85baac38b 100644
--- a/home-manager/po/vi.po
+++ b/home-manager/po/vi.po
@@ -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 \n"
+"PO-Revision-Date: 2024-06-02 08:12+0000\n"
+"Last-Translator: goatastronaut0212 \n"
"Language-Team: Vietnamese \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.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: 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
@@ -170,11 +184,11 @@ msgstr ""
#: 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"
@@ -194,31 +208,31 @@ msgstr ""
#: 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."
@@ -230,7 +244,7 @@ msgstr ""
#: 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."
diff --git a/home-manager/po/zh_Hans.po b/home-manager/po/zh_Hans.po
index 3ab325c70..6e773fcab 100644
--- a/home-manager/po/zh_Hans.po
+++ b/home-manager/po/zh_Hans.po
@@ -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 \n"
+"PO-Revision-Date: 2024-05-13 10:00+0000\n"
+"Last-Translator: Zexin Yuan \n"
"Language-Team: Chinese (Simplified) \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"
diff --git a/modules/accounts/email.nix b/modules/accounts/email.nix
index 8657c4cbd..f3996195d 100644
--- a/modules/accounts/email.nix
+++ b/modules/accounts/email.nix
@@ -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").
'';
};
diff --git a/modules/lib/maintainers.nix b/modules/lib/maintainers.nix
index b5175a875..f1a818155 100644
--- a/modules/lib/maintainers.nix
+++ b/modules/lib/maintainers.nix
@@ -113,6 +113,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 +180,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 +215,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";
diff --git a/modules/misc/gtk.nix b/modules/misc/gtk.nix
index 6454eb2ae..e1ae250fd 100644
--- a/modules/misc/gtk.nix
+++ b/modules/misc/gtk.nix
@@ -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;
diff --git a/modules/misc/news.nix b/modules/misc/news.nix
index 2164d66a5..bef867bb4 100644
--- a/modules/misc/news.nix
+++ b/modules/misc/news.nix
@@ -1656,6 +1656,53 @@ 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.
+ '';
+ }
];
};
}
diff --git a/modules/misc/nix.nix b/modules/misc/nix.nix
index a4456946e..2daa56b23 100644
--- a/modules/misc/nix.nix
+++ b/modules/misc/nix.nix
@@ -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. ``).
+ '';
+ };
+
+ 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" {
diff --git a/modules/misc/uninstall.nix b/modules/misc/uninstall.nix
index d12bde43a..b34732b0b 100644
--- a/modules/misc/uninstall.nix
+++ b/modules/misc/uninstall.nix
@@ -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";
diff --git a/modules/misc/version.nix b/modules/misc/version.nix
index 048f784ab..d068a3869 100644
--- a/modules/misc/version.nix
+++ b/modules/misc/version.nix
@@ -21,6 +21,7 @@ in {
"23.05"
"23.11"
"24.05"
+ "24.11"
];
description = ''
It is occasionally necessary for Home Manager to change
diff --git a/modules/misc/xdg-desktop-entries.nix b/modules/misc/xdg-desktop-entries.nix
index 7ec7fa568..1aab6ffe7 100644
--- a/modules/misc/xdg-desktop-entries.nix
+++ b/modules/misc/xdg-desktop-entries.nix
@@ -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;
};
diff --git a/modules/modules.nix b/modules/modules.nix
index 4e1f0e201..dbeebfbf7 100644
--- a/modules/modules.nix
+++ b/modules/modules.nix
@@ -274,6 +274,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 +301,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
diff --git a/modules/po/ar.po b/modules/po/ar.po
new file mode 100644
index 000000000..c2469fa54
--- /dev/null
+++ b/modules/po/ar.po
@@ -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 , 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 ""
diff --git a/modules/po/fi.po b/modules/po/fi.po
index 8733eb956..c16c30807 100644
--- a/modules/po/fi.po
+++ b/modules/po/fi.po
@@ -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 \n"
+"Language-Team: Finnish \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:"
diff --git a/modules/po/hu.po b/modules/po/hu.po
new file mode 100644
index 000000000..b52c62933
--- /dev/null
+++ b/modules/po/hu.po
@@ -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 , 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: hu\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 ""
diff --git a/modules/po/pl.po b/modules/po/pl.po
index 0e88a781a..6ce24f50f 100644
--- a/modules/po/pl.po
+++ b/modules/po/pl.po
@@ -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 \n"
+"PO-Revision-Date: 2024-06-17 09:46+0000\n"
+"Last-Translator: Mateusz P \n"
"Language-Team: Polish \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"
diff --git a/modules/po/vi.po b/modules/po/vi.po
index a285c2bf7..09b510df8 100644
--- a/modules/po/vi.po
+++ b/modules/po/vi.po
@@ -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 \n"
+"PO-Revision-Date: 2024-06-02 08:12+0000\n"
+"Last-Translator: goatastronaut0212 \n"
"Language-Team: Vietnamese \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.6-dev\n"
#: modules/files.nix:191
msgid "Creating home file links in %s"
@@ -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:"
diff --git a/modules/programs/atuin.nix b/modules/programs/atuin.nix
index bd907ac03..a27bcf860 100644
--- a/modules/programs/atuin.nix
+++ b/modules/programs/atuin.nix
@@ -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
diff --git a/modules/programs/bash.nix b/modules/programs/bash.nix
index 5e7a44b53..5a328ecda 100644
--- a/modules/programs/bash.nix
+++ b/modules/programs/bash.nix
@@ -67,8 +67,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.";
};
diff --git a/modules/programs/direnv.nix b/modules/programs/direnv.nix
index add2c8fca..4a7636705 100644
--- a/modules/programs/direnv.nix
+++ b/modules/programs/direnv.nix
@@ -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 = ""; };
};
}
diff --git a/modules/programs/eza.nix b/modules/programs/eza.nix
index 2a297b254..7e002a12e 100644
--- a/modules/programs/eza.nix
+++ b/modules/programs/eza.nix
@@ -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";
diff --git a/modules/programs/fd.nix b/modules/programs/fd.nix
index bc5b709db..f8f59eb54 100644
--- a/modules/programs/fd.nix
+++ b/modules/programs/fd.nix
@@ -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 ];
diff --git a/modules/programs/gh-dash.nix b/modules/programs/gh-dash.nix
index 69d5482b6..b351bb33a 100644
--- a/modules/programs/gh-dash.nix
+++ b/modules/programs/gh-dash.nix
@@ -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";
diff --git a/modules/programs/hyfetch.nix b/modules/programs/hyfetch.nix
index 726bc94e6..485ceb046 100644
--- a/modules/programs/hyfetch.nix
+++ b/modules/programs/hyfetch.nix
@@ -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";
diff --git a/modules/programs/khal.nix b/modules/programs/khal.nix
index 50ccb681e..a2e28e018 100644
--- a/modules/programs/khal.nix
+++ b/modules/programs/khal.nix
@@ -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 ++ [
diff --git a/modules/programs/khard.nix b/modules/programs/khard.nix
index a3e73fb07..cbd8c1f07 100644
--- a/modules/programs/khard.nix
+++ b/modules/programs/khard.nix
@@ -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}
diff --git a/modules/programs/mpv.nix b/modules/programs/mpv.nix
index 26cad1112..f2664e71a 100644
--- a/modules/programs/mpv.nix
+++ b/modules/programs/mpv.nix
@@ -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 ];
}
diff --git a/modules/programs/papis.nix b/modules/programs/papis.nix
index b110172d9..837bfc274 100644
--- a/modules/programs/papis.nix
+++ b/modules/programs/papis.nix
@@ -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; };
diff --git a/modules/programs/rbw.nix b/modules/programs/rbw.nix
index 5dd751d07..b7381c672 100644
--- a/modules/programs/rbw.nix
+++ b/modules/programs/rbw.nix
@@ -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.";
};
diff --git a/modules/programs/script-directory.nix b/modules/programs/script-directory.nix
index 9f5abf65a..bd6b3b401 100644
--- a/modules/programs/script-directory.nix
+++ b/modules/programs/script-directory.nix
@@ -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";
diff --git a/modules/programs/sm64ex.nix b/modules/programs/sm64ex.nix
index 35d608bab..23b75808f 100644
--- a/modules/programs/sm64ex.nix
+++ b/modules/programs/sm64ex.nix
@@ -29,7 +29,7 @@ let
in "${key} ${generatedValue}";
in {
- meta.maintainers = [ maintainers.ivar ];
+ meta.maintainers = [ ];
options.programs.sm64ex = {
enable = mkEnableOption "sm64ex";
diff --git a/modules/programs/starship.nix b/modules/programs/starship.nix
index f253fa7f0..9ccff7fcf 100644
--- a/modules/programs/starship.nix
+++ b/modules/programs/starship.nix
@@ -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 ''
{
diff --git a/modules/programs/topgrade.nix b/modules/programs/topgrade.nix
index a49f897ba..0630ccabd 100644
--- a/modules/programs/topgrade.nix
+++ b/modules/programs/topgrade.nix
@@ -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";
};
diff --git a/modules/programs/waybar.nix b/modules/programs/waybar.nix
index 9925effc9..72d247323 100644
--- a/modules/programs/waybar.nix
+++ b/modules/programs/waybar.nix
@@ -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" ]
diff --git a/modules/programs/yazi.nix b/modules/programs/yazi.nix
index c45342274..d7b880200 100644
--- a/modules/programs/yazi.nix
+++ b/modules/programs/yazi.nix
@@ -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/.yazi`.
+
+ See
+ 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/.yazi`.
+
+ See 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" ]);
};
}
diff --git a/modules/services/blanket.nix b/modules/services/blanket.nix
new file mode 100644
index 000000000..5eeb2ab1e
--- /dev/null
+++ b/modules/services/blanket.nix
@@ -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;
+ };
+ };
+ };
+}
diff --git a/modules/services/cliphist.nix b/modules/services/cliphist.nix
index 3599557f0..1877a6de0 100644
--- a/modules/services/cliphist.nix
+++ b/modules/services/cliphist.nix
@@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:
let cfg = config.services.cliphist;
in {
- meta.maintainers = [ lib.maintainers.janik ];
+ meta.maintainers = [ lib.hm.maintainers.janik ];
options.services.cliphist = {
enable =
diff --git a/modules/services/dunst.nix b/modules/services/dunst.nix
index daa800cf0..bd8c4adfb 100644
--- a/modules/services/dunst.nix
+++ b/modules/services/dunst.nix
@@ -172,7 +172,7 @@ in {
mkPath = { basePath, theme, category }:
"${basePath}/share/icons/${theme.name}/${theme.size}/${category}";
- in concatMapStringsSep ":" mkPath (cartesianProductOfSets {
+ in concatMapStringsSep ":" mkPath (cartesianProduct {
basePath = basePaths;
theme = themes;
category = categories;
diff --git a/modules/services/glance.nix b/modules/services/glance.nix
new file mode 100644
index 000000000..fa4f1a8d7
--- /dev/null
+++ b/modules/services/glance.nix
@@ -0,0 +1,77 @@
+{ config, lib, pkgs, ... }:
+
+let
+ cfg = config.services.glance;
+
+ inherit (lib) mkEnableOption mkPackageOption mkOption mkIf getExe;
+
+ settingsFormat = pkgs.formats.yaml { };
+
+ settingsFile = settingsFormat.generate "glance.yml" cfg.settings;
+
+ configFilePath = "${config.xdg.configHome}/glance/glance.yml";
+in {
+ meta.maintainers = [ pkgs.lib.maintainers.gepbird ];
+
+ options.services.glance = {
+ enable = mkEnableOption "glance";
+
+ package = mkPackageOption pkgs "glance" { };
+
+ settings = mkOption {
+ type = settingsFormat.type;
+ default = {
+ pages = [{
+ name = "Calendar";
+ columns = [{
+ size = "full";
+ widgets = [{ type = "calendar"; }];
+ }];
+ }];
+ };
+ example = {
+ server.port = 5678;
+ pages = [{
+ name = "Home";
+ columns = [{
+ size = "full";
+ widgets = [
+ { type = "calendar"; }
+ {
+ type = "weather";
+ location = "London, United Kingdom";
+ }
+ ];
+ }];
+ }];
+ };
+ description = ''
+ Configuration written to a yaml file that is read by glance. See
+
+ for more.
+ '';
+ };
+ };
+
+ config = mkIf cfg.enable {
+ assertions = [
+ (lib.hm.assertions.assertPlatform "services.glance" pkgs
+ lib.platforms.linux)
+ ];
+
+ home.packages = [ cfg.package ];
+
+ xdg.configFile."glance/glance.yml".source = settingsFile;
+
+ systemd.user.services.glance = {
+ Unit = {
+ Description = "Glance feed dashboard server";
+ PartOf = [ "graphical-session.target" ];
+ };
+
+ Install.WantedBy = [ "graphical-session.target" ];
+
+ Service.ExecStart = "${getExe cfg.package} --config ${configFilePath}";
+ };
+ };
+}
diff --git a/modules/services/gnome-keyring.nix b/modules/services/gnome-keyring.nix
index 460e4abd1..2cfa33d03 100644
--- a/modules/services/gnome-keyring.nix
+++ b/modules/services/gnome-keyring.nix
@@ -49,7 +49,7 @@ in {
args = concatStringsSep " " ([ "--start" "--foreground" ]
++ optional (cfg.components != [ ])
("--components=" + concatStringsSep "," cfg.components));
- in "${pkgs.gnome.gnome-keyring}/bin/gnome-keyring-daemon ${args}";
+ in "${pkgs.gnome-keyring}/bin/gnome-keyring-daemon ${args}";
Restart = "on-abort";
};
diff --git a/modules/services/gpg-agent.nix b/modules/services/gpg-agent.nix
index 509adfa54..cce5ac191 100644
--- a/modules/services/gpg-agent.nix
+++ b/modules/services/gpg-agent.nix
@@ -48,9 +48,8 @@ let
hexStringToBase32 = let
mod = a: b: a - a / b * b;
pow2 = elemAt [ 1 2 4 8 16 32 64 128 256 ];
- splitChars = s: init (tail (splitString "" s));
- base32Alphabet = splitChars "ybndrfg8ejkmcpqxot1uwisza345h769";
+ base32Alphabet = stringToCharacters "ybndrfg8ejkmcpqxot1uwisza345h769";
hexToIntTable = listToAttrs (genList (x: {
name = toLower (toHexString x);
value = x;
@@ -76,7 +75,7 @@ let
buf = buf';
bufBits = bufBits';
};
- in hexString: (foldl' go initState (splitChars hexString)).ret;
+ in hexString: (foldl' go initState (stringToCharacters hexString)).ret;
in {
meta.maintainers = [ maintainers.rycee ];
diff --git a/modules/services/kanshi.nix b/modules/services/kanshi.nix
index 1e6950304..b503ffc7f 100644
--- a/modules/services/kanshi.nix
+++ b/modules/services/kanshi.nix
@@ -209,24 +209,26 @@ in {
Attribute set of profiles.
'';
example = literalExpression ''
- undocked = {
- outputs = [
- {
- criteria = "eDP-1";
- }
- ];
- };
- docked = {
- outputs = [
- {
- criteria = "eDP-1";
- }
- {
- criteria = "Some Company ASDF 4242";
- transform = "90";
- }
- ];
- };
+ {
+ undocked = {
+ outputs = [
+ {
+ criteria = "eDP-1";
+ }
+ ];
+ };
+ docked = {
+ outputs = [
+ {
+ criteria = "eDP-1";
+ }
+ {
+ criteria = "Some Company ASDF 4242";
+ transform = "90";
+ }
+ ];
+ };
+ }
'';
};
@@ -247,28 +249,30 @@ in {
See kanshi(5) for informations.
'';
example = literalExpression ''
- { include = "path/to/included/files"; }
- { output.criteria = "eDP-1";
- output.scale = 2;
- }
- { profile.name = "undocked";
- profile.outputs = [
- {
- criteria = "eDP-1";
- }
- ];
- }
- { profile.name = "docked";
- profile.outputs = [
- {
- criteria = "eDP-1";
- }
- {
- criteria = "Some Company ASDF 4242";
- transform = "90";
- }
- ];
- }
+ [
+ { include = "path/to/included/files"; }
+ { output.criteria = "eDP-1";
+ output.scale = 2;
+ }
+ { profile.name = "undocked";
+ profile.outputs = [
+ {
+ criteria = "eDP-1";
+ }
+ ];
+ }
+ { profile.name = "docked";
+ profile.outputs = [
+ {
+ criteria = "eDP-1";
+ }
+ {
+ criteria = "Some Company ASDF 4242";
+ transform = "90";
+ }
+ ];
+ }
+ ]
'';
};
diff --git a/modules/services/kdeconnect.nix b/modules/services/kdeconnect.nix
index 91b6657fe..656a8c9a6 100644
--- a/modules/services/kdeconnect.nix
+++ b/modules/services/kdeconnect.nix
@@ -48,7 +48,12 @@ in {
Service = {
Environment = "PATH=${config.home.profileDirectory}/bin";
- ExecStart = "${cfg.package}/libexec/kdeconnectd";
+ ExecStart =
+ if strings.versionAtLeast (versions.majorMinor cfg.package.version)
+ "24.05" then
+ "${cfg.package}/bin/kdeconnectd"
+ else
+ "${cfg.package}/libexec/kdeconnectd";
Restart = "on-abort";
};
};
diff --git a/modules/services/listenbrainz-mpd.nix b/modules/services/listenbrainz-mpd.nix
index 5b949ebe5..3cc242216 100644
--- a/modules/services/listenbrainz-mpd.nix
+++ b/modules/services/listenbrainz-mpd.nix
@@ -24,7 +24,7 @@ in {
Configuration for listenbrainz-mpd written to
{file}`$XDG_CONFIG_HOME/listenbrainz-mpd/config.toml`.
'';
- example = { submission.tokenFile = "/run/secrets/listenbrainz-mpd"; };
+ example = { submission.token_file = "/run/secrets/listenbrainz-mpd"; };
};
};
diff --git a/modules/services/mpd.nix b/modules/services/mpd.nix
index a0011b021..3d8d03be7 100644
--- a/modules/services/mpd.nix
+++ b/modules/services/mpd.nix
@@ -171,10 +171,17 @@ in {
];
systemd.user.services.mpd = {
- Unit = {
- After = [ "network.target" "sound.target" ];
- Description = "Music Player Daemon";
- };
+ Unit = mkMerge [
+ {
+ Description = "Music Player Daemon";
+ After = [ "network.target" "sound.target" ];
+ }
+
+ (mkIf cfg.network.startWhenNeeded {
+ Requires = [ "mpd.socket" ];
+ After = [ "mpd.socket" ];
+ })
+ ];
Install = mkIf (!cfg.network.startWhenNeeded) {
WantedBy = [ "default.target" ];
diff --git a/modules/services/nix-gc.nix b/modules/services/nix-gc.nix
index 8ac26dfee..652c575ac 100644
--- a/modules/services/nix-gc.nix
+++ b/modules/services/nix-gc.nix
@@ -90,6 +90,18 @@ in {
garbage collector is run automatically.
'';
};
+
+ persistent = mkOption {
+ type = types.bool;
+ default = true;
+ example = false;
+ description = ''
+ If true, the time when the service unit was last triggered is
+ stored on disk. When the timer is activated, the service unit is
+ triggered immediately if it would have been triggered at least once
+ during the time when the timer was inactive.
+ '';
+ };
};
};
@@ -107,6 +119,7 @@ in {
Unit = { Description = "Nix Garbage Collector"; };
Timer = {
OnCalendar = "${cfg.frequency}";
+ Persistent = cfg.persistent;
Unit = "nix-gc.service";
};
Install = { WantedBy = [ "timers.target" ]; };
diff --git a/modules/services/pbgopy.nix b/modules/services/pbgopy.nix
index fecc64ca0..3a3499e52 100644
--- a/modules/services/pbgopy.nix
+++ b/modules/services/pbgopy.nix
@@ -15,7 +15,7 @@ let
"--basic-auth ${escapeShellArg cfg.httpAuth}");
in {
- meta.maintainers = [ maintainers.ivar ];
+ meta.maintainers = [ ];
options.services.pbgopy = {
enable = mkEnableOption "pbgopy";
diff --git a/modules/services/pulseeffects.nix b/modules/services/pulseeffects.nix
index 434adf85e..3edc53499 100644
--- a/modules/services/pulseeffects.nix
+++ b/modules/services/pulseeffects.nix
@@ -9,7 +9,7 @@ let
presetOpts = optionalString (cfg.preset != "") "--load-preset ${cfg.preset}";
in {
- meta.maintainers = [ maintainers.jonringer ];
+ meta.maintainers = [ hm.maintainers.jonringer ];
options.services.pulseeffects = {
enable = mkEnableOption ''
diff --git a/modules/services/ssh-agent.nix b/modules/services/ssh-agent.nix
index 16db3232c..88ecf38b8 100644
--- a/modules/services/ssh-agent.nix
+++ b/modules/services/ssh-agent.nix
@@ -5,7 +5,7 @@ let
cfg = config.services.ssh-agent;
in {
- meta.maintainers = [ lib.maintainers.lheckemann ];
+ meta.maintainers = [ lib.hm.maintainers.lheckemann ];
options = {
services.ssh-agent = {
diff --git a/modules/services/stalonetray.nix b/modules/services/stalonetray.nix
index 172d6dd9d..9d4d7a53e 100644
--- a/modules/services/stalonetray.nix
+++ b/modules/services/stalonetray.nix
@@ -74,7 +74,7 @@ in {
}
(mkIf (cfg.config != { }) {
- home.file.".stalonetrayrc".text = let
+ xdg.configFile."stalonetrayrc".text = let
valueToString = v:
if isBool v then
(if v then "true" else "false")
@@ -88,7 +88,7 @@ in {
})
(mkIf (cfg.extraConfig != "") {
- home.file.".stalonetrayrc".text = cfg.extraConfig;
+ xdg.configFile."stalonetrayrc".text = cfg.extraConfig;
})
]);
}
diff --git a/modules/services/swayidle.nix b/modules/services/swayidle.nix
index b28de6f0e..80317e42a 100644
--- a/modules/services/swayidle.nix
+++ b/modules/services/swayidle.nix
@@ -118,6 +118,7 @@ in {
Unit = {
Description = "Idle manager for Wayland";
Documentation = "man:swayidle(1)";
+ ConditionEnvironment = "WAYLAND_DISPLAY";
PartOf = [ "graphical-session.target" ];
};
diff --git a/modules/services/window-managers/hyprland.nix b/modules/services/window-managers/hyprland.nix
index ff162fb30..73602ec61 100644
--- a/modules/services/window-managers/hyprland.nix
+++ b/modules/services/window-managers/hyprland.nix
@@ -40,7 +40,21 @@ in {
];
options.wayland.windowManager.hyprland = {
- enable = lib.mkEnableOption "Hyprland wayland compositor";
+ enable = lib.mkOption {
+ type = lib.types.bool;
+ default = false;
+ description = ''
+ Whether to enable configuration for Hyprland, a tiling Wayland
+ compositor that doesn't sacrifice on its looks.
+
+ ::: {.note}
+ This module configures Hyprland and adds it to your user's {env}`PATH`,
+ but does not make certain system-level changes. NixOS users should
+ enable the NixOS module with {option}`programs.hyprland.enable`, which
+ makes system-level changes such as adding a desktop session entry.
+ :::
+ '';
+ };
package = lib.mkPackageOption pkgs "hyprland" { };
@@ -206,7 +220,10 @@ in {
"You have enabled hyprland.systemd.enable or listed plugins in hyprland.plugins but do not have any configuration in hyprland.settings or hyprland.extraConfig. This is almost certainly a mistake.";
in lib.optional inconsistent warning;
- home.packages = lib.optional (cfg.package != null) cfg.finalPackage;
+ home.packages = lib.concatLists [
+ (lib.optional (cfg.package != null) cfg.finalPackage)
+ (lib.optional (cfg.xwayland.enable) pkgs.xwayland)
+ ];
xdg.configFile."hypr/hyprland.conf" = let
shouldGenerate = cfg.systemd.enable || cfg.extraConfig != ""
@@ -236,8 +253,9 @@ in {
}) + lib.optionalString (cfg.extraConfig != "") cfg.extraConfig;
onChange = lib.mkIf (cfg.package != null) ''
- ( # Execute in subshell so we don't poision environment with vars
- if [[ -d "/tmp/hypr" ]]; then
+ (
+ XDG_RUNTIME_DIR=''${XDG_RUNTIME_DIR:-/run/user/$(id -u)}
+ if [[ -d "/tmp/hypr" || -d "$XDG_RUNTIME_DIR/hypr" ]]; then
for i in $(${cfg.finalPackage}/bin/hyprctl instances -j | jq ".[].instance" -r); do
${cfg.finalPackage}/bin/hyprctl -i "$i" reload config-only
done
diff --git a/modules/services/window-managers/i3-sway/sway.nix b/modules/services/window-managers/i3-sway/sway.nix
index bc20e9d9b..f4e437218 100644
--- a/modules/services/window-managers/i3-sway/sway.nix
+++ b/modules/services/window-managers/i3-sway/sway.nix
@@ -403,7 +403,7 @@ in {
"XCURSOR_THEME"
"XCURSOR_SIZE"
];
- example = [ "-all" ];
+ example = [ "--all" ];
description = ''
Environment variables imported into the systemd and D-Bus user environment.
'';
@@ -411,7 +411,12 @@ in {
extraCommands = mkOption {
type = types.listOf types.str;
- default = [ "systemctl --user start sway-session.target" ];
+ default = [
+ "systemctl --user reset-failed"
+ "systemctl --user start sway-session.target"
+ "swaymsg -mt subscribe '[]' || true"
+ "systemctl --user stop sway-session.target"
+ ];
description = ''
Extra commands to run after D-Bus activation.
'';
diff --git a/modules/systemd-activate.sh b/modules/systemd-activate.sh
index 235f1a241..ca26fea8b 100644
--- a/modules/systemd-activate.sh
+++ b/modules/systemd-activate.sh
@@ -34,7 +34,7 @@ function systemdPostReload() {
touch "$oldServiceFiles"
else
find "$oldUserServicePath" \
- -maxdepth 1 -name '*.service' -exec basename '{}' ';' \
+ -maxdepth 1 -name '*.service' \! -name '*@.service' -exec basename '{}' ';' \
| sort \
> "$oldServiceFiles"
fi
@@ -43,7 +43,7 @@ function systemdPostReload() {
touch "$newServiceFiles"
else
find "$newUserServicePath" \
- -maxdepth 1 -name '*.service' -exec basename '{}' ';' \
+ -maxdepth 1 -name '*.service' \! -name '*@.service' -exec basename '{}' ';' \
| sort \
> "$newServiceFiles"
fi
diff --git a/modules/systemd.nix b/modules/systemd.nix
index f209f65dd..717a5922d 100644
--- a/modules/systemd.nix
+++ b/modules/systemd.nix
@@ -100,6 +100,8 @@ let
settingsFormat.generate "user.conf" cfg.settings;
};
+ configHome = lib.removePrefix config.home.homeDirectory config.xdg.configHome;
+
in {
meta.maintainers = [ lib.maintainers.rycee ];
@@ -335,8 +337,8 @@ in {
in ''
${pkgs.sd-switch}/bin/sd-switch \
''${DRY_RUN:+--dry-run} $VERBOSE_ARG ${timeoutArg} \
- ''${oldGenPath:+--old-units $oldGenPath/home-files/.config/systemd/user} \
- --new-units $newGenPath/home-files/.config/systemd/user
+ ''${oldUnitsDir:+--old-units $oldUnitsDir} \
+ --new-units "$newUnitsDir"
'';
};
@@ -354,8 +356,22 @@ in {
warnEcho "Attempting to reload services anyway..."
fi
+ if [[ -v oldGenPath ]]; then
+ oldUnitsDir="$oldGenPath/home-files${configHome}/systemd/user"
+ if [[ ! -e $oldUnitsDir ]]; then
+ oldUnitsDir=
+ fi
+ fi
+
+ newUnitsDir="$newGenPath/home-files${configHome}/systemd/user"
+ if [[ ! -e $newUnitsDir ]]; then
+ newUnitsDir=${pkgs.emptyDirectory}
+ fi
+
${ensureRuntimeDir} \
${getAttr cfg.startServices cmd}
+
+ unset newUnitsDir oldUnitsDir
else
echo "User systemd daemon not running. Skipping reload."
fi
diff --git a/release.json b/release.json
index c5b5ecfdd..e5d3102cf 100644
--- a/release.json
+++ b/release.json
@@ -1,4 +1,4 @@
{
- "release": "24.05",
+ "release": "24.11",
"isReleaseBranch": false
}
diff --git a/tests/default.nix b/tests/default.nix
index 4d8d49d45..28ce4f648 100644
--- a/tests/default.nix
+++ b/tests/default.nix
@@ -224,6 +224,7 @@ in import nmtSrc {
./modules/services/activitywatch
./modules/services/avizo
./modules/services/barrier
+ ./modules/services/blanket
./modules/services/borgmatic
./modules/services/cachix-agent
./modules/services/cliphist
@@ -240,6 +241,7 @@ in import nmtSrc {
./modules/services/fnott
./modules/services/fusuma
./modules/services/git-sync
+ ./modules/services/glance
./modules/services/gpg-agent
./modules/services/gromit-mpx
./modules/services/home-manager-auto-upgrade
diff --git a/tests/integration/nixos/basics.nix b/tests/integration/nixos/basics.nix
index 022f066ef..43f537c79 100644
--- a/tests/integration/nixos/basics.nix
+++ b/tests/integration/nixos/basics.nix
@@ -7,6 +7,8 @@
nodes.machine = { ... }: {
imports = [ ../../../nixos ]; # Import the HM NixOS module.
+ virtualisation.memorySize = 2048;
+
users.users.alice = {
isNormalUser = true;
description = "Alice Foobar";
@@ -15,7 +17,7 @@
};
home-manager.users.alice = { ... }: {
- home.stateVersion = "23.11";
+ home.stateVersion = "24.05";
home.file.test.text = "testfile";
# Enable a light-weight systemd service.
services.pueue.enable = true;
diff --git a/tests/integration/standalone/alice-home-init.nix b/tests/integration/standalone/alice-home-init.nix
index 3aab18977..ab9786f80 100644
--- a/tests/integration/standalone/alice-home-init.nix
+++ b/tests/integration/standalone/alice-home-init.nix
@@ -13,7 +13,7 @@
# 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.
diff --git a/tests/integration/standalone/alice-home-next.nix b/tests/integration/standalone/alice-home-next.nix
index 04c713d8b..6f948b0b4 100644
--- a/tests/integration/standalone/alice-home-next.nix
+++ b/tests/integration/standalone/alice-home-next.nix
@@ -3,7 +3,7 @@
{
home.username = "alice";
home.homeDirectory = "/home/alice";
- home.stateVersion = "23.11";
+ home.stateVersion = "24.05";
home.packages = [ pkgs.hello ];
home.file.test.text = "test";
home.sessionVariables.EDITOR = "emacs";
diff --git a/tests/integration/standalone/flake-basics.nix b/tests/integration/standalone/flake-basics.nix
index 8f9627d9f..9638862f2 100644
--- a/tests/integration/standalone/flake-basics.nix
+++ b/tests/integration/standalone/flake-basics.nix
@@ -6,7 +6,7 @@
nodes.machine = { ... }: {
imports = [ "${pkgs.path}/nixos/modules/installer/cd-dvd/channel.nix" ];
- virtualisation.memorySize = 2048;
+ virtualisation.memorySize = 3072;
nix = {
registry.home-manager.to = {
type = "path";
@@ -88,7 +88,7 @@
} /home/alice/.config/home-manager/home.nix")
actual = succeed_as_alice("home-manager switch")
- expected = "Started pueued.service - active"
+ expected = "Starting units: pueued.service"
assert expected in actual, \
f"expected home-manager switch to contain {expected}, but got {actual}"
diff --git a/tests/integration/standalone/standard-basics.nix b/tests/integration/standalone/standard-basics.nix
index d4cac249a..b994ff370 100644
--- a/tests/integration/standalone/standard-basics.nix
+++ b/tests/integration/standalone/standard-basics.nix
@@ -85,7 +85,7 @@
} /home/alice/.config/home-manager/home.nix")
actual = succeed_as_alice("home-manager switch")
- expected = "Started pueued.service - active"
+ expected = "Starting units: pueued.service"
assert expected in actual, \
f"expected home-manager switch to contain {expected}, but got {actual}"
diff --git a/tests/modules/i18n/input-method/fcitx5-stubs.nix b/tests/modules/i18n/input-method/fcitx5-stubs.nix
index 2390ddde8..9712a7518 100644
--- a/tests/modules/i18n/input-method/fcitx5-stubs.nix
+++ b/tests/modules/i18n/input-method/fcitx5-stubs.nix
@@ -4,11 +4,15 @@
version = "0";
outPath = null;
buildScript = ''
- mkdir -p $out/bin $out/share/applications $out/etc/xdg/autostart
+ mkdir -p $out/bin $out/share/applications $out/share/dbus-1/services $out/etc/xdg/autostart
touch $out/bin/fcitx5 \
$out/bin/fcitx5-config-qt \
$out/share/applications/org.fcitx.Fcitx5.desktop \
+ $out/share/dbus-1/services/org.fcitx.Fcitx5.service \
$out/etc/xdg/autostart/org.fcitx.Fcitx5.desktop
+ # The grep usage of fcitx5-with-addons expects one of the files to match with the fcitx5.out
+ # https://github.com/NixOS/nixpkgs/blob/d2eb4be48705289791428c07aca8ff654c1422ba/pkgs/tools/inputmethods/fcitx5/with-addons.nix#L40-L44
+ echo $out >> $out/etc/xdg/autostart/org.fcitx.Fcitx5.desktop
chmod +x $out/bin/fcitx5 \
$out/bin/fcitx5-config-qt
'';
diff --git a/tests/modules/misc/nix/default.nix b/tests/modules/misc/nix/default.nix
index b0370c2e4..4c8822bf2 100644
--- a/tests/modules/misc/nix/default.nix
+++ b/tests/modules/misc/nix/default.nix
@@ -2,4 +2,7 @@
nix-empty-settings = ./empty-settings.nix;
nix-example-settings = ./example-settings.nix;
nix-example-registry = ./example-registry.nix;
+ nix-keep-old-nix-path = ./keep-old-nix-path.nix;
+ nix-example-channels = ./example-channels.nix;
+ nix-example-channels-xdg = ./example-channels-xdg.nix;
}
diff --git a/tests/modules/misc/nix/empty-settings.nix b/tests/modules/misc/nix/empty-settings.nix
index 18f1ab430..7e5844742 100644
--- a/tests/modules/misc/nix/empty-settings.nix
+++ b/tests/modules/misc/nix/empty-settings.nix
@@ -8,6 +8,7 @@ with lib;
nmt.script = ''
assertPathNotExists home-files/.config/nix
+ assertPathNotExists home-files/.nix-defexpr/50-home-manager
'';
};
}
diff --git a/tests/modules/misc/nix/example-channels-xdg.nix b/tests/modules/misc/nix/example-channels-xdg.nix
new file mode 100644
index 000000000..8ca1569f3
--- /dev/null
+++ b/tests/modules/misc/nix/example-channels-xdg.nix
@@ -0,0 +1,29 @@
+{ lib, config, pkgs, ... }:
+
+let
+ exampleChannel = pkgs.writeTextDir "default.nix" ''
+ { pkgs ? import { } }:
+
+ {
+ example = pkgs.emptyDirectory;
+ }
+ '';
+in {
+ config = {
+ nix = {
+ package = config.lib.test.mkStubPackage {
+ version = lib.getVersion pkgs.nixVersions.stable;
+ };
+ channels.example = exampleChannel;
+ settings.use-xdg-base-directories = true;
+ };
+
+ nmt.script = ''
+ assertFileContains home-path/etc/profile.d/hm-session-vars.sh \
+ 'export NIX_PATH="/home/hm-user/.local/state/nix/defexpr/50-home-manager''${NIX_PATH:+:$NIX_PATH}"'
+ assertFileContent \
+ home-files/.local/state/nix/defexpr/50-home-manager/example/default.nix \
+ ${exampleChannel}/default.nix
+ '';
+ };
+}
diff --git a/tests/modules/misc/nix/example-channels.nix b/tests/modules/misc/nix/example-channels.nix
new file mode 100644
index 000000000..4b98c55d4
--- /dev/null
+++ b/tests/modules/misc/nix/example-channels.nix
@@ -0,0 +1,26 @@
+{ config, pkgs, ... }:
+
+let
+ exampleChannel = pkgs.writeTextDir "default.nix" ''
+ { pkgs ? import { } }:
+
+ {
+ example = pkgs.emptyDirectory;
+ }
+ '';
+in {
+ config = {
+ nix = {
+ package = config.lib.test.mkStubPackage { };
+ channels.example = exampleChannel;
+ };
+
+ nmt.script = ''
+ assertFileContains home-path/etc/profile.d/hm-session-vars.sh \
+ 'export NIX_PATH="/home/hm-user/.nix-defexpr/50-home-manager''${NIX_PATH:+:$NIX_PATH}"'
+ assertFileContent \
+ home-files/.nix-defexpr/50-home-manager/example/default.nix \
+ ${exampleChannel}/default.nix
+ '';
+ };
+}
diff --git a/tests/modules/misc/nix/example-settings.nix b/tests/modules/misc/nix/example-settings.nix
index 6cbcd9dfa..df62fe8d1 100644
--- a/tests/modules/misc/nix/example-settings.nix
+++ b/tests/modules/misc/nix/example-settings.nix
@@ -17,6 +17,8 @@ with lib;
'';
};
+ nixPath = [ "/a" "/b/c" ];
+
settings = {
use-sandbox = true;
show-trace = true;
@@ -28,6 +30,9 @@ with lib;
assertFileContent \
home-files/.config/nix/nix.conf \
${./example-settings-expected.conf}
+
+ assertFileContains home-path/etc/profile.d/hm-session-vars.sh \
+ 'export NIX_PATH="/a:/b/c''${NIX_PATH:+:$NIX_PATH}"'
'';
};
}
diff --git a/tests/modules/misc/nix/keep-old-nix-path.nix b/tests/modules/misc/nix/keep-old-nix-path.nix
new file mode 100644
index 000000000..72bd9f164
--- /dev/null
+++ b/tests/modules/misc/nix/keep-old-nix-path.nix
@@ -0,0 +1,16 @@
+{ config, ... }:
+
+{
+ config = {
+ nix = {
+ package = config.lib.test.mkStubPackage { };
+ nixPath = [ "/a" "/b/c" ];
+ keepOldNixPath = false;
+ };
+
+ nmt.script = ''
+ assertFileContains home-path/etc/profile.d/hm-session-vars.sh \
+ 'export NIX_PATH="/a:/b/c"'
+ '';
+ };
+}
diff --git a/tests/modules/programs/atuin/bash.nix b/tests/modules/programs/atuin/bash.nix
index a84ea99e3..21d306b2f 100644
--- a/tests/modules/programs/atuin/bash.nix
+++ b/tests/modules/programs/atuin/bash.nix
@@ -10,7 +10,7 @@
};
test.stubs = {
- atuin = { };
+ atuin = { name = "atuin"; };
bash-preexec = { };
};
diff --git a/tests/modules/programs/atuin/empty-settings.nix b/tests/modules/programs/atuin/empty-settings.nix
index 58f126965..be6b55986 100644
--- a/tests/modules/programs/atuin/empty-settings.nix
+++ b/tests/modules/programs/atuin/empty-settings.nix
@@ -4,7 +4,7 @@
programs.atuin.enable = true;
test.stubs = {
- atuin = { };
+ atuin = { name = "atuin"; };
bash-preexec = { };
};
diff --git a/tests/modules/programs/atuin/example-settings.nix b/tests/modules/programs/atuin/example-settings.nix
index f2d3a8876..98aca707d 100644
--- a/tests/modules/programs/atuin/example-settings.nix
+++ b/tests/modules/programs/atuin/example-settings.nix
@@ -13,7 +13,7 @@
};
test.stubs = {
- atuin = { };
+ atuin = { name = "atuin"; };
bash-preexec = { };
};
diff --git a/tests/modules/programs/atuin/fish.nix b/tests/modules/programs/atuin/fish.nix
index ae3122cf1..49d9a2821 100644
--- a/tests/modules/programs/atuin/fish.nix
+++ b/tests/modules/programs/atuin/fish.nix
@@ -11,7 +11,7 @@
lib.mkForce (builtins.toFile "empty" "");
test.stubs = {
- atuin = { };
+ atuin = { name = "atuin"; };
bash-preexec = { };
};
diff --git a/tests/modules/programs/atuin/no-shell.nix b/tests/modules/programs/atuin/no-shell.nix
index 381bcc0ca..c6481e427 100644
--- a/tests/modules/programs/atuin/no-shell.nix
+++ b/tests/modules/programs/atuin/no-shell.nix
@@ -18,7 +18,7 @@
lib.mkForce (builtins.toFile "empty" "");
test.stubs = {
- atuin = { };
+ atuin = { name = "atuin"; };
bash-preexec = { };
};
diff --git a/tests/modules/programs/atuin/set-flags.nix b/tests/modules/programs/atuin/set-flags.nix
index 7e3a7982f..b6e8330d1 100644
--- a/tests/modules/programs/atuin/set-flags.nix
+++ b/tests/modules/programs/atuin/set-flags.nix
@@ -17,7 +17,7 @@
lib.mkForce (builtins.toFile "empty" "");
test.stubs = {
- atuin = { };
+ atuin = { name = "atuin"; };
bash-preexec = { };
};
diff --git a/tests/modules/programs/atuin/zsh.nix b/tests/modules/programs/atuin/zsh.nix
index 14adddcac..2cb4fefef 100644
--- a/tests/modules/programs/atuin/zsh.nix
+++ b/tests/modules/programs/atuin/zsh.nix
@@ -7,7 +7,7 @@
};
test.stubs = {
- atuin = { };
+ atuin = { name = "atuin"; };
bash-preexec = { };
};
diff --git a/tests/modules/programs/khard/default.nix b/tests/modules/programs/khard/default.nix
index 3762dc0f1..58b7a6f74 100644
--- a/tests/modules/programs/khard/default.nix
+++ b/tests/modules/programs/khard/default.nix
@@ -2,4 +2,5 @@
khard_empty_config = ./empty_config.nix;
khard_basic_config = ./basic_config.nix;
khard_multiple_accounts = ./multiple_accounts.nix;
+ khard_dirty_path = ./dirty_path.nix;
}
diff --git a/tests/modules/programs/khard/dirty_path.nix b/tests/modules/programs/khard/dirty_path.nix
new file mode 100644
index 000000000..07396a144
--- /dev/null
+++ b/tests/modules/programs/khard/dirty_path.nix
@@ -0,0 +1,22 @@
+{
+ accounts.contact = {
+ basePath = "/home/user/who/likes///";
+ accounts.forward = {
+ local.type = "filesystem";
+ khard = {
+ enable = true;
+ defaultCollection = "////slashes//a/lot";
+ };
+ };
+ };
+
+ programs.khard.enable = true;
+
+ test.stubs.khard = { };
+
+ nmt.script = ''
+ assertFileContent \
+ home-files/.config/khard/khard.conf \
+ ${./dirty_path_expected}
+ '';
+}
diff --git a/tests/modules/programs/khard/dirty_path_expected b/tests/modules/programs/khard/dirty_path_expected
new file mode 100644
index 000000000..8b7bb63eb
--- /dev/null
+++ b/tests/modules/programs/khard/dirty_path_expected
@@ -0,0 +1,8 @@
+[addressbooks]
+[[forward]]
+path = /home/user/who/likes/forward/slashes/a/lot
+
+
+[general]
+default_action=list
+
diff --git a/tests/modules/programs/mpv/mpv-stubs.nix b/tests/modules/programs/mpv/mpv-stubs.nix
index 2fee19144..caef8e69d 100644
--- a/tests/modules/programs/mpv/mpv-stubs.nix
+++ b/tests/modules/programs/mpv/mpv-stubs.nix
@@ -1,14 +1,20 @@
-{ pkgs, ... }:
-
{
nixpkgs.overlays = [
- (self: super: {
- mpvScript = pkgs.runCommandLocal "mpvScript" { scriptName = "something"; }
+ (final: prev: {
+ mpvScript = prev.runCommandLocal "mpvScript" { scriptName = "something"; }
"mkdir $out";
- mpv-unwrapped = super.mpv-unwrapped.overrideAttrs {
- builder = pkgs.writeShellScript "dummy" ''
- PATH=${pkgs.coreutils}/bin
+ mpv-unwrapped = let
+ lua = prev.emptyDirectory.overrideAttrs {
+ luaversion = "0";
+ passthru.withPackages = pkgsFn: prev.emptyDirectory;
+ };
+ mpv-unwrapped' = prev.mpv-unwrapped.override { inherit lua; };
+ in mpv-unwrapped'.overrideAttrs {
+ buildInputs = [ ];
+ nativeBuildInputs = [ ];
+ builder = prev.writeShellScript "dummy" ''
+ PATH=${final.coreutils}/bin
mkdir -p $dev $doc $man $out/bin $out/Applications/mpv.app/Contents/MacOS
touch $out/bin/{mpv,umpv} \
$out/Applications/mpv.app/Contents/MacOS/{mpv,mpv-bundle}
@@ -16,11 +22,6 @@
$out/Applications/mpv.app/Contents/MacOS/{mpv,mpv-bundle}
'';
};
-
- lua = pkgs.emptyDirectory.overrideAttrs {
- luaversion = "0";
- withPackages = ps: pkgs.emptyDirectory;
- };
})
];
diff --git a/tests/modules/programs/topgrade/settings-expected.toml b/tests/modules/programs/topgrade/settings-expected.toml
index aeed3d14b..5e2a47ae6 100644
--- a/tests/modules/programs/topgrade/settings-expected.toml
+++ b/tests/modules/programs/topgrade/settings-expected.toml
@@ -1,8 +1,9 @@
+[commands]
+"Purge unused APT packages" = "sudo apt autoremove"
+
+[misc]
cleanup = true
disable = ["sdkman", "flutter", "node", "nix", "home_manager"]
remote_topgrade_path = "bin/topgrade"
remote_topgrades = ["backup", "ci"]
set_title = false
-
-[commands]
-"Purge unused APT packages" = "sudo apt autoremove"
diff --git a/tests/modules/programs/topgrade/settings.nix b/tests/modules/programs/topgrade/settings.nix
index e80e98b86..1e893eb47 100644
--- a/tests/modules/programs/topgrade/settings.nix
+++ b/tests/modules/programs/topgrade/settings.nix
@@ -6,17 +6,21 @@
settings = lib.mkMerge [
{
- disable = [ "sdkman" "flutter" "node" "nix" "home_manager" ];
+ misc = {
+ disable = [ "sdkman" "flutter" "node" "nix" "home_manager" ];
- remote_topgrades = [ "backup" "ci" ];
+ remote_topgrades = [ "backup" "ci" ];
- remote_topgrade_path = "bin/topgrade";
+ remote_topgrade_path = "bin/topgrade";
+ };
}
{
- set_title = false;
- cleanup = true;
+ misc = {
+ set_title = false;
+ cleanup = true;
+ };
commands = { "Purge unused APT packages" = "sudo apt autoremove"; };
}
];
diff --git a/tests/modules/programs/waybar/deprecated-modules-option.nix b/tests/modules/programs/waybar/deprecated-modules-option.nix
index b4d730afc..09f163b0f 100644
--- a/tests/modules/programs/waybar/deprecated-modules-option.nix
+++ b/tests/modules/programs/waybar/deprecated-modules-option.nix
@@ -31,8 +31,6 @@ with lib;
"modules-center": [
"test"
],
- "modules-left": [],
- "modules-right": [],
"test": {}
}
]
diff --git a/tests/modules/programs/waybar/settings-complex-expected.json b/tests/modules/programs/waybar/settings-complex-expected.json
index 87e4f690d..e7ec8b4a3 100644
--- a/tests/modules/programs/waybar/settings-complex-expected.json
+++ b/tests/modules/programs/waybar/settings-complex-expected.json
@@ -51,7 +51,6 @@
"modules-left": [
"sway/mode"
],
- "modules-right": [],
"output": [
"!DP-1"
],
diff --git a/tests/modules/programs/yazi/bash-integration-enabled.nix b/tests/modules/programs/yazi/bash-integration-enabled.nix
index ff9bc2f2b..474a989f9 100644
--- a/tests/modules/programs/yazi/bash-integration-enabled.nix
+++ b/tests/modules/programs/yazi/bash-integration-enabled.nix
@@ -2,11 +2,11 @@
let
shellIntegration = ''
- function ya() {
+ function yy() {
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"
}
diff --git a/tests/modules/programs/yazi/default.nix b/tests/modules/programs/yazi/default.nix
index 09d52ac3d..ec543c84d 100644
--- a/tests/modules/programs/yazi/default.nix
+++ b/tests/modules/programs/yazi/default.nix
@@ -1,5 +1,6 @@
{
yazi-settings = ./settings.nix;
+ yazi-init-lua-string = ./init-lua-string.nix;
yazi-bash-integration-enabled = ./bash-integration-enabled.nix;
yazi-zsh-integration-enabled = ./zsh-integration-enabled.nix;
yazi-fish-integration-enabled = ./fish-integration-enabled.nix;
diff --git a/tests/modules/programs/yazi/empty/.gitkeep b/tests/modules/programs/yazi/empty/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/tests/modules/programs/yazi/fish-integration-enabled.nix b/tests/modules/programs/yazi/fish-integration-enabled.nix
index 02506b266..2231035b9 100644
--- a/tests/modules/programs/yazi/fish-integration-enabled.nix
+++ b/tests/modules/programs/yazi/fish-integration-enabled.nix
@@ -2,11 +2,11 @@
let
shellIntegration = ''
- function ya
+ function yy
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
diff --git a/tests/modules/programs/yazi/flavor/LICENSE b/tests/modules/programs/yazi/flavor/LICENSE
new file mode 100644
index 000000000..e69de29bb
diff --git a/tests/modules/programs/yazi/flavor/LICENSE-tmtheme b/tests/modules/programs/yazi/flavor/LICENSE-tmtheme
new file mode 100644
index 000000000..e69de29bb
diff --git a/tests/modules/programs/yazi/flavor/README.md b/tests/modules/programs/yazi/flavor/README.md
new file mode 100644
index 000000000..3ba41d0db
--- /dev/null
+++ b/tests/modules/programs/yazi/flavor/README.md
@@ -0,0 +1,50 @@
+