Merge branch 'master' into qutebrowser-per-site-config

This commit is contained in:
William Boulanger 2024-07-18 00:08:12 -04:00
commit 66d2722fd0
153 changed files with 2003 additions and 355 deletions

View file

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

View file

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

10
.github/labeler.yml vendored
View file

@ -1,4 +1,6 @@
"mail": "mail":
- changed-files:
- any-glob-to-any-file:
- modules/programs/aerc*.nix - modules/programs/aerc*.nix
- modules/programs/alot*.nix - modules/programs/alot*.nix
- tests/modules/programs/aerc/* - tests/modules/programs/aerc/*
@ -18,19 +20,27 @@
- modules/services/imapnotify.nix - modules/services/imapnotify.nix
"neovim": "neovim":
- changed-files:
- any-glob-to-any-file:
- modules/programs/neovim.nix - modules/programs/neovim.nix
- tests/modules/programs/neovim/**/* - tests/modules/programs/neovim/**/*
"shell": "shell":
- changed-files:
- any-glob-to-any-file:
- modules/lib/zsh.nix - modules/lib/zsh.nix
- modules/programs/zsh* - modules/programs/zsh*
- modules/programs/bash* - modules/programs/bash*
- tests/modules/programs/zsh/**/* - tests/modules/programs/zsh/**/*
"calendar": "calendar":
- changed-files:
- any-glob-to-any-file:
- modules/programs/khal* - modules/programs/khal*
- modules/*/vdirsyncer* - modules/*/vdirsyncer*
- modules/accounts/calendar.nix - modules/accounts/calendar.nix
"contacts": "contacts":
- changed-files:
- any-glob-to-any-file:
- modules/accounts/contacts.nix - modules/accounts/contacts.nix

View file

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

View file

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

View file

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

View file

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

View file

@ -28,7 +28,7 @@ Releases
Home Manager is developed against `nixpkgs-unstable` branch, which often causes Home Manager is developed against `nixpkgs-unstable` branch, which often causes
it to contain tweaks for changes/packages not yet released in stable [NixOS][]. it to contain tweaks for changes/packages not yet released in stable [NixOS][].
To avoid breaking users' configurations, Home Manager is released in branches 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 fixes, but usually not new modules. If you need a module to be backported, then
feel free to open an issue. 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 overwritten was from a previous Home Manager generation or from manual
configuration. 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 stable version), it may or may not work on other Linux distributions and NixOS
versions. versions.

View file

@ -32,6 +32,8 @@ in stdenv.mkDerivation {
OPTIONS_JSON \ OPTIONS_JSON \
${home-manager-options.nix-darwin}/share/doc/nixos/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 ${./static/style.css} out/style.css
cp -r ${./release-notes} release-notes cp -r ${./release-notes} release-notes

View file

@ -15,10 +15,10 @@ $ nix-channel --add https://github.com/nix-community/home-manager/archive/master
$ nix-channel --update $ 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 ``` 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 $ nix-channel --update
``` ```
@ -45,7 +45,7 @@ home-manager.users.eve = { pkgs, ... }: {
# The state version is required and should stay at the version you # The state version is required and should stay at the version you
# originally installed. # originally installed.
home.stateVersion = "23.11"; home.stateVersion = "24.05";
}; };
``` ```

View file

@ -17,10 +17,10 @@ $ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/m
$ sudo nix-channel --update $ 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 ``` 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 $ 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 # The state version is required and should stay at the version you
# originally installed. # originally installed.
home.stateVersion = "23.11"; home.stateVersion = "24.05";
}; };
``` ```

View file

@ -19,10 +19,10 @@
$ nix-channel --update $ 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 ``` 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 $ nix-channel --update
``` ```

View file

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

View file

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

View file

@ -11,10 +11,10 @@ then to generate and activate a basic configuration run the command
$ nix run home-manager/master -- init --switch $ nix run home-manager/master -- init --switch
``` ```
For Nixpkgs or NixOS version 23.11 run For Nixpkgs or NixOS version 24.05 run
``` shell ``` 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 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 $ 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 After the initial activation has completed successfully then building
and activating your flake-based configuration is as simple as and activating your flake-based configuration is as simple as

View file

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

15
docs/options.html Normal file
View file

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

View file

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

View file

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

View file

@ -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.

View file

@ -2,11 +2,11 @@
"nodes": { "nodes": {
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1715266358, "lastModified": 1719848872,
"narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=", "narHash": "sha256-H3+EC5cYuq+gQW8y0lSrrDZfH71LB4DAf+TDFyvwCNA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f1010e0469db743d14519a1efd37e23f8513d714", "rev": "00d80d13810dbfea8ab4ed1009b09100cca86ba8",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -198,9 +198,9 @@ function setFlakeAttribute() {
;; ;;
*) *)
local name="$USER" 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. # 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 if [[ "$(nix eval "$flake#homeConfigurations" --apply "x: x ? \"$n\"")" == "true" ]]; then
name="$n" name="$n"
if [[ -v VERBOSE ]]; then if [[ -v VERBOSE ]]; then
@ -359,7 +359,7 @@ $xdgVars
# You should not change this value, even if you update Home Manager. If you do # 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 # want to update the value, then make sure to first check the Home Manager
# release notes. # 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 # The home.packages option allows you to install Nix packages into your
# environment. # environment.
@ -857,7 +857,7 @@ function doUninstall() {
uninstall = true; uninstall = true;
home.username = "$USER"; home.username = "$USER";
home.homeDirectory = "$HOME"; home.homeDirectory = "$HOME";
home.stateVersion = "23.11"; home.stateVersion = "24.05";
} }
EOF EOF
# shellcheck disable=2064 # shellcheck disable=2064
@ -1044,7 +1044,7 @@ while [[ $# -gt 0 ]]; do
export VERBOSE=1 export VERBOSE=1
;; ;;
--version) --version)
echo 24.05-pre echo 24.11-pre
exit 0 exit 0
;; ;;
*) *)

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

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

View file

@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n" "POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: 2024-02-16 22:01+0000\n" "PO-Revision-Date: 2024-05-25 11:09+0000\n"
"Last-Translator: Robert Helgesson <robert@rycee.net>\n" "Last-Translator: DeeKahy <Lennart.Diego.Kahn@gmail.com>\n"
"Language-Team: Danish <https://hosted.weblate.org/projects/home-manager/cli/" "Language-Team: Danish <https://hosted.weblate.org/projects/home-manager/cli/"
"da/>\n" "da/>\n"
"Language: da\n" "Language: da\n"
@ -17,12 +17,12 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\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" #. translators: For example: "home-manager: missing argument for --cores"
#: home-manager/home-manager:16 #: home-manager/home-manager:16
msgid "%s: missing argument for %s" msgid "%s: missing argument for %s"
msgstr "" msgstr "%s: manglende argument for %s"
#: home-manager/home-manager:64 #: home-manager/home-manager:64
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
@ -36,8 +36,8 @@ msgid ""
"Keeping your Home Manager %s in %s is deprecated,\n" "Keeping your Home Manager %s in %s is deprecated,\n"
"please move it to %s" "please move it to %s"
msgstr "" msgstr ""
"At have din Home Manager %s i %s er forældet,\n" "Det er forældet at holde Home Manager %s i %s,\n"
"flyt den venligst til %s" "ryk den venligst til %s"
#: home-manager/home-manager:92 #: home-manager/home-manager:92
msgid "No configuration file found. Please create one at %s" 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 #: home-manager/home-manager:107
msgid "Home Manager not found at %s." 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. #. 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 #: home-manager/home-manager:115
@ -53,8 +53,8 @@ msgid ""
"The fallback Home Manager path %s has been deprecated and a file/directory " "The fallback Home Manager path %s has been deprecated and a file/directory "
"was found there." "was found there."
msgstr "" msgstr ""
"Fallback-stien til Home Manager %s er blevet forældet, og en fil/mappe blev " "Det er forældet at bruge fallback Home Manager path %s og der blev fundet en "
"fundet der." "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. #. 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 #: 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 #: home-manager/home-manager:327 home-manager/home-manager:431
msgid "The file %s already exists, leaving it unchanged..." 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 #: home-manager/home-manager:329 home-manager/home-manager:433
msgid "Creating %s..." msgid "Creating %s..."
@ -189,7 +189,7 @@ msgstr "Ubekændt \"news.display\" indstilling \"%s\"."
#: home-manager/home-manager:594 #: home-manager/home-manager:594
#, sh-format #, sh-format
msgid "Please set the $EDITOR or $VISUAL environment variable" msgid "Please set the $EDITOR or $VISUAL environment variable"
msgstr "" msgstr "Indstil venligst miljøvariablen $EDITOR eller $VISUAL"
#: home-manager/home-manager:612 #: home-manager/home-manager:612
msgid "Cannot run build in read-only directory" msgid "Cannot run build in read-only directory"

View file

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

View file

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

221
home-manager/po/hu.po Normal file
View file

@ -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 <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: 2024-07-05 14:09+0000\n"
"Last-Translator: Ferenci Ákos <synthetace@gmail.com>\n"
"Language-Team: Hungarian <https://hosted.weblate.org/projects/home-manager/"
"cli/hu/>\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.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 ""

View file

@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n" "POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: 2024-04-29 18:07+0000\n" "PO-Revision-Date: 2024-05-25 11:09+0000\n"
"Last-Translator: Kento Okamoto <kentokamoto@protonmail.com>\n" "Last-Translator: TANIGUCHI Kohei <a.d.xvii.kal.mai@gmail.com>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/home-manager/" "Language-Team: Japanese <https://hosted.weblate.org/projects/home-manager/"
"cli/ja/>\n" "cli/ja/>\n"
"Language: ja\n" "Language: ja\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\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" #. translators: For example: "home-manager: missing argument for --cores"
#: home-manager/home-manager:16 #: home-manager/home-manager:16
@ -45,14 +45,15 @@ msgstr "設定ファイルがありません。ファイルを %s に作って
#: home-manager/home-manager:107 #: home-manager/home-manager:107
msgid "Home Manager not found at %s." 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. #. 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 #: home-manager/home-manager:115
msgid "" msgid ""
"The fallback Home Manager path %s has been deprecated and a file/directory " "The fallback Home Manager path %s has been deprecated and a file/directory "
"was found there." "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. #. 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 #: home-manager/home-manager:118
@ -75,6 +76,24 @@ msgid ""
"\n" "\n"
" $ rm -r \"%s\"" " $ rm -r \"%s\""
msgstr "" 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 #: home-manager/home-manager:146
msgid "Sanity checking Nix" msgid "Sanity checking Nix"
@ -168,7 +187,7 @@ msgstr "\"news.display\"に\"%s\"という設定は存在しません。"
#: home-manager/home-manager:594 #: home-manager/home-manager:594
#, sh-format #, sh-format
msgid "Please set the $EDITOR or $VISUAL environment variable" msgid "Please set the $EDITOR or $VISUAL environment variable"
msgstr "" msgstr "環境変数 $EDITOR または $VISUAL を設定してください"
#: home-manager/home-manager:612 #: home-manager/home-manager:612
msgid "Cannot run build in read-only directory" msgid "Cannot run build in read-only directory"

View file

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

View file

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

View file

@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n" "POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: 2024-03-27 15:05+0000\n" "PO-Revision-Date: 2024-06-02 08:12+0000\n"
"Last-Translator: Nguyen Khanh <nguynkhan479@gmail.com>\n" "Last-Translator: goatastronaut0212 <goatastronaut0212@proton.me>\n"
"Language-Team: Vietnamese <https://hosted.weblate.org/projects/home-manager/" "Language-Team: Vietnamese <https://hosted.weblate.org/projects/home-manager/"
"cli/vi/>\n" "cli/vi/>\n"
"Language: vi\n" "Language: vi\n"
@ -17,12 +17,12 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\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" #. translators: For example: "home-manager: missing argument for --cores"
#: home-manager/home-manager:16 #: home-manager/home-manager:16
msgid "%s: missing argument for %s" msgid "%s: missing argument for %s"
msgstr "" msgstr "%s: bị thiếu đối số cho %s"
#: home-manager/home-manager:64 #: home-manager/home-manager:64
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
@ -36,6 +36,8 @@ msgid ""
"Keeping your Home Manager %s in %s is deprecated,\n" "Keeping your Home Manager %s in %s is deprecated,\n"
"please move it to %s" "please move it to %s"
msgstr "" 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 #: home-manager/home-manager:92
msgid "No configuration file found. Please create one at %s" msgid "No configuration file found. Please create one at %s"
@ -95,7 +97,7 @@ msgstr ""
#: home-manager/home-manager:146 #: home-manager/home-manager:146
msgid "Sanity checking Nix" msgid "Sanity checking Nix"
msgstr "" msgstr "Kiểm tra độ hợp lệ của Nix"
#: home-manager/home-manager:166 #: home-manager/home-manager:166
msgid "Could not find suitable profile directory, tried %s and %s" 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. #. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:221 #: home-manager/home-manager:221
msgid "Can't inspect options of a flake configuration" 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:296 home-manager/home-manager:319
#: home-manager/home-manager:1051 #: home-manager/home-manager:1051
@ -137,6 +139,13 @@ msgid ""
"to configure Home Manager. Run 'man home-configuration.nix' to\n" "to configure Home Manager. Run 'man home-configuration.nix' to\n"
"see all available options." "see all available options."
msgstr "" 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. #. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/home-manager:485 #: home-manager/home-manager:485
@ -147,6 +156,11 @@ msgid ""
"\n" "\n"
"if the error seems to be the fault of Home Manager." "if the error seems to be the fault of Home Manager."
msgstr "" 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. #. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:496 #: home-manager/home-manager:496
@ -170,11 +184,11 @@ msgstr ""
#: home-manager/home-manager:594 #: home-manager/home-manager:594
#, sh-format #, sh-format
msgid "Please set the $EDITOR or $VISUAL environment variable" 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 #: home-manager/home-manager:612
msgid "Cannot run build in read-only directory" 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 #: home-manager/home-manager:693
msgid "No generation with ID %s" msgid "No generation with ID %s"
@ -194,31 +208,31 @@ msgstr ""
#: home-manager/home-manager:729 #: home-manager/home-manager:729
msgid "No home-manager packages seem to be installed." 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 #: home-manager/home-manager:811
msgid "Unknown argument %s" msgid "Unknown argument %s"
msgstr "" msgstr "Không tồn tại đối số %s"
#: home-manager/home-manager:835 #: home-manager/home-manager:835
msgid "This will remove Home Manager from your system." 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 #: home-manager/home-manager:838
msgid "This is a dry run, nothing will actually be uninstalled." 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 #: home-manager/home-manager:842
msgid "Really uninstall Home Manager?" msgid "Really uninstall Home Manager?"
msgstr "" msgstr "Bạn có muốn gỡ Home Manager không?"
#: home-manager/home-manager:848 #: home-manager/home-manager:848
msgid "Switching to empty Home Manager configuration..." 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 #: home-manager/home-manager:863
msgid "Yay!" msgid "Yay!"
msgstr "" msgstr "Tuyệt vời!"
#: home-manager/home-manager:868 #: home-manager/home-manager:868
msgid "Home Manager is uninstalled but your home.nix is left untouched." msgid "Home Manager is uninstalled but your home.nix is left untouched."
@ -230,7 +244,7 @@ msgstr ""
#: home-manager/home-manager:1113 #: home-manager/home-manager:1113
msgid "Unknown command: %s" msgid "Unknown command: %s"
msgstr "" msgstr "Không tồn tại câu lệnh: %s"
#: home-manager/install.nix:18 #: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."

View file

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

View file

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

View file

@ -113,6 +113,13 @@
github = "jack5079"; github = "jack5079";
githubId = 29169102; githubId = 29169102;
}; };
janik = {
name = "Janik";
email = "janik@aq0.de";
matrix = "@janik0:matrix.org";
github = "Janik-Haag";
githubId = 80165193;
};
jkarlson = { jkarlson = {
email = "jekarlson@gmail.com"; email = "jekarlson@gmail.com";
github = "jkarlson"; github = "jkarlson";
@ -173,6 +180,13 @@
github = "iosmanthus"; github = "iosmanthus";
githubId = 16307070; githubId = 16307070;
}; };
jonringer = {
email = "jonringer117@gmail.com";
matrix = "@jonringer:matrix.org";
github = "jonringer";
githubId = 7673602;
name = "Jonathan Ringer";
};
kalhauge = { kalhauge = {
name = "Christian Gram Kalhauge"; name = "Christian Gram Kalhauge";
email = "kalhauge@users.noreply.github.com"; email = "kalhauge@users.noreply.github.com";
@ -201,6 +215,19 @@
github = "kubukoz"; github = "kubukoz";
githubId = 894884; 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 = { loicreynier = {
name = "Loïc Reynier"; name = "Loïc Reynier";
email = "loic@loireynier.fr"; email = "loic@loireynier.fr";

View file

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

View file

@ -1656,6 +1656,53 @@ in {
See https://codeberg.org/dnkl/yambar for more. 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.
'';
}
]; ];
}; };
} }

View file

@ -1,15 +1,40 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib;
let 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; cfg = config.nix;
nixPackage = cfg.package; nixPackage = cfg.package;
isNixAtLeast = versionAtLeast (getVersion nixPackage); 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"; nixConf = assert isNixAtLeast "2.2";
let let
@ -102,6 +127,47 @@ in {
''; '';
}; };
nixPath = mkOption {
type = types.listOf types.str;
default = [ ];
example = [
"$HOME/.nix-defexpr/channels"
"darwin-config=$HOME/.config/nixpkgs/darwin-configuration.nix"
];
description = ''
Adds new directories to the Nix expression search path.
Used by Nix when looking up paths in angular brackets
(e.g. `<nixpkgs>`).
'';
};
keepOldNixPath = mkOption {
type = types.bool;
default = true;
example = false;
description = ''
Whether {option}`nix.nixPath` should keep the previously set values in
{env}`NIX_PATH`.
'';
};
channels = lib.mkOption {
type = with lib.types; attrsOf package;
default = { };
example = lib.literalExpression "{ inherit nixpkgs; }";
description = ''
A declarative alternative to Nix channels. Whereas with stock channels,
you would register URLs and fetch them into the Nix store with
{manpage}`nix-channel(1)`, this option allows you to register the store
path directly. One particularly useful example is registering flake
inputs as channels.
This option can coexist with stock Nix channels. If the same channel is
defined in both, this option takes precedence.
'';
};
registry = mkOption { registry = mkOption {
type = types.attrsOf (types.submodule (let type = types.attrsOf (types.submodule (let
inputAttrs = types.attrsOf inputAttrs = types.attrsOf
@ -210,6 +276,19 @@ in {
}; };
config = mkIf cfg.enable (mkMerge [ 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 != { }) { (mkIf (cfg.registry != { }) {
xdg.configFile."nix/registry.json".source = xdg.configFile."nix/registry.json".source =
jsonFormat.generate "registry.json" { jsonFormat.generate "registry.json" {

View file

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

View file

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

View file

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

View file

@ -274,6 +274,7 @@ let
./services/barrier.nix ./services/barrier.nix
./services/batsignal.nix ./services/batsignal.nix
./services/betterlockscreen.nix ./services/betterlockscreen.nix
./services/blanket.nix
./services/blueman-applet.nix ./services/blueman-applet.nix
./services/borgmatic.nix ./services/borgmatic.nix
./services/cachix-agent.nix ./services/cachix-agent.nix
@ -300,6 +301,7 @@ let
./services/fusuma.nix ./services/fusuma.nix
./services/getmail.nix ./services/getmail.nix
./services/git-sync.nix ./services/git-sync.nix
./services/glance.nix
./services/gnome-keyring.nix ./services/gnome-keyring.nix
./services/gpg-agent.nix ./services/gpg-agent.nix
./services/grobi.nix ./services/grobi.nix

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

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

View file

@ -8,21 +8,24 @@ msgstr ""
"Project-Id-Version: Home Manager Modules\n" "Project-Id-Version: Home Manager Modules\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n" "POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2024-05-31 17:09+0000\n"
"Last-Translator: Automatically generated\n" "Last-Translator: jarre johansson <jarre@johansson.today>\n"
"Language-Team: none\n" "Language-Team: Finnish <https://hosted.weblate.org/projects/home-manager/"
"modules/fi/>\n"
"Language: fi\n" "Language: fi\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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 #: modules/files.nix:191
msgid "Creating home file links in %s" msgid "Creating home file links in %s"
msgstr "" msgstr "Luodaan kotitiedostolinkkejä sijaintiin %s"
#: modules/files.nix:204 #: modules/files.nix:204
msgid "Cleaning up orphan links from %s" msgid "Cleaning up orphan links from %s"
msgstr "" msgstr "Siivotaan orpoja linkkejä sijainnista %s"
#: modules/files.nix:220 #: modules/files.nix:220
msgid "Creating profile generation %s" msgid "Creating profile generation %s"
@ -50,15 +53,15 @@ msgstr ""
#: modules/home-environment.nix:667 #: modules/home-environment.nix:667
msgid "Activating %s" msgid "Activating %s"
msgstr "" msgstr "Aktivoidaan %s"
#: modules/lib-bash/activation-init.sh:22 #: modules/lib-bash/activation-init.sh:22
msgid "Migrating profile from %s to %s" msgid "Migrating profile from %s to %s"
msgstr "" msgstr "Siirretään profiilia sijainnista %s kohteeseen %s"
#: modules/lib-bash/activation-init.sh:54 #: modules/lib-bash/activation-init.sh:54
msgid "Could not find suitable profile directory, tried %s and %s" 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 #: modules/lib-bash/activation-init.sh:83
msgid "Sanity checking oldGenNum and oldGenPath" msgid "Sanity checking oldGenNum and oldGenPath"
@ -79,6 +82,19 @@ msgid ""
"\n" "\n"
"and trying home-manager switch again. Good luck!" "and trying home-manager switch again. Good luck!"
msgstr "" 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 #: modules/lib-bash/activation-init.sh:127
msgid "Error: USER is set to \"%s\" but we expect \"%s\"" msgid "Error: USER is set to \"%s\" but we expect \"%s\""
@ -90,15 +106,15 @@ msgstr ""
#: modules/lib-bash/activation-init.sh:153 #: modules/lib-bash/activation-init.sh:153
msgid "Starting Home Manager activation" msgid "Starting Home Manager activation"
msgstr "" msgstr "Home Managerin aktivointi käynnistyy"
#: modules/lib-bash/activation-init.sh:157 #: modules/lib-bash/activation-init.sh:157
msgid "Sanity checking Nix" msgid "Sanity checking Nix"
msgstr "" msgstr "Nixin eheys tarkistetaan"
#: modules/lib-bash/activation-init.sh:170 #: modules/lib-bash/activation-init.sh:170
msgid "This is a dry run" msgid "This is a dry run"
msgstr "" msgstr "Tämä on testiajo"
#: modules/lib-bash/activation-init.sh:174 #: modules/lib-bash/activation-init.sh:174
msgid "This is a live run" msgid "This is a live run"
@ -110,4 +126,4 @@ msgstr ""
#: modules/lib-bash/activation-init.sh:183 #: modules/lib-bash/activation-init.sh:183
msgid "Activation variables:" msgid "Activation variables:"
msgstr "" msgstr "Aktivointimuuttujat:"

113
modules/po/hu.po Normal file
View file

@ -0,0 +1,113 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Home Manager contributors
# This file is distributed under the same license as the Home Manager Modules package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Home Manager Modules\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: 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 ""

View file

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

View file

@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Home Manager Modules\n" "Project-Id-Version: Home Manager Modules\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-04-17 23:19+0200\n" "POT-Creation-Date: 2024-04-17 23:19+0200\n"
"PO-Revision-Date: 2024-03-27 15:05+0000\n" "PO-Revision-Date: 2024-06-02 08:12+0000\n"
"Last-Translator: Nguyen Khanh <nguynkhan479@gmail.com>\n" "Last-Translator: goatastronaut0212 <goatastronaut0212@proton.me>\n"
"Language-Team: Vietnamese <https://hosted.weblate.org/projects/home-manager/" "Language-Team: Vietnamese <https://hosted.weblate.org/projects/home-manager/"
"modules/vi/>\n" "modules/vi/>\n"
"Language: vi\n" "Language: vi\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\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 #: modules/files.nix:191
msgid "Creating home file links in %s" msgid "Creating home file links in %s"
@ -97,7 +97,7 @@ msgstr ""
#: modules/lib-bash/activation-init.sh:157 #: modules/lib-bash/activation-init.sh:157
msgid "Sanity checking Nix" msgid "Sanity checking Nix"
msgstr "" msgstr "Kiểm tra độ hợp lệ của Nix"
#: modules/lib-bash/activation-init.sh:170 #: modules/lib-bash/activation-init.sh:170
msgid "This is a dry run" msgid "This is a dry run"
@ -109,8 +109,8 @@ msgstr ""
#: modules/lib-bash/activation-init.sh:180 #: modules/lib-bash/activation-init.sh:180
msgid "Using Nix version: %s" msgid "Using Nix version: %s"
msgstr "" msgstr "Phiên bản Nix đươc sử dụng: %s"
#: modules/lib-bash/activation-init.sh:183 #: modules/lib-bash/activation-init.sh:183
msgid "Activation variables:" msgid "Activation variables:"
msgstr "" msgstr "Các biến được kích hoạt:"

View file

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

View file

@ -67,8 +67,8 @@ in {
}; };
historyControl = mkOption { historyControl = mkOption {
type = type = types.listOf
types.listOf (types.enum [ "erasedups" "ignoredups" "ignorespace" ]); (types.enum [ "erasedups" "ignoredups" "ignorespace" "ignoreboth" ]);
default = [ ]; default = [ ];
description = "Controlling how commands are saved on the history list."; description = "Controlling how commands are saved on the history list.";
}; };

View file

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

View file

@ -73,7 +73,7 @@ with lib;
args = escapeShellArgs (optional cfg.icons "--icons" args = escapeShellArgs (optional cfg.icons "--icons"
++ optional cfg.git "--git" ++ cfg.extraOptions); ++ optional cfg.git "--git" ++ cfg.extraOptions);
optionsAlias = { eza = "eza ${args}"; }; optionsAlias = optionalAttrs (args != "") { eza = "eza ${args}"; };
aliases = builtins.mapAttrs (_name: value: lib.mkDefault value) { aliases = builtins.mapAttrs (_name: value: lib.mkDefault value) {
ls = "eza"; ls = "eza";

View file

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

View file

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

View file

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

View file

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

View file

@ -68,6 +68,11 @@ in {
type = with lib.types; type = with lib.types;
attrsOf (submodule { attrsOf (submodule {
options.khard.enable = lib.mkEnableOption "khard access"; 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 { config = lib.mkIf cfg.enable {
home.packages = [ pkgs.khard ]; 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] [addressbooks]
${lib.concatMapStringsSep "\n" (acc: '' ${lib.concatMapStringsSep "\n" (acc: ''
[[${acc.name}]] [[${acc.name}]]
path = ${acc.local.path} path = ${makePath acc}
'') (lib.attrValues accounts)} '') (lib.attrValues accounts)}
${renderSettings cfg.settings} ${renderSettings cfg.settings}

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -24,14 +24,7 @@ in {
}; };
settings = mkOption { settings = mkOption {
type = with types; type = tomlFormat.type;
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"; };
default = { }; default = { };
example = literalExpression '' example = literalExpression ''
{ {

View file

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

View file

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

View file

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

View file

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

View file

@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let cfg = config.services.cliphist; let cfg = config.services.cliphist;
in { in {
meta.maintainers = [ lib.maintainers.janik ]; meta.maintainers = [ lib.hm.maintainers.janik ];
options.services.cliphist = { options.services.cliphist = {
enable = enable =

View file

@ -172,7 +172,7 @@ in {
mkPath = { basePath, theme, category }: mkPath = { basePath, theme, category }:
"${basePath}/share/icons/${theme.name}/${theme.size}/${category}"; "${basePath}/share/icons/${theme.name}/${theme.size}/${category}";
in concatMapStringsSep ":" mkPath (cartesianProductOfSets { in concatMapStringsSep ":" mkPath (cartesianProduct {
basePath = basePaths; basePath = basePaths;
theme = themes; theme = themes;
category = categories; category = categories;

View file

@ -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
<https://github.com/glanceapp/glance/blob/main/docs/configuration.md>
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}";
};
};
}

View file

@ -49,7 +49,7 @@ in {
args = concatStringsSep " " ([ "--start" "--foreground" ] args = concatStringsSep " " ([ "--start" "--foreground" ]
++ optional (cfg.components != [ ]) ++ optional (cfg.components != [ ])
("--components=" + concatStringsSep "," 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"; Restart = "on-abort";
}; };

View file

@ -48,9 +48,8 @@ let
hexStringToBase32 = let hexStringToBase32 = let
mod = a: b: a - a / b * b; mod = a: b: a - a / b * b;
pow2 = elemAt [ 1 2 4 8 16 32 64 128 256 ]; 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: { hexToIntTable = listToAttrs (genList (x: {
name = toLower (toHexString x); name = toLower (toHexString x);
value = x; value = x;
@ -76,7 +75,7 @@ let
buf = buf'; buf = buf';
bufBits = bufBits'; bufBits = bufBits';
}; };
in hexString: (foldl' go initState (splitChars hexString)).ret; in hexString: (foldl' go initState (stringToCharacters hexString)).ret;
in { in {
meta.maintainers = [ maintainers.rycee ]; meta.maintainers = [ maintainers.rycee ];

View file

@ -209,6 +209,7 @@ in {
Attribute set of profiles. Attribute set of profiles.
''; '';
example = literalExpression '' example = literalExpression ''
{
undocked = { undocked = {
outputs = [ outputs = [
{ {
@ -227,6 +228,7 @@ in {
} }
]; ];
}; };
}
''; '';
}; };
@ -247,6 +249,7 @@ in {
See kanshi(5) for informations. See kanshi(5) for informations.
''; '';
example = literalExpression '' example = literalExpression ''
[
{ include = "path/to/included/files"; } { include = "path/to/included/files"; }
{ output.criteria = "eDP-1"; { output.criteria = "eDP-1";
output.scale = 2; output.scale = 2;
@ -269,6 +272,7 @@ in {
} }
]; ];
} }
]
''; '';
}; };

View file

@ -48,7 +48,12 @@ in {
Service = { Service = {
Environment = "PATH=${config.home.profileDirectory}/bin"; 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"; Restart = "on-abort";
}; };
}; };

View file

@ -24,7 +24,7 @@ in {
Configuration for listenbrainz-mpd written to Configuration for listenbrainz-mpd written to
{file}`$XDG_CONFIG_HOME/listenbrainz-mpd/config.toml`. {file}`$XDG_CONFIG_HOME/listenbrainz-mpd/config.toml`.
''; '';
example = { submission.tokenFile = "/run/secrets/listenbrainz-mpd"; }; example = { submission.token_file = "/run/secrets/listenbrainz-mpd"; };
}; };
}; };

View file

@ -171,10 +171,17 @@ in {
]; ];
systemd.user.services.mpd = { systemd.user.services.mpd = {
Unit = { Unit = mkMerge [
After = [ "network.target" "sound.target" ]; {
Description = "Music Player Daemon"; Description = "Music Player Daemon";
}; After = [ "network.target" "sound.target" ];
}
(mkIf cfg.network.startWhenNeeded {
Requires = [ "mpd.socket" ];
After = [ "mpd.socket" ];
})
];
Install = mkIf (!cfg.network.startWhenNeeded) { Install = mkIf (!cfg.network.startWhenNeeded) {
WantedBy = [ "default.target" ]; WantedBy = [ "default.target" ];

View file

@ -90,6 +90,18 @@ in {
garbage collector is run automatically. 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"; }; Unit = { Description = "Nix Garbage Collector"; };
Timer = { Timer = {
OnCalendar = "${cfg.frequency}"; OnCalendar = "${cfg.frequency}";
Persistent = cfg.persistent;
Unit = "nix-gc.service"; Unit = "nix-gc.service";
}; };
Install = { WantedBy = [ "timers.target" ]; }; Install = { WantedBy = [ "timers.target" ]; };

View file

@ -15,7 +15,7 @@ let
"--basic-auth ${escapeShellArg cfg.httpAuth}"); "--basic-auth ${escapeShellArg cfg.httpAuth}");
in { in {
meta.maintainers = [ maintainers.ivar ]; meta.maintainers = [ ];
options.services.pbgopy = { options.services.pbgopy = {
enable = mkEnableOption "pbgopy"; enable = mkEnableOption "pbgopy";

View file

@ -9,7 +9,7 @@ let
presetOpts = optionalString (cfg.preset != "") "--load-preset ${cfg.preset}"; presetOpts = optionalString (cfg.preset != "") "--load-preset ${cfg.preset}";
in { in {
meta.maintainers = [ maintainers.jonringer ]; meta.maintainers = [ hm.maintainers.jonringer ];
options.services.pulseeffects = { options.services.pulseeffects = {
enable = mkEnableOption '' enable = mkEnableOption ''

View file

@ -5,7 +5,7 @@ let
cfg = config.services.ssh-agent; cfg = config.services.ssh-agent;
in { in {
meta.maintainers = [ lib.maintainers.lheckemann ]; meta.maintainers = [ lib.hm.maintainers.lheckemann ];
options = { options = {
services.ssh-agent = { services.ssh-agent = {

View file

@ -74,7 +74,7 @@ in {
} }
(mkIf (cfg.config != { }) { (mkIf (cfg.config != { }) {
home.file.".stalonetrayrc".text = let xdg.configFile."stalonetrayrc".text = let
valueToString = v: valueToString = v:
if isBool v then if isBool v then
(if v then "true" else "false") (if v then "true" else "false")
@ -88,7 +88,7 @@ in {
}) })
(mkIf (cfg.extraConfig != "") { (mkIf (cfg.extraConfig != "") {
home.file.".stalonetrayrc".text = cfg.extraConfig; xdg.configFile."stalonetrayrc".text = cfg.extraConfig;
}) })
]); ]);
} }

View file

@ -118,6 +118,7 @@ in {
Unit = { Unit = {
Description = "Idle manager for Wayland"; Description = "Idle manager for Wayland";
Documentation = "man:swayidle(1)"; Documentation = "man:swayidle(1)";
ConditionEnvironment = "WAYLAND_DISPLAY";
PartOf = [ "graphical-session.target" ]; PartOf = [ "graphical-session.target" ];
}; };

View file

@ -40,7 +40,21 @@ in {
]; ];
options.wayland.windowManager.hyprland = { 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" { }; 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."; "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; 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 xdg.configFile."hypr/hyprland.conf" = let
shouldGenerate = cfg.systemd.enable || cfg.extraConfig != "" shouldGenerate = cfg.systemd.enable || cfg.extraConfig != ""
@ -236,8 +253,9 @@ in {
}) + lib.optionalString (cfg.extraConfig != "") cfg.extraConfig; }) + lib.optionalString (cfg.extraConfig != "") cfg.extraConfig;
onChange = lib.mkIf (cfg.package != null) '' 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 for i in $(${cfg.finalPackage}/bin/hyprctl instances -j | jq ".[].instance" -r); do
${cfg.finalPackage}/bin/hyprctl -i "$i" reload config-only ${cfg.finalPackage}/bin/hyprctl -i "$i" reload config-only
done done

View file

@ -403,7 +403,7 @@ in {
"XCURSOR_THEME" "XCURSOR_THEME"
"XCURSOR_SIZE" "XCURSOR_SIZE"
]; ];
example = [ "-all" ]; example = [ "--all" ];
description = '' description = ''
Environment variables imported into the systemd and D-Bus user environment. Environment variables imported into the systemd and D-Bus user environment.
''; '';
@ -411,7 +411,12 @@ in {
extraCommands = mkOption { extraCommands = mkOption {
type = types.listOf types.str; 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 = '' description = ''
Extra commands to run after D-Bus activation. Extra commands to run after D-Bus activation.
''; '';

View file

@ -34,7 +34,7 @@ function systemdPostReload() {
touch "$oldServiceFiles" touch "$oldServiceFiles"
else else
find "$oldUserServicePath" \ find "$oldUserServicePath" \
-maxdepth 1 -name '*.service' -exec basename '{}' ';' \ -maxdepth 1 -name '*.service' \! -name '*@.service' -exec basename '{}' ';' \
| sort \ | sort \
> "$oldServiceFiles" > "$oldServiceFiles"
fi fi
@ -43,7 +43,7 @@ function systemdPostReload() {
touch "$newServiceFiles" touch "$newServiceFiles"
else else
find "$newUserServicePath" \ find "$newUserServicePath" \
-maxdepth 1 -name '*.service' -exec basename '{}' ';' \ -maxdepth 1 -name '*.service' \! -name '*@.service' -exec basename '{}' ';' \
| sort \ | sort \
> "$newServiceFiles" > "$newServiceFiles"
fi fi

View file

@ -100,6 +100,8 @@ let
settingsFormat.generate "user.conf" cfg.settings; settingsFormat.generate "user.conf" cfg.settings;
}; };
configHome = lib.removePrefix config.home.homeDirectory config.xdg.configHome;
in { in {
meta.maintainers = [ lib.maintainers.rycee ]; meta.maintainers = [ lib.maintainers.rycee ];
@ -335,8 +337,8 @@ in {
in '' in ''
${pkgs.sd-switch}/bin/sd-switch \ ${pkgs.sd-switch}/bin/sd-switch \
''${DRY_RUN:+--dry-run} $VERBOSE_ARG ${timeoutArg} \ ''${DRY_RUN:+--dry-run} $VERBOSE_ARG ${timeoutArg} \
''${oldGenPath:+--old-units $oldGenPath/home-files/.config/systemd/user} \ ''${oldUnitsDir:+--old-units $oldUnitsDir} \
--new-units $newGenPath/home-files/.config/systemd/user --new-units "$newUnitsDir"
''; '';
}; };
@ -354,8 +356,22 @@ in {
warnEcho "Attempting to reload services anyway..." warnEcho "Attempting to reload services anyway..."
fi 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} \ ${ensureRuntimeDir} \
${getAttr cfg.startServices cmd} ${getAttr cfg.startServices cmd}
unset newUnitsDir oldUnitsDir
else else
echo "User systemd daemon not running. Skipping reload." echo "User systemd daemon not running. Skipping reload."
fi fi

View file

@ -1,4 +1,4 @@
{ {
"release": "24.05", "release": "24.11",
"isReleaseBranch": false "isReleaseBranch": false
} }

View file

@ -224,6 +224,7 @@ in import nmtSrc {
./modules/services/activitywatch ./modules/services/activitywatch
./modules/services/avizo ./modules/services/avizo
./modules/services/barrier ./modules/services/barrier
./modules/services/blanket
./modules/services/borgmatic ./modules/services/borgmatic
./modules/services/cachix-agent ./modules/services/cachix-agent
./modules/services/cliphist ./modules/services/cliphist
@ -240,6 +241,7 @@ in import nmtSrc {
./modules/services/fnott ./modules/services/fnott
./modules/services/fusuma ./modules/services/fusuma
./modules/services/git-sync ./modules/services/git-sync
./modules/services/glance
./modules/services/gpg-agent ./modules/services/gpg-agent
./modules/services/gromit-mpx ./modules/services/gromit-mpx
./modules/services/home-manager-auto-upgrade ./modules/services/home-manager-auto-upgrade

View file

@ -7,6 +7,8 @@
nodes.machine = { ... }: { nodes.machine = { ... }: {
imports = [ ../../../nixos ]; # Import the HM NixOS module. imports = [ ../../../nixos ]; # Import the HM NixOS module.
virtualisation.memorySize = 2048;
users.users.alice = { users.users.alice = {
isNormalUser = true; isNormalUser = true;
description = "Alice Foobar"; description = "Alice Foobar";
@ -15,7 +17,7 @@
}; };
home-manager.users.alice = { ... }: { home-manager.users.alice = { ... }: {
home.stateVersion = "23.11"; home.stateVersion = "24.05";
home.file.test.text = "testfile"; home.file.test.text = "testfile";
# Enable a light-weight systemd service. # Enable a light-weight systemd service.
services.pueue.enable = true; services.pueue.enable = true;

View file

@ -13,7 +13,7 @@
# You should not change this value, even if you update Home Manager. If you do # 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 # want to update the value, then make sure to first check the Home Manager
# release notes. # 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 # The home.packages option allows you to install Nix packages into your
# environment. # environment.

View file

@ -3,7 +3,7 @@
{ {
home.username = "alice"; home.username = "alice";
home.homeDirectory = "/home/alice"; home.homeDirectory = "/home/alice";
home.stateVersion = "23.11"; home.stateVersion = "24.05";
home.packages = [ pkgs.hello ]; home.packages = [ pkgs.hello ];
home.file.test.text = "test"; home.file.test.text = "test";
home.sessionVariables.EDITOR = "emacs"; home.sessionVariables.EDITOR = "emacs";

View file

@ -6,7 +6,7 @@
nodes.machine = { ... }: { nodes.machine = { ... }: {
imports = [ "${pkgs.path}/nixos/modules/installer/cd-dvd/channel.nix" ]; imports = [ "${pkgs.path}/nixos/modules/installer/cd-dvd/channel.nix" ];
virtualisation.memorySize = 2048; virtualisation.memorySize = 3072;
nix = { nix = {
registry.home-manager.to = { registry.home-manager.to = {
type = "path"; type = "path";
@ -88,7 +88,7 @@
} /home/alice/.config/home-manager/home.nix") } /home/alice/.config/home-manager/home.nix")
actual = succeed_as_alice("home-manager switch") actual = succeed_as_alice("home-manager switch")
expected = "Started pueued.service - active" expected = "Starting units: pueued.service"
assert expected in actual, \ assert expected in actual, \
f"expected home-manager switch to contain {expected}, but got {actual}" f"expected home-manager switch to contain {expected}, but got {actual}"

View file

@ -85,7 +85,7 @@
} /home/alice/.config/home-manager/home.nix") } /home/alice/.config/home-manager/home.nix")
actual = succeed_as_alice("home-manager switch") actual = succeed_as_alice("home-manager switch")
expected = "Started pueued.service - active" expected = "Starting units: pueued.service"
assert expected in actual, \ assert expected in actual, \
f"expected home-manager switch to contain {expected}, but got {actual}" f"expected home-manager switch to contain {expected}, but got {actual}"

View file

@ -4,11 +4,15 @@
version = "0"; version = "0";
outPath = null; outPath = null;
buildScript = '' 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 \ touch $out/bin/fcitx5 \
$out/bin/fcitx5-config-qt \ $out/bin/fcitx5-config-qt \
$out/share/applications/org.fcitx.Fcitx5.desktop \ $out/share/applications/org.fcitx.Fcitx5.desktop \
$out/share/dbus-1/services/org.fcitx.Fcitx5.service \
$out/etc/xdg/autostart/org.fcitx.Fcitx5.desktop $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 \ chmod +x $out/bin/fcitx5 \
$out/bin/fcitx5-config-qt $out/bin/fcitx5-config-qt
''; '';

View file

@ -2,4 +2,7 @@
nix-empty-settings = ./empty-settings.nix; nix-empty-settings = ./empty-settings.nix;
nix-example-settings = ./example-settings.nix; nix-example-settings = ./example-settings.nix;
nix-example-registry = ./example-registry.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;
} }

View file

@ -8,6 +8,7 @@ with lib;
nmt.script = '' nmt.script = ''
assertPathNotExists home-files/.config/nix assertPathNotExists home-files/.config/nix
assertPathNotExists home-files/.nix-defexpr/50-home-manager
''; '';
}; };
} }

View file

@ -0,0 +1,29 @@
{ lib, config, pkgs, ... }:
let
exampleChannel = pkgs.writeTextDir "default.nix" ''
{ pkgs ? import <nixpkgs> { } }:
{
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
'';
};
}

View file

@ -0,0 +1,26 @@
{ config, pkgs, ... }:
let
exampleChannel = pkgs.writeTextDir "default.nix" ''
{ pkgs ? import <nixpkgs> { } }:
{
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
'';
};
}

View file

@ -17,6 +17,8 @@ with lib;
''; '';
}; };
nixPath = [ "/a" "/b/c" ];
settings = { settings = {
use-sandbox = true; use-sandbox = true;
show-trace = true; show-trace = true;
@ -28,6 +30,9 @@ with lib;
assertFileContent \ assertFileContent \
home-files/.config/nix/nix.conf \ home-files/.config/nix/nix.conf \
${./example-settings-expected.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}"'
''; '';
}; };
} }

View file

@ -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"'
'';
};
}

View file

@ -10,7 +10,7 @@
}; };
test.stubs = { test.stubs = {
atuin = { }; atuin = { name = "atuin"; };
bash-preexec = { }; bash-preexec = { };
}; };

View file

@ -4,7 +4,7 @@
programs.atuin.enable = true; programs.atuin.enable = true;
test.stubs = { test.stubs = {
atuin = { }; atuin = { name = "atuin"; };
bash-preexec = { }; bash-preexec = { };
}; };

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