mirror of
https://github.com/nix-community/home-manager.git
synced 2026-01-11 17:39:37 +08:00
Compare commits
1 Commits
a97b0a0999
...
docker-ser
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
faa4b16358 |
@@ -9,7 +9,6 @@ environment:
|
||||
NIX_CONFIG: "experimental-features = nix-command flakes"
|
||||
packages:
|
||||
- nixos.cachix
|
||||
- nixos.jq
|
||||
tasks:
|
||||
- setup: |
|
||||
cachix use rycee
|
||||
@@ -27,7 +26,7 @@ tasks:
|
||||
if [[ $gitBranch == master ]]; then
|
||||
dirName="unstable"
|
||||
else
|
||||
dirName="$(jq -r .release < release.json)"
|
||||
dirName="$(cat .release)"
|
||||
fi
|
||||
|
||||
rsync --delete -r --info=stats \
|
||||
|
||||
@@ -11,7 +11,7 @@ insert_final_newline = true
|
||||
|
||||
# The JSON files contain newlines inconsistently
|
||||
[*.json]
|
||||
insert_final_newline = unset
|
||||
insert_final_newline = ignore
|
||||
|
||||
# Makefiles always use tabs for indentation
|
||||
[Makefile]
|
||||
@@ -19,6 +19,3 @@ indent_style = tab
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[*.plist]
|
||||
insert_final_newline = false
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
# This file contains a list of commits that are not likely what you
|
||||
# are looking for in a blame, such as mass reformatting or renaming.
|
||||
#
|
||||
# $ git config blame.ignoreRevsFile .git-blame-ignore-revs
|
||||
|
||||
# Treewide nixfmt-rfc-style
|
||||
cba2f9ce95c8d10b66cacf05a275e3ad71959638
|
||||
|
||||
# Treewide remove with lib
|
||||
0b491b460f52e87e23eb17bbf59c6ae64b7664c1
|
||||
95711f926676018d279ba09fe7530d03b5d5b3e2
|
||||
5e193cdcab61b5e7096ef3c132fdc0149e14f2d9
|
||||
55cf1f16324e694c991e846ad5fc897f0f75ac64
|
||||
a710f337d6f541f5ba50bc2d5daa6c34e9ee5834
|
||||
10dca990ae02aaf41ff12c5b18dd3dcf258c0d04
|
||||
d7f451d7b13bbe075abecfd345f8b149a000216a
|
||||
65413f297f8c4c42a99270c15bce7bda1bfea724
|
||||
b5976017741653251258112f7e6ee5d8b9e3a832
|
||||
e0be70bcf94be20f8f0f6d215d909b614ab6ebeb
|
||||
e30c6a41bc8548738341d10c0b17f8fead8e55ee
|
||||
b5142d46a3f912ef99e9cec3e51d757fbeaf14ea
|
||||
56374cc64d58451b359bb4e8502387d3a96e7c7b
|
||||
32531e457215000b739da6cd40acfb080823f396
|
||||
34d524f3edcf3a04c00ad2c09c24ec9d35d937f9
|
||||
439a125afef8c97308ec0c6db75d38e15d92208d
|
||||
5031c6d2978109336637977c165f82aa49fa16a7
|
||||
b34b56689dcc75294e14e8c95db4e054a4e9573f
|
||||
234613d77c939ff2e2c0f2c476a56d80930e5b8b
|
||||
e3baf274f47678df6289c7482353cb6d38b7be5d
|
||||
c90cd85b04ff3348978b05ba73ffc8e1b74b9fce
|
||||
2d731a33b193209cb88b874e508ea912765f7d99
|
||||
20fd9686b85dc64657a176466e23d0f3a5e1f760
|
||||
96dee79b178d295b716052feca3ee46abc085abe
|
||||
97d7946b5e107dd03cc82f21165251d4e0159655
|
||||
0dfec9deb275854a56c97c356c40ef72e3a2e632
|
||||
4b2d3b03becc184f2d1485e109c6a55f94d5f886
|
||||
|
||||
# Treewide remove lib.mdDoc
|
||||
9f9e277b60a6e6915ad3a129e06861044b50fdf2
|
||||
|
||||
# Treewide replace usage of literalExample
|
||||
bd11e2c5e67385970e59e55ba7a4c35d1ffaee4d
|
||||
|
||||
# Treewide nix fmt change
|
||||
b4752b0eda6302b92a6d5dd554c83f188bc3ae6d
|
||||
9136120c369d91144910a985262e3c3b8e8872d6
|
||||
|
||||
# Treewide remove noops
|
||||
f2f1076c1f789595c2a2b18b76466fbd691025dd
|
||||
15
.github/ISSUE_TEMPLATE/feature-request.md
vendored
Normal file
15
.github/ISSUE_TEMPLATE/feature-request.md
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Ask for a new feature to be added (module, program, etc.)
|
||||
title: ''
|
||||
labels: feature request
|
||||
assignees: rycee, berbiche, sumnerevans
|
||||
|
||||
---
|
||||
|
||||
<!--
|
||||
Note: Please search to see if the feature has already been requested
|
||||
-->
|
||||
|
||||
### Description
|
||||
|
||||
38
.github/ISSUE_TEMPLATE/feature-request.yaml
vendored
38
.github/ISSUE_TEMPLATE/feature-request.yaml
vendored
@@ -1,38 +0,0 @@
|
||||
name: "✨ Feature Request"
|
||||
description: "Suggest an improvement to Home Manager"
|
||||
title: "[Feature Request] "
|
||||
labels: ["feature request"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thank you for contributing to Home Manager!
|
||||
|
||||
Before you open a new issue, please search the existing issues to see if your feature has already been requested or discussed.
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "## 🔧 Existing Module Improvement"
|
||||
- type: input
|
||||
id: existing-module-name
|
||||
attributes:
|
||||
label: Module Name
|
||||
description: "What is the name of the module?"
|
||||
placeholder: "e.g., programs.git"
|
||||
- type: textarea
|
||||
id: existing-module-feature
|
||||
attributes:
|
||||
label: Requested Feature
|
||||
description: "Please describe the new feature or improvement in detail."
|
||||
- type: textarea
|
||||
id: existing-module-limitation
|
||||
attributes:
|
||||
label: Current Limitations
|
||||
description: "Why can't your goal be achieved with the current implementation? Please be specific."
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "---"
|
||||
- type: textarea
|
||||
id: additional-context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: Add any other context, screenshots, or configuration examples about the feature request here.
|
||||
5
.github/ISSUE_TEMPLATE/issue.yaml
vendored
5
.github/ISSUE_TEMPLATE/issue.yaml
vendored
@@ -3,6 +3,10 @@ description: File a bug/issue
|
||||
title: 'bug: '
|
||||
labels: [bug, triage]
|
||||
|
||||
# We cannot use nix-community/home-manager
|
||||
# See https://github.com/dear-github/dear-github/issues/170
|
||||
assignees: [rycee, berbiche, sumnerevans]
|
||||
|
||||
body:
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
@@ -36,6 +40,7 @@ body:
|
||||
label: Maintainer CC
|
||||
description: |
|
||||
Please @ people who are in the `meta.maintainers` list of the offending module.
|
||||
If in doubt, check `git blame` for whoever last touched something.
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
|
||||
37
.github/ISSUE_TEMPLATE/new-module.yaml
vendored
37
.github/ISSUE_TEMPLATE/new-module.yaml
vendored
@@ -1,37 +0,0 @@
|
||||
name: "✨ New Module Request"
|
||||
description: "Suggest an addition to Home Manager"
|
||||
title: "[New Module Request] "
|
||||
labels: ["new module request"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thank you for contributing to Home Manager!
|
||||
|
||||
Before you open a new issue, please search the existing issues to see if your feature has already been requested or discussed.
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "## ➕ New Program or Service"
|
||||
- type: input
|
||||
id: new-program-name
|
||||
attributes:
|
||||
label: Program/Service Name
|
||||
description: "What is the name of the program or service you would like to add?"
|
||||
placeholder: "e.g., my-cool-cli-tool"
|
||||
- type: input
|
||||
id: new-program-repo
|
||||
attributes:
|
||||
label: Upstream Repository
|
||||
description: "Please provide a link to the source code repository."
|
||||
placeholder: "https://github.com/user/repo"
|
||||
- type: textarea
|
||||
id: new-program-docs
|
||||
attributes:
|
||||
label: Configuration Documentation
|
||||
description: "Please provide links to any relevant documentation for configuring this program."
|
||||
placeholder: "e.g., man page, project wiki, configuration file examples, etc."
|
||||
- type: textarea
|
||||
id: new-program-reason
|
||||
attributes:
|
||||
label: Reason for Addition
|
||||
description: "**Why do you want this program or service added to Home Manager?"
|
||||
30
.github/PULL_REQUEST_TEMPLATE.md
vendored
30
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -15,35 +15,35 @@ pull-request.
|
||||
|
||||
Also make sure to read the guidelines found at
|
||||
|
||||
https://nix-community.github.io/home-manager/#sec-guidelines
|
||||
https://github.com/nix-community/home-manager/blob/master/docs/contributing.adoc#sec-guidelines
|
||||
|
||||
-->
|
||||
|
||||
- [ ] Change is backwards compatible.
|
||||
|
||||
- [ ] Code formatted with `nix fmt` or
|
||||
`nix-shell -p treefmt nixfmt deadnix keep-sorted --run treefmt`.
|
||||
- [ ] Code formatted with `./format`.
|
||||
|
||||
- [ ] Code tested through `nix run .#tests -- test-all` or
|
||||
`nix-shell --pure tests -A run.all`.
|
||||
- [ ] Code tested through `nix-shell --pure tests -A run.all` or `nix develop --ignore-environment .#all` using Flakes.
|
||||
|
||||
- [ ] Test cases updated/added. See [example](https://github.com/nix-community/home-manager/commit/f3fbb50b68df20da47f9b0def5607857fcc0d021#diff-b61a6d542f9036550ba9c401c80f00ef).
|
||||
|
||||
- [ ] Commit messages are formatted like
|
||||
|
||||
```
|
||||
{component}: {description}
|
||||
```
|
||||
{component}: {description}
|
||||
|
||||
{long description}
|
||||
```
|
||||
{long description}
|
||||
```
|
||||
|
||||
See [CONTRIBUTING](https://nix-community.github.io/home-manager/#sec-commit-style) for more information and [recent commit messages](https://github.com/nix-community/home-manager/commits/master) for examples.
|
||||
See [CONTRIBUTING](https://github.com/nix-community/home-manager/blob/master/docs/contributing.adoc#sec-commit-style) for more information and [recent commit messages](https://github.com/nix-community/home-manager/commits/master) for examples.
|
||||
|
||||
- If this PR adds a new module
|
||||
|
||||
- [ ] Added myself as module maintainer. See [example](https://github.com/nix-community/home-manager/blob/a51598236f23c89e59ee77eb8e0614358b0e896c/modules/programs/lesspipe.nix#L11).
|
||||
- [ ] Generate a news entry. See [News](https://nix-community.github.io/home-manager/index.xhtml#sec-news)
|
||||
- [ ] Basic tests added. See [Tests](https://nix-community.github.io/home-manager/index.xhtml#sec-tests)
|
||||
- [ ] Added myself as module maintainer. See [example](https://github.com/nix-community/home-manager/blob/068ff76a10e95820f886ac46957edcff4e44621d/modules/programs/lesspipe.nix#L6).
|
||||
|
||||
- If this PR adds an exciting new feature or contains a breaking change.
|
||||
- [ ] Generate a news entry. See [News](https://nix-community.github.io/home-manager/index.xhtml#sec-news)
|
||||
#### Maintainer CC
|
||||
|
||||
<!--
|
||||
If you are updating a module, please @ people who are in its `meta.maintainers` list.
|
||||
If in doubt, check `git blame` for whoever last touched something.
|
||||
-->
|
||||
|
||||
11
.github/dependabot.yml
vendored
11
.github/dependabot.yml
vendored
@@ -7,9 +7,18 @@ updates:
|
||||
interval: "weekly"
|
||||
commit-message:
|
||||
prefix: "ci:"
|
||||
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
target-branch: "release-25.11"
|
||||
target-branch: "release-23.05"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
commit-message:
|
||||
prefix: "ci:"
|
||||
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
target-branch: "release-23.11"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
commit-message:
|
||||
|
||||
615
.github/labeler.yml
vendored
615
.github/labeler.yml
vendored
@@ -1,583 +1,36 @@
|
||||
"audio":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/services/amberol.nix
|
||||
- modules/programs/beets.nix
|
||||
- modules/programs/cava.nix
|
||||
- modules/programs/cavalier.nix
|
||||
- modules/programs/cmus.nix
|
||||
- modules/programs/ncmpcpp.nix
|
||||
- modules/programs/ncspot.nix
|
||||
- modules/programs/spotify-player.nix
|
||||
- modules/programs/timidity.nix
|
||||
- modules/services/easyeffects.nix
|
||||
- modules/services/fluidsynth.nix
|
||||
- modules/services/librespot.nix
|
||||
- modules/services/listenbrainz-mpd.nix
|
||||
- modules/services/mopidy.nix
|
||||
- modules/services/mpd-discord-rpc.nix
|
||||
- modules/services/mpd-mpris.nix
|
||||
- modules/services/mpd.nix
|
||||
- modules/services/mpdris2.nix
|
||||
- modules/services/mpdscribble.nix
|
||||
- modules/services/mpris-proxy.nix
|
||||
- modules/services/pasystray.nix
|
||||
- modules/services/playerctld.nix
|
||||
- modules/services/pulseeffects.nix
|
||||
- modules/services/rescrobbled.nix
|
||||
- modules/services/spotifyd.nix
|
||||
- tests/modules/services/mpd/**/*
|
||||
"automation":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/services/caffeine.nix
|
||||
- modules/services/darkman.nix
|
||||
- modules/services/devilspie2.nix
|
||||
- modules/services/espanso.nix
|
||||
- modules/services/keynav.nix
|
||||
- modules/services/skhd.nix
|
||||
"backup":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/programs/borgmatic.nix
|
||||
- modules/programs/rclone.nix
|
||||
- modules/programs/restic.nix
|
||||
- modules/services/borgmatic.nix
|
||||
- tests/modules/programs/borgmatic/**/*
|
||||
- tests/modules/services/borgmatic/**/*
|
||||
"bars":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/programs/eww.nix
|
||||
- modules/programs/sketchybar.nix
|
||||
- modules/programs/waybar.nix
|
||||
- modules/programs/xmobar.nix
|
||||
- modules/programs/yambar.nix
|
||||
- modules/services/polybar.nix
|
||||
- modules/services/taffybar.nix
|
||||
- tests/modules/programs/waybar/**/*
|
||||
- tests/modules/services/polybar/**/*
|
||||
"browsers":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/misc/mozilla-messaging-hosts.nix
|
||||
- modules/programs/chromium.nix
|
||||
- modules/programs/firefox/**/*
|
||||
- modules/programs/floorp.nix
|
||||
- modules/programs/librewolf.nix
|
||||
- modules/programs/qutebrowser.nix
|
||||
- tests/modules/programs/chromium/**/*
|
||||
- tests/modules/programs/firefox/**/*
|
||||
- tests/modules/programs/qutebrowser/**/*
|
||||
"calendar":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/*/vdirsyncer*.nix
|
||||
- modules/accounts/calendar.nix
|
||||
- modules/programs/khal*.nix
|
||||
- modules/programs/qcal.nix
|
||||
- tests/modules/programs/khal/**/*
|
||||
"clipboard":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/services/clipcat.nix
|
||||
- modules/services/cliphist.nix
|
||||
- modules/services/clipman.nix
|
||||
- modules/services/clipmenu.nix
|
||||
- modules/services/clipse.nix
|
||||
- modules/services/copyq.nix
|
||||
- modules/services/parcellite.nix
|
||||
- modules/services/pbgopy.nix
|
||||
- modules/services/wl-clip-persist.nix
|
||||
- tests/modules/services/clipman/**/*
|
||||
- tests/modules/services/copyq/**/*
|
||||
- tests/modules/services/wl-clip-persist/**/*
|
||||
"cli-tools":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/programs/antidote.nix
|
||||
- modules/programs/atuin.nix
|
||||
- modules/programs/autojump.nix
|
||||
- modules/programs/bashmount.nix
|
||||
- modules/programs/bat.nix
|
||||
- modules/programs/bottom.nix
|
||||
- modules/programs/boxxy.nix
|
||||
- modules/programs/broot.nix
|
||||
- modules/programs/btop.nix
|
||||
- modules/programs/carapace.nix
|
||||
- modules/programs/dircolors.nix
|
||||
- modules/programs/direnv.nix
|
||||
- modules/programs/eza.nix
|
||||
- modules/programs/fastfetch.nix
|
||||
- modules/programs/fd.nix
|
||||
- modules/programs/fzf.nix
|
||||
- modules/programs/gurk-rs.nix
|
||||
- modules/programs/hstr.nix
|
||||
- modules/programs/htop.nix
|
||||
- modules/programs/hwatch.nix
|
||||
- modules/programs/hyfetch.nix
|
||||
- modules/programs/jq*.nix
|
||||
- modules/programs/just.nix
|
||||
- modules/programs/keychain.nix
|
||||
- modules/programs/less.nix
|
||||
- modules/programs/lesspipe.nix
|
||||
- modules/programs/lsd.nix
|
||||
- modules/programs/man.nix
|
||||
- modules/programs/mcfly.nix
|
||||
- modules/programs/navi.nix
|
||||
- modules/programs/nix-your-shell.nix
|
||||
- modules/programs/pay-respects.nix
|
||||
- modules/programs/pazi.nix
|
||||
- modules/programs/pet.nix
|
||||
- modules/programs/pistol.nix
|
||||
- modules/programs/pls.nix
|
||||
- modules/programs/readline.nix
|
||||
- modules/programs/ripgrep*.nix
|
||||
- modules/programs/scmpuff.nix
|
||||
- modules/programs/script-directory.nix
|
||||
- modules/programs/sesh.nix
|
||||
- modules/programs/skim.nix
|
||||
- modules/programs/superfile.nix
|
||||
- modules/programs/tealdeer.nix
|
||||
- modules/programs/television.nix
|
||||
- modules/programs/thefuck.nix
|
||||
- modules/programs/tmate.nix
|
||||
- modules/programs/tmux.nix
|
||||
- modules/programs/topgrade.nix
|
||||
- modules/programs/translate-shell.nix
|
||||
- modules/programs/uv.nix
|
||||
- modules/programs/watson.nix
|
||||
- modules/programs/z-lua.nix
|
||||
- modules/programs/zellij.nix
|
||||
- modules/programs/zk.nix
|
||||
- modules/programs/zoxide.nix
|
||||
- modules/programs/zplug.nix
|
||||
- tests/modules/programs/fzf/**/*
|
||||
- tests/modules/programs/tmux/**/*
|
||||
"contacts":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/accounts/contacts.nix
|
||||
- modules/programs/abook.nix
|
||||
- modules/programs/khard.nix
|
||||
- tests/modules/programs/abook/**/*
|
||||
- tests/modules/programs/khard/**/*
|
||||
"containers":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/services/podman-linux/**/*
|
||||
- modules/programs/distrobox.nix
|
||||
- modules/programs/docker-cli.nix
|
||||
"desktop-ui":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/services/avizo.nix
|
||||
- modules/services/blanket.nix
|
||||
- modules/services/flameshot.nix
|
||||
- modules/programs/gnome-shell.nix
|
||||
- modules/services/gromit-mpx.nix
|
||||
- modules/services/linux-wallpaperengine.nix
|
||||
- modules/services/random-background.nix
|
||||
- modules/services/volnoti.nix
|
||||
- modules/services/wob.nix
|
||||
- modules/services/wpaperd.nix
|
||||
"desktop-utilities":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/services/autorandr.nix
|
||||
- modules/services/blueman-applet.nix
|
||||
- modules/services/gnome-keyring.nix
|
||||
- modules/services/lxqt-policykit-agent.nix
|
||||
- modules/services/network-manager-applet.nix
|
||||
- modules/services/polkit-gnome.nix
|
||||
- modules/services/sctd.nix
|
||||
- modules/services/snixembed.nix
|
||||
- modules/services/status-notifier-watcher.nix
|
||||
- modules/services/systembus-notify.nix
|
||||
- modules/services/trayscale.nix
|
||||
- modules/services/udiskie.nix
|
||||
- modules/services/unclutter.nix
|
||||
- modules/services/xembed-sni-proxy.nix
|
||||
"dev-tools":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/programs/bacon.nix
|
||||
- modules/programs/bun.nix
|
||||
- modules/programs/darcs.nix
|
||||
- modules/programs/earthly.nix
|
||||
- modules/programs/eclipse.nix
|
||||
- modules/programs/go.nix
|
||||
- modules/programs/gradle.nix
|
||||
- modules/programs/granted.nix
|
||||
- modules/programs/java.nix
|
||||
- modules/programs/jetbrains-remote.nix
|
||||
- modules/programs/kubecolor.nix
|
||||
- modules/programs/kubeswitch.nix
|
||||
- modules/programs/lazydocker.nix
|
||||
- modules/programs/matplotlib.nix
|
||||
- modules/programs/mercurial.nix
|
||||
- modules/programs/mergiraf.nix
|
||||
- modules/programs/mise.nix
|
||||
- modules/programs/mods.nix
|
||||
- modules/programs/mr.nix
|
||||
- modules/programs/nh.nix
|
||||
- modules/programs/nix-index.nix
|
||||
- modules/programs/nix-init.nix
|
||||
- modules/programs/numbat.nix
|
||||
- modules/programs/octant.nix
|
||||
- modules/programs/opam.nix
|
||||
- modules/programs/openstackclient.nix
|
||||
- modules/programs/pgcli.nix
|
||||
- modules/programs/piston-cli.nix
|
||||
- modules/programs/poetry.nix
|
||||
- modules/programs/pyenv.nix
|
||||
- modules/programs/pylint.nix
|
||||
- modules/programs/python*.nix
|
||||
- modules/programs/pywal.nix
|
||||
- modules/programs/rbenv.nix
|
||||
- modules/programs/ruff.nix
|
||||
- modules/programs/sagemath.nix
|
||||
- modules/programs/sbt.nix
|
||||
- modules/programs/sftpman.nix
|
||||
- modules/programs/smug.nix
|
||||
- modules/programs/sqls.nix
|
||||
- modules/programs/tex-fmt.nix
|
||||
- modules/programs/texlive.nix
|
||||
- modules/programs/vim-vint.nix
|
||||
- modules/programs/visidata.nix
|
||||
- modules/services/lorri.nix
|
||||
- tests/modules/programs/go/**/*
|
||||
- tests/modules/programs/java/**/*
|
||||
"editors":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/programs/emacs.nix
|
||||
- modules/programs/helix.nix
|
||||
- modules/programs/kakoune.nix
|
||||
- modules/programs/lapce.nix
|
||||
- modules/programs/micro.nix
|
||||
- modules/programs/ne.nix
|
||||
- modules/programs/neovide.nix
|
||||
- modules/programs/neovim.nix
|
||||
- modules/programs/vim*.nix
|
||||
- modules/programs/vscode.nix
|
||||
- modules/programs/zed-editor.nix
|
||||
- modules/services/emacs.nix
|
||||
- tests/modules/programs/emacs/**/*
|
||||
- tests/modules/programs/helix/**/*
|
||||
- tests/modules/programs/neovim/**/*
|
||||
- tests/modules/programs/vim/**/*
|
||||
"file-manager":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/programs/joshuto.nix
|
||||
- modules/programs/lf.nix
|
||||
- modules/programs/nnn.nix
|
||||
- modules/programs/ranger.nix
|
||||
- modules/programs/vifm.nix
|
||||
- modules/programs/xplr.nix
|
||||
- modules/programs/yazi.nix
|
||||
- tests/modules/programs/lf/**/*
|
||||
- tests/modules/programs/nnn/**/*
|
||||
- tests/modules/programs/ranger/**/*
|
||||
- tests/modules/programs/yazi/**/*
|
||||
"gaming":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/programs/kodi.nix
|
||||
- modules/services/ludusavi.nix
|
||||
- modules/programs/lutris.nix
|
||||
- modules/programs/mangohud.nix
|
||||
- modules/programs/sm64ex.nix
|
||||
"git":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/programs/gh*.nix
|
||||
- modules/programs/git*.nix
|
||||
- modules/programs/jujutsu.nix
|
||||
- modules/programs/lazygit.nix
|
||||
- modules/programs/sapling.nix
|
||||
- modules/services/git-sync.nix
|
||||
- tests/modules/programs/git/**/*
|
||||
"mail":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/*/mbsync*
|
||||
- modules/programs/aerc*.nix
|
||||
- modules/programs/alot*.nix
|
||||
- modules/programs/getmail*
|
||||
- modules/programs/himalaya.nix
|
||||
- modules/programs/lieer.nix
|
||||
- modules/programs/meli.nix
|
||||
- modules/programs/msmtp*
|
||||
- modules/programs/mu.nix
|
||||
- modules/programs/mujmap.nix
|
||||
- modules/programs/neomutt*
|
||||
- modules/programs/notmuch*.nix
|
||||
- modules/programs/offlineimap*.nix
|
||||
- modules/programs/thunderbird.nix
|
||||
- modules/services/imapnotify*.nix
|
||||
- modules/services/lieer.nix
|
||||
- modules/services/muchsync.nix
|
||||
- tests/modules/programs/aerc/*
|
||||
- tests/modules/programs/alot/*
|
||||
- tests/modules/programs/himalaya/*
|
||||
- tests/modules/programs/mbsync/*
|
||||
- tests/modules/programs/mujmap/*
|
||||
- tests/modules/programs/neomutt/*
|
||||
- tests/modules/programs/thunderbird/*
|
||||
"messaging":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/programs/chawan.nix
|
||||
- modules/programs/discocss.nix
|
||||
- modules/programs/element-desktop.nix
|
||||
- modules/programs/gurk-rs.nix
|
||||
- modules/programs/halloy.nix
|
||||
- modules/programs/havoc.nix
|
||||
- modules/programs/hexchat.nix
|
||||
- modules/programs/iamb.nix
|
||||
- modules/programs/irssi.nix
|
||||
- modules/programs/nheko.nix
|
||||
- modules/programs/pidgin.nix
|
||||
- modules/programs/senpai.nix
|
||||
- modules/programs/tiny.nix
|
||||
- modules/programs/vesktop.nix
|
||||
- modules/services/pantalaimon.nix
|
||||
- tests/modules/programs/irssi/**/*
|
||||
- tests/modules/programs/nheko/**/*
|
||||
"monitoring":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/services/activitywatch.nix
|
||||
- modules/services/batsignal.nix
|
||||
- modules/services/cbatticon.nix
|
||||
- modules/services/conky.nix
|
||||
- modules/services/glance.nix
|
||||
- modules/services/poweralertd.nix
|
||||
"notification":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/programs/noti.nix
|
||||
- modules/services/dunst.nix
|
||||
- modules/services/fnott.nix
|
||||
- modules/services/mako.nix
|
||||
- modules/services/notify-osd.nix
|
||||
- modules/services/swaync.nix
|
||||
- modules/services/twmn.nix
|
||||
- tests/modules/services/dunst/**/*
|
||||
- tests/modules/services/mako/**/*
|
||||
"productivity":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/programs/comodoro.nix
|
||||
- modules/programs/info.nix
|
||||
- modules/programs/joplin-desktop.nix
|
||||
- modules/programs/ledger.nix
|
||||
- modules/programs/newsboat.nix
|
||||
- modules/programs/obsidian.nix
|
||||
- modules/programs/onlyoffice.nix
|
||||
- modules/programs/pandoc.nix
|
||||
- modules/programs/papis.nix
|
||||
- modules/programs/pubs.nix
|
||||
- modules/programs/taskwarrior.nix
|
||||
- modules/programs/todoman.nix
|
||||
- modules/services/comodoro.nix
|
||||
- modules/services/rsibreak.nix
|
||||
- modules/services/safeeyes.nix
|
||||
- modules/services/taskwarrior-sync.nix
|
||||
"password-manager":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/programs/browserpass.nix
|
||||
- modules/programs/keepassxc.nix
|
||||
- modules/programs/password-store.nix
|
||||
- modules/programs/rbw.nix
|
||||
- modules/services/pass-secret-service.nix
|
||||
- tests/modules/programs/keepassxc/**/*
|
||||
- tests/modules/programs/password-store/**/*
|
||||
"photo":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/programs/feh.nix
|
||||
- modules/programs/gallery-dl.nix
|
||||
- modules/programs/imv.nix
|
||||
- modules/programs/pqiv.nix
|
||||
- modules/programs/swayimg.nix
|
||||
- modules/programs/wallust.nix
|
||||
- modules/programs/aerc*.nix
|
||||
- modules/programs/alot*.nix
|
||||
- tests/modules/programs/aerc/*
|
||||
- tests/modules/programs/alot/*
|
||||
- modules/programs/mujmap.nix
|
||||
- tests/modules/programs/mujmap/*
|
||||
- modules/programs/notmuch.nix
|
||||
- modules/programs/neomutt*
|
||||
- tests/modules/programs/neomutt/*
|
||||
- modules/programs/getmail*
|
||||
- modules/*/mbsync*
|
||||
- tests/modules/programs/mbsync/*
|
||||
- modules/programs/himalaya.nix
|
||||
- tests/modules/programs/himalaya/*
|
||||
- modules/programs/thunderbird.nix
|
||||
- tests/modules/programs/thunderbird/*
|
||||
- modules/services/imapnotify.nix
|
||||
|
||||
"neovim":
|
||||
- modules/programs/neovim.nix
|
||||
- tests/modules/programs/neovim/**/*
|
||||
|
||||
"shell":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/lib/zsh.nix
|
||||
- modules/programs/bash*.nix
|
||||
- modules/programs/fish.nix
|
||||
- modules/programs/ion.nix
|
||||
- modules/programs/nushell.nix
|
||||
- modules/programs/oh-my-posh.nix
|
||||
- modules/programs/powerline-go.nix
|
||||
- modules/programs/starship.nix
|
||||
- modules/programs/zsh*.nix
|
||||
- tests/modules/programs/bash/**/*
|
||||
- tests/modules/programs/fish/**/*
|
||||
- tests/modules/programs/nushell/**/*
|
||||
- tests/modules/programs/zsh/**/*
|
||||
"sync":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/services/davmail.nix
|
||||
- modules/services/dropbox.nix
|
||||
- modules/services/etesync-dav.nix
|
||||
- modules/services/kdeconnect.nix
|
||||
- modules/services/megasync.nix
|
||||
- modules/services/nextcloud-client.nix
|
||||
- modules/programs/onedrive.nix
|
||||
- modules/services/owncloud-client.nix
|
||||
- modules/programs/rtorrent.nix
|
||||
- modules/services/syncthing.nix
|
||||
- modules/services/unison.nix
|
||||
- tests/modules/services/dropbox/**/*
|
||||
- tests/modules/services/syncthing/**/*
|
||||
"system":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/programs/gpg.nix
|
||||
- modules/programs/home-manager.nix
|
||||
- modules/programs/ssh.nix
|
||||
- modules/services/gpg-agent.nix
|
||||
- modules/services/home-manager*.nix
|
||||
- modules/services/kbfs.nix
|
||||
- modules/services/keybase.nix
|
||||
- modules/services/nix-gc.nix
|
||||
- modules/services/ssh-agent.nix
|
||||
- modules/services/yubikey-agent.nix
|
||||
- tests/modules/services/home-manager*/**/*
|
||||
"system-tools":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/programs/aria2.nix
|
||||
- modules/services/arrpc.nix
|
||||
- modules/services/cachix-agent.nix
|
||||
- modules/services/fusuma.nix
|
||||
- modules/services/grobi.nix
|
||||
- modules/services/hound.nix
|
||||
- modules/services/jankyborders.nix
|
||||
- modules/services/ollama.nix
|
||||
- modules/services/opensnitch-ui.nix
|
||||
- modules/services/osmscout-server.nix
|
||||
- modules/services/plan9port.nix
|
||||
- modules/services/psd.nix
|
||||
- modules/services/pueue.nix
|
||||
- modules/services/recoll.nix
|
||||
- modules/services/signaturepdf.nix
|
||||
- modules/services/tahoe-lafs.nix
|
||||
- modules/services/tldr-update.nix
|
||||
"terminal":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/programs/alacritty.nix
|
||||
- modules/programs/foot.nix
|
||||
- modules/programs/ghostty.nix
|
||||
- modules/programs/gnome-terminal.nix
|
||||
- modules/programs/kitty.nix
|
||||
- modules/programs/ptyxis.nix
|
||||
- modules/programs/rio.nix
|
||||
- modules/programs/terminator.nix
|
||||
- modules/programs/termite.nix
|
||||
- modules/programs/urxvt.nix
|
||||
- modules/programs/waveterm.nix
|
||||
- modules/programs/wezterm.nix
|
||||
- tests/modules/programs/alacritty/**/*
|
||||
- tests/modules/programs/foot/**/*
|
||||
- tests/modules/programs/kitty/**/*
|
||||
"video":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/programs/freetube.nix
|
||||
- modules/programs/mpv.nix
|
||||
- modules/programs/mpvpaper.nix
|
||||
- modules/programs/obs-studio.nix
|
||||
- modules/programs/streamlink.nix
|
||||
- modules/programs/yt-dlp.nix
|
||||
- modules/services/jellyfin-mpv-shim.nix
|
||||
- modules/services/plex-mpv-shim.nix
|
||||
- tests/modules/programs/mpv/**/*
|
||||
"remote-desktop":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/programs/looking-glass-client.nix
|
||||
- modules/services/barrier.nix
|
||||
- modules/services/remmina.nix
|
||||
- modules/services/wayvnc.nix
|
||||
"wayland":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/programs/anyrun.nix
|
||||
- modules/programs/bemenu.nix
|
||||
- modules/programs/fuzzel.nix
|
||||
- modules/programs/hyprlock.nix
|
||||
- modules/programs/kickoff.nix
|
||||
- modules/programs/onagre.nix
|
||||
- modules/programs/sway-easyfocus.nix
|
||||
- modules/programs/swaylock.nix
|
||||
- modules/programs/swayr.nix
|
||||
- modules/programs/tofi.nix
|
||||
- modules/programs/waybar.nix
|
||||
- modules/programs/waylogout.nix
|
||||
- modules/programs/wayprompt.nix
|
||||
- modules/programs/wlogout.nix
|
||||
- modules/programs/wofi.nix
|
||||
- modules/services/fnott.nix
|
||||
- modules/services/hypridle.nix
|
||||
- modules/services/hyprpaper.nix
|
||||
- modules/services/hyprpolkitagent.nix
|
||||
- modules/services/hyprsunset.nix
|
||||
- modules/services/kanshi.nix
|
||||
- modules/services/mako.nix
|
||||
- modules/services/shikane.nix
|
||||
- modules/services/swayidle.nix
|
||||
- modules/services/swaync.nix
|
||||
- modules/services/swayosd.nix
|
||||
- modules/services/swww.nix
|
||||
- modules/services/way-displays.nix
|
||||
- modules/services/wlsunset.nix
|
||||
- modules/services/wluma.nix
|
||||
- modules/services/wpaperd.nix
|
||||
- tests/modules/programs/swaylock/**/*
|
||||
- tests/modules/programs/waybar/**/*
|
||||
"window-managers":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/programs/aerospace.nix
|
||||
- modules/programs/i3bar-river.nix
|
||||
- modules/programs/i3blocks.nix
|
||||
- modules/programs/i3status-rust.nix
|
||||
- modules/programs/i3status.nix
|
||||
- modules/services/window-managers/**/*
|
||||
"x11":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/programs/i3*.nix
|
||||
- modules/programs/rofi*.nix
|
||||
- modules/programs/tint2.nix
|
||||
- modules/programs/xmobar.nix
|
||||
- modules/programs/yambar.nix
|
||||
- modules/services/betterlockscreen.nix
|
||||
- modules/services/dunst.nix
|
||||
- modules/services/dwm-status.nix
|
||||
- modules/services/picom.nix
|
||||
- modules/services/polybar.nix
|
||||
- modules/services/screen-locker.nix
|
||||
- modules/services/stalonetray.nix
|
||||
- modules/services/sxhkd.nix
|
||||
- modules/services/taffybar.nix
|
||||
- modules/services/trayer.nix
|
||||
- modules/services/xcape.nix
|
||||
- modules/services/xembed-sni-proxy.nix
|
||||
- modules/services/xidlehook.nix
|
||||
- modules/services/xscreensaver.nix
|
||||
- modules/services/xsettingsd.nix
|
||||
- modules/services/xsuspender.nix
|
||||
- tests/modules/programs/i3*/**/*
|
||||
- tests/modules/programs/rofi/**/*
|
||||
- tests/modules/services/picom/**/*
|
||||
- tests/modules/services/polybar/**/*
|
||||
- modules/lib/zsh.nix
|
||||
- modules/programs/zsh*
|
||||
- modules/programs/bash*
|
||||
- tests/modules/programs/zsh/**/*
|
||||
|
||||
"calendar":
|
||||
- modules/programs/khal*
|
||||
- modules/*/vdirsyncer*
|
||||
- modules/accounts/calendar.nix
|
||||
|
||||
"contacts":
|
||||
- modules/accounts/contacts.nix
|
||||
|
||||
45
.github/workflows/backport.yml
vendored
45
.github/workflows/backport.yml
vendored
@@ -1,45 +0,0 @@
|
||||
# Based on
|
||||
# https://github.com/NixOS/nixpkgs/blob/2566f9dc/.github/workflows/backport.yml
|
||||
name: Backport
|
||||
on:
|
||||
pull_request_target:
|
||||
types:
|
||||
- closed
|
||||
- labeled
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
backport:
|
||||
name: Backport Pull Request
|
||||
if: >
|
||||
vars.CI_APP_ID
|
||||
&& github.event.pull_request.merged == true
|
||||
&& (
|
||||
github.event.action != 'labeled'
|
||||
|| startsWith(github.event.label.name, 'backport')
|
||||
)
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Create GitHub App token
|
||||
uses: actions/create-github-app-token@v2
|
||||
if: vars.CI_APP_ID
|
||||
id: app-token
|
||||
with:
|
||||
app-id: ${{ vars.CI_APP_ID }}
|
||||
private-key: ${{ secrets.CI_APP_PRIVATE_KEY }}
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
token: ${{ steps.app-token.outputs.token || secrets.GITHUB_TOKEN }}
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
- name: Create backport PRs
|
||||
id: backport
|
||||
uses: korthout/backport-action@v4
|
||||
with:
|
||||
# See https://github.com/korthout/backport-action#inputs
|
||||
github_token: ${{ steps.app-token.outputs.token || secrets.GITHUB_TOKEN }}
|
||||
branch_name: backport/${target_branch}/${pull_number}
|
||||
copy_labels_pattern: .*
|
||||
15
.github/workflows/conflicts.yml
vendored
15
.github/workflows/conflicts.yml
vendored
@@ -1,15 +0,0 @@
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
jobs:
|
||||
triage:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository_owner == 'nix-community'
|
||||
steps:
|
||||
- uses: mschilde/auto-label-merge-conflicts@master
|
||||
with:
|
||||
CONFLICT_LABEL_NAME: "merge conflict"
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
MAX_RETRIES: 5
|
||||
WAIT_MS: 10000
|
||||
34
.github/workflows/github_pages.yml
vendored
34
.github/workflows/github_pages.yml
vendored
@@ -3,28 +3,26 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
publish:
|
||||
if: github.event_name != 'schedule' || github.repository_owner == 'nix-community'
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest]
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: cachix/install-nix-action@v31
|
||||
with:
|
||||
nix_path: nixpkgs=channel:nixos-unstable
|
||||
- uses: cachix/cachix-action@v16
|
||||
with:
|
||||
name: nix-community
|
||||
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
||||
- run: |
|
||||
nix-build -A docs.html
|
||||
cp -r result/share/doc/home-manager public
|
||||
- name: Deploy
|
||||
uses: peaceiris/actions-gh-pages@v4
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_dir: ./public
|
||||
- uses: actions/checkout@v4
|
||||
- uses: cachix/install-nix-action@v23
|
||||
with:
|
||||
nix_path: nixpkgs=channel:nixos-unstable
|
||||
- uses: cachix/cachix-action@v13
|
||||
with:
|
||||
name: nix-community
|
||||
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
||||
- run: |
|
||||
nix-build -A docs.html
|
||||
cp -r result/share/doc/home-manager public
|
||||
- name: Deploy
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_dir: ./public
|
||||
|
||||
4
.github/workflows/labeler.yml
vendored
4
.github/workflows/labeler.yml
vendored
@@ -11,14 +11,14 @@ on:
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
issues: write
|
||||
|
||||
jobs:
|
||||
labels:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository_owner == 'nix-community'
|
||||
steps:
|
||||
- uses: actions/labeler@v6
|
||||
- uses: actions/labeler@v4
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
sync-labels: true
|
||||
|
||||
|
||||
81
.github/workflows/tag-maintainers.yml
vendored
81
.github/workflows/tag-maintainers.yml
vendored
@@ -1,81 +0,0 @@
|
||||
name: Tag Module Maintainers
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [opened, ready_for_review, reopened, synchronize]
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.run_id }}
|
||||
cancel-in-progress: true
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
jobs:
|
||||
tag-maintainers:
|
||||
runs-on: ubuntu-latest
|
||||
if: |
|
||||
github.event.pull_request.draft == false &&
|
||||
github.event.pull_request.state == 'open'
|
||||
steps:
|
||||
- name: Create GitHub App token
|
||||
uses: actions/create-github-app-token@v2
|
||||
if: vars.CI_APP_ID
|
||||
id: app-token
|
||||
with:
|
||||
app-id: ${{ vars.CI_APP_ID }}
|
||||
private-key: ${{ secrets.CI_APP_PRIVATE_KEY }}
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.base.sha }}
|
||||
- name: Get Nixpkgs revision from flake.lock
|
||||
id: get-nixpkgs
|
||||
run: |
|
||||
echo "rev=$(jq -r '.nodes.nixpkgs.locked.rev' flake.lock)" >> "$GITHUB_OUTPUT"
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@v31
|
||||
with:
|
||||
nix_path: nixpkgs=https://github.com/NixOS/nixpkgs/archive/${{ steps.get-nixpkgs.outputs.rev }}.tar.gz
|
||||
extra_nix_config: |
|
||||
experimental-features = nix-command flakes
|
||||
- name: Get changed files
|
||||
id: changed-files
|
||||
env:
|
||||
GH_TOKEN: ${{ steps.app-token.outputs.token || secrets.GITHUB_TOKEN }}
|
||||
PR_NUMBER: ${{ github.event.pull_request.number }}
|
||||
run: |
|
||||
CHANGED_FILES=$(gh pr diff $PR_NUMBER --name-only | grep '^modules/' | grep -v '^modules/\(po\|.*\/news\)/' || true)
|
||||
echo "Changed files:"
|
||||
echo "$CHANGED_FILES"
|
||||
echo "changed_files<<EOF" >> $GITHUB_OUTPUT
|
||||
echo "$CHANGED_FILES" >> $GITHUB_OUTPUT
|
||||
echo "EOF" >> $GITHUB_OUTPUT
|
||||
- name: Extract Maintainers
|
||||
id: extract-maintainers
|
||||
env:
|
||||
CHANGED_FILES: ${{ steps.changed-files.outputs.changed_files }}
|
||||
PR_AUTHOR: ${{ github.event.pull_request.user.login }}
|
||||
run: |
|
||||
echo "Extracting maintainers from changed files..."
|
||||
MAINTAINERS=$(lib/python/extract-maintainers.py \
|
||||
--changed-files "$CHANGED_FILES" \
|
||||
--pr-author "$PR_AUTHOR")
|
||||
echo "maintainers=$MAINTAINERS" >> $GITHUB_OUTPUT
|
||||
echo "Found maintainers: $MAINTAINERS"
|
||||
- name: Manage Reviewers
|
||||
env:
|
||||
GH_TOKEN: ${{ steps.app-token.outputs.token || secrets.GITHUB_TOKEN }}
|
||||
OWNER: ${{ github.repository_owner }}
|
||||
REPO: ${{ github.event.repository.name }}
|
||||
PR_NUMBER: ${{ github.event.pull_request.number }}
|
||||
PR_AUTHOR: ${{ github.event.pull_request.user.login }}
|
||||
MAINTAINERS: ${{ steps.extract-maintainers.outputs.maintainers }}
|
||||
CHANGED_FILES: ${{ steps.changed-files.outputs.changed_files }}
|
||||
BOT_NAME: ${{ steps.app-token.outputs.app-slug || 'github-actions' }}
|
||||
run: |
|
||||
./lib/python/manage-reviewers.py \
|
||||
--owner "$OWNER" \
|
||||
--repo "$REPO" \
|
||||
--pr-number "$PR_NUMBER" \
|
||||
--pr-author "$PR_AUTHOR" \
|
||||
--current-maintainers "$MAINTAINERS" \
|
||||
--changed-files "$CHANGED_FILES" \
|
||||
--bot-user-name "$BOT_NAME"
|
||||
110
.github/workflows/test.yml
vendored
110
.github/workflows/test.yml
vendored
@@ -3,104 +3,28 @@ on:
|
||||
pull_request:
|
||||
schedule:
|
||||
- cron: "30 2 * * *"
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.run_id }}
|
||||
cancel-in-progress: true
|
||||
jobs:
|
||||
changes:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
docs: ${{ steps.changes.outputs.docs }}
|
||||
format: ${{ steps.changes.outputs.format }}
|
||||
hm: ${{ steps.changes.outputs.hm }}
|
||||
tests: ${{ steps.changes.outputs.tests }}
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: dorny/paths-filter@v3
|
||||
id: changes
|
||||
with:
|
||||
filters: |
|
||||
tests:
|
||||
- 'flake.lock'
|
||||
- 'flake.nix'
|
||||
- 'modules/**'
|
||||
- 'nix-darwin/**'
|
||||
- 'nixos/**'
|
||||
- 'tests/**'
|
||||
docs:
|
||||
- '**.md'
|
||||
- 'docs/**'
|
||||
- 'flake.lock'
|
||||
- 'flake.nix'
|
||||
- 'modules/**'
|
||||
format:
|
||||
- '**/*.nix'
|
||||
hm:
|
||||
- 'flake.lock'
|
||||
- 'flake.nix'
|
||||
- 'home-manager/**'
|
||||
tests:
|
||||
needs: changes
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-latest, macos-latest]
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- name: Get Nixpkgs revision from flake.lock
|
||||
id: get-nixpkgs
|
||||
run: |
|
||||
echo "rev=$(jq -r '.nodes.nixpkgs.locked.rev' flake.lock)" >> "$GITHUB_OUTPUT"
|
||||
- uses: cachix/install-nix-action@v31
|
||||
if: github.event_name == 'schedule' || needs.changes.outputs.docs == 'true' || needs.changes.outputs.tests == 'true' || needs.changes.outputs.hm == 'true' || needs.changes.outputs.format == 'true'
|
||||
with:
|
||||
nix_path: nixpkgs=https://github.com/NixOS/nixpkgs/archive/${{ steps.get-nixpkgs.outputs.rev }}.tar.gz
|
||||
- name: Build docs
|
||||
if: github.event_name == 'schedule' || needs.changes.outputs.docs == 'true'
|
||||
run: nix build --show-trace .#docs-jsonModuleMaintainers
|
||||
- name: Format Check
|
||||
if: github.event_name == 'schedule' || needs.changes.outputs.format == 'true'
|
||||
run: nix fmt -- --ci
|
||||
- name: Test init --switch with locked inputs
|
||||
if: github.event_name == 'schedule' || needs.changes.outputs.hm == 'true'
|
||||
run: |
|
||||
# Copy lock file to home directory for consistent testing
|
||||
mkdir -p ~/.config/home-manager
|
||||
cp flake.lock ~/.config/home-manager/
|
||||
nix run .#home-manager -- init --switch --override-input home-manager .
|
||||
- name: Uninstall
|
||||
if: github.event_name == 'schedule' || needs.changes.outputs.hm == 'true'
|
||||
run: yes | nix run . -- uninstall
|
||||
- name: Generate Job Summary
|
||||
if: github.event_name == 'pull_request'
|
||||
shell: bash
|
||||
run: |
|
||||
echo "### Test Job Summary" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "A summary of tasks triggered by file changes in this PR:" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
|
||||
if [[ "${{ needs.changes.outputs.docs }}" == "true" ]]; then
|
||||
echo "- ✅ **Docs Build:** Triggered" >> $GITHUB_STEP_SUMMARY
|
||||
else
|
||||
echo "- ☑️ **Docs Build:** Skipped (no relevant files changed)" >> $GITHUB_STEP_SUMMARY
|
||||
fi
|
||||
|
||||
if [[ "${{ needs.changes.outputs.format }}" == "true" ]]; then
|
||||
echo "- ✅ **Format Check:** Triggered" >> $GITHUB_STEP_SUMMARY
|
||||
else
|
||||
echo "- ☑️ **Format Check:** Skipped (no relevant files changed)" >> $GITHUB_STEP_SUMMARY
|
||||
fi
|
||||
|
||||
if [[ "${{ needs.changes.outputs.hm }}" == "true" ]]; then
|
||||
echo "- ✅ **Home Manager Tests:** Triggered" >> $GITHUB_STEP_SUMMARY
|
||||
else
|
||||
echo "- ☑️ **Home Manager Tests:** Skipped (no relevant files changed)" >> $GITHUB_STEP_SUMMARY
|
||||
fi
|
||||
|
||||
if [[ "${{ needs.changes.outputs.tests }}" == "true" ]]; then
|
||||
echo "- ✅ **General Tests:** Triggered" >> $GITHUB_STEP_SUMMARY
|
||||
else
|
||||
echo "- ☑️ **General Tests:** Skipped (no relevant files changed)" >> $GITHUB_STEP_SUMMARY
|
||||
fi
|
||||
- uses: actions/checkout@v4
|
||||
- uses: cachix/install-nix-action@v23
|
||||
with:
|
||||
nix_path: nixpkgs=channel:nixos-unstable
|
||||
- uses: cachix/cachix-action@v13
|
||||
with:
|
||||
name: nix-community
|
||||
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
||||
- run: |
|
||||
if grep -R --exclude stdlib-extended.nix literalExample modules ; then
|
||||
echo "Error: literalExample should be replaced by literalExpression" > /dev/stderr
|
||||
exit 1
|
||||
fi
|
||||
- run: nix-build --show-trace -A docs.jsonModuleMaintainers
|
||||
- run: ./format -c
|
||||
- run: nix-shell --show-trace . -A install
|
||||
- run: nix-shell --show-trace --arg enableBig false --pure tests -A run.all
|
||||
|
||||
56
.github/workflows/update-flake.yml
vendored
56
.github/workflows/update-flake.yml
vendored
@@ -4,63 +4,17 @@ on:
|
||||
# Update every Sunday and Wednesday
|
||||
- cron: "51 3 * * 0,3"
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
update:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event_name != 'schedule' || github.repository_owner == 'nix-community'
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
branch: [master, release-25.11]
|
||||
steps:
|
||||
- name: Create GitHub App token
|
||||
uses: actions/create-github-app-token@v2
|
||||
if: vars.CI_APP_ID
|
||||
id: app-token
|
||||
with:
|
||||
app-id: ${{ vars.CI_APP_ID }}
|
||||
private-key: ${{ secrets.CI_APP_PRIVATE_KEY }}
|
||||
- name: Get GitHub App user info
|
||||
if: vars.CI_APP_ID
|
||||
id: user-info
|
||||
env:
|
||||
GH_TOKEN: ${{ steps.app-token.outputs.token}}
|
||||
slug: ${{ steps.app-token.outputs.app-slug }}
|
||||
run: |
|
||||
name="$slug[bot]"
|
||||
id=$(gh api "/users/$name" --jq .id)
|
||||
{
|
||||
echo "id=$id"
|
||||
echo "name=$name"
|
||||
echo "email=$id+$name@users.noreply.github.com"
|
||||
} >> "$GITHUB_OUTPUT"
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ matrix.branch }}
|
||||
token: ${{ steps.app-token.outputs.token || secrets.GITHUB_TOKEN }}
|
||||
uses: actions/checkout@v4
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@v31
|
||||
uses: cachix/install-nix-action@v23
|
||||
- name: Update flake.lock
|
||||
uses: DeterminateSystems/update-flake-lock@v28
|
||||
uses: DeterminateSystems/update-flake-lock@v20
|
||||
with:
|
||||
token: ${{ steps.app-token.outputs.token || secrets.GITHUB_TOKEN }}
|
||||
git-committer-name: ${{ steps.user-info.outputs.name || 'github-actions[bot]' }}
|
||||
git-committer-email: ${{ steps.user-info.outputs.email || '41898282+github-actions[bot]@users.noreply.github.com' }}
|
||||
git-author-name: ${{ steps.user-info.outputs.name || 'github-actions[bot]' }}
|
||||
git-author-email: ${{ steps.user-info.outputs.email || '41898282+github-actions[bot]@users.noreply.github.com' }}
|
||||
token: ${{ secrets.GH_TOKEN_FOR_UPDATES }}
|
||||
pr-labels: dependencies
|
||||
pr-title: "[${{ matrix.branch }}] flake.lock: Update"
|
||||
pr-body: |
|
||||
Automated update by the [update-flake-lock] GitHub Action.
|
||||
|
||||
```
|
||||
{{ env.GIT_COMMIT_MESSAGE }}
|
||||
```
|
||||
|
||||
This PR was most recently updated by workflow run [${{ github.run_id }}].
|
||||
|
||||
[update-flake-lock]: https://github.com/DeterminateSystems/update-flake-lock
|
||||
[${{ github.run_id }}]: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
base: ${{ matrix.branch }}
|
||||
branch: update/${{ matrix.branch }}
|
||||
|
||||
286
.github/workflows/update-maintainers.yml
vendored
286
.github/workflows/update-maintainers.yml
vendored
@@ -1,286 +0,0 @@
|
||||
name: Update maintainers list
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- lib/maintainers.nix
|
||||
schedule:
|
||||
# Update every Monday at 9 AM UTC
|
||||
- cron: "0 9 * * 1"
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
create_pr:
|
||||
description: "Create PR even if no changes"
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
jobs:
|
||||
update-maintainers:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository_owner == 'nix-community' || github.event_name == 'workflow_dispatch'
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
issues: write
|
||||
env:
|
||||
pr_branch: update/maintainers-${{ github.ref_name }}
|
||||
steps:
|
||||
- name: Create GitHub App token
|
||||
uses: actions/create-github-app-token@v2
|
||||
if: vars.CI_APP_ID
|
||||
id: app-token
|
||||
with:
|
||||
app-id: ${{ vars.CI_APP_ID }}
|
||||
private-key: ${{ secrets.CI_APP_PRIVATE_KEY }}
|
||||
- name: Get GitHub App user info
|
||||
id: user-info
|
||||
if: vars.CI_APP_ID
|
||||
env:
|
||||
GH_TOKEN: ${{ steps.app-token.outputs.token }}
|
||||
slug: ${{ steps.app-token.outputs.app-slug }}
|
||||
run: |
|
||||
name="$slug[bot]"
|
||||
id=$(gh api "/users/$name" --jq .id)
|
||||
{
|
||||
echo "id=$id"
|
||||
echo "name=$name"
|
||||
echo "email=$id+$name@users.noreply.github.com"
|
||||
} >> "$GITHUB_OUTPUT"
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
token: ${{ steps.app-token.outputs.token || github.token }}
|
||||
- name: Get Nixpkgs revision from flake.lock
|
||||
id: get-nixpkgs
|
||||
run: |
|
||||
echo "rev=$(jq -r '.nodes.nixpkgs.locked.rev' flake.lock)" >> "$GITHUB_OUTPUT"
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@v31
|
||||
with:
|
||||
nix_path: nixpkgs=https://github.com/NixOS/nixpkgs/archive/${{ steps.get-nixpkgs.outputs.rev }}.tar.gz
|
||||
- name: Setup Git
|
||||
env:
|
||||
name: ${{ steps.user-info.outputs.name || 'github-actions[bot]' }}
|
||||
email: ${{ steps.user-info.outputs.email || '41898282+github-actions[bot]@users.noreply.github.com' }}
|
||||
run: |
|
||||
git config user.name "$name"
|
||||
git config user.email "$email"
|
||||
- name: Save old maintainers
|
||||
id: old-maintainers
|
||||
run: |
|
||||
echo "📄 Saving old maintainers file for comparison..."
|
||||
echo "old_maintainers=$(nix eval --file all-maintainers.nix --apply 'builtins.attrNames' --json 2>/dev/null || echo '[]')" >> "$GITHUB_OUTPUT"
|
||||
- name: Generate updated maintainers list
|
||||
run: |
|
||||
echo "::group::📋 Generating updated generated/all-maintainers.nix..."
|
||||
./lib/python/generate-all-maintainers.py
|
||||
echo "::endgroup::"
|
||||
echo "::group::🎨 Formatting with nixfmt..."
|
||||
nix fmt all-maintainers.nix
|
||||
echo "::endgroup::"
|
||||
- name: Check for changes and compare maintainers
|
||||
id: check-changes
|
||||
env:
|
||||
old_maintainers: ${{ steps.old-maintainers.outputs.old_maintainers }}
|
||||
run: |
|
||||
if git diff --quiet all-maintainers.nix; then
|
||||
echo "No changes to all-maintainers.nix"
|
||||
echo "has_changes=false" >> "$GITHUB_OUTPUT"
|
||||
echo "maintainer_changes=No changes detected" >> "$GITHUB_OUTPUT"
|
||||
else
|
||||
echo "Changes detected in all-maintainers.nix"
|
||||
echo "has_changes=true" >> "$GITHUB_OUTPUT"
|
||||
# Get change statistics
|
||||
added=$(git diff --numstat all-maintainers.nix | cut -f1)
|
||||
removed=$(git diff --numstat all-maintainers.nix | cut -f2)
|
||||
echo "changes_summary=+$added -$removed lines" >> "$GITHUB_OUTPUT"
|
||||
|
||||
# Compare old and new maintainers using nix eval
|
||||
echo "🔍 Comparing maintainers..."
|
||||
|
||||
# Extract maintainer names from new file
|
||||
new_maintainers=$(nix eval --file all-maintainers.nix --apply 'builtins.attrNames' --json)
|
||||
|
||||
# Compare using nix eval
|
||||
comparison=$(nix eval --expr "
|
||||
let
|
||||
old = builtins.fromJSON ''$old_maintainers'';
|
||||
new = builtins.fromJSON ''$new_maintainers'';
|
||||
oldSet = builtins.listToAttrs (map (name: { name = name; value = true; }) old);
|
||||
newSet = builtins.listToAttrs (map (name: { name = name; value = true; }) new);
|
||||
added = builtins.filter (name: !(oldSet ? \${name})) new;
|
||||
removed = builtins.filter (name: !(newSet ? \${name})) old;
|
||||
in {
|
||||
added = added;
|
||||
removed = removed;
|
||||
total_old = builtins.length old;
|
||||
total_new = builtins.length new;
|
||||
}
|
||||
" --json)
|
||||
|
||||
# Format comparison output
|
||||
added_count=$(echo "$comparison" | jq '.added | length')
|
||||
removed_count=$(echo "$comparison" | jq '.removed | length')
|
||||
total_old=$(echo "$comparison" | jq '.total_old')
|
||||
total_new=$(echo "$comparison" | jq '.total_new')
|
||||
|
||||
maintainer_summary="**Added:** $added_count maintainers"
|
||||
maintainer_summary="$maintainer_summary\n**Removed:** $removed_count maintainers"
|
||||
maintainer_summary="$maintainer_summary\n**Total:** $total_old → $total_new maintainers"
|
||||
|
||||
if [ "$added_count" -gt 0 ]; then
|
||||
added_names=$(echo "$comparison" | jq -r '.added | join(", ")')
|
||||
maintainer_summary="$maintainer_summary\n\n**✅ Added:** $added_names"
|
||||
fi
|
||||
|
||||
if [ "$removed_count" -gt 0 ]; then
|
||||
removed_names=$(echo "$comparison" | jq -r '.removed | join(", ")')
|
||||
maintainer_summary="$maintainer_summary\n\n**❌ Removed:** $removed_names"
|
||||
fi
|
||||
|
||||
echo "maintainer_changes<<EOF" >> "$GITHUB_OUTPUT"
|
||||
echo -e "$maintainer_summary" >> "$GITHUB_OUTPUT"
|
||||
echo "EOF" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
- name: Validate generated file
|
||||
if: steps.check-changes.outputs.has_changes == 'true'
|
||||
run: |
|
||||
echo "🔍 Validating generated all-maintainers.nix..."
|
||||
if nix-instantiate --eval ./all-maintainers.nix --strict > /dev/null; then
|
||||
echo "✅ Generated file has valid Nix syntax"
|
||||
else
|
||||
echo "❌ Generated file has invalid Nix syntax"
|
||||
exit 1
|
||||
fi
|
||||
- name: Create update branch
|
||||
run: |
|
||||
git branch -D "$pr_branch" || echo "Nothing to delete"
|
||||
git switch -c "$pr_branch"
|
||||
- name: Get info on the current PR
|
||||
id: open_pr_info
|
||||
env:
|
||||
GH_TOKEN: ${{ steps.app-token.outputs.token || github.token }}
|
||||
run: |
|
||||
# Query for info about the already open update PR
|
||||
info=$(
|
||||
gh api graphql -F owner='{owner}' -F repo='{repo}' -F branch="$pr_branch" -f query='
|
||||
query($owner:String!, $repo:String!, $branch:String!) {
|
||||
repository(owner: $owner, name: $repo) {
|
||||
pullRequests(first: 1, states: OPEN, headRefName: $branch) {
|
||||
nodes {
|
||||
number
|
||||
url
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
' | jq --raw-output '
|
||||
.data.repository.pullRequests.nodes[]
|
||||
| to_entries[]
|
||||
| "\(.key)=\(.value)"
|
||||
'
|
||||
)
|
||||
if [[ -n "$info" ]]; then
|
||||
echo "PR info:"
|
||||
echo "$info"
|
||||
echo "$info" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "No PR is currently open"
|
||||
fi
|
||||
- name: Fetch current PR's branch
|
||||
if: steps.open_pr_info.outputs.number
|
||||
run: |
|
||||
git fetch origin "$pr_branch"
|
||||
git branch --set-upstream-to "origin/$pr_branch"
|
||||
- name: Create Pull Request
|
||||
id: create-pr
|
||||
if: steps.check-changes.outputs.has_changes == 'true' || github.event.inputs.create_pr == 'true'
|
||||
env:
|
||||
GH_TOKEN: ${{ steps.app-token.outputs.token || github.token }}
|
||||
title: "maintainers: update all-maintainers.nix"
|
||||
commit_body: |
|
||||
Automated update of the master maintainers list combining:
|
||||
- Home Manager specific maintainers from modules/lib/maintainers.nix
|
||||
- Nixpkgs maintainers referenced in Home Manager modules
|
||||
|
||||
${{ steps.check-changes.outputs.maintainer_changes }}
|
||||
|
||||
Generated by: lib/python/generate-all-maintainers.py
|
||||
pr_url: ${{ steps.open_pr_info.outputs.url }}
|
||||
pr_num: ${{ steps.open_pr_info.outputs.number }}
|
||||
pr_body: |
|
||||
## 📋 Summary
|
||||
|
||||
This PR updates the master maintainers list (`all-maintainers.nix`) which combines:
|
||||
- **Home Manager specific maintainers** from `modules/lib/maintainers.nix`
|
||||
- **Nixpkgs maintainers** referenced in Home Manager modules
|
||||
|
||||
## 🔄 Changes
|
||||
|
||||
**Statistics:** ${{ steps.check-changes.outputs.changes_summary || 'No content changes (format/comment updates only)' }}
|
||||
|
||||
${{ steps.check-changes.outputs.maintainer_changes }}
|
||||
|
||||
The updated list includes all maintainers needed for review assignments across the Home Manager project.
|
||||
|
||||
## 🤖 Automation
|
||||
|
||||
- **Generated by:** `lib/python/generate-all-maintainers.py`
|
||||
- **Trigger:** ${{ github.event_name == 'schedule' && 'Scheduled weekly update' || 'Manual workflow dispatch' }}
|
||||
- **Validation:** File syntax verified with `nix eval`
|
||||
|
||||
---
|
||||
🤖 *This PR was automatically created by the [update-maintainers workflow](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})*
|
||||
run: |
|
||||
# Commit the changes
|
||||
git add all-maintainers.nix
|
||||
git commit -m "$title" -m "$commit_body"
|
||||
|
||||
echo "Pushing to remote branch $pr_branch"
|
||||
git push --force --set-upstream origin "$pr_branch"
|
||||
|
||||
if [ -z "$pr_num" ]; then
|
||||
echo "Creating new pull request."
|
||||
PR_URL=$(
|
||||
gh pr create \
|
||||
--title "$title" \
|
||||
--body "$pr_body"
|
||||
)
|
||||
else
|
||||
PR_URL=$pr_url
|
||||
echo "Pull request already exists: $PR_URL"
|
||||
gh pr edit "$pr_num" --body "$pr_body"
|
||||
fi
|
||||
|
||||
echo "pr_url=$PR_URL" >> "$GITHUB_OUTPUT"
|
||||
- name: Summary
|
||||
env:
|
||||
has_changes: ${{ steps.check-changes.outputs.has_changes }}
|
||||
changes: ${{ steps.check-changes.outputs.changes_summary }}
|
||||
pr_url: ${{ steps.create-pr.outputs.pr_url}}
|
||||
pr_num: ${{ steps.open_pr_info.outputs.number }}
|
||||
run: |
|
||||
if [[ "$has_changes" == "true" ]]; then
|
||||
if [[ -n "$pr_num" ]]; then
|
||||
echo "✅ Successfully updated PR with new changes."
|
||||
echo "$changes"
|
||||
echo "🔗 PR URL: $pr_url"
|
||||
echo "### ✅ PR Updated" >> $GITHUB_STEP_SUMMARY
|
||||
echo "[$pr_url]($pr_url)" >> $GITHUB_STEP_SUMMARY
|
||||
elif [[ -n "$pr_url" ]]; then
|
||||
echo "✅ Successfully created PR with maintainer updates."
|
||||
echo "$changes"
|
||||
echo "🔗 PR URL: $pr_url"
|
||||
echo "### ✅ PR Created" >> $GITHUB_STEP_SUMMARY
|
||||
echo "[$pr_url]($pr_url)" >> $GITHUB_STEP_SUMMARY
|
||||
else
|
||||
echo "❌ Failed to create or update pull request."
|
||||
echo "### ❌ PR Operation Failed" >> $GITHUB_STEP_SUMMARY
|
||||
echo "A pull request was intended but the URL was not captured. Please check the logs." >> $GITHUB_STEP_SUMMARY
|
||||
fi
|
||||
else
|
||||
echo "ℹ️ No changes detected - maintainers list is up to date."
|
||||
echo "### ℹ️ No Changes" >> $GITHUB_STEP_SUMMARY
|
||||
echo "The maintainers list is up-to-date. No PR was created." >> $GITHUB_STEP_SUMMARY
|
||||
fi
|
||||
49
.github/workflows/validate-maintainers.yml
vendored
49
.github/workflows/validate-maintainers.yml
vendored
@@ -1,49 +0,0 @@
|
||||
name: Validate maintainers.nix
|
||||
on:
|
||||
pull_request:
|
||||
paths: ["modules/lib/maintainers.nix"]
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
run_tests:
|
||||
description: 'Run validation tests'
|
||||
required: false
|
||||
default: true
|
||||
type: boolean
|
||||
jobs:
|
||||
validate-maintainers:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository_owner == 'nix-community'
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
- name: Get Nixpkgs revision from flake.lock
|
||||
id: get-nixpkgs
|
||||
run: |
|
||||
echo "rev=$(jq -r '.nodes.nixpkgs.locked.rev' flake.lock)" >> "$GITHUB_OUTPUT"
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@v31
|
||||
with:
|
||||
nix_path: nixpkgs=https://github.com/NixOS/nixpkgs/archive/${{ steps.get-nixpkgs.outputs.rev }}.tar.gz
|
||||
- name: Validate Nix syntax
|
||||
run: ./lib/python/validate-maintainers-syntax.py
|
||||
- name: Validate maintainer entries
|
||||
run: ./lib/python/validate-maintainer-entries.py
|
||||
- name: Check for duplicate maintainers
|
||||
run: ./lib/python/check-duplicate-maintainers.py
|
||||
- name: Test generation
|
||||
if: inputs.run_tests == true
|
||||
run: |
|
||||
echo "🔍 Testing all-maintainers.nix generation..."
|
||||
./lib/python/generate-all-maintainers.py
|
||||
|
||||
echo "🔍 Validating generated file..."
|
||||
if nix eval --file ./all-maintainers.nix --json > /dev/null; then
|
||||
echo "✅ Generated file has valid Nix syntax"
|
||||
else
|
||||
echo "❌ Generated file has invalid Nix syntax"
|
||||
exit 1
|
||||
fi
|
||||
- name: Summary
|
||||
run: |
|
||||
echo "✅ All validation checks passed!"
|
||||
echo "📋 The maintainers.nix file is ready for merge"
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1 @@
|
||||
/result*
|
||||
/tests/flake.lock
|
||||
|
||||
@@ -18,3 +18,15 @@ pages:
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == "master"
|
||||
when: always
|
||||
|
||||
Deploy NUR:
|
||||
stage: deploy
|
||||
variables:
|
||||
HM_BRANCH: $CI_COMMIT_REF_NAME
|
||||
HM_COMMIT_SHA: $CI_COMMIT_SHA
|
||||
trigger:
|
||||
project: rycee/nur-expressions
|
||||
branch: master
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH =~ /^release-/
|
||||
when: always
|
||||
|
||||
16
Justfile
16
Justfile
@@ -1,16 +0,0 @@
|
||||
# Common commands
|
||||
#
|
||||
# Contributing manual:
|
||||
# - https://nix-community.github.io/home-manager/#ch-contributing
|
||||
|
||||
# List tests matching a pattern `pattern`
|
||||
list *pattern:
|
||||
nix run .#tests -- -l {{pattern}}
|
||||
|
||||
# Run all tests matching a pattern `pattern`
|
||||
test *pattern:
|
||||
nix run .#tests -- {{pattern}}
|
||||
|
||||
# Run integration tests
|
||||
integration_tests:
|
||||
nix run .#tests -- -t -l
|
||||
2
LICENSE
2
LICENSE
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2017-2025 Home Manager contributors
|
||||
Copyright (c) 2017-2023 Home Manager contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
255
MAINTAINING.md
255
MAINTAINING.md
@@ -1,255 +0,0 @@
|
||||
# Maintaining Home Manager
|
||||
|
||||
This file is intended as a reference for Home Manager's core maintainers,
|
||||
although it may be interesting for anyone curious how we do certain things.
|
||||
|
||||
## Releasing
|
||||
|
||||
Home Manager releases stable versions in sync with NixOS/nixpkgs. A _`YY.05`_
|
||||
version is released in May and a _`YY.11`_ version is released in November.
|
||||
|
||||
We do not need to wait for the release to come out of _"beta"_ before creating a
|
||||
branch, however we _should_ wait before updating links and references on the
|
||||
`master` branch.
|
||||
|
||||
Creating a stable branch may require temporarily disabling branch protection.
|
||||
This can only be done by an "admin" or "owner".
|
||||
|
||||
Once a stable branch is created, its flake inputs should be updated to point to
|
||||
the corresponding stable versions. The branch can be created before these exist,
|
||||
in which case they should be updated when the corresponding stable inputs become
|
||||
available.
|
||||
|
||||
Once a stable version is considered "out of beta", references to Home Manager's
|
||||
stable branch should be updated on the `master` branch to reference the new
|
||||
version.
|
||||
|
||||
### Release Workflow
|
||||
|
||||
The release process involves four phases in a specific order:
|
||||
|
||||
1. **On master - Mark current as stable**: Update all documentation and examples
|
||||
to reflect the current release (e.g., 25.11) as stable, removing "(unstable)"
|
||||
tags
|
||||
2. **Cut the release branch**: Create the new release branch from master (e.g.,
|
||||
`release-25.11`)
|
||||
3. **On release branch - Mark as release branch**: Set `isReleaseBranch: true`
|
||||
in `release.json`
|
||||
4. **On master - Prepare for next**: Bump version to next release (e.g., 26.05)
|
||||
and add "(unstable)" tag back
|
||||
|
||||
**Important**: The `isReleaseBranch` field in `release.json` is managed
|
||||
differently on each branch:
|
||||
|
||||
- On **master**: Always remains `false`
|
||||
- On **release branches**: Set to `true` in a separate commit after cutting the
|
||||
branch from master
|
||||
|
||||
This workflow ensures that the release branch captures a stable snapshot of
|
||||
master, which then moves forward to the next development cycle.
|
||||
|
||||
### Release Preparation Checklist
|
||||
|
||||
#### Step 1: On master - Mark Current as Stable
|
||||
|
||||
**When**: When ready to cut a new release branch (e.g., when preparing to
|
||||
release 25.11)
|
||||
|
||||
Reference commits:
|
||||
|
||||
- `e08e6e2389234000b0447e57abf61d8ccd59a68e` (home-manager: set 25.05 as stable)
|
||||
|
||||
1. **README.md**
|
||||
- Update example release branch references (e.g., `release-24.11` →
|
||||
`release-25.05`)
|
||||
- Update current stable version references (e.g., `24.11` → `25.05`)
|
||||
|
||||
2. **docs/manual/installation/nix-darwin.md**
|
||||
- Update channel version in example commands
|
||||
- Update `home.stateVersion` in examples
|
||||
|
||||
3. **docs/manual/installation/nixos.md**
|
||||
- Update channel version in example commands
|
||||
- Update tarball URLs
|
||||
- Update `home.stateVersion` in examples
|
||||
|
||||
4. **docs/manual/installation/standalone.md**
|
||||
- Update channel version in example commands
|
||||
|
||||
5. **docs/manual/manual.md**
|
||||
- Remove `(unstable)` suffix from version
|
||||
|
||||
6. **docs/manual/nix-flakes/standalone.md**
|
||||
- Update flake references (e.g., `home-manager/release-24.11` →
|
||||
`home-manager/release-25.05`)
|
||||
- Update `$branch` examples
|
||||
|
||||
7. **docs/manual/usage/configuration.md**
|
||||
- Update `home.stateVersion` in example configurations
|
||||
|
||||
8. **docs/release-notes/rl-YYMM.md**
|
||||
- Replace "This is the current unstable branch and the information in this
|
||||
section is therefore not final."
|
||||
- With: "The YY.MM release branch became stable in <Month>, YYYY."
|
||||
|
||||
9. **home-manager/home-manager** script
|
||||
- Update default `home.stateVersion` in generated configurations
|
||||
- Update `home.stateVersion` in uninstall function
|
||||
|
||||
10. **modules/misc/uninstall.nix**
|
||||
- Update `home.stateVersion` in uninstall config
|
||||
|
||||
**Note**: Do NOT change `isReleaseBranch` in `release.json` - keep it as `false`
|
||||
|
||||
#### Step 2: Cut the release branch
|
||||
|
||||
**When**: After Step 1 is merged to master
|
||||
|
||||
1. Create the new release branch from master
|
||||
- Example: `git checkout -b release-25.11 master`
|
||||
2. Push the branch to the repository
|
||||
|
||||
#### Step 3: On the release branch - Mark as Release Branch
|
||||
|
||||
**When**: Immediately after creating the release branch
|
||||
|
||||
Reference commits:
|
||||
|
||||
- `70a787cc5` (release: set release branch)
|
||||
|
||||
1. **release.json**
|
||||
- Change `isReleaseBranch` from `false` to `true`
|
||||
- Do NOT change the `release` field (it's already correct from Step 1)
|
||||
|
||||
2. **flake.nix**
|
||||
- Update the nixpkgs input to track the corresponding stable branch
|
||||
- Example: For `release-25.11`, change from:
|
||||
```nix
|
||||
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
```
|
||||
to:
|
||||
```nix
|
||||
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
|
||||
```
|
||||
- Run `nix flake update` to update flake.lock to the stable branch
|
||||
- Commit the flake.nix and flake.lock changes
|
||||
|
||||
**Note**: The release branch should track the stable NixOS release channel
|
||||
(e.g., `nixos-25.11`), while master continues to track `nixos-unstable`.
|
||||
|
||||
#### Step 3.5: On master - Update CI for the New Release Branch
|
||||
|
||||
**When**: After marking the release branch as a release branch (Step 3)
|
||||
|
||||
**Where**: On the **master** branch (CI workflows run from master)
|
||||
|
||||
**What**: Update GitHub Actions workflows to include the new stable branch
|
||||
|
||||
1. **.github/workflows/update-flake.yml** (on master)
|
||||
- Replace the old stable branch with the new release branch in the matrix
|
||||
- Example: When creating `release-25.11`, update the matrix from:
|
||||
|
||||
```yaml
|
||||
strategy:
|
||||
matrix:
|
||||
branch: [master, release-25.05]
|
||||
```
|
||||
|
||||
to:
|
||||
|
||||
```yaml
|
||||
strategy:
|
||||
matrix:
|
||||
branch: [master, release-25.11]
|
||||
```
|
||||
|
||||
- This ensures automated flake.lock updates run on the current stable branch
|
||||
- Note: We only maintain CI for the latest stable release, not older releases
|
||||
|
||||
2. **.github/dependabot.yml** (on master)
|
||||
- Replace the old stable branch with the new release branch
|
||||
- Example: When creating `release-25.11`, update the target-branch from:
|
||||
|
||||
```yaml
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
target-branch: "release-25.05"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
commit-message:
|
||||
prefix: "ci:"
|
||||
```
|
||||
|
||||
to:
|
||||
|
||||
```yaml
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
target-branch: "release-25.11"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
commit-message:
|
||||
prefix: "ci:"
|
||||
```
|
||||
|
||||
- This ensures automated dependency updates for GitHub Actions on the current
|
||||
stable branch
|
||||
- Note: We only maintain dependabot for the latest stable release, not older
|
||||
releases
|
||||
|
||||
**Important**: CI workflows are executed from master, so this change must be
|
||||
committed to the master branch.
|
||||
|
||||
#### Step 4: On master - Prepare for Next Release
|
||||
|
||||
**When**: After cutting the release branch, prepare master for the next
|
||||
development cycle
|
||||
|
||||
Reference commits:
|
||||
|
||||
- `9a4a9f1d6e43fe4044f6715ae7cc85ccb1d2fe09` (home-manager: prepare 25.11)
|
||||
|
||||
1. **docs/release-notes/rl-YYMM.md** (CREATE NEW)
|
||||
- Create new release notes file for next version with unstable warning
|
||||
- Example: Create `rl-2605.md` when preparing for 26.05
|
||||
|
||||
2. **docs/manual/manual.md**
|
||||
- Update version to next release with `(unstable)` tag
|
||||
- Example: `25.11` → `26.05 (unstable)`
|
||||
|
||||
3. **docs/release-notes/release-notes.md**
|
||||
- Add new release notes file `rl-YYMM.md` at the top of the chapters list
|
||||
|
||||
4. **home-manager/home-manager** script
|
||||
- Update `--version` output to next version
|
||||
- Example: `echo 25.11-pre` → `echo 26.05-pre`
|
||||
|
||||
5. **modules/misc/version.nix**
|
||||
- Add new version string to `stateVersion` enum list
|
||||
- Example: Add `"26.05"` after `"25.11"`
|
||||
|
||||
6. **release.json**
|
||||
- Update `release` field to next version (e.g., `"25.11"` → `"26.05"`)
|
||||
- **IMPORTANT**: Keep `isReleaseBranch` as `false` on master
|
||||
|
||||
### Version State Changes
|
||||
|
||||
Each release may introduce state version changes that affect the default
|
||||
behavior of Home Manager for users who set `home.stateVersion` to that version.
|
||||
|
||||
State version changes should be documented in the release notes under a "State
|
||||
Version Changes" section, explaining what behavior changes for users who set
|
||||
their state version to the new release.
|
||||
|
||||
### Backporting
|
||||
|
||||
Stable branches get bug fixes and security updates, but usually not new modules
|
||||
or features. When backporting:
|
||||
|
||||
1. Use `git cherry-pick -x <commit>` to preserve the original commit reference
|
||||
2. Test that the backport builds successfully
|
||||
3. Consider whether the change might affect existing stable users
|
||||
4. Update the PR/commit message to indicate it's a backport
|
||||
|
||||
If a user needs a module backported, they should open an issue explaining the
|
||||
use case.
|
||||
2
Makefile
2
Makefile
@@ -17,4 +17,4 @@ test-install:
|
||||
HOME=$(shell mktemp -d) NIX_PATH=${NIX_PATH} nix-shell . -A install
|
||||
|
||||
format:
|
||||
nix-shell -p treefmt nixfmt deadnix keep-sorted --run "treefmt --config-file ./treefmt.toml"
|
||||
./format
|
||||
|
||||
17
README.md
17
README.md
@@ -17,7 +17,7 @@ For a systematic overview of Home Manager and its available options, please see:
|
||||
- [Home Manager manual][manual]
|
||||
- [Home Manager configuration options][configuration options]
|
||||
- [3rd party Home Manager option
|
||||
search](https://home-manager-options.extranix.com/)
|
||||
search](https://mipmip.github.io/home-manager-option-search/)
|
||||
|
||||
If you would like to contribute to Home Manager, then please have a look at
|
||||
["Contributing" in the manual][contributing].
|
||||
@@ -28,7 +28,7 @@ Releases
|
||||
Home Manager is developed against `nixpkgs-unstable` branch, which often causes
|
||||
it to contain tweaks for changes/packages not yet released in stable [NixOS][].
|
||||
To avoid breaking users' configurations, Home Manager is released in branches
|
||||
corresponding to NixOS releases (e.g. `release-25.11`). These branches get
|
||||
corresponding to NixOS releases (e.g. `release-23.11`). These branches get
|
||||
fixes, but usually not new modules. If you need a module to be backported, then
|
||||
feel free to open an issue.
|
||||
|
||||
@@ -49,10 +49,15 @@ dconf store and cannot tell whether a configuration that it is about to be
|
||||
overwritten was from a previous Home Manager generation or from manual
|
||||
configuration.
|
||||
|
||||
Home Manager targets [NixOS][] unstable and NixOS version 25.11 (the current
|
||||
Home Manager targets [NixOS][] unstable and NixOS version 23.11 (the current
|
||||
stable version), it may or may not work on other Linux distributions and NixOS
|
||||
versions.
|
||||
|
||||
Also, the `home-manager` tool does not explicitly support rollbacks at the
|
||||
moment so if your home directory gets messed up you'll have to fix it yourself.
|
||||
See the [rollbacks][] section for instructions on how to manually perform a
|
||||
rollback.
|
||||
|
||||
Now when your expectations have been built up and you are eager to try all this
|
||||
out you can go ahead and read the rest of this text.
|
||||
|
||||
@@ -107,7 +112,7 @@ License
|
||||
This project is licensed under the terms of the [MIT license](LICENSE).
|
||||
|
||||
[#home-manager]: https://webchat.oftc.net/?channels=home-manager
|
||||
[Nix Flakes]: https://wiki.nixos.org/wiki/Flakes
|
||||
[Nix Flakes]: https://nixos.wiki/wiki/Flakes
|
||||
[NixOS]: https://nixos.org/
|
||||
[Nix]: https://nixos.org/explore.html
|
||||
[Nixpkgs]: https://github.com/NixOS/nixpkgs
|
||||
@@ -119,5 +124,5 @@ This project is licensed under the terms of the [MIT license](LICENSE).
|
||||
[manual nixos install]: https://nix-community.github.io/home-manager/#sec-install-nixos-module
|
||||
[manual standalone install]: https://nix-community.github.io/home-manager/#sec-install-standalone
|
||||
[manual]: https://nix-community.github.io/home-manager/
|
||||
[nix-darwin]: https://github.com/nix-darwin/nix-darwin
|
||||
[rollbacks]: https://nix-community.github.io/home-manager/index.xhtml#sec-usage-rollbacks
|
||||
[nix-darwin]: https://github.com/LnL7/nix-darwin
|
||||
[rollbacks]: https://nix-community.github.io/home-manager/#sec-usage-rollbacks
|
||||
|
||||
2345
all-maintainers.nix
2345
all-maintainers.nix
File diff suppressed because it is too large
Load Diff
@@ -1,3 +0,0 @@
|
||||
attribute = "buildbot"
|
||||
flake_dir = "./tests"
|
||||
lock_file = "./flake.lock"
|
||||
43
default.nix
43
default.nix
@@ -1,36 +1,23 @@
|
||||
{
|
||||
pkgs ? import <nixpkgs> { },
|
||||
}:
|
||||
{ pkgs ? import <nixpkgs> { } }:
|
||||
|
||||
let
|
||||
path = builtins.path {
|
||||
path = ./.;
|
||||
name = "home-manager-source";
|
||||
rec {
|
||||
docs = let releaseInfo = pkgs.lib.importJSON ./release.json;
|
||||
in with import ./docs {
|
||||
inherit pkgs;
|
||||
inherit (releaseInfo) release isReleaseBranch;
|
||||
}; {
|
||||
html = manual.html;
|
||||
manPages = manPages;
|
||||
json = options.json;
|
||||
jsonModuleMaintainers = jsonModuleMaintainers; # Unstable, mainly for CI.
|
||||
};
|
||||
|
||||
in
|
||||
rec {
|
||||
docs =
|
||||
let
|
||||
releaseInfo = pkgs.lib.importJSON ./release.json;
|
||||
in
|
||||
with import ./docs {
|
||||
inherit pkgs;
|
||||
inherit (releaseInfo) release isReleaseBranch;
|
||||
};
|
||||
{
|
||||
home-manager = pkgs.callPackage ./home-manager { path = toString ./.; };
|
||||
|
||||
inherit manPages jsonModuleMaintainers;
|
||||
inherit (manual) html htmlOpenTool;
|
||||
inherit (options) json;
|
||||
};
|
||||
|
||||
home-manager = pkgs.callPackage ./home-manager { inherit path; };
|
||||
|
||||
install = pkgs.callPackage ./home-manager/install.nix { inherit home-manager; };
|
||||
install =
|
||||
pkgs.callPackage ./home-manager/install.nix { inherit home-manager; };
|
||||
|
||||
nixos = import ./nixos;
|
||||
lib = import ./lib { inherit (pkgs) lib; };
|
||||
|
||||
inherit path;
|
||||
path = ./.;
|
||||
}
|
||||
|
||||
286
docs/default.nix
286
docs/default.nix
@@ -1,171 +1,92 @@
|
||||
{
|
||||
pkgs,
|
||||
{ pkgs
|
||||
|
||||
# Note, this should be "the standard library" + HM extensions.
|
||||
lib ? import ../modules/lib/stdlib-extended.nix pkgs.lib,
|
||||
# Note, this should be "the standard library" + HM extensions.
|
||||
, lib ? import ../modules/lib/stdlib-extended.nix pkgs.lib
|
||||
|
||||
release,
|
||||
isReleaseBranch,
|
||||
}:
|
||||
, release, isReleaseBranch }:
|
||||
|
||||
let
|
||||
|
||||
# Recursively replace each derivation in the given attribute set
|
||||
# with the same derivation but with the `outPath` attribute set to
|
||||
# the string `"\${pkgs.attribute.path}"`. This allows the
|
||||
# documentation to refer to derivations through their values without
|
||||
# establishing an actual dependency on the derivation output.
|
||||
#
|
||||
# This is not perfect, but it seems to cover a vast majority of use
|
||||
# cases.
|
||||
#
|
||||
# Caveat: even if the package is reached by a different means, the
|
||||
# path above will be shown and not e.g.
|
||||
# `${config.services.foo.package}`.
|
||||
scrubDerivations =
|
||||
prefixPath: attrs:
|
||||
let
|
||||
scrubDerivation =
|
||||
name: value:
|
||||
let
|
||||
pkgAttrName = prefixPath + "." + name;
|
||||
in
|
||||
if lib.isAttrs value then
|
||||
scrubDerivations pkgAttrName value
|
||||
// lib.optionalAttrs (lib.isDerivation value) {
|
||||
outPath = "\${${pkgAttrName}}";
|
||||
}
|
||||
else
|
||||
value;
|
||||
in
|
||||
lib.mapAttrs scrubDerivation attrs;
|
||||
nmdSrc = fetchTarball {
|
||||
url =
|
||||
"https://git.sr.ht/~rycee/nmd/archive/f18defadcc25e69e95b04493ee02682005472255.tar.gz";
|
||||
sha256 = "14fazjqbc6sfsxycwadfhcymi37xg5wmrlvg3jb8d4mpbcdwfwz4";
|
||||
};
|
||||
|
||||
nmd = import nmdSrc {
|
||||
inherit lib;
|
||||
# The DocBook output of `nixos-render-docs` doesn't have the change
|
||||
# `nmd` uses to work around the broken stylesheets in
|
||||
# `docbook-xsl-ns`, so we restore the patched version here.
|
||||
pkgs = pkgs // {
|
||||
docbook-xsl-ns =
|
||||
pkgs.docbook-xsl-ns.override { withManOptDedupPatch = true; };
|
||||
};
|
||||
};
|
||||
|
||||
# Make sure the used package is scrubbed to avoid actually
|
||||
# instantiating derivations.
|
||||
scrubbedPkgsModule = {
|
||||
imports = [
|
||||
{
|
||||
_module.args = {
|
||||
pkgs = lib.mkForce (scrubDerivations "pkgs" pkgs);
|
||||
pkgs_i686 = lib.mkForce { };
|
||||
};
|
||||
}
|
||||
];
|
||||
imports = [{
|
||||
_module.args = {
|
||||
pkgs = lib.mkForce (nmd.scrubDerivations "pkgs" pkgs);
|
||||
pkgs_i686 = lib.mkForce { };
|
||||
};
|
||||
}];
|
||||
};
|
||||
|
||||
dontCheckDefinitions = {
|
||||
_module.check = false;
|
||||
};
|
||||
dontCheckDefinitions = { _module.check = false; };
|
||||
|
||||
gitHubDeclaration =
|
||||
user: repo: subpath:
|
||||
let
|
||||
urlRef = if isReleaseBranch then "release-${release}" else "master";
|
||||
in
|
||||
{
|
||||
gitHubDeclaration = user: repo: subpath:
|
||||
let urlRef = if isReleaseBranch then "release-${release}" else "master";
|
||||
in {
|
||||
url = "https://github.com/${user}/${repo}/blob/${urlRef}/${subpath}";
|
||||
name = "<${repo}/${subpath}>";
|
||||
};
|
||||
|
||||
hmPath = toString ./..;
|
||||
|
||||
buildOptionsDocs =
|
||||
args@{
|
||||
modules,
|
||||
includeModuleSystemOptions ? true,
|
||||
...
|
||||
}:
|
||||
let
|
||||
# to discourage references from option descriptions and defaults.
|
||||
poisonModule =
|
||||
let
|
||||
poisonAttr = n: {
|
||||
name = n;
|
||||
value = abort ''
|
||||
error: the option documentation has a dependency on the configuration.
|
||||
|
||||
You may, for example, have added an option attribute like
|
||||
|
||||
default = ''${config.some.value};
|
||||
|
||||
Since the default value is included in the Home Manager manual, this
|
||||
would make the manual depend on the user's configuration.
|
||||
|
||||
To avoid this problem in this particular case, consider changing to
|
||||
|
||||
default = ''${config.some.value};
|
||||
defaultText = lib.literalExpression "\\''${config.some.value}";'';
|
||||
};
|
||||
in
|
||||
{ options, ... }:
|
||||
{
|
||||
config = lib.listToAttrs (map poisonAttr (lib.filter (n: n != "_module") (lib.attrNames options)));
|
||||
buildOptionsDocs = args@{ modules, includeModuleSystemOptions ? true, ... }:
|
||||
let options = (lib.evalModules { inherit modules; }).options;
|
||||
in pkgs.buildPackages.nixosOptionsDoc ({
|
||||
options = if includeModuleSystemOptions then
|
||||
options
|
||||
else
|
||||
builtins.removeAttrs options [ "_module" ];
|
||||
transformOptions = opt:
|
||||
opt // {
|
||||
# Clean up declaration sites to not refer to the Home Manager
|
||||
# source tree.
|
||||
declarations = map (decl:
|
||||
if lib.hasPrefix hmPath (toString decl) then
|
||||
gitHubDeclaration "nix-community" "home-manager"
|
||||
(lib.removePrefix "/" (lib.removePrefix hmPath (toString decl)))
|
||||
else if decl == "lib/modules.nix" then
|
||||
# TODO: handle this in a better way (may require upstream
|
||||
# changes to nixpkgs)
|
||||
gitHubDeclaration "NixOS" "nixpkgs" decl
|
||||
else
|
||||
decl) opt.declarations;
|
||||
};
|
||||
|
||||
options =
|
||||
(lib.evalModules {
|
||||
modules = modules ++ [ poisonModule ];
|
||||
class = "homeManager";
|
||||
}).options;
|
||||
in
|
||||
pkgs.buildPackages.nixosOptionsDoc (
|
||||
{
|
||||
options =
|
||||
if includeModuleSystemOptions then options else builtins.removeAttrs options [ "_module" ];
|
||||
transformOptions =
|
||||
opt:
|
||||
opt
|
||||
// {
|
||||
# Clean up declaration sites to not refer to the Home Manager
|
||||
# source tree.
|
||||
declarations = map (
|
||||
decl:
|
||||
if lib.hasPrefix hmPath (toString decl) then
|
||||
gitHubDeclaration "nix-community" "home-manager" (
|
||||
lib.removePrefix "/" (lib.removePrefix hmPath (toString decl))
|
||||
)
|
||||
else if decl == "lib/modules.nix" then
|
||||
# TODO: handle this in a better way (may require upstream
|
||||
# changes to nixpkgs)
|
||||
gitHubDeclaration "NixOS" "nixpkgs" decl
|
||||
else
|
||||
decl
|
||||
) opt.declarations;
|
||||
};
|
||||
}
|
||||
// builtins.removeAttrs args [
|
||||
"modules"
|
||||
"includeModuleSystemOptions"
|
||||
]
|
||||
);
|
||||
} // builtins.removeAttrs args [ "modules" "includeModuleSystemOptions" ]);
|
||||
|
||||
hmOptionsDocs = buildOptionsDocs {
|
||||
modules =
|
||||
import ../modules/modules.nix {
|
||||
inherit lib pkgs;
|
||||
check = false;
|
||||
}
|
||||
++ [ scrubbedPkgsModule ];
|
||||
modules = import ../modules/modules.nix {
|
||||
inherit lib pkgs;
|
||||
check = false;
|
||||
} ++ [ scrubbedPkgsModule ];
|
||||
variablelistId = "home-manager-options";
|
||||
};
|
||||
|
||||
nixosOptionsDocs = buildOptionsDocs {
|
||||
modules = [
|
||||
../nixos
|
||||
scrubbedPkgsModule
|
||||
dontCheckDefinitions
|
||||
];
|
||||
modules = [ ../nixos scrubbedPkgsModule dontCheckDefinitions ];
|
||||
includeModuleSystemOptions = false;
|
||||
variablelistId = "nixos-options";
|
||||
optionIdPrefix = "nixos-opt-";
|
||||
};
|
||||
|
||||
nixDarwinOptionsDocs = buildOptionsDocs {
|
||||
modules = [
|
||||
../nix-darwin
|
||||
scrubbedPkgsModule
|
||||
dontCheckDefinitions
|
||||
];
|
||||
modules = [ ../nix-darwin scrubbedPkgsModule dontCheckDefinitions ];
|
||||
includeModuleSystemOptions = false;
|
||||
variablelistId = "nix-darwin-options";
|
||||
optionIdPrefix = "nix-darwin-opt-";
|
||||
@@ -175,28 +96,25 @@ let
|
||||
revision = "release-${release-config.release}";
|
||||
# Generate the `man home-configuration.nix` package
|
||||
home-configuration-manual =
|
||||
pkgs.runCommand "home-configuration-reference-manpage"
|
||||
{
|
||||
nativeBuildInputs = [
|
||||
pkgs.buildPackages.installShellFiles
|
||||
pkgs.nixos-render-docs
|
||||
];
|
||||
allowedReferences = [ "out" ];
|
||||
}
|
||||
''
|
||||
# Generate manpages.
|
||||
mkdir -p $out/share/man/man5
|
||||
mkdir -p $out/share/man/man1
|
||||
nixos-render-docs -j $NIX_BUILD_CORES options manpage \
|
||||
--revision ${revision} \
|
||||
--header ${./home-configuration-nix-header.5} \
|
||||
--footer ${./home-configuration-nix-footer.5} \
|
||||
${hmOptionsDocs.optionsJSON}/share/doc/nixos/options.json \
|
||||
$out/share/man/man5/home-configuration.nix.5
|
||||
cp ${./home-manager.1} $out/share/man/man1/home-manager.1
|
||||
'';
|
||||
pkgs.runCommand "home-configuration-reference-manpage" {
|
||||
nativeBuildInputs =
|
||||
[ pkgs.buildPackages.installShellFiles pkgs.nixos-render-docs ];
|
||||
allowedReferences = [ "out" ];
|
||||
} ''
|
||||
# Generate manpages.
|
||||
mkdir -p $out/share/man/man5
|
||||
mkdir -p $out/share/man/man1
|
||||
nixos-render-docs -j $NIX_BUILD_CORES options manpage \
|
||||
--revision ${revision} \
|
||||
--header ${./home-configuration-nix-header.5} \
|
||||
--footer ${./home-configuration-nix-footer.5} \
|
||||
${hmOptionsDocs.optionsJSON}/share/doc/nixos/options.json \
|
||||
$out/share/man/man5/home-configuration.nix.5
|
||||
cp ${./home-manager.1} $out/share/man/man1/home-manager.1
|
||||
'';
|
||||
# Generate the HTML manual pages
|
||||
home-manager-manual = pkgs.callPackage ./home-manager-manual.nix {
|
||||
nmd = nmdSrc;
|
||||
home-manager-options = {
|
||||
home-manager = hmOptionsDocs.optionsJSON;
|
||||
nixos = nixosOptionsDocs.optionsJSON;
|
||||
@@ -206,26 +124,24 @@ let
|
||||
};
|
||||
html = home-manager-manual;
|
||||
htmlOpenTool = pkgs.callPackage ./html-open-tool.nix { } { inherit html; };
|
||||
in
|
||||
{
|
||||
in {
|
||||
inherit nmdSrc;
|
||||
|
||||
options = {
|
||||
# TODO: Use `hmOptionsDocs.optionsJSON` directly once upstream
|
||||
# `nixosOptionsDoc` is more customizable.
|
||||
json =
|
||||
pkgs.runCommand "options.json"
|
||||
{
|
||||
meta.description = "List of Home Manager options in JSON format";
|
||||
}
|
||||
''
|
||||
mkdir -p $out/{share/doc,nix-support}
|
||||
cp -a ${hmOptionsDocs.optionsJSON}/share/doc/nixos $out/share/doc/home-manager
|
||||
substitute \
|
||||
${hmOptionsDocs.optionsJSON}/nix-support/hydra-build-products \
|
||||
$out/nix-support/hydra-build-products \
|
||||
--replace-fail \
|
||||
'${hmOptionsDocs.optionsJSON}/share/doc/nixos' \
|
||||
"$out/share/doc/home-manager"
|
||||
'';
|
||||
json = pkgs.runCommand "options.json" {
|
||||
meta.description = "List of Home Manager options in JSON format";
|
||||
} ''
|
||||
mkdir -p $out/{share/doc,nix-support}
|
||||
cp -a ${hmOptionsDocs.optionsJSON}/share/doc/nixos $out/share/doc/home-manager
|
||||
substitute \
|
||||
${hmOptionsDocs.optionsJSON}/nix-support/hydra-build-products \
|
||||
$out/nix-support/hydra-build-products \
|
||||
--replace \
|
||||
'${hmOptionsDocs.optionsJSON}/share/doc/nixos' \
|
||||
"$out/share/doc/home-manager"
|
||||
'';
|
||||
};
|
||||
|
||||
manPages = home-configuration-manual;
|
||||
@@ -233,18 +149,12 @@ in
|
||||
manual = { inherit html htmlOpenTool; };
|
||||
|
||||
# Unstable, mainly for CI.
|
||||
jsonModuleMaintainers = pkgs.writeText "hm-module-maintainers.json" (
|
||||
let
|
||||
result = lib.evalModules {
|
||||
modules =
|
||||
import ../modules/modules.nix {
|
||||
inherit lib pkgs;
|
||||
check = false;
|
||||
}
|
||||
++ [ scrubbedPkgsModule ];
|
||||
class = "homeManager";
|
||||
};
|
||||
in
|
||||
builtins.toJSON result.config.meta.maintainers
|
||||
);
|
||||
jsonModuleMaintainers = pkgs.writeText "hm-module-maintainers.json" (let
|
||||
result = lib.evalModules {
|
||||
modules = import ../modules/modules.nix {
|
||||
inherit lib pkgs;
|
||||
check = false;
|
||||
} ++ [ scrubbedPkgsModule ];
|
||||
};
|
||||
in builtins.toJSON result.config.meta.maintainers);
|
||||
}
|
||||
|
||||
45
docs/flake.lock
generated
45
docs/flake.lock
generated
@@ -1,45 +0,0 @@
|
||||
{
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1764081664,
|
||||
"narHash": "sha256-sUoHmPr/EwXzRMpv1u/kH+dXuvJEyyF2Q7muE+t0EU4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "dc205f7b4fdb04c8b7877b43edb7b73be7730081",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs",
|
||||
"scss-reset": "scss-reset"
|
||||
}
|
||||
},
|
||||
"scss-reset": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1683906868,
|
||||
"narHash": "sha256-cif5Sx8Ca5vxdw/mNAgpulLH15TwmzyJFNM7JURpoaE=",
|
||||
"owner": "andreymatin",
|
||||
"repo": "scss-reset",
|
||||
"rev": "5a7bd491ac82441e6283fb0d5d54644b913b30c7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "andreymatin",
|
||||
"ref": "1.4.2",
|
||||
"repo": "scss-reset",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
@@ -1,89 +0,0 @@
|
||||
{
|
||||
description = "Support developing Home Manager documentation";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||
scss-reset = {
|
||||
url = "github:andreymatin/scss-reset/1.4.2";
|
||||
flake = false;
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
{
|
||||
nixpkgs,
|
||||
scss-reset,
|
||||
...
|
||||
}:
|
||||
let
|
||||
supportedSystems = [
|
||||
"aarch64-darwin"
|
||||
"aarch64-linux"
|
||||
"i686-linux"
|
||||
"x86_64-darwin"
|
||||
"x86_64-linux"
|
||||
];
|
||||
|
||||
# Note, this should be "the standard library" + HM extensions.
|
||||
lib = import ../modules/lib/stdlib-extended.nix nixpkgs.lib;
|
||||
|
||||
forAllSystems = lib.genAttrs supportedSystems;
|
||||
|
||||
flakePkgs = pkgs: {
|
||||
p-build = pkgs.writeShellScriptBin "p-build" ''
|
||||
set -euo pipefail
|
||||
|
||||
export PATH=${
|
||||
lib.makeBinPath [
|
||||
pkgs.coreutils
|
||||
pkgs.rsass
|
||||
]
|
||||
}
|
||||
|
||||
tmpfile=$(mktemp -d)
|
||||
trap "rm -r $tmpfile" EXIT
|
||||
|
||||
ln -s "${scss-reset}/build" "$tmpfile/scss-reset"
|
||||
|
||||
rsass --load-path="$tmpfile" --style compressed \
|
||||
./static/style.scss > ./static/style.css
|
||||
echo "Generated ./static/style.css"
|
||||
'';
|
||||
};
|
||||
|
||||
releaseInfo = lib.importJSON ../release.json;
|
||||
in
|
||||
{
|
||||
devShells = forAllSystems (
|
||||
system:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
fpkgs = flakePkgs pkgs;
|
||||
in
|
||||
{
|
||||
default = pkgs.mkShell {
|
||||
name = "hm-docs";
|
||||
packages = [ fpkgs.p-build ];
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
# Expose the docs outputs
|
||||
packages = forAllSystems (
|
||||
system:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
docs = import ./default.nix {
|
||||
inherit pkgs lib;
|
||||
release = releaseInfo.release;
|
||||
isReleaseBranch = releaseInfo.isReleaseBranch;
|
||||
};
|
||||
in
|
||||
{
|
||||
inherit (docs) manPages jsonModuleMaintainers;
|
||||
inherit (docs.manual) html htmlOpenTool;
|
||||
inherit (docs.options) json;
|
||||
}
|
||||
);
|
||||
};
|
||||
}
|
||||
8
docs/highlight-style.css
Normal file
8
docs/highlight-style.css
Normal file
@@ -0,0 +1,8 @@
|
||||
pre {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
pre code.hljs {
|
||||
border: none;
|
||||
margin: 0;
|
||||
}
|
||||
@@ -1,15 +1,7 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
documentation-highlighter,
|
||||
revision,
|
||||
home-manager-options,
|
||||
nixos-render-docs,
|
||||
}:
|
||||
let
|
||||
outputPath = "share/doc/home-manager";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
{ stdenv, lib, documentation-highlighter, nmd, revision, home-manager-options
|
||||
, nixos-render-docs }:
|
||||
let outputPath = "share/doc/home-manager";
|
||||
in stdenv.mkDerivation {
|
||||
name = "home-manager-manual";
|
||||
|
||||
nativeBuildInputs = [ nixos-render-docs ];
|
||||
@@ -17,8 +9,9 @@ stdenv.mkDerivation {
|
||||
src = ./manual;
|
||||
|
||||
buildPhase = ''
|
||||
mkdir -p out/{highlightjs,media}
|
||||
mkdir -p out/media
|
||||
|
||||
mkdir -p out/highlightjs
|
||||
cp -t out/highlightjs \
|
||||
${documentation-highlighter}/highlight.pack.js \
|
||||
${documentation-highlighter}/LICENSE \
|
||||
@@ -26,23 +19,23 @@ stdenv.mkDerivation {
|
||||
${documentation-highlighter}/loader.js
|
||||
|
||||
substituteInPlace ./options.md \
|
||||
--subst-var-by \
|
||||
OPTIONS_JSON \
|
||||
--replace \
|
||||
'@OPTIONS_JSON@' \
|
||||
${home-manager-options.home-manager}/share/doc/nixos/options.json
|
||||
|
||||
substituteInPlace ./nixos-options.md \
|
||||
--subst-var-by \
|
||||
OPTIONS_JSON \
|
||||
--replace \
|
||||
'@OPTIONS_JSON@' \
|
||||
${home-manager-options.nixos}/share/doc/nixos/options.json
|
||||
|
||||
substituteInPlace ./nix-darwin-options.md \
|
||||
--subst-var-by \
|
||||
OPTIONS_JSON \
|
||||
--replace \
|
||||
'@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 ${nmd}/static/style.css out/style.css
|
||||
cp -t out/highlightjs ${nmd}/static/highlightjs/tomorrow-night.min.css
|
||||
cp ${./highlight-style.css} out/highlightjs/highlight-style.css
|
||||
|
||||
cp -r ${./release-notes} release-notes
|
||||
|
||||
@@ -50,6 +43,8 @@ stdenv.mkDerivation {
|
||||
--manpage-urls ./manpage-urls.json \
|
||||
--revision ${lib.trivial.revisionWithDefault revision} \
|
||||
--stylesheet style.css \
|
||||
--stylesheet highlightjs/tomorrow-night.min.css \
|
||||
--stylesheet highlightjs/highlight-style.css \
|
||||
--script highlightjs/highlight.pack.js \
|
||||
--script highlightjs/loader.js \
|
||||
--toc-depth 1 \
|
||||
@@ -67,9 +62,5 @@ stdenv.mkDerivation {
|
||||
echo "doc manual $dest index.html" >> $out/nix-support/hydra-build-products
|
||||
'';
|
||||
|
||||
passthru = { inherit home-manager-options; };
|
||||
|
||||
meta = {
|
||||
maintainers = [ lib.maintainers.considerate ];
|
||||
};
|
||||
meta = { maintainers = [ lib.maintainers.considerate ]; };
|
||||
}
|
||||
|
||||
@@ -24,12 +24,9 @@
|
||||
.Cm | generations
|
||||
.Cm | help
|
||||
.Cm | news
|
||||
.Cm | option Oo Fl -recursive Oc Ar option.name
|
||||
.Cm | option Ar option.name
|
||||
.Cm | packages
|
||||
.Cm | remove-generations Ar ID \&...
|
||||
.Cm | switch
|
||||
.Op Fl -rollback
|
||||
.Op Bro Fl c | Fl -specialisation Brc Ar NAME
|
||||
.Cm | uninstall
|
||||
.Brc
|
||||
.Op Fl A Ar attrPath
|
||||
@@ -48,7 +45,6 @@
|
||||
.Op Fl -keep-failed
|
||||
.Op Fl -keep-going
|
||||
.Op Bro Fl L | Fl -print-build-logs Brc
|
||||
.Op Fl -log-format
|
||||
.Op Fl -show-trace
|
||||
.Op Fl -(no-)substitute
|
||||
.Op Fl -no-out-link
|
||||
@@ -101,7 +97,7 @@ Instantiate the configuration and print the resulting derivation\&.
|
||||
|
||||
.It Cm edit
|
||||
.RS 16
|
||||
Open the home configuration using the editor indicated by \fBVISUAL\fR or \fBEDITOR\fR\&.
|
||||
Open the home configuration using the editor indicated by \fBEDITOR\fR\&.
|
||||
.RE
|
||||
.Pp
|
||||
|
||||
@@ -138,14 +134,10 @@ Show news entries in a pager.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.It Cm option Oo Fl -recursive Oc Ar option.name
|
||||
.It Cm option Ar option.name
|
||||
.RS 4
|
||||
Inspect the given option name in the home configuration, like
|
||||
\fBnixos-option\fR(8)\&.
|
||||
.sp
|
||||
If the
|
||||
.Fl -recursive
|
||||
option is given, print all the values at or below the option name recursively\&.
|
||||
.RE
|
||||
.Pp
|
||||
|
||||
@@ -163,18 +155,9 @@ sub-command to find suitable generation numbers.
|
||||
.RE
|
||||
.Pp
|
||||
|
||||
.It Cm switch Oo Fl -rollback Oc Oo Bro Fl c | Fl -specialisation Brc Ar NAME Oc
|
||||
.It Cm switch
|
||||
.RS 4
|
||||
Build and activate the configuration\&.
|
||||
.sp
|
||||
If the
|
||||
.Fl -rollback
|
||||
option is given, then the build is not done, instead roll back to and
|
||||
activate the configuration prior to the current configuration\&.
|
||||
.sp
|
||||
If the
|
||||
.Fl -specialisation
|
||||
option is given, then the named specialisation is activated\&.
|
||||
.RE
|
||||
.Pp
|
||||
|
||||
@@ -352,13 +335,6 @@ when building from a flake\&.
|
||||
.RE
|
||||
.Pp
|
||||
|
||||
.It Cm Fl -log-format Ar format
|
||||
.RS 4
|
||||
Passed on to
|
||||
\fBnix-build\fR(1)\&.
|
||||
.RE
|
||||
.Pp
|
||||
|
||||
.It Cm Fl -show-trace
|
||||
.RS 4
|
||||
Passed on to
|
||||
@@ -420,5 +396,5 @@ Author.
|
||||
|
||||
.Sh COPYRIGHT
|
||||
.br
|
||||
Copyright \(co 2017\(en2025 Home Manager contributors
|
||||
Copyright \(co 2017\(en2022 Home Manager contributors
|
||||
.br
|
||||
|
||||
@@ -1,14 +1,6 @@
|
||||
{
|
||||
writeShellScriptBin,
|
||||
makeDesktopItem,
|
||||
symlinkJoin,
|
||||
}:
|
||||
{
|
||||
html,
|
||||
pathName ? "home-manager",
|
||||
projectName ? pathName,
|
||||
name ? "${pathName}-help",
|
||||
}:
|
||||
{ writeShellScriptBin, makeDesktopItem, symlinkJoin }:
|
||||
{ html, pathName ? "home-manager", projectName ? pathName
|
||||
, name ? "${pathName}-help" }:
|
||||
let
|
||||
helpScript = writeShellScriptBin name ''
|
||||
set -euo pipefail
|
||||
@@ -38,11 +30,7 @@ let
|
||||
exec = "${helpScript}/bin/${name}";
|
||||
categories = [ "System" ];
|
||||
};
|
||||
in
|
||||
symlinkJoin {
|
||||
in symlinkJoin {
|
||||
inherit name;
|
||||
paths = [
|
||||
helpScript
|
||||
desktopItem
|
||||
];
|
||||
paths = [ helpScript desktopItem ];
|
||||
}
|
||||
|
||||
@@ -69,10 +69,13 @@ All contributed code *must* pass the test suite.
|
||||
|
||||
## Add relevant documentation {#sec-guidelines-module-maintainer}
|
||||
|
||||
Many code changes require changing the documentation as well. The
|
||||
documentation is written in
|
||||
[Nixpkgs-flavoured Markdown](https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-markup).
|
||||
All text is hosted in Home Manager's Git repository.
|
||||
Many code changes require changing the documentation as well. Module
|
||||
options should be documented with [Nixpkgs-flavoured
|
||||
Markdown](https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-markup).
|
||||
Home Manager is itself documented using a combination of
|
||||
[DocBook](https://tdg.docbook.org/) and
|
||||
[AsciiDoc](https://asciidoc.org/). All text is hosted in Home Manager's
|
||||
Git repository.
|
||||
|
||||
The HTML version of the manual containing both the module option
|
||||
descriptions and the documentation of Home Manager can be generated and
|
||||
@@ -81,7 +84,7 @@ Manager Git repository:
|
||||
|
||||
``` shell
|
||||
$ nix-build -A docs.html
|
||||
$ xdg-open ./result/share/doc/home-manager/index.xhtml
|
||||
$ xdg-open ./result/share/doc/home-manager/index.html
|
||||
```
|
||||
|
||||
When you have made changes to a module, it is a good idea to check that
|
||||
@@ -92,36 +95,6 @@ $ nix-build -A docs.manPages
|
||||
$ man ./result/share/man/man5/home-configuration.nix.5.gz
|
||||
```
|
||||
|
||||
## Module Auto-importing {#sec-module-auto-importing}
|
||||
|
||||
Home Manager automatically imports all modules from the `modules/programs/` and
|
||||
`modules/services/` directories. This auto-importing behavior follows these
|
||||
rules:
|
||||
|
||||
- **Nix files**: All `.nix` files in these directories are automatically
|
||||
imported
|
||||
- **Directories**: All subdirectories are automatically imported (typically
|
||||
containing a `default.nix` file)
|
||||
- **Exclusions**: Files and directories starting with an underscore (`_`) are
|
||||
excluded from auto-importing
|
||||
|
||||
This allows for flexible module organization:
|
||||
|
||||
```
|
||||
modules/programs/
|
||||
├── git.nix # Single-file module (imported)
|
||||
├── firefox/ # Multi-file module (imported)
|
||||
│ ├── default.nix
|
||||
│ └── addons.nix
|
||||
├── _experimental.nix # Excluded (starts with _)
|
||||
└── _wip/ # Excluded directory (starts with _)
|
||||
└── newfeature.nix
|
||||
```
|
||||
|
||||
When adding a new module, simply place it in the appropriate directory
|
||||
(`programs/` for user programs, `services/` for user services) and it will be
|
||||
automatically discovered and included in the Home Manager module system.
|
||||
|
||||
## Add yourself as a module maintainer {#_add_yourself_as_a_module_maintainer}
|
||||
|
||||
Every new module *must* include a named maintainer using the
|
||||
@@ -132,9 +105,6 @@ If you are present in the nixpkgs maintainer list then you can use that
|
||||
entry. If you are not then you can add yourself to
|
||||
`modules/lib/maintainers.nix` in the Home Manager project.
|
||||
|
||||
As a maintainer you are expected to respond to issues and
|
||||
pull-requests associated with your module.
|
||||
|
||||
Maintainers are encouraged to join the IRC or Matrix channel and
|
||||
participate when they have opportunity.
|
||||
|
||||
@@ -157,7 +127,9 @@ If your contribution includes a change that should be communicated to
|
||||
users of Home Manager then you can add a news entry. The entry must be
|
||||
formatted as described in [News](#sec-news).
|
||||
|
||||
When new modules are added a news entry should be included.
|
||||
When new modules are added a news entry should be included but you do
|
||||
not need to create this entry manually. The merging maintainer will
|
||||
create the entry for you. This is to reduce the risk of merge conflicts.
|
||||
|
||||
## Use conditional modules and news {#sec-guidelines-conditional-modules}
|
||||
|
||||
@@ -234,10 +206,10 @@ a long description if you wish.
|
||||
|
||||
## Code Style {#sec-code-style}
|
||||
|
||||
The code in Home Manager is formatted by the [treefmt](https://treefmt.com) tool
|
||||
and the formatting is checked in the pull request tests. Run `nix fmt` or
|
||||
`treefmt` (with required formatters which can be found in `treefmt.toml` in your
|
||||
`$PATH`) inside the project repository before submitting your pull request.
|
||||
The code in Home Manager is formatted by the
|
||||
[nixfmt](https://github.com/serokell/nixfmt/) tool and the formatting is
|
||||
checked in the pull request tests. Run the `format` tool inside the
|
||||
project repository before submitting your pull request.
|
||||
|
||||
Keep lines at a reasonable width, ideally 80 characters or less. This
|
||||
also applies to string literals.
|
||||
|
||||
@@ -10,21 +10,14 @@ If you do have a change worthy of a news entry then please add one in
|
||||
[`news.nix`](https://github.com/nix-community/home-manager/blob/master/modules/misc/news.nix)
|
||||
but you should follow some basic guidelines:
|
||||
|
||||
- Use the included news entry generator to create a news entry file:
|
||||
- The entry timestamp should be in ISO-8601 format having \"+00:00\"
|
||||
as time zone. For example, \"2017-09-13T17:10:14+00:00\". A suitable
|
||||
timestamp can be produced by the command
|
||||
|
||||
``` shell
|
||||
$ nix run .#create-news-entry
|
||||
$ date --iso-8601=second --universal
|
||||
```
|
||||
|
||||
Alternatively, you can directly use the script:
|
||||
|
||||
``` shell
|
||||
$ modules/misc/news/create-news-entry.sh
|
||||
```
|
||||
|
||||
This will create a new file inside the `modules/misc/news` directory
|
||||
with some placeholder information that you can edit.
|
||||
|
||||
- The entry condition should be as specific as possible. For example,
|
||||
if you are changing or deprecating a specific option then you could
|
||||
restrict the news to those users who actually use this option.
|
||||
|
||||
@@ -6,228 +6,33 @@ the form of \"golden tests\" where, for example, a generated
|
||||
configuration file is compared to a known correct file.
|
||||
|
||||
It is relatively easy to create tests by modeling the existing tests,
|
||||
found in the `tests` project directory.
|
||||
|
||||
## Writing Basic Tests {#sec-tests-basic}
|
||||
|
||||
Home Manager tests use the **NMT** framework, which provides
|
||||
a set of assertion functions to verify that modules generate the expected files
|
||||
and configurations. Tests are written as Nix expressions that define both the
|
||||
Home Manager configuration and the test assertions.
|
||||
|
||||
### Test Structure {#sec-tests-structure}
|
||||
|
||||
A basic test file structure looks like:
|
||||
|
||||
```nix
|
||||
{
|
||||
# Home Manager configuration
|
||||
programs.myprogram = {
|
||||
enable = true;
|
||||
settings = {
|
||||
option = "value";
|
||||
};
|
||||
};
|
||||
|
||||
# NMT test script with assertions
|
||||
nmt.script = ''
|
||||
assertFileExists "home-files/.config/myprogram/config.toml"
|
||||
assertFileContent "home-files/.config/myprogram/config.toml" ${./expected-config.toml}
|
||||
'';
|
||||
}
|
||||
```
|
||||
|
||||
### Test Organization {#sec-tests-organization}
|
||||
|
||||
Tests are organized in the `tests` directory structure:
|
||||
|
||||
- `tests/modules/programs/myprogram/default.nix` - Lists all test cases for the module
|
||||
- `tests/modules/programs/myprogram/basic-configuration.nix` - A basic test case
|
||||
- `tests/modules/programs/myprogram/expected-config.toml` - Expected output file
|
||||
|
||||
The `default.nix` file should list all test cases:
|
||||
|
||||
```nix
|
||||
{
|
||||
myprogram-basic-configuration = ./basic-configuration.nix;
|
||||
myprogram-empty-settings = ./empty-settings.nix;
|
||||
}
|
||||
```
|
||||
|
||||
### Common NMT Assertions {#sec-tests-assertions}
|
||||
|
||||
NMT provides several assertion functions:
|
||||
|
||||
- `assertFileExists "path"` - Verify a file was created
|
||||
- `assertPathNotExists "path"` - Verify a file was NOT created
|
||||
- `assertFileContent "path" expected-file` - Compare file contents
|
||||
- `assertFileRegex "path" "regex"` - Check file matches regex
|
||||
|
||||
For a full reference to the functions available in test scripts, you can look at NMT's
|
||||
found in the `tests` project directory. For a full reference to the
|
||||
functions available in test scripts, you can look at NMT's
|
||||
[bash-lib](https://git.sr.ht/~rycee/nmt/tree/master/item/bash-lib).
|
||||
|
||||
### Practical Examples {#sec-tests-examples}
|
||||
|
||||
Here are some real-world examples of common test patterns:
|
||||
|
||||
**Testing that a configuration file is generated:**
|
||||
```nix
|
||||
{
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
settings.font.size = 12;
|
||||
};
|
||||
|
||||
nmt.script = ''
|
||||
assertFileExists "home-files/.config/alacritty/alacritty.yml"
|
||||
assertFileContains "home-files/.config/alacritty/alacritty.yml" "size: 12"
|
||||
'';
|
||||
}
|
||||
```
|
||||
|
||||
**Testing that no files are created when disabled:**
|
||||
```nix
|
||||
{
|
||||
programs.alacritty.enable = false;
|
||||
|
||||
nmt.script = ''
|
||||
assertPathNotExists "home-files/.config/alacritty"
|
||||
'';
|
||||
}
|
||||
```
|
||||
|
||||
**Testing exact file content against expected output:**
|
||||
```nix
|
||||
{
|
||||
programs.fastfetch = {
|
||||
enable = true;
|
||||
settings.display.color = "blue";
|
||||
};
|
||||
|
||||
nmt.script =
|
||||
let
|
||||
configFile = "home-files/.config/fastfetch/config.jsonc";
|
||||
in
|
||||
''
|
||||
assertFileExists "${configFile}"
|
||||
assertFileContent "${configFile}" ${./expected-config.jsonc}
|
||||
'';
|
||||
}
|
||||
```
|
||||
|
||||
**Testing multiple conditions in one test:**
|
||||
```nix
|
||||
{
|
||||
programs.myprogram = {
|
||||
enable = true;
|
||||
configFile = "custom.conf";
|
||||
extraConfig = "debug = true";
|
||||
};
|
||||
|
||||
nmt.script = ''
|
||||
assertFileExists "home-files/.config/myprogram/custom.conf"
|
||||
assertFileRegex "home-files/.config/myprogram/custom.conf" "debug = true"
|
||||
assertFileRegex "home-files/.config/myprogram/custom.conf" "^# Generated by Home Manager"
|
||||
'';
|
||||
}
|
||||
```
|
||||
|
||||
### Platform-Specific Tests {#sec-tests-platform-specific}
|
||||
|
||||
When a module is platform-specific (Linux-only or Darwin-only), the test's `default.nix`
|
||||
file should use `lib.optionalAttrs` to conditionally expose tests based on the platform.
|
||||
This prevents evaluation errors on unsupported platforms during the test suite runs.
|
||||
|
||||
**Linux-only module tests:**
|
||||
```nix
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux {
|
||||
rofi-valid-config = ./valid-config.nix;
|
||||
rofi-custom-theme = ./custom-theme.nix;
|
||||
}
|
||||
```
|
||||
|
||||
**Darwin-only module tests:**
|
||||
```nix
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
lib.optionalAttrs pkgs.stdenv.hostPlatform.isDarwin {
|
||||
sketchybar-basic = ./basic-configuration.nix;
|
||||
sketchybar-lua-config = ./lua-config.nix;
|
||||
}
|
||||
```
|
||||
|
||||
For cross-platform modules that have packages which need to be stubbed on Darwin,
|
||||
add the package names to `tests/darwinScrublist.nix` to prevent build failures
|
||||
during cross-platform test runs.
|
||||
|
||||
## Using the tests command {#sec-tests-command}
|
||||
|
||||
Home Manager provides a convenient `tests` command for discovering and running tests:
|
||||
|
||||
``` shell
|
||||
# List all available tests
|
||||
$ nix run .#tests -- -l
|
||||
|
||||
# List tests matching a pattern
|
||||
$ nix run .#tests -- -l alacritty
|
||||
|
||||
# Run all tests matching a pattern
|
||||
$ nix run .#tests -- alacritty
|
||||
|
||||
# Run a specific test
|
||||
$ nix run .#tests -- test-alacritty-empty-settings
|
||||
|
||||
# Run integration tests
|
||||
$ nix run .#tests -- -t -l
|
||||
|
||||
# Interactive test selection (requires fzf)
|
||||
$ python3 tests/tests.py -i
|
||||
|
||||
# Pass additional nix build flags
|
||||
$ nix run .#tests -- alacritty -- --verbose
|
||||
```
|
||||
|
||||
## Manual test commands {#sec-tests-manual}
|
||||
|
||||
For advanced usage or CI environments, you can also run tests manually using nix build commands.
|
||||
|
||||
The full Home Manager test suite can be run by executing
|
||||
|
||||
``` shell
|
||||
$ nix-build --pure --option allow-import-from-derivation false tests -A build.all
|
||||
$ nix-shell --pure tests -A run.all
|
||||
```
|
||||
|
||||
in the project root. List all test cases through
|
||||
|
||||
``` shell
|
||||
$ nix-build --pure tests --option allow-import-from-derivation false -A list
|
||||
$ nix-shell --pure tests -A list
|
||||
```
|
||||
|
||||
and run an individual test, for example `alacritty-empty-settings`,
|
||||
through
|
||||
|
||||
``` shell
|
||||
$ nix-build --pure tests --option allow-import-from-derivation false -A build.alacritty-empty-settings
|
||||
$ nix-shell --pure tests -A run.alacritty-empty-settings
|
||||
```
|
||||
|
||||
However, those invocations will impurely source the system's Nixpkgs,
|
||||
and may cause failures. To run against the Nixpkgs from the `flake.lock` file,
|
||||
However, those invocations will impurely source the system's nixpkgs,
|
||||
and may cause failures. To run against the nixpkgs from the flake.lock,
|
||||
use instead e.g.
|
||||
|
||||
``` shell
|
||||
$ nix build --reference-lock-file flake.lock --option allow-import-from-derivation false ./tests#test-all
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
``` shell
|
||||
$ nix build --reference-lock-file flake.lock --option allow-import-from-derivation false ./tests#test-alacritty-empty-settings
|
||||
```
|
||||
|
||||
Some tests may be marked with `enableLegacyIfd`, those may be run by run with e.g.
|
||||
|
||||
``` shell
|
||||
$ nix-build --pure tests --arg enableLegacyIfd true -A build.mytest
|
||||
$ nix develop --ignore-environment .#all
|
||||
```
|
||||
|
||||
@@ -6,5 +6,5 @@ faq/session-variables.md
|
||||
faq/multiple-users-machines.md
|
||||
faq/ca-desrt-dconf.md
|
||||
faq/unstable.md
|
||||
faq/change-package-module.md
|
||||
faq/override-package-module.md
|
||||
```
|
||||
|
||||
@@ -43,5 +43,5 @@ The solution is typically to uninstall the package from the environment
|
||||
using `nix-env --uninstall` and reattempt the Home Manager generation
|
||||
switch.
|
||||
|
||||
You could also opt to uninstall *all* of the packages from your profile
|
||||
You could also opt to unistall *all* of the packages from your profile
|
||||
with `nix-env --uninstall '*'`.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# How do I change the package used by a module? {#_how_do_i_change_the_package_used_by_a_module}
|
||||
# How do I override the package used by a module? {#_how_do_i_override_the_package_used_by_a_module}
|
||||
|
||||
By default Home Manager will install the package provided by your chosen
|
||||
`nixpkgs` channel but occasionally you might end up needing to change
|
||||
@@ -6,35 +6,13 @@ this package. This can typically be done in two ways.
|
||||
|
||||
1. If the module provides a `package` option, such as
|
||||
`programs.beets.package`, then this is the recommended way to
|
||||
perform the change. For example,
|
||||
perform the override. For example,
|
||||
|
||||
``` nix
|
||||
programs.beets.package = pkgs.beets.override { pluginOverrides = { beatport.enable = false; }; };
|
||||
programs.beets.package = pkgs.beets.override { enableCheck = true; };
|
||||
```
|
||||
|
||||
See [Nix pill 17](https://nixos.org/guides/nix-pills/nixpkgs-overriding-packages.html)
|
||||
for more information on package overrides. Alternatively, if you want
|
||||
to use the `beets` package from Nixpkgs unstable, then a configuration like
|
||||
|
||||
``` nix
|
||||
{ pkgs, config, ... }:
|
||||
|
||||
let
|
||||
|
||||
pkgsUnstable = import <nixpkgs-unstable> {};
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
programs.beets.package = pkgsUnstable.beets;
|
||||
|
||||
# …
|
||||
}
|
||||
```
|
||||
|
||||
should work OK.
|
||||
|
||||
3. If no `package` option is available then you can typically change
|
||||
2. If no `package` option is available then you can typically override
|
||||
the relevant package using an
|
||||
[overlay](https://nixos.org/nixpkgs/manual/#chap-overlays).
|
||||
|
||||
@@ -15,7 +15,7 @@ Home Manager can be used in three primary ways:
|
||||
description of this setup.
|
||||
|
||||
3. As a module within a
|
||||
[nix-darwin](https://github.com/nix-darwin/nix-darwin/) system
|
||||
[nix-darwin](https://github.com/LnL7/nix-darwin/) system
|
||||
configuration. This allows the user profiles to be built together
|
||||
with the system when running `darwin-rebuild`. See [nix-darwin
|
||||
module](#sec-install-nix-darwin-module) for a description of this
|
||||
@@ -24,7 +24,7 @@ Home Manager can be used in three primary ways:
|
||||
:::{.note}
|
||||
In this chapter we describe how to install Home Manager in the standard
|
||||
way using channels. If you prefer to use [Nix
|
||||
Flakes](https://wiki.nixos.org/wiki/Flakes) then please see the instructions
|
||||
Flakes](https://nixos.wiki/wiki/Flakes) then please see the instructions
|
||||
in [nix flakes](#ch-nix-flakes).
|
||||
:::
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Home Manager provides a module that allows you to prepare user
|
||||
environments directly from the
|
||||
[nix-darwin](https://github.com/nix-darwin/nix-darwin/) configuration file,
|
||||
[nix-darwin](https://github.com/LnL7/nix-darwin/) configuration file,
|
||||
which often is more convenient than using the `home-manager` tool.
|
||||
|
||||
To make the NixOS module available for use you must `import` it into
|
||||
@@ -15,10 +15,10 @@ $ nix-channel --add https://github.com/nix-community/home-manager/archive/master
|
||||
$ nix-channel --update
|
||||
```
|
||||
|
||||
and if you follow a Nixpkgs version 25.11 channel, you can run
|
||||
and if you follow a Nixpkgs version 23.11 channel, you can run
|
||||
|
||||
``` shell
|
||||
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-25.11.tar.gz home-manager
|
||||
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz home-manager
|
||||
$ nix-channel --update
|
||||
```
|
||||
|
||||
@@ -45,7 +45,7 @@ home-manager.users.eve = { pkgs, ... }: {
|
||||
|
||||
# The state version is required and should stay at the version you
|
||||
# originally installed.
|
||||
home.stateVersion = "25.11";
|
||||
home.stateVersion = "23.11";
|
||||
};
|
||||
```
|
||||
|
||||
|
||||
@@ -17,10 +17,10 @@ $ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/m
|
||||
$ sudo nix-channel --update
|
||||
```
|
||||
|
||||
and if you follow a Nixpkgs version 25.11 channel, you can run
|
||||
and if you follow a Nixpkgs version 23.11 channel, you can run
|
||||
|
||||
``` shell
|
||||
$ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-25.11.tar.gz home-manager
|
||||
$ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz home-manager
|
||||
$ sudo nix-channel --update
|
||||
```
|
||||
|
||||
@@ -34,31 +34,6 @@ to your system `configuration.nix` file, which will introduce a new
|
||||
NixOS option called `home-manager.users` whose type is an attribute set
|
||||
that maps user names to Home Manager configurations.
|
||||
|
||||
Alternatively, home-manager installation can be done declaratively through configuration.nix using the following syntax:
|
||||
```nix
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
home-manager = builtins.fetchTarball https://github.com/nix-community/home-manager/archive/release-25.11.tar.gz;
|
||||
in
|
||||
{
|
||||
imports =
|
||||
[
|
||||
(import "${home-manager}/nixos")
|
||||
];
|
||||
|
||||
users.users.eve.isNormalUser = true;
|
||||
home-manager.users.eve = { pkgs, ... }: {
|
||||
home.packages = [ pkgs.atool pkgs.httpie ];
|
||||
programs.bash.enable = true;
|
||||
|
||||
# The state version is required and should stay at the version you
|
||||
# originally installed.
|
||||
home.stateVersion = "25.11";
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
For example, a NixOS configuration may include the lines
|
||||
|
||||
``` nix
|
||||
@@ -67,15 +42,9 @@ home-manager.users.eve = { pkgs, ... }: {
|
||||
home.packages = [ pkgs.atool pkgs.httpie ];
|
||||
programs.bash.enable = true;
|
||||
|
||||
# This value determines the Home Manager release that your configuration is
|
||||
# compatible with. This helps avoid breakage when a new Home Manager release
|
||||
# introduces backwards incompatible changes.
|
||||
#
|
||||
# You should not change this value, even if you update Home Manager. If you do
|
||||
# want to update the value, then make sure to first check the Home Manager
|
||||
# release notes.
|
||||
home.stateVersion = "25.11"; # Please read the comment before changing.
|
||||
|
||||
# The state version is required and should stay at the version you
|
||||
# originally installed.
|
||||
home.stateVersion = "23.11";
|
||||
};
|
||||
```
|
||||
|
||||
@@ -154,4 +123,3 @@ you create. This contains the system's NixOS configuration.
|
||||
|
||||
Once installed you can see [Using Home Manager](#ch-usage) for a more detailed
|
||||
description of Home Manager and how to use it.
|
||||
|
||||
|
||||
@@ -19,10 +19,10 @@
|
||||
$ nix-channel --update
|
||||
```
|
||||
|
||||
and if you follow a Nixpkgs version 25.11 channel you can run
|
||||
and if you follow a Nixpkgs version 23.11 channel you can run
|
||||
|
||||
``` shell
|
||||
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-25.11.tar.gz home-manager
|
||||
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz home-manager
|
||||
$ nix-channel --update
|
||||
```
|
||||
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
# Home Manager Internals {#ch-internals}
|
||||
|
||||
This chapter collects some documentation about the internal workings
|
||||
of Home Manager. The information here is mostly aimed to developers of
|
||||
Home Manager and those who do non-trivial integration with Home
|
||||
Manager.
|
||||
|
||||
|
||||
```{=include=} sections
|
||||
internals/activation.md
|
||||
```
|
||||
@@ -1,40 +0,0 @@
|
||||
# Activation {#sec-internals-activation}
|
||||
|
||||
Activating a Home Manager configuration ensures that the built
|
||||
configuration is introduced into the user's environment. The
|
||||
activation is performed by a suitably named script
|
||||
{command}`activate`. This script is generated as part of the
|
||||
configuration build and is placed in the root of the build output.
|
||||
|
||||
The activation script is implemented in the Bash language and consists
|
||||
of initialization code followed by a number of _activation script
|
||||
blocks_. These blocks are specified using the
|
||||
[home.activation](#opt-home.activation) option. The blocks may have
|
||||
dependencies among themselves and the generated activation script will
|
||||
contain the blocks serialized such that the dependencies are
|
||||
satisfied. A dependency cycle causes a failure when the configuration
|
||||
is built.
|
||||
|
||||
Historically, the activation script has been responsible for creating
|
||||
a new generation of the `home-manager` Nix profile. The more modern
|
||||
way, however, is to let the _activation driver_ – that is, the
|
||||
software calling the activation script – manage the profile. Indeed,
|
||||
in some cases we may not have a `home-manager` profile at all! This is
|
||||
the case when Home Manager is used as a NixOS or nix-darwin module, in
|
||||
these cases the system profile will contain references to the
|
||||
corresponding Home Manager configurations.
|
||||
|
||||
Note, to maintain backwards compatibility, the old activation script
|
||||
behavior is still the default. To choose the new mode of operation you
|
||||
have to call the activation script with the command line option
|
||||
`--driver-version 1`. The old behavior is available using
|
||||
`--driver-version 0`, or simply omit it entirely.
|
||||
|
||||
Unfortunately, driver software need to support both modes of operation
|
||||
for the time being since a user may wish to activate an old generation
|
||||
that contains an activation script that does not support
|
||||
`--driver-version`. To determine whether support is available, check
|
||||
the {file}`gen-version` file in the configuration build output root.
|
||||
If the file is missing then the activation script does not support
|
||||
`--driver-version`. If the file exists and contains the integer 1 or
|
||||
higher, then `--driver-version 1` is supported.
|
||||
@@ -1,32 +0,0 @@
|
||||
# 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).
|
||||
@@ -1,6 +1,6 @@
|
||||
# Home Manager Manual {#home-manager-manual}
|
||||
|
||||
## Version 26.05 (unstable)
|
||||
## Version 24.05 (unstable)
|
||||
|
||||
|
||||
```{=include=} preface
|
||||
@@ -8,13 +8,11 @@ preface.md
|
||||
```
|
||||
|
||||
```{=include=} parts
|
||||
introduction.md
|
||||
installation.md
|
||||
usage.md
|
||||
nix-flakes.md
|
||||
writing-modules.md
|
||||
contributing.md
|
||||
internals.md
|
||||
3rd-party.md
|
||||
faq.md
|
||||
```
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Nix Flakes {#ch-nix-flakes}
|
||||
|
||||
Home Manager is compatible with [Nix
|
||||
Flakes](https://wiki.nixos.org/wiki/Flakes). But please be aware that this
|
||||
Flakes](https://nixos.wiki/wiki/Flakes). But please be aware that this
|
||||
support is still experimental and may change in backwards
|
||||
incompatible ways.
|
||||
|
||||
@@ -30,7 +30,6 @@ nix-flakes/prerequisites.md
|
||||
nix-flakes/standalone.md
|
||||
nix-flakes/nixos.md
|
||||
nix-flakes/nix-darwin.md
|
||||
nix-flakes/flake-parts.md
|
||||
```
|
||||
|
||||
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
# flake-parts module {#sec-flakes-flake-parts-module}
|
||||
|
||||
When using [flake-parts](https://flake.parts)
|
||||
you may wish to import Home Manager's flake module,
|
||||
`flakeModules.home-manager`.
|
||||
|
||||
``` nix
|
||||
{
|
||||
description = "flake-parts configuration";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
home-manager.url = "github:nix-community/home-manager";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
};
|
||||
|
||||
outputs = inputs@{ flake-parts, ... }:
|
||||
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||
imports = [
|
||||
# Import home-manager's flake module
|
||||
inputs.home-manager.flakeModules.home-manager
|
||||
];
|
||||
flake = {
|
||||
# Define `homeModules`, `homeConfigurations`,
|
||||
# `nixosConfigurations`, etc here
|
||||
};
|
||||
# See flake.parts for more features, such as `perSystem`
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
The flake module defines the `flake.homeModules` and `flake.homeConfigurations`
|
||||
options, allowing them to be properly merged if they are defined in multiple
|
||||
modules.
|
||||
|
||||
If you are only defining `homeModules` and/or `homeConfigurations` once in a
|
||||
single module, flake-parts should work fine without importing
|
||||
`flakeModules.home-manager`.
|
||||
@@ -9,7 +9,7 @@ to that of NixOS. The `flake.nix` would be:
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
darwin.url = "github:nix-darwin/nix-darwin";
|
||||
darwin.url = "github:lnl7/nix-darwin";
|
||||
darwin.inputs.nixpkgs.follows = "nixpkgs";
|
||||
home-manager.url = "github:nix-community/home-manager";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
@@ -25,7 +25,7 @@ to that of NixOS. The `flake.nix` would be:
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.jdoe = ./home.nix;
|
||||
home-manager.users.jdoe = import ./home.nix;
|
||||
|
||||
# Optionally, use home-manager.extraSpecialArgs to pass
|
||||
# arguments to home.nix
|
||||
|
||||
@@ -23,7 +23,7 @@ be as follows:
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.jdoe = ./home.nix;
|
||||
home-manager.users.jdoe = import ./home.nix;
|
||||
|
||||
# Optionally, use home-manager.extraSpecialArgs to pass
|
||||
# arguments to home.nix
|
||||
|
||||
@@ -8,7 +8,12 @@
|
||||
and rebuild your system.
|
||||
|
||||
``` nix
|
||||
nix.settings.experimental-features = "nix-command flakes";
|
||||
nix = {
|
||||
package = pkgs.nixFlakes;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
};
|
||||
```
|
||||
|
||||
- If you are not using NixOS, add the following to `nix.conf`
|
||||
|
||||
@@ -11,10 +11,10 @@ then to generate and activate a basic configuration run the command
|
||||
$ nix run home-manager/master -- init --switch
|
||||
```
|
||||
|
||||
For Nixpkgs or NixOS version 25.11 run
|
||||
For Nixpkgs or NixOS version 23.11 run
|
||||
|
||||
``` shell
|
||||
$ nix run home-manager/release-25.11 -- init --switch
|
||||
$ nix run home-manager/release-23.11 -- init --switch
|
||||
```
|
||||
|
||||
This will generate a `flake.nix` and a `home.nix` file in
|
||||
@@ -30,7 +30,7 @@ $ # Edit files in ~/.config/home-manager
|
||||
$ nix run home-manager/$branch -- init --switch
|
||||
```
|
||||
|
||||
Where `$branch` is one of `master` or `release-25.11`.
|
||||
Where `$branch` is one of `master` or `release-23.11`.
|
||||
|
||||
After the initial activation has completed successfully then building
|
||||
and activating your flake-based configuration is as simple as
|
||||
@@ -58,5 +58,5 @@ If you only want to update a single flake input, then the command
|
||||
You can also pass flake-related options such as `--recreate-lock-file`
|
||||
or `--update-input <input>` to `home-manager` when building or
|
||||
switching, and these options will be forwarded to `nix build`. See the
|
||||
[NixOS Wiki page](https://wiki.nixos.org/wiki/Flakes) for details.
|
||||
[NixOS Wiki page](https://nixos.wiki/wiki/Flakes) for details.
|
||||
:::
|
||||
|
||||
@@ -59,7 +59,5 @@ usage/configuration.md
|
||||
usage/rollbacks.md
|
||||
usage/dotfiles.md
|
||||
usage/graphical.md
|
||||
usage/gpu-non-nixos.md
|
||||
usage/updating.md
|
||||
usage/upgrading.md
|
||||
```
|
||||
|
||||
@@ -20,7 +20,7 @@ A fresh install of Home Manager will generate a minimal
|
||||
# You can update Home Manager without changing this value. See
|
||||
# the Home Manager release notes for a list of state version
|
||||
# changes in each release.
|
||||
home.stateVersion = "25.11";
|
||||
home.stateVersion = "23.11";
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
@@ -65,7 +65,7 @@ follows:
|
||||
# You can update Home Manager without changing this value. See
|
||||
# the Home Manager release notes for a list of state version
|
||||
# changes in each release.
|
||||
home.stateVersion = "25.11";
|
||||
home.stateVersion = "23.11";
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
@@ -1,202 +0,0 @@
|
||||
# GPU on non-NixOS systems {#sec-usage-gpu-non-nixos}
|
||||
|
||||
To access the GPU, programs need access to OpenGL and Vulkan libraries. While
|
||||
this works transparently on NixOS, it does not on other Linux systems. There are
|
||||
two options:
|
||||
|
||||
1. Recommended: modify the host system slightly so that the graphics libraries
|
||||
can be found where programs from Nixpkgs can find them.
|
||||
2. Wrap programs from Nixpkgs in an environment which tells them where to find
|
||||
graphics libraries.
|
||||
|
||||
The first option is very clean because the needed modifications to the host OS
|
||||
are small. However, it does require root/sudo access to the system, which may
|
||||
not be available. The second approach avoids that. However, it injects libraries
|
||||
from Nixpkgs into the environment of wrapped programs, which can make it
|
||||
impossible to launch programs of the host OS from wrapped programs.
|
||||
|
||||
|
||||
## When sudo is available: fixing the host OS {#sec-usage-gpu-sudo}
|
||||
|
||||
The {option}`targets.genericLinux.gpu` module is automatically enabled whenever
|
||||
the option {option}`targets.genericLinux.enable` is set (unless
|
||||
[NixGL](#sec-usage-gpu-nosudo) is used instead), which is recommended for
|
||||
non-NixOS Linux distributions in any case. The module can also be explicitly
|
||||
enabled by setting {option}`targets.genericLinux.gpu.enable`.
|
||||
|
||||
This module builds a directory containing GPU libraries. When activating the
|
||||
home configuration by `home-manager switch`, the host system is examined: for
|
||||
compatibility with NixOS, these libraries need to be placed in
|
||||
`/run/opengl-driver`. If this directory does not exist, or contains a different
|
||||
set of libraries, the activation script will print a warning such as
|
||||
|
||||
```text
|
||||
Activating checkExistingGpuDrivers
|
||||
GPU drivers require an update, run
|
||||
sudo /nix/store/HASH-non-nixos-gpu/bin/non-nixos-gpu-setup
|
||||
```
|
||||
|
||||
Because the `/run` directory is volatile and disappears on reboot, libraries
|
||||
cannot be simply copied or linked there. The `non-nixos-gpu-setup` script
|
||||
installs a Systemd service which ensures that the drivers are linked to
|
||||
`/run/opengl-driver` on boot. Home Manager will always check and warn you when
|
||||
this setup needs to be refreshed.
|
||||
|
||||
If you ever wish to uninstall these drivers, all you need to do is
|
||||
|
||||
```sh
|
||||
sudo rm /run/opengl-driver
|
||||
sudo systemctl disable --now non-nixos-gpu.service
|
||||
sudo rm /etc/systemd/system/non-nixos-gpu.service
|
||||
```
|
||||
|
||||
|
||||
### GPU offloading {#sec-usage-gpu-offloading}
|
||||
|
||||
You can use the {option}`targets.genericLinux.nixGL.prime.installScript` option.
|
||||
It installs the `prime-offload` script which is configured through options under
|
||||
{option}`targets.genericLinux.nixGL.prime`. This functionality is independent
|
||||
from the rest of NixGL and can be used when
|
||||
{option}`targets.genericLinux.nixGL.packages` is left `null`, which it should be
|
||||
when using drivers from `/run/opengl-driver`.
|
||||
|
||||
|
||||
### Nvidia drivers {#sec-usage-gpu-nvidia}
|
||||
|
||||
If you need to include the proprietary Nvidia drivers, the process is a bit more
|
||||
involved. You need to:
|
||||
|
||||
1. Determine the exact version used by the host system. Example: `550.163.01`
|
||||
|
||||
1. Fetch that version of the drivers from Nvidia and calculate their hash.
|
||||
Example:
|
||||
|
||||
```sh
|
||||
nix store prefetch-file \
|
||||
https://download.nvidia.com/XFree86/Linux-x86_64/550.163.01/NVIDIA-Linux-x86_64-550.163.01.run
|
||||
```
|
||||
|
||||
Attention: the version and architecture are present twice. If you are on an
|
||||
ARM system, replace `x86_64` with `aarch64`.
|
||||
|
||||
1. Put this information into your home configuration. Example:
|
||||
|
||||
```nix
|
||||
targets.genericLinux.gpu.nvidia = {
|
||||
enable = true;
|
||||
version = "550.163.01";
|
||||
sha256 = "sha256-74FJ9bNFlUYBRen7+C08ku5Gc1uFYGeqlIh7l1yrmi4=";
|
||||
};
|
||||
```
|
||||
|
||||
::: {.warning}
|
||||
The Nvidia driver version **must** match the host system. This means that you
|
||||
must pay attention when upgrading the system and update the home configuration
|
||||
as well.
|
||||
:::
|
||||
|
||||
|
||||
## No root access: wrapping programs {#sec-usage-gpu-nosudo}
|
||||
|
||||
The wrapping approach is facilitated by
|
||||
[NixGL](https://github.com/nix-community/nixGL), which can be integrated into
|
||||
Home Manager.
|
||||
|
||||
::: {.warning}
|
||||
|
||||
This approach can cause issues when a wrapped program from Nixpkgs executes a
|
||||
program from the host. For example, Firefox from Nixpkgs must be wrapped by
|
||||
NixGL in order for graphical acceleration to work. If you then download a PDF
|
||||
file and open it in a PDF viewer that is not installed from Nixpkgs but is
|
||||
provided by the host distribution, there may be issues. Because Firefox's
|
||||
environment injects libraries from NixGL, they are inherited by the PDF viewer,
|
||||
and unless they are the same or compatible version as the libraries on the host,
|
||||
the viewer will not work. This problem manifests more often with Vulkan because
|
||||
it needs a larger set of injected libraries than OpenGL.
|
||||
|
||||
The problem typically manifests with errors similar to
|
||||
|
||||
```text
|
||||
/nix/store/HASH-gcc-12.3.0-lib/lib/libstdc++.so.6: version `GLIBCXX_3.4.31' not found
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
To enable the integration, import NixGL into your home configuration, either as
|
||||
a channel, or as a flake input passed via `extraSpecialArgs`. Then, set the
|
||||
`targets.genericLinux.nixGL.packages` option to the package set provided by
|
||||
NixGL.
|
||||
|
||||
Once integration is enabled, it can be used in two ways: as Nix functions for
|
||||
wrapping programs installed via Home Manager, and as shell commands for running
|
||||
programs installed by other means (such as `nix shell`). In either case, there
|
||||
are several wrappers available. They can be broadly categorized
|
||||
|
||||
- by vendor: as Mesa (for Free drivers of all vendors) and Nvidia (for
|
||||
Nvidia-specific proprietary drivers).
|
||||
- by GPU selection: as primary and secondary (offloading).
|
||||
|
||||
For example, the `mesa` wrapper provides support for running programs on the
|
||||
primary GPU for Intel, AMD and Nouveau drivers, while the `mesaPrime` wrapper
|
||||
does the same for the secondary GPU.
|
||||
|
||||
**Note:** when using Nvidia wrappers together with flakes, your home
|
||||
configuration will not be pure and needs to be built using `home-manager switch
|
||||
--impure`. Otherwise, the build will fail, complaining about missing attribute
|
||||
`currentTime`.
|
||||
|
||||
Wrapper functions are available under `config.lib.nixGL.wrappers`. However, it
|
||||
can be more convenient to use the `config.lib.nixGL.wrap` alias, which can be
|
||||
configured to use any of the wrappers. It is intended to provide a customization
|
||||
point when the same home configuration is used across several machines with
|
||||
different hardware. There is also the `config.lib.nixGL.wrapOffload` alias for
|
||||
two-GPU systems.
|
||||
|
||||
Another convenience is that all wrapper functions are always available. However,
|
||||
when `targets.genericLinux.nixGL.packages` option is unset, they are no-ops.
|
||||
This allows them to be used even when the home configuration is used on NixOS
|
||||
machines. The exception is the `prime-offload` script which ignores
|
||||
`targets.genericLinux.nixGL.packages` and is installed into the environment
|
||||
whenever `targets.genericLinux.nixGL.prime.installScript` is set. This script,
|
||||
which can be used to start a program on a secondary GPU, does not depend on
|
||||
NixGL and is useful on NixOS systems as well.
|
||||
|
||||
Below is an abbreviated example for an Optimus laptop that makes use of both
|
||||
Mesa and Nvidia wrappers, where the latter is used in dGPU offloading mode. It
|
||||
demonstrates how to wrap `mpv` to run on the integrated Intel GPU, wrap FreeCAD
|
||||
to run on the Nvidia dGPU, and how to install the wrapper scripts. It also wraps
|
||||
Xonotic to run on the dGPU, but uses the wrapper function directly for
|
||||
demonstration purposes.
|
||||
|
||||
```nix
|
||||
{ config, lib, pkgs, nixgl, ... }:
|
||||
{
|
||||
targets.genericLinux.nixGL = {
|
||||
packages = nixgl.packages;
|
||||
defaultWrapper = "mesa";
|
||||
offloadWrapper = "nvidiaPrime";
|
||||
installScripts = [ "mesa" "nvidiaPrime" ];
|
||||
};
|
||||
|
||||
programs.mpv = {
|
||||
enable = true;
|
||||
package = config.lib.nixGL.wrap pkgs.mpv;
|
||||
};
|
||||
|
||||
home.packages = [
|
||||
(config.lib.nixGL.wrapOffload pkgs.freecad)
|
||||
(config.lib.nixGL.wrappers.nvidiaPrime pkgs.xonotic)
|
||||
];
|
||||
}
|
||||
```
|
||||
|
||||
The above example assumes a flake-based setup where `nixgl` was passed from the
|
||||
flake. When using channels, the example would instead begin with
|
||||
|
||||
```nix
|
||||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
targets.genericLinux.nixGL.packages = import <nixgl> { inherit pkgs; };
|
||||
# The rest is the same as above
|
||||
...
|
||||
```
|
||||
@@ -1,45 +1,32 @@
|
||||
# Rollbacks {#sec-usage-rollbacks}
|
||||
|
||||
When you perform a `home-manager switch` and discover a problem then
|
||||
it is possible to _roll back_ to the previous version of your
|
||||
configuration using `home-manager switch --rollback`. This will turn
|
||||
the previous configuration into the current configuration.
|
||||
While the `home-manager` tool does not explicitly support rollbacks at
|
||||
the moment it is relatively easy to perform one manually. The steps to
|
||||
do so are
|
||||
|
||||
::: {.example #ex-rollback-scenario}
|
||||
### Home Manager Rollback
|
||||
1. Run `home-manager generations` to determine which generation you
|
||||
wish to rollback to:
|
||||
|
||||
Imagine you have just updated Nixpkgs and switched to a new Home
|
||||
Manager configuration. You discover that a package update included in
|
||||
your new configuration has a bug that was not present in the previous
|
||||
configuration.
|
||||
``` shell
|
||||
$ home-manager generations
|
||||
2018-01-04 11:56 : id 765 -> /nix/store/kahm1rxk77mnvd2l8pfvd4jkkffk5ijk-home-manager-generation
|
||||
2018-01-03 10:29 : id 764 -> /nix/store/2wsmsliqr5yynqkdyjzb1y57pr5q2lsj-home-manager-generation
|
||||
2018-01-01 12:21 : id 763 -> /nix/store/mv960kl9chn2lal5q8lnqdp1ygxngcd1-home-manager-generation
|
||||
2017-12-29 21:03 : id 762 -> /nix/store/6c0k1r03fxckql4vgqcn9ccb616ynb94-home-manager-generation
|
||||
2017-12-25 18:51 : id 761 -> /nix/store/czc5y6vi1rvnkfv83cs3rn84jarcgsgh-home-manager-generation
|
||||
…
|
||||
```
|
||||
|
||||
You can then run `home-manager switch --rollback` to recover your
|
||||
previous configuration, which includes the working version of the
|
||||
package.
|
||||
2. Copy the Nix store path of the generation you chose, e.g.,
|
||||
|
||||
To see what happened above we can observe the list of Home Manager
|
||||
generations before and after the rollback:
|
||||
/nix/store/mv960kl9chn2lal5q8lnqdp1ygxngcd1-home-manager-generation
|
||||
|
||||
``` shell
|
||||
$ home-manager generations
|
||||
2024-01-04 11:56 : id 765 -> /nix/store/kahm1rxk77mnvd2l8pfvd4jkkffk5ijk-home-manager-generation (current)
|
||||
2024-01-03 10:29 : id 764 -> /nix/store/2wsmsliqr5yynqkdyjzb1y57pr5q2lsj-home-manager-generation
|
||||
2024-01-01 12:21 : id 763 -> /nix/store/mv960kl9chn2lal5q8lnqdp1ygxngcd1-home-manager-generation
|
||||
2023-12-29 21:03 : id 762 -> /nix/store/6c0k1r03fxckql4vgqcn9ccb616ynb94-home-manager-generation
|
||||
2023-12-25 18:51 : id 761 -> /nix/store/czc5y6vi1rvnkfv83cs3rn84jarcgsgh-home-manager-generation
|
||||
…
|
||||
for generation 763.
|
||||
|
||||
$ home-manager switch --rollback
|
||||
Starting home manager activation
|
||||
…
|
||||
3. Run the `activate` script inside the copied store path:
|
||||
|
||||
$ home-manager generations
|
||||
2024-01-04 11:56 : id 765 -> /nix/store/kahm1rxk77mnvd2l8pfvd4jkkffk5ijk-home-manager-generation
|
||||
2024-01-03 10:29 : id 764 -> /nix/store/2wsmsliqr5yynqkdyjzb1y57pr5q2lsj-home-manager-generation (current)
|
||||
2024-01-01 12:21 : id 763 -> /nix/store/mv960kl9chn2lal5q8lnqdp1ygxngcd1-home-manager-generation
|
||||
2023-12-29 21:03 : id 762 -> /nix/store/6c0k1r03fxckql4vgqcn9ccb616ynb94-home-manager-generation
|
||||
2023-12-25 18:51 : id 761 -> /nix/store/czc5y6vi1rvnkfv83cs3rn84jarcgsgh-home-manager-generation
|
||||
…
|
||||
```
|
||||
|
||||
:::
|
||||
``` shell
|
||||
$ /nix/store/mv960kl9chn2lal5q8lnqdp1ygxngcd1-home-manager-generation/activate
|
||||
Starting home manager activation
|
||||
…
|
||||
```
|
||||
|
||||
@@ -1,148 +0,0 @@
|
||||
# Upgrading to a new Home Manager release {#sec-upgrade-release}
|
||||
|
||||
## Overview {#sec-upgrade-release-overview}
|
||||
|
||||
When upgrading NixOS to a new major version (e.g., from 24.11 to
|
||||
25.05), you also need to upgrade your Home Manager channel to maintain
|
||||
compatibility. This guide covers the proper steps to upgrade Home
|
||||
Manager channels for NixOS 25.05.
|
||||
|
||||
## Understanding Home Manager Versioning {#sec-upgrade-release-understanding-versioning}
|
||||
|
||||
Home Manager follows NixOS release cycles and provides corresponding branches:
|
||||
|
||||
- **release-##.##**: Stable branch for NixOS ##.## (current stable)
|
||||
|
||||
- **master**: Development branch (tracks nixos-unstable)
|
||||
|
||||
:::{.note}
|
||||
Always use the Home Manager version that matches your NixOS version to
|
||||
avoid compatibility issues.
|
||||
:::
|
||||
|
||||
## Channel-Based Installation (Traditional) {#sec-upgrade-release-understanding-channel}
|
||||
|
||||
1. First, verify your current Home Manager channel:
|
||||
|
||||
``` shell
|
||||
$ nix-channel --list
|
||||
```
|
||||
|
||||
You should see something like:
|
||||
|
||||
```
|
||||
home-manager https://github.com/nix-community/home-manager/archive/release-24.11.tar.gz
|
||||
```
|
||||
|
||||
1. Update the Home Manager channel to a NixOS 25.05 compatible version:
|
||||
|
||||
``` shell
|
||||
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-25.05.tar.gz home-manager
|
||||
$ nix-channel --update
|
||||
```
|
||||
|
||||
1. Apply the changes:
|
||||
|
||||
``` shell
|
||||
$ home-manager switch
|
||||
```
|
||||
|
||||
## Flake-Based Installation (Modern) {#sec-upgrade-release-understanding-flake}
|
||||
|
||||
If you're using Home Manager with Nix flakes, update your `flake.nix`:
|
||||
|
||||
```nix
|
||||
{
|
||||
description = "Home Manager configuration";
|
||||
|
||||
inputs = {
|
||||
# Increment release branch for NixOS
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
|
||||
home-manager = {
|
||||
# Follow corresponding `release` branch from Home Manager
|
||||
url = "github:nix-community/home-manager/release-25.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { nixpkgs, home-manager, ... }: {
|
||||
homeConfigurations."yourusername" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||
modules = [ ./home.nix ];
|
||||
};
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
Then update and rebuild. If you are using Home Manager standalone:
|
||||
|
||||
``` shell
|
||||
$ nix flake update
|
||||
$ home-manager switch --flake .
|
||||
```
|
||||
|
||||
And if you are using Home Manager as a NixOS module then you will need
|
||||
to update your system configuration instead and run
|
||||
|
||||
``` shell
|
||||
$ nix flake update
|
||||
$ sudo nixos-rebuild switch
|
||||
```
|
||||
|
||||
## State Version Management {#sec-upgrade-release-state-version}
|
||||
|
||||
:::{.warning}
|
||||
Careful updating your `home.stateVersion` when upgrading Home Manager.
|
||||
:::
|
||||
|
||||
The `stateVersion` is best to remain set to the NixOS version you
|
||||
**first installed** Home Manager
|
||||
|
||||
```nix
|
||||
{
|
||||
home.stateVersion = "24.11"; # Example: if you first installed on 24.11
|
||||
}
|
||||
```
|
||||
|
||||
**Why?** The `stateVersion` ensures backward compatibility and
|
||||
prevents breaking changes from affecting your existing configuration.
|
||||
|
||||
**Remember:** Channel version is not the same as State version. Update
|
||||
the channel, keep the `stateVersion` unchanged. Advanced users can
|
||||
view the changes between releases and see if any of the `stateVersion`
|
||||
changes will affect them and increment, if they migrate their
|
||||
configurations to follow the changed evaluation.
|
||||
|
||||
## Troubleshooting {#sec-upgrade-release-state-troubleshooting}
|
||||
|
||||
### Common Issues {#sec-upgrade-release-state-troubleshooting-common-issues}
|
||||
|
||||
Check the [Home Manager Release Notes](#ch-release-notes) for breaking changes.
|
||||
|
||||
1. **Version Mismatch Warning**: If you see warnings about version
|
||||
mismatches, ensure your Home Manager version matches your NixOS
|
||||
version.
|
||||
|
||||
1. **Module Changes**: Modules are constantly being updated with new
|
||||
features to keep up with changes in upstream packaging or to fix
|
||||
bugs and add features. If you have an unexpected change, check if
|
||||
there was something noted in the release notes or news entries.
|
||||
|
||||
1. **Channel Not Found**: If `nix-channel --list` shows no channels,
|
||||
you might be using a different installation method (like flakes or
|
||||
NixOS module).
|
||||
|
||||
### Verification {#sec-upgrade-release-state-troubleshooting-verification}
|
||||
|
||||
After upgrading, verify the installation:
|
||||
|
||||
``` shell
|
||||
$ home-manager --version
|
||||
```
|
||||
|
||||
This should show version 25.05 or indicate it's using the release-25.05 branch.
|
||||
|
||||
## Additional Resources {#sec-upgrade-release-resources}
|
||||
|
||||
- [NixOS Stable Release Notes](https://nixos.org/manual/nixos/stable/release-notes)
|
||||
- [Home Manager Release Notes](#ch-release-notes)
|
||||
@@ -1,15 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Redirecting…</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…</h1>
|
||||
<script>
|
||||
window.location.href = "options.xhtml" + (window.location.search || "") + (window.location.hash || "");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -4,10 +4,6 @@ This section lists the release notes for stable versions of Home Manager
|
||||
and the current unstable version.
|
||||
|
||||
```{=include=} chapters
|
||||
rl-2605.md
|
||||
rl-2511.md
|
||||
rl-2505.md
|
||||
rl-2411.md
|
||||
rl-2405.md
|
||||
rl-2311.md
|
||||
rl-2305.md
|
||||
|
||||
@@ -57,9 +57,3 @@ changes are only active if the `home.stateVersion` option is set to
|
||||
|
||||
now default to `true` which is consistent with the default values
|
||||
for those options used by `i3` and `sway`.
|
||||
|
||||
- The [](#opt-programs.swaylock.enable) option now defaults to `false`
|
||||
and must be explicitly enabled. Previously, it would be implicitly
|
||||
enabled when `programs.swaylock.settings` was non-empty. Users with
|
||||
`home.stateVersion` set to earlier versions will continue to get the
|
||||
old implicit behavior.
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Release 24.05 {#sec-release-24.05}
|
||||
|
||||
The 24.05 release branch became stable in May, 2024.
|
||||
This is the current unstable branch and the information in this section
|
||||
is therefore not final.
|
||||
|
||||
## Highlights {#sec-release-24.05-highlights}
|
||||
|
||||
@@ -9,83 +10,10 @@ This release has the following notable changes:
|
||||
- The `.release` file in the Home Manager project root has been
|
||||
removed. Please use the `release.json` file instead.
|
||||
|
||||
- The {command}`home-manager uninstall` command has been reworked to,
|
||||
hopefully, be more robust. The new implementation makes use of a new
|
||||
Boolean configuration option [uninstall](#opt-uninstall) that can
|
||||
also be used in a pure Nix Flake setup.
|
||||
|
||||
Specifically, if you are using a Flake only installation, then you
|
||||
can clean up a Home Manager installation by adding
|
||||
|
||||
``` nix
|
||||
uninstall = true;
|
||||
```
|
||||
|
||||
to your existing configuration and then build and activate. This
|
||||
will override any other configuration and cause, for example, the
|
||||
removal of all managed files.
|
||||
|
||||
Please be very careful when enabling this option since activating
|
||||
the built configuration will not only remove the managed files but
|
||||
_all_ Home Manager state from your user environment. This includes
|
||||
removing all your historic Home Manager generations!
|
||||
|
||||
- The use of `$DRY_RUN_CMD` and `$DRY_RUN_NULL` in activation script
|
||||
blocks is now deprecated. Instead use the new shell function
|
||||
{command}`run`. In most cases it is sufficient to replace
|
||||
`$DRY_RUN_CMD` by {command}`run`. For example, if your configuration
|
||||
currently contains
|
||||
|
||||
```nix
|
||||
home.activation.reportChanges = config.lib.dag.entryAnywhere ''
|
||||
if [[ -v oldGenPath ]]; then
|
||||
$DRY_RUN_CMD nix store diff-closures $oldGenPath $newGenPath
|
||||
fi
|
||||
'';
|
||||
```
|
||||
|
||||
then you are now encouraged to change to
|
||||
|
||||
```nix
|
||||
home.activation.reportChanges = config.lib.dag.entryAnywhere ''
|
||||
if [[ -v oldGenPath ]]; then
|
||||
run nix store diff-closures $oldGenPath $newGenPath
|
||||
fi
|
||||
'';
|
||||
```
|
||||
|
||||
See the description of [home.activation](#opt-home.activation) for
|
||||
more. The deprecated variables will continue to work for now but
|
||||
their use may in the future trigger a warning message and eventually
|
||||
they may be removed entirely.
|
||||
|
||||
- Similarly, the use of `$VERBOSE_ECHO` in activation script blocks is
|
||||
deprecated. Instead use the new shell function
|
||||
{command}`verboseEcho`. That is,
|
||||
|
||||
```nix
|
||||
home.activation.doThing = config.lib.dag.entryAnywhere ''
|
||||
$VERBOSE_ECHO "Doing the thing"
|
||||
''
|
||||
```
|
||||
|
||||
should now be expressed
|
||||
|
||||
```nix
|
||||
home.activation.doThing = config.lib.dag.entryAnywhere ''
|
||||
verboseEcho "Doing the thing"
|
||||
''
|
||||
```
|
||||
|
||||
See the description of [home.activation](#opt-home.activation) for
|
||||
more. The deprecated variable will continue to work for now but its
|
||||
use may in the future trigger a warning message and eventually it
|
||||
may be removed entirely.
|
||||
|
||||
## State Version Changes {#sec-release-24.05-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.05\" or later.
|
||||
|
||||
- There was no state version change in this release.
|
||||
- Nothing, yet.
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
# Release 24.11 {#sec-release-24.11}
|
||||
|
||||
The 24.11 release branch became stable in November, 2024.
|
||||
|
||||
## Highlights {#sec-release-24.11-highlights}
|
||||
|
||||
This release has the following notable changes:
|
||||
|
||||
- The swayidle module behavior has changed. Specifically, swayidle was
|
||||
previously always called with a `-w` flag. This flag is now moved to
|
||||
the default
|
||||
[services.swayidle.extraArgs](#opt-services.swayidle.extraArgs)
|
||||
value to make it optional.
|
||||
|
||||
Your configuration may break if you already set this option and also
|
||||
rely on the flag being automatically added. To resolve this, please
|
||||
add `-w` to your assignment of
|
||||
[services.swayidle.extraArgs](#opt-services.swayidle.extraArgs).
|
||||
|
||||
- Support for Boolean values in the option
|
||||
[programs.eza.icons](#opt-programs.eza.icons) is deprecated for
|
||||
future removal. The new value for `true` is `"auto"`, and for
|
||||
`false` it is `null`.
|
||||
|
||||
## 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.
|
||||
|
||||
- There was no state version change in this release.
|
||||
@@ -1,34 +0,0 @@
|
||||
# Release 25.05 {#sec-release-25.05}
|
||||
|
||||
The 25.05 release branch became stable in May, 2025.
|
||||
|
||||
## Highlights {#sec-release-25.05-highlights}
|
||||
|
||||
This release has the following notable changes:
|
||||
|
||||
- The [](#opt-systemd.user.startServices) option now defaults to
|
||||
`true`, meaning that services will automatically be restarted as
|
||||
needed when activating a configuration.
|
||||
|
||||
Further, the `"legacy"` alternative has been removed and will now
|
||||
result in an evaluation error if used.
|
||||
|
||||
The `"suggest"` alternative will remain for a while longer but may
|
||||
also be deprecated for removal in the future.
|
||||
|
||||
- The Home Manager test suite has been removed from the main Nix Flake
|
||||
since it caused unnecessary evaluations and downloads. Instead the
|
||||
tests are available through a Nix Flake file inside the `tests`
|
||||
directory. See [](#sec-tests) for example commands.
|
||||
|
||||
## State Version Changes {#sec-release-25.05-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
|
||||
\"25.05\" or later.
|
||||
|
||||
- The [](#opt-programs.git.signing.format) option no longer defaults to
|
||||
`"openpgp"`. Users who use Git signing with GPG should explicitly set
|
||||
this option to `"openpgp"` to maintain the previous behavior. Users
|
||||
with `home.stateVersion` set to earlier versions will continue to get
|
||||
the `"openpgp"` default for backwards compatibility.
|
||||
@@ -1,89 +0,0 @@
|
||||
# Release 25.11 {#sec-release-25.11}
|
||||
|
||||
The 25.11 release branch became stable in November, 2025.
|
||||
|
||||
## Highlights {#sec-release-25.11-highlights}
|
||||
|
||||
This release has the following notable changes:
|
||||
|
||||
- Updating the `home-manager` Nix profile inside the activation script
|
||||
now deprecated. The profile update is instead the responsibility of
|
||||
the software calling the activation script, such as the
|
||||
`home-manager` tool.
|
||||
|
||||
The legacy behavior remains the default for backwards compatibility
|
||||
but may emit a deprecation warning in the future and in the longer
|
||||
term removed all together. If you have developed tooling that
|
||||
directly call the generated activation script, then you are
|
||||
encouraged to adapt to the new behavior. See the
|
||||
[Activation](#sec-internals-activation) section in the manual for
|
||||
details on how to call the activation script.
|
||||
|
||||
- The `home-manager switch` command now offers a `--rollback` option.
|
||||
When given, the switch performs a rollback to the Home Manager
|
||||
generation prior to the current before activating. While it was
|
||||
previously possible to accomplish this by manually activating an old
|
||||
generation, it always created a new profile generation. The new
|
||||
behavior mirrors the behavior of `nixos-rebuild switch --rollback`.
|
||||
See the [Rollbacks](#sec-usage-rollbacks) section for more.
|
||||
|
||||
- The `home-manager switch` command now offers a
|
||||
`--specialisation NAME` option. When given, the switch activates the
|
||||
named specialisation. While it was previously possible to accomplish
|
||||
this by manually running the specialisation `activate` script it was
|
||||
quite cumbersome and always created a new profile generation. The
|
||||
new behavior mirrors the behavior of `nixos-rebuild switch
|
||||
--specialisation`.
|
||||
|
||||
- When using Home Manager as a NixOS or nix-darwin module we
|
||||
previously created an unnecessary `home-manager` per-user "shadow
|
||||
profile" for the user. This no longer happens. You can restore the
|
||||
old behavior by adding
|
||||
|
||||
``` nix
|
||||
home-manager.enableLegacyProfileManagement = true;
|
||||
```
|
||||
|
||||
to your configuration. This option is likely to be deprecated in the
|
||||
future.
|
||||
|
||||
- By default, Home Manager imports all modules, which leads to
|
||||
increased evaluation time. Some users may wish to only import the
|
||||
modules they actually use. To accomodate this, a new option
|
||||
`home-manager.minimal` has been added. When this option is enabled,
|
||||
Home Manager will only import the basic set of modules it requires
|
||||
to function. Other modules will have to be enabled manually, like
|
||||
this:
|
||||
|
||||
|
||||
```nix
|
||||
imports = [
|
||||
"${modulesPath}/programs/fzf.nix"
|
||||
];
|
||||
```
|
||||
|
||||
This entrypoint is only recommended for advanced users, who are
|
||||
comfortable maintaining a personal list of modules to import.
|
||||
|
||||
- The use of `services.syncthing.tray` as a Boolean option was removed
|
||||
after being deprecated in 2021. You are now expected to use
|
||||
[](#opt-services.syncthing.tray.enable) to enable the Syncthing tray
|
||||
service.
|
||||
|
||||
## State Version Changes {#sec-release-25.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
|
||||
\"25.11\" or later.
|
||||
|
||||
- The `programs.password-store.settings` option does not set
|
||||
`{ PASSWORD_STORE_DIR = $XDG_DATA_HOME/password-store; }` anymore by its
|
||||
default value. This will revert to the default behaviour of the program,
|
||||
namely `$HOME/.password-store` to be used as the store path.
|
||||
|
||||
- On macOS, [](#opt-targets.darwin.copyApps.enable) is now enabled by
|
||||
default instead of [](#opt-targets.darwin.linkApps.enable). This means
|
||||
applications from `home.packages` will be copied to
|
||||
`~/Applications/Home Manager Apps` rather than symlinked, making them
|
||||
work properly with Spotlight. Users with `home.stateVersion` set to
|
||||
earlier versions will continue to use `linkApps` by default.
|
||||
@@ -1,25 +0,0 @@
|
||||
# Release 26.05 {#sec-release-26.05}
|
||||
|
||||
This is the current unstable branch and the information in this
|
||||
section is therefore not final.
|
||||
|
||||
## Highlights {#sec-release-26.05-highlights}
|
||||
|
||||
This release has the following notable changes:
|
||||
|
||||
- The [](#opt-programs.anki.uiScale) option now expects a value in the
|
||||
range 1.0–2.0, previously it erroneously expected values in the
|
||||
range `0.0–1.0`.
|
||||
|
||||
## State Version Changes {#sec-release-26.05-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
|
||||
\"26.05\" or later.
|
||||
|
||||
- The [](#opt-gtk.gtk4.theme) option does not mirror
|
||||
[](#opt-gtk.theme) by default anymore.
|
||||
|
||||
- The [](#opt-programs.zsh.dotDir) option now defaults to the XDG
|
||||
configuration directory (usually `~/.config/zsh`) when
|
||||
[](#opt-xdg.enable) is true.
|
||||
7
docs/static/style.css
vendored
7
docs/static/style.css
vendored
File diff suppressed because one or more lines are too long
320
docs/static/style.scss
vendored
320
docs/static/style.scss
vendored
@@ -1,320 +0,0 @@
|
||||
:root {
|
||||
--nmd-color0: #0A3E68;
|
||||
--nmd-color1: #268598;
|
||||
--nmd-color2: #B8D09E;
|
||||
--nmd-color3: #F6CF5E;
|
||||
--nmd-color4: #EC733B;
|
||||
|
||||
--nmd-color-info: #167cb9;
|
||||
--nmd-color-warn: #ff6700;
|
||||
}
|
||||
|
||||
// Copied from Tailwind CSS.
|
||||
$color-gray-50: #F9FAFB;
|
||||
$color-gray-100: #F3F4F6;
|
||||
$color-gray-200: #E5E7EB;
|
||||
$color-gray-300: #D1D5DB;
|
||||
$color-gray-400: #9CA3AF;
|
||||
$color-gray-500: #6B7280;
|
||||
$color-gray-600: #4B5563;
|
||||
$color-gray-700: #374151;
|
||||
$color-gray-800: #1F2937;
|
||||
$color-gray-900: #111827;
|
||||
|
||||
$color-blue-50: #EFF6FF;
|
||||
$color-blue-100: #DBEAFE;
|
||||
$color-blue-200: #BFDBFE;
|
||||
$color-blue-300: #93C5FD;
|
||||
$color-blue-400: #60A5FA;
|
||||
$color-blue-500: #3B82F6;
|
||||
$color-blue-600: #2563EB;
|
||||
$color-blue-700: #1D4ED8;
|
||||
$color-blue-800: #1E40AF;
|
||||
$color-blue-900: #1E3A8A;
|
||||
|
||||
|
||||
@use 'scss-reset/reset';
|
||||
|
||||
@mixin boxed {
|
||||
background: $color-gray-50;
|
||||
margin: 2rem 16px;
|
||||
padding: 10px;
|
||||
border: 1px solid $color-gray-200;
|
||||
border-radius: 4px;
|
||||
box-shadow: 4px 4px 8px $color-gray-200;
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
background: $color-gray-800;
|
||||
border-color: black;
|
||||
box-shadow: 4px 4px 8px black;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin margined {
|
||||
margin: 0.9rem 0;
|
||||
|
||||
&:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
background: white;
|
||||
color: $color-gray-900;
|
||||
max-width: min(100ch, 1024px);
|
||||
margin: 0 auto;
|
||||
padding: 10px;
|
||||
|
||||
font-family: 'Lucida Sans', Arial, sans-serif;
|
||||
font-size: 16px;
|
||||
line-height: 1.4em;
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
background: $color-gray-900;
|
||||
color: $color-gray-50;
|
||||
}
|
||||
}
|
||||
|
||||
h1, h2, h3, h4 {
|
||||
color: var(--nmd-color0);
|
||||
font-family: "Lato", sans-serif;
|
||||
font-weight: 300;
|
||||
line-height: 1.125;
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
color: var(--nmd-color4);
|
||||
}
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 48px;
|
||||
font-weight: 300;
|
||||
margin: 4rem 0 1.5rem;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 32px;
|
||||
font-weight: 300;
|
||||
margin: 2rem 0 1rem;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 20px;
|
||||
font-weight: 400;
|
||||
margin: 0.5rem 0.25rem;
|
||||
}
|
||||
|
||||
|
||||
h4 {
|
||||
font-weight: 400;
|
||||
margin: 0.5rem 0.25rem;
|
||||
}
|
||||
|
||||
p {
|
||||
@include margined;
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--nmd-color0); //$color-secondary-1-3;
|
||||
text-decoration: underline;
|
||||
text-underline-offset: 3px;
|
||||
|
||||
&:visited {
|
||||
color: var(--nmd-color1);
|
||||
}
|
||||
|
||||
&:hover {
|
||||
color: var(--nmd-color1);
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
color: var(--nmd-color3);
|
||||
|
||||
&:visited {
|
||||
color: var(--nmd-color2);
|
||||
}
|
||||
|
||||
&:hover {
|
||||
color: var(--nmd-color4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
code {
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
span.command {
|
||||
font-size: 90%;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
em {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
pre {
|
||||
@include boxed;
|
||||
|
||||
font-size: 90%;
|
||||
margin-bottom: 1.5rem;
|
||||
padding: 6px;
|
||||
overflow: auto;
|
||||
|
||||
// The callout markers should not be selectable.
|
||||
span img {
|
||||
user-select: none;
|
||||
}
|
||||
}
|
||||
|
||||
pre:has(code) {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
td, th {
|
||||
padding: 2px 5px;
|
||||
|
||||
&:first-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
dt {
|
||||
margin: 1.2rem 0 0.8rem;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-left: 2rem;
|
||||
}
|
||||
|
||||
div.book {
|
||||
|
||||
}
|
||||
|
||||
ul {
|
||||
@include margined;
|
||||
|
||||
padding-left: 30px;
|
||||
list-style: disc;
|
||||
}
|
||||
|
||||
ol {
|
||||
@include margined;
|
||||
|
||||
padding-left: 30px;
|
||||
list-style: decimal;
|
||||
}
|
||||
|
||||
li {
|
||||
@include margined;
|
||||
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.navheader, .navfooter {
|
||||
hr {
|
||||
margin: 1rem 0;
|
||||
background: $color-gray-200;
|
||||
@media (prefers-color-scheme: dark) {
|
||||
background: $color-gray-600;
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
div.titlepage {
|
||||
margin: 40px 0;
|
||||
|
||||
hr {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
div.toc {
|
||||
@include boxed;
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
div.note, div.warning {
|
||||
@include boxed;
|
||||
|
||||
font-style: italic;
|
||||
|
||||
h3 {
|
||||
float: right;
|
||||
margin: 0 0 1rem 1rem;
|
||||
width: 42px;
|
||||
height: 42px;
|
||||
content: url();
|
||||
}
|
||||
|
||||
|
||||
h3 + p {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
p {
|
||||
min-height: 42px;
|
||||
}
|
||||
}
|
||||
|
||||
div.note {
|
||||
h3 {
|
||||
background-color: var(--nmd-color-info);
|
||||
// From https://tabler-icons.io/i/info-square-rounded
|
||||
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 24 24' stroke-width='2' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M12 8h.01'%3E%3C/path%3E%3Cpath d='M11 12h1v4h1'%3E%3C/path%3E%3Cpath d='M12 3c7.2 0 9 1.8 9 9s-1.8 9 -9 9s-9 -1.8 -9 -9s1.8 -9 9 -9z'%3E%3C/path%3E%3C/svg%3E");
|
||||
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 24 24' stroke-width='2' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M12 8h.01'%3E%3C/path%3E%3Cpath d='M11 12h1v4h1'%3E%3C/path%3E%3Cpath d='M12 3c7.2 0 9 1.8 9 9s-1.8 9 -9 9s-9 -1.8 -9 -9s1.8 -9 9 -9z'%3E%3C/path%3E%3C/svg%3E");
|
||||
}
|
||||
}
|
||||
|
||||
div.warning {
|
||||
h3 {
|
||||
background-color: var(--nmd-color-warn);
|
||||
// From https://tabler-icons.io/i/alert-triangle
|
||||
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 24 24' stroke-width='2' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M12 9v2m0 4v.01'%3E%3C/path%3E%3Cpath d='M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75'%3E%3C/path%3E%3C/svg%3E");
|
||||
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 24 24' stroke-width='2' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M12 9v2m0 4v.01'%3E%3C/path%3E%3Cpath d='M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75'%3E%3C/path%3E%3C/svg%3E");
|
||||
}
|
||||
}
|
||||
|
||||
.term {
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
.docbook .xref img[src^=images\/callouts\/],
|
||||
.screen img,
|
||||
.programlisting img {
|
||||
width: 1em;
|
||||
}
|
||||
|
||||
.calloutlist img {
|
||||
width: 1.3em;
|
||||
}
|
||||
|
||||
/** The console prompt, e.g., `$` and `#` should not be selectable. */
|
||||
.programlisting.language-shell .hljs-meta.prompt_ {
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
@import 'tomorrow.min.css';
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
@import 'tomorrow-night.min.css';
|
||||
}
|
||||
7
docs/static/tomorrow-night.min.css
vendored
7
docs/static/tomorrow-night.min.css
vendored
@@ -1,7 +0,0 @@
|
||||
/*!
|
||||
Theme: Tomorrow Night
|
||||
Author: Chris Kempson (http://chriskempson.com)
|
||||
License: ~ MIT (or more permissive) [via base16-schemes-source]
|
||||
Maintainer: @highlightjs/core-team
|
||||
Version: 2021.09.0
|
||||
*/pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#ccc;background:#2d2d2d}.hljs ::selection,.hljs::selection{background-color:#515151;color:#ccc}.hljs-comment{color:#999}.hljs-tag{color:#b4b7b4}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#ccc}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#f2777a}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#f99157}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#fc6}.hljs-strong{font-weight:700;color:#fc6}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#9c9}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#6cc}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#69c}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#c9c}.hljs-emphasis{color:#c9c;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#a3685a}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
||||
7
docs/static/tomorrow.min.css
vendored
7
docs/static/tomorrow.min.css
vendored
@@ -1,7 +0,0 @@
|
||||
/*!
|
||||
Theme: Tomorrow
|
||||
Author: Chris Kempson (http://chriskempson.com)
|
||||
License: ~ MIT (or more permissive) [via base16-schemes-source]
|
||||
Maintainer: @highlightjs/core-team
|
||||
Version: 2021.09.0
|
||||
*/pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#4d4d4c;background:#fff}.hljs ::selection,.hljs::selection{background-color:#d6d6d6;color:#4d4d4c}.hljs-comment{color:#8e908c}.hljs-tag{color:#969896}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#4d4d4c}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#c82829}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#f5871f}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#eab700}.hljs-strong{font-weight:700;color:#eab700}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#718c00}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#3e999f}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#4271ae}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#8959a8}.hljs-emphasis{color:#8959a8;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#a3685a}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
||||
@@ -1,46 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
flake-parts-lib,
|
||||
moduleLocation,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
mapAttrs
|
||||
mkOption
|
||||
types
|
||||
;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
flake = flake-parts-lib.mkSubmoduleOptions {
|
||||
homeConfigurations = mkOption {
|
||||
type = types.lazyAttrsOf types.raw;
|
||||
default = { };
|
||||
description = ''
|
||||
Instantiated Home Manager configurations.
|
||||
|
||||
`homeConfigurations` is for specific installations. If you want to expose
|
||||
reusable configurations, add them to `homeModules` in the form of modules, so
|
||||
that you can reference them in this or another flake's `homeConfigurations`.
|
||||
'';
|
||||
};
|
||||
homeModules = mkOption {
|
||||
type = types.lazyAttrsOf types.deferredModule;
|
||||
default = { };
|
||||
apply = mapAttrs (
|
||||
k: v: {
|
||||
_class = "homeManager";
|
||||
_file = "${toString moduleLocation}#homeModules.${k}";
|
||||
imports = [ v ];
|
||||
}
|
||||
);
|
||||
description = ''
|
||||
Home Manager modules.
|
||||
|
||||
You may use this for reusable pieces of configuration, service modules, etc.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
6
flake.lock
generated
6
flake.lock
generated
@@ -2,11 +2,11 @@
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1767640445,
|
||||
"narHash": "sha256-UWYqmD7JFBEDBHWYcqE6s6c77pWdcU/i+bwD6XxMb8A=",
|
||||
"lastModified": 1702312524,
|
||||
"narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9f0c42f8bc7151b8e7e5840fb3bd454ad850d8c5",
|
||||
"rev": "a9bf124c46ef298113270b1f84a164865987a91c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
162
flake.nix
162
flake.nix
@@ -3,30 +3,27 @@
|
||||
|
||||
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
|
||||
outputs =
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
...
|
||||
}:
|
||||
outputs = { self, nixpkgs, ... }:
|
||||
{
|
||||
nixosModules = rec {
|
||||
home-manager = ./nixos;
|
||||
home-manager = import ./nixos;
|
||||
default = home-manager;
|
||||
};
|
||||
# deprecated in Nix 2.8
|
||||
nixosModule = self.nixosModules.default;
|
||||
|
||||
darwinModules = rec {
|
||||
home-manager = ./nix-darwin;
|
||||
default = home-manager;
|
||||
};
|
||||
|
||||
flakeModules = rec {
|
||||
home-manager = ./flake-module.nix;
|
||||
home-manager = import ./nix-darwin;
|
||||
default = home-manager;
|
||||
};
|
||||
# unofficial; deprecated in Nix 2.8
|
||||
darwinModule = self.darwinModules.default;
|
||||
|
||||
templates = {
|
||||
default = self.templates.standalone;
|
||||
standalone = {
|
||||
path = ./templates/standalone;
|
||||
description = "Standalone setup";
|
||||
};
|
||||
nixos = {
|
||||
path = ./templates/nixos;
|
||||
description = "Home Manager as a NixOS module,";
|
||||
@@ -35,60 +32,101 @@
|
||||
path = ./templates/nix-darwin;
|
||||
description = "Home Manager as a nix-darwin module,";
|
||||
};
|
||||
standalone = {
|
||||
path = ./templates/standalone;
|
||||
description = "Standalone setup";
|
||||
};
|
||||
};
|
||||
|
||||
lib = import ./lib { inherit (nixpkgs) lib; };
|
||||
}
|
||||
// (
|
||||
let
|
||||
forAllPkgs =
|
||||
f:
|
||||
nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed (system: f nixpkgs.legacyPackages.${system});
|
||||
in
|
||||
{
|
||||
formatter = forAllPkgs (
|
||||
pkgs:
|
||||
pkgs.treefmt.withConfig {
|
||||
runtimeInputs = with pkgs; [
|
||||
nixfmt
|
||||
deadnix
|
||||
keep-sorted
|
||||
];
|
||||
settings = pkgs.lib.importTOML ./treefmt.toml;
|
||||
}
|
||||
);
|
||||
defaultTemplate = self.templates.standalone;
|
||||
|
||||
packages = forAllPkgs (
|
||||
pkgs:
|
||||
lib = {
|
||||
hm = (import ./modules/lib/stdlib-extended.nix nixpkgs.lib).hm;
|
||||
homeManagerConfiguration = { modules ? [ ], pkgs, lib ? pkgs.lib
|
||||
, extraSpecialArgs ? { }, check ? true
|
||||
# Deprecated:
|
||||
, configuration ? null, extraModules ? null, stateVersion ? null
|
||||
, username ? null, homeDirectory ? null, system ? null }@args:
|
||||
let
|
||||
releaseInfo = nixpkgs.lib.importJSON ./release.json;
|
||||
docs = import ./docs {
|
||||
inherit pkgs;
|
||||
inherit (releaseInfo) release isReleaseBranch;
|
||||
};
|
||||
hmPkg = pkgs.callPackage ./home-manager { path = "${self}"; };
|
||||
in
|
||||
{
|
||||
default = hmPkg;
|
||||
home-manager = hmPkg;
|
||||
msgForRemovedArg = ''
|
||||
The 'homeManagerConfiguration' arguments
|
||||
|
||||
create-news-entry = pkgs.writeShellScriptBin "create-news-entry" ''
|
||||
./modules/misc/news/create-news-entry.sh
|
||||
- 'configuration',
|
||||
- 'username',
|
||||
- 'homeDirectory'
|
||||
- 'stateVersion',
|
||||
- 'extraModules', and
|
||||
- 'system'
|
||||
|
||||
have been removed. Instead use the arguments 'pkgs' and
|
||||
'modules'. See the 22.11 release notes for more: https://nix-community.github.io/home-manager/release-notes.html#sec-release-22.11-highlights
|
||||
'';
|
||||
|
||||
tests = pkgs.callPackage ./tests/package.nix { flake = self; };
|
||||
throwForRemovedArgs = v:
|
||||
let
|
||||
used = builtins.filter (n: (args.${n} or null) != null) [
|
||||
"configuration"
|
||||
"username"
|
||||
"homeDirectory"
|
||||
"stateVersion"
|
||||
"extraModules"
|
||||
"system"
|
||||
];
|
||||
msg = msgForRemovedArg + ''
|
||||
|
||||
docs-html = docs.manual.html;
|
||||
docs-htmlOpenTool = docs.manual.htmlOpenTool;
|
||||
docs-json = docs.options.json;
|
||||
docs-jsonModuleMaintainers = docs.jsonModuleMaintainers;
|
||||
docs-manpages = docs.manPages;
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
Deprecated args passed: ''
|
||||
+ builtins.concatStringsSep " " used;
|
||||
in lib.throwIf (used != [ ]) msg v;
|
||||
|
||||
in throwForRemovedArgs (import ./modules {
|
||||
inherit pkgs lib check extraSpecialArgs;
|
||||
configuration = { ... }: {
|
||||
imports = modules
|
||||
++ [{ programs.home-manager.path = toString ./.; }];
|
||||
nixpkgs = {
|
||||
config = nixpkgs.lib.mkDefault pkgs.config;
|
||||
inherit (pkgs) overlays;
|
||||
};
|
||||
};
|
||||
});
|
||||
};
|
||||
} // (let
|
||||
forAllSystems = nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed;
|
||||
in {
|
||||
devShells = forAllSystems (system:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
tests = import ./tests { inherit pkgs; };
|
||||
in tests.run);
|
||||
|
||||
formatter = forAllSystems (system:
|
||||
let pkgs = nixpkgs.legacyPackages.${system};
|
||||
in pkgs.linkFarm "format" [{
|
||||
name = "bin/format";
|
||||
path = ./format;
|
||||
}]);
|
||||
|
||||
packages = forAllSystems (system:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
lib = pkgs.lib;
|
||||
releaseInfo = nixpkgs.lib.importJSON ./release.json;
|
||||
docs = import ./docs {
|
||||
inherit pkgs;
|
||||
inherit (releaseInfo) release isReleaseBranch;
|
||||
};
|
||||
hmPkg = pkgs.callPackage ./home-manager { path = toString ./.; };
|
||||
|
||||
testPackages = let
|
||||
tests = import ./tests { inherit pkgs; };
|
||||
renameTestPkg = n: lib.nameValuePair "test-${n}";
|
||||
in lib.mapAttrs' renameTestPkg tests.build;
|
||||
in {
|
||||
default = hmPkg;
|
||||
home-manager = hmPkg;
|
||||
|
||||
docs-html = docs.manual.html;
|
||||
docs-json = docs.options.json;
|
||||
docs-manpages = docs.manPages;
|
||||
} // testPackages);
|
||||
|
||||
defaultPackage = forAllSystems (system: self.packages.${system}.default);
|
||||
});
|
||||
}
|
||||
|
||||
51
format
Executable file
51
format
Executable file
@@ -0,0 +1,51 @@
|
||||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/6616de389ed55fba6eeba60377fc04732d5a207c.tar.gz -i bash -p git gnugrep gnused findutils nixfmt
|
||||
|
||||
nixfmt_args=()
|
||||
files=()
|
||||
|
||||
for arg do
|
||||
case $arg in
|
||||
-h)
|
||||
echo "$0 [-c]"
|
||||
exit
|
||||
;;
|
||||
-c)
|
||||
nixfmt_args+=("$arg")
|
||||
;;
|
||||
-*)
|
||||
echo "unrecognised flag: $arg" >&2
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
files+=("$arg")
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# The excludes are for files touched by open pull requests and we want
|
||||
# to avoid merge conflicts.
|
||||
excludes=(
|
||||
modules/default.nix
|
||||
modules/files.nix
|
||||
modules/home-environment.nix
|
||||
modules/lib/default.nix
|
||||
modules/lib/file-type.nix
|
||||
modules/misc/news.nix
|
||||
modules/programs/ssh.nix
|
||||
modules/programs/zsh.nix
|
||||
tests/default.nix
|
||||
)
|
||||
|
||||
exclude_args=()
|
||||
for e in "${excludes[@]}"; do
|
||||
exclude_args+=(-e "$e")
|
||||
done
|
||||
|
||||
git_root=$(git rev-parse --show-toplevel)
|
||||
|
||||
git ls-files -z --cached --others --full-name -- "${files[@]}" |
|
||||
grep -z '\.nix$' |
|
||||
grep -z -v "${exclude_args[@]}" |
|
||||
sed -z "s|^|$git_root/|" |
|
||||
xargs -0 nixfmt "${nixfmt_args[@]}"
|
||||
@@ -2,70 +2,46 @@
|
||||
# file is considered internal and the exported fields may change without
|
||||
# warning.
|
||||
|
||||
{
|
||||
newsJsonFile,
|
||||
newsReadIdsFile ? null,
|
||||
}:
|
||||
{ newsJsonFile, newsReadIdsFile ? null }:
|
||||
|
||||
let
|
||||
inherit (builtins)
|
||||
concatStringsSep
|
||||
filter
|
||||
hasAttr
|
||||
isString
|
||||
length
|
||||
readFile
|
||||
replaceStrings
|
||||
sort
|
||||
split
|
||||
;
|
||||
concatStringsSep filter hasAttr isString length optionalString readFile
|
||||
replaceStrings sort split;
|
||||
|
||||
newsJson = builtins.fromJSON (builtins.readFile newsJsonFile);
|
||||
|
||||
# Sorted and relevant entries.
|
||||
relevantEntries = sort (a: b: a.time > b.time) (filter (e: e.condition) newsJson.entries);
|
||||
relevantEntries =
|
||||
sort (a: b: a.time > b.time) (filter (e: e.condition) newsJson.entries);
|
||||
|
||||
newsReadIds =
|
||||
if newsReadIdsFile == null then
|
||||
{ }
|
||||
else
|
||||
let
|
||||
ids = filter isString (split "\n" (readFile newsReadIdsFile));
|
||||
in
|
||||
builtins.listToAttrs (
|
||||
map (id: {
|
||||
name = id;
|
||||
value = null;
|
||||
}) ids
|
||||
);
|
||||
newsReadIds = if newsReadIdsFile == null then
|
||||
{ }
|
||||
else
|
||||
let ids = filter isString (split "\n" (readFile newsReadIdsFile));
|
||||
in builtins.listToAttrs (map (id: {
|
||||
name = id;
|
||||
value = null;
|
||||
}) ids);
|
||||
|
||||
newsIsRead = entry: hasAttr entry.id newsReadIds;
|
||||
|
||||
newsUnread =
|
||||
let
|
||||
pred = entry: entry.condition && !newsIsRead entry;
|
||||
in
|
||||
filter pred relevantEntries;
|
||||
newsUnread = let pred = entry: entry.condition && !newsIsRead entry;
|
||||
in filter pred relevantEntries;
|
||||
|
||||
prettyTime = t: replaceStrings [ "T" "+00:00" ] [ " " "" ] t;
|
||||
|
||||
layoutNews =
|
||||
entries:
|
||||
layoutNews = entries:
|
||||
let
|
||||
mkTextEntry =
|
||||
entry:
|
||||
let
|
||||
flag = if newsIsRead entry then "read" else "unread";
|
||||
in
|
||||
''
|
||||
mkTextEntry = entry:
|
||||
let flag = if newsIsRead entry then "read" else "unread";
|
||||
in ''
|
||||
* ${prettyTime entry.time} [${flag}]
|
||||
|
||||
${replaceStrings [ "\n" ] [ "\n " ] entry.message}
|
||||
'';
|
||||
in
|
||||
concatStringsSep "\n\n" (map mkTextEntry entries);
|
||||
in
|
||||
{
|
||||
in concatStringsSep "\n\n" (map mkTextEntry entries);
|
||||
in {
|
||||
meta = {
|
||||
numUnread = length newsUnread;
|
||||
display = newsJson.display;
|
||||
|
||||
@@ -300,7 +300,7 @@ _home-manager_completions ()
|
||||
Options=( "-f" "--file" "-b" "-A" "-I" "-h" "--help" "-n" "--dry-run" "-v" \
|
||||
"--verbose" "--cores" "--debug" "--impure" "--keep-failed" \
|
||||
"--keep-going" "-j" "--max-jobs" "--no-substitute" "--no-out-link" \
|
||||
"-L" "--print-build-logs" "--log-format" \
|
||||
"-L" "--print-build-logs" \
|
||||
"--show-trace" "--flake" "--substitute" "--builders" "--version" \
|
||||
"--update-input" "--override-input" "--experimental-features" \
|
||||
"--extra-experimental-features" "--refresh")
|
||||
|
||||
@@ -61,7 +61,6 @@ complete -c home-manager -x -s j -l "max-jobs" -d "Max number of build jobs in p
|
||||
complete -c home-manager -x -l "option" -d "Set Nix configuration option"
|
||||
complete -c home-manager -x -l "builders" -d "Remote builders"
|
||||
complete -c home-manager -f -s L -l "print-build-logs" -d "Print full build logs on standard error"
|
||||
complete -c home-manager -x -l "log-format" -d "Set the format of log output"
|
||||
complete -c home-manager -f -l "show-trace" -d "Print stack trace of evaluation errors"
|
||||
complete -c home-manager -f -l "substitute"
|
||||
complete -c home-manager -f -l "no-substitute"
|
||||
|
||||
@@ -21,7 +21,6 @@ _arguments \
|
||||
'--option[option]:NAME VALUE:()' \
|
||||
'--builders[builders]:SPEC:()' \
|
||||
'(-L --print-build-logs)'{--print-build-logs,-L}'[print build logs]' \
|
||||
'--log-format[log format]:FORMAT:()' \
|
||||
'--show-trace[show trace]' \
|
||||
'--override-input[override flake input]:NAME VALUE:()' \
|
||||
'--update-input[update flake input]:NAME:()' \
|
||||
@@ -64,7 +63,6 @@ case "$state" in
|
||||
'--no-out-link[no out link]' \
|
||||
'--no-substitute[no substitute]' \
|
||||
'--option[option]:NAME VALUE:()' \
|
||||
'--log-format[log format]:FORMAT:()' \
|
||||
'--show-trace[show trace]' \
|
||||
'--substitute[substitute]' \
|
||||
'--builders[builders]:SPEC:()' \
|
||||
|
||||
@@ -1,79 +1,64 @@
|
||||
{
|
||||
runCommand,
|
||||
lib,
|
||||
bash,
|
||||
callPackage,
|
||||
coreutils,
|
||||
findutils,
|
||||
gettext,
|
||||
gnused,
|
||||
jq,
|
||||
less,
|
||||
ncurses,
|
||||
inetutils,
|
||||
# used for pkgs.path for nixos-option
|
||||
pkgs,
|
||||
{ runCommand, lib, bash, callPackage, coreutils, findutils, gettext, gnused, jq
|
||||
, less, ncurses, unixtools
|
||||
# used for pkgs.path for nixos-option
|
||||
, pkgs
|
||||
|
||||
# Path to use as the Home Manager channel.
|
||||
path ? null,
|
||||
}:
|
||||
# Path to use as the Home Manager channel.
|
||||
, path ? null }:
|
||||
|
||||
let
|
||||
|
||||
pathStr = if path == null then "" else path;
|
||||
|
||||
nixos-option =
|
||||
pkgs.nixos-option or (callPackage (pkgs.path + "/nixos/modules/installer/tools/nixos-option") { });
|
||||
nixos-option = pkgs.nixos-option or (callPackage
|
||||
(pkgs.path + "/nixos/modules/installer/tools/nixos-option") { });
|
||||
|
||||
in
|
||||
runCommand "home-manager"
|
||||
{
|
||||
preferLocalBuild = true;
|
||||
nativeBuildInputs = [ gettext ];
|
||||
meta = {
|
||||
mainProgram = "home-manager";
|
||||
description = "A user environment configurator";
|
||||
maintainers = [ lib.maintainers.rycee ];
|
||||
platforms = lib.platforms.unix;
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
}
|
||||
''
|
||||
install -v -D -m755 ${./home-manager} $out/bin/home-manager
|
||||
in runCommand "home-manager" {
|
||||
preferLocalBuild = true;
|
||||
nativeBuildInputs = [ gettext ];
|
||||
meta = with lib; {
|
||||
mainProgram = "home-manager";
|
||||
description = "A user environment configurator";
|
||||
maintainers = [ maintainers.rycee ];
|
||||
platforms = platforms.unix;
|
||||
license = licenses.mit;
|
||||
};
|
||||
} ''
|
||||
install -v -D -m755 ${./home-manager} $out/bin/home-manager
|
||||
|
||||
substituteInPlace $out/bin/home-manager \
|
||||
--subst-var-by bash "${bash}" \
|
||||
--subst-var-by DEP_PATH "${
|
||||
lib.makeBinPath [
|
||||
coreutils
|
||||
findutils
|
||||
gettext
|
||||
gnused
|
||||
jq
|
||||
less
|
||||
ncurses
|
||||
nixos-option
|
||||
inetutils # for `hostname`
|
||||
]
|
||||
}" \
|
||||
--subst-var-by HOME_MANAGER_LIB '${../lib/bash/home-manager.sh}' \
|
||||
--subst-var-by HOME_MANAGER_PATH '${pathStr}' \
|
||||
--subst-var-by OUT "$out"
|
||||
substituteInPlace $out/bin/home-manager \
|
||||
--subst-var-by bash "${bash}" \
|
||||
--subst-var-by DEP_PATH "${
|
||||
lib.makeBinPath [
|
||||
coreutils
|
||||
findutils
|
||||
gettext
|
||||
gnused
|
||||
jq
|
||||
less
|
||||
ncurses
|
||||
nixos-option
|
||||
unixtools.hostname
|
||||
]
|
||||
}" \
|
||||
--subst-var-by HOME_MANAGER_LIB '${../lib/bash/home-manager.sh}' \
|
||||
--subst-var-by HOME_MANAGER_PATH '${pathStr}' \
|
||||
--subst-var-by OUT "$out"
|
||||
|
||||
install -D -m755 ${./completion.bash} \
|
||||
$out/share/bash-completion/completions/home-manager
|
||||
install -D -m755 ${./completion.zsh} \
|
||||
$out/share/zsh/site-functions/_home-manager
|
||||
install -D -m755 ${./completion.fish} \
|
||||
$out/share/fish/vendor_completions.d/home-manager.fish
|
||||
install -D -m755 ${./completion.bash} \
|
||||
$out/share/bash-completion/completions/home-manager
|
||||
install -D -m755 ${./completion.zsh} \
|
||||
$out/share/zsh/site-functions/_home-manager
|
||||
install -D -m755 ${./completion.fish} \
|
||||
$out/share/fish/vendor_completions.d/home-manager.fish
|
||||
|
||||
install -D -m755 ${../lib/bash/home-manager.sh} \
|
||||
"$out/share/bash/home-manager.sh"
|
||||
install -D -m755 ${../lib/bash/home-manager.sh} \
|
||||
"$out/share/bash/home-manager.sh"
|
||||
|
||||
for path in ${./po}/*.po; do
|
||||
lang="''${path##*/}"
|
||||
lang="''${lang%%.*}"
|
||||
mkdir -p "$out/share/locale/$lang/LC_MESSAGES"
|
||||
msgfmt -o "$out/share/locale/$lang/LC_MESSAGES/home-manager.mo" "$path"
|
||||
done
|
||||
''
|
||||
for path in ${./po}/*.po; do
|
||||
lang="''${path##*/}"
|
||||
lang="''${lang%%.*}"
|
||||
mkdir -p "$out/share/locale/$lang/LC_MESSAGES"
|
||||
msgfmt -o "$out/share/locale/$lang/LC_MESSAGES/home-manager.mo" "$path"
|
||||
done
|
||||
''
|
||||
|
||||
@@ -11,16 +11,21 @@ export TEXTDOMAINDIR=@OUT@/share/locale
|
||||
# shellcheck disable=1091
|
||||
source @HOME_MANAGER_LIB@
|
||||
|
||||
function errMissingOptArg() {
|
||||
# translators: For example: "home-manager: missing argument for --cores"
|
||||
_iError "%s: missing argument for %s" "$0" "$1" >&2
|
||||
exit 1
|
||||
function nixProfileList() {
|
||||
# We attempt to use `--json` first (added in Nix 2.17). Otherwise attempt to
|
||||
# parse the legacy output format.
|
||||
{
|
||||
nix profile list --json 2>/dev/null \
|
||||
| jq -r --arg name "$1" '.elements[].storePaths[] | select(endswith($name))'
|
||||
} || {
|
||||
nix profile list \
|
||||
| { grep "$1\$" || test $? = 1; } \
|
||||
| cut -d ' ' -f 4
|
||||
}
|
||||
}
|
||||
|
||||
function errTopLevelSubcommandOpt() {
|
||||
# translators: For example: "home-manager: --rollback can only be used after switch"
|
||||
_iError '%s: %s can only be used after %s' "$0" "$1" "$2" >&2
|
||||
exit 1
|
||||
function removeByName() {
|
||||
nixProfileList "$1" | xargs -t $DRY_RUN_CMD nix profile remove $VERBOSE_ARG
|
||||
}
|
||||
|
||||
function setNixProfileCommands() {
|
||||
@@ -28,17 +33,25 @@ function setNixProfileCommands() {
|
||||
|| -e ${XDG_STATE_HOME:-$HOME/.local/state}/nix/profile/manifest.json ]] ; then
|
||||
|
||||
LIST_OUTPATH_CMD="nix profile list"
|
||||
REMOVE_CMD="removeByName"
|
||||
else
|
||||
LIST_OUTPATH_CMD="nix-env -q --out-path"
|
||||
REMOVE_CMD="nix-env --uninstall"
|
||||
fi
|
||||
}
|
||||
|
||||
function setVerboseArg() {
|
||||
function setVerboseAndDryRun() {
|
||||
if [[ -v VERBOSE ]]; then
|
||||
export VERBOSE_ARG="--verbose"
|
||||
else
|
||||
export VERBOSE_ARG=""
|
||||
fi
|
||||
|
||||
if [[ -v DRY_RUN ]] ; then
|
||||
export DRY_RUN_CMD=echo
|
||||
else
|
||||
export DRY_RUN_CMD=""
|
||||
fi
|
||||
}
|
||||
|
||||
function setWorkDir() {
|
||||
@@ -49,14 +62,13 @@ function setWorkDir() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Check to see if flakes are functionally available.
|
||||
# Checks whether the 'flakes' and 'nix-command' Nix options are enabled.
|
||||
function hasFlakeSupport() {
|
||||
nix eval --expr 'builtins.getFlake' > /dev/null 2>&1
|
||||
}
|
||||
|
||||
# Escape string for use in Nix files.
|
||||
function escapeForNix() {
|
||||
printf %s "$1" | sed 's/["$\\]/\\\0/g'
|
||||
type -p nix > /dev/null \
|
||||
&& nix show-config 2> /dev/null \
|
||||
| grep experimental-features \
|
||||
| grep flakes \
|
||||
| grep -q nix-command
|
||||
}
|
||||
|
||||
# Attempts to set the HOME_MANAGER_CONFIG global variable.
|
||||
@@ -150,10 +162,6 @@ function setHomeManagerPathVariables() {
|
||||
return
|
||||
fi
|
||||
|
||||
_iVerbose "Sanity checking Nix"
|
||||
nix-build --quiet --expr '{}' --no-out-link > /dev/null 2>&1 || true
|
||||
nix-env -q > /dev/null 2>&1 || true
|
||||
|
||||
declare -r globalNixStateDir="${NIX_STATE_DIR:-/nix/var/nix}"
|
||||
declare -r globalProfilesDir="$globalNixStateDir/profiles/per-user/$USER"
|
||||
declare -r globalGcrootsDir="$globalNixStateDir/gcroots/per-user/$USER"
|
||||
@@ -171,7 +179,7 @@ function setHomeManagerPathVariables() {
|
||||
declare -gr HM_PROFILE_DIR="$globalProfilesDir"
|
||||
else
|
||||
_iError 'Could not find suitable profile directory, tried %s and %s' \
|
||||
"$userNixStateDir/profiles" "$globalProfilesDir" >&2
|
||||
"$HM_STATE_DIR/profiles" "$globalProfilesDir" >&2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
@@ -193,7 +201,7 @@ function setFlakeAttribute() {
|
||||
fi
|
||||
|
||||
if [[ -v configFlake ]]; then
|
||||
FLAKE_ARG="$(dirname "$(readlink -f "$configFlake")")"
|
||||
FLAKE_ARG="path:$(dirname "$(readlink -f "$configFlake")")"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -205,10 +213,10 @@ function setFlakeAttribute() {
|
||||
;;
|
||||
*)
|
||||
local name="$USER"
|
||||
# Check FQDN, long, and short hostnames; long first to preserve
|
||||
# Check both long and short hostnames; long first to preserve
|
||||
# pre-existing behaviour in case both happen to be defined.
|
||||
for n in "$USER@$(hostname -f)" "$USER@$(hostname)" "$USER@$(hostname -s)"; do
|
||||
if [[ "$(nix eval "$flake#homeConfigurations" --apply "x: x ? \"$(escapeForNix "$n")\"")" == "true" ]]; then
|
||||
for n in "$USER@$(hostname)" "$USER@$(hostname -s)"; do
|
||||
if [[ "$(nix eval "$flake#homeConfigurations" --apply "x: x ? \"$n\"")" == "true" ]]; then
|
||||
name="$n"
|
||||
if [[ -v VERBOSE ]]; then
|
||||
echo "Using flake homeConfiguration for $name"
|
||||
@@ -217,9 +225,7 @@ function setFlakeAttribute() {
|
||||
done
|
||||
;;
|
||||
esac
|
||||
export FLAKE_CONFIG_URI="$flake#homeConfigurations.\"$(printf %s "$name" | jq -sRr @uri)\""
|
||||
export FLAKE_PATH="$flake"
|
||||
export FLAKE_ATTR="homeConfigurations.\"$name\""
|
||||
export FLAKE_CONFIG_URI="$flake#homeConfigurations.\"$name\""
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -232,29 +238,7 @@ function doInspectOption() {
|
||||
fi
|
||||
setConfigFile
|
||||
|
||||
local paths=()
|
||||
local recursive=false
|
||||
|
||||
while (( $# > 0 )); do
|
||||
local opt="$1"
|
||||
shift
|
||||
|
||||
case $opt in
|
||||
--recursive)
|
||||
recursive=true;;
|
||||
*)
|
||||
# Remove trailing dot if exists, match the behavior of
|
||||
# old nixos-option and make shell completions happy
|
||||
paths+=("${opt%.}")
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ ${#paths[@]} -eq 0 ]]; then
|
||||
paths=("")
|
||||
fi
|
||||
|
||||
local extraArgs=()
|
||||
local extraArgs=("$@")
|
||||
|
||||
for p in "${EXTRA_NIX_PATH[@]}"; do
|
||||
extraArgs=("${extraArgs[@]}" "-I" "$p")
|
||||
@@ -278,24 +262,11 @@ function doInspectOption() {
|
||||
modulesExpr+=" configuration = if confAttr == \"\" then confPath else (import confPath).\${confAttr};"
|
||||
modulesExpr+=" pkgs = import <nixpkgs> {}; check = true; })"
|
||||
|
||||
local NIXOS_OPTION_CMD NIXOS_OPTION_REAL NIXOS_OPTION_DIR NIXOS_OPTION_NIX
|
||||
NIXOS_OPTION_CMD=$(command -v nixos-option)
|
||||
NIXOS_OPTION_REAL=$(realpath "${NIXOS_OPTION_CMD}")
|
||||
NIXOS_OPTION_NIX=$(nix-store -q --references "${NIXOS_OPTION_REAL}" | grep 'nixos-option\.nix$')
|
||||
|
||||
if [[ ! -f "$NIXOS_OPTION_NIX" ]]; then
|
||||
_iError "nixos-option.nix not found."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for path in "${paths[@]}"; do
|
||||
nix-instantiate --eval --json \
|
||||
--arg nixos "$modulesExpr" \
|
||||
--argstr path "$path" \
|
||||
--arg recursive "$recursive" \
|
||||
"$NIXOS_OPTION_NIX" \
|
||||
| jq -r
|
||||
done
|
||||
nixos-option \
|
||||
--options_expr "$modulesExpr.options" \
|
||||
--config_expr "$modulesExpr.config" \
|
||||
"${extraArgs[@]}" \
|
||||
"${PASSTHROUGH_OPTS[@]}"
|
||||
}
|
||||
|
||||
function doInit() {
|
||||
@@ -312,9 +283,6 @@ function doInit() {
|
||||
withFlake=1
|
||||
fi
|
||||
|
||||
local homeManagerUrl="github:nix-community/home-manager"
|
||||
local nixpkgsUrl="github:nixos/nixpkgs/nixos-unstable"
|
||||
|
||||
while (( $# > 0 )); do
|
||||
local opt="$1"
|
||||
shift
|
||||
@@ -326,16 +294,6 @@ function doInit() {
|
||||
--switch)
|
||||
switch=1
|
||||
;;
|
||||
--home-manager-url)
|
||||
[[ -v 1 && $1 != -* ]] || errMissingOptArg "$opt"
|
||||
homeManagerUrl="$1"
|
||||
shift
|
||||
;;
|
||||
--nixpkgs-url)
|
||||
[[ -v 1 && $1 != -* ]] || errMissingOptArg "$opt"
|
||||
nixpkgsUrl="$1"
|
||||
shift
|
||||
;;
|
||||
-*)
|
||||
_iError "%s: unknown option '%s'" "$0" "$opt" >&2
|
||||
exit 1
|
||||
@@ -393,8 +351,8 @@ function doInit() {
|
||||
{
|
||||
# Home Manager needs a bit of information about you and the paths it should
|
||||
# manage.
|
||||
home.username = "$(escapeForNix "$USER")";
|
||||
home.homeDirectory = "$(escapeForNix "$HOME")";
|
||||
home.username = "$USER";
|
||||
home.homeDirectory = "$HOME";
|
||||
$xdgVars
|
||||
# This value determines the Home Manager release that your configuration is
|
||||
# compatible with. This helps avoid breakage when a new Home Manager release
|
||||
@@ -403,7 +361,7 @@ $xdgVars
|
||||
# You should not change this value, even if you update Home Manager. If you do
|
||||
# want to update the value, then make sure to first check the Home Manager
|
||||
# release notes.
|
||||
home.stateVersion = "25.11"; # Please read the comment before changing.
|
||||
home.stateVersion = "23.11"; # Please read the comment before changing.
|
||||
|
||||
# The home.packages option allows you to install Nix packages into your
|
||||
# environment.
|
||||
@@ -442,10 +400,9 @@ $xdgVars
|
||||
};
|
||||
|
||||
# Home Manager can also manage your environment variables through
|
||||
# 'home.sessionVariables'. These will be explicitly sourced when using a
|
||||
# shell provided by Home Manager. If you don't want to manage your shell
|
||||
# through Home Manager then you have to manually source 'hm-session-vars.sh'
|
||||
# located at either
|
||||
# 'home.sessionVariables'. If you don't want to manage your shell through Home
|
||||
# Manager then you have to manually source 'hm-session-vars.sh' located at
|
||||
# either
|
||||
#
|
||||
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
@@ -483,25 +440,23 @@ EOF
|
||||
mkdir -p "$confDir"
|
||||
cat > "$flakeFile" <<EOF
|
||||
{
|
||||
description = "Home Manager configuration of $(escapeForNix "$USER")";
|
||||
description = "Home Manager configuration of $USER";
|
||||
|
||||
inputs = {
|
||||
# Specify the source of Home Manager and Nixpkgs.
|
||||
nixpkgs.url = "$nixpkgsUrl";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
home-manager = {
|
||||
url = "$homeManagerUrl";
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
{ nixpkgs, home-manager, ... }:
|
||||
outputs = { nixpkgs, home-manager, ... }:
|
||||
let
|
||||
system = "$nixSystem";
|
||||
pkgs = nixpkgs.legacyPackages.\${system};
|
||||
in
|
||||
{
|
||||
homeConfigurations."$(escapeForNix "$USER")" = home-manager.lib.homeManagerConfiguration {
|
||||
in {
|
||||
homeConfigurations."$USER" = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
|
||||
# Specify your home configuration modules here, for example,
|
||||
@@ -522,7 +477,7 @@ EOF
|
||||
_i "Creating initial Home Manager generation..."
|
||||
echo
|
||||
|
||||
if doSwitch --switch; then
|
||||
if doSwitch; then
|
||||
# translators: The "%s" specifier will be replaced by a file path.
|
||||
_i $'All done! The home-manager tool should now be installed and you can edit\n\n %s\n\nto configure Home Manager. Run \'man home-configuration.nix\' to\nsee all available options.' \
|
||||
"$confFile"
|
||||
@@ -635,14 +590,10 @@ function presentNews() {
|
||||
}
|
||||
|
||||
function doEdit() {
|
||||
if [[ ! -v VISUAL || -z $VISUAL ]]; then
|
||||
if [[ ! -v EDITOR || -z $EDITOR ]]; then
|
||||
# shellcheck disable=2016
|
||||
_i 'Please set the $EDITOR or $VISUAL environment variable' >&2
|
||||
return 1
|
||||
fi
|
||||
else
|
||||
EDITOR=$VISUAL
|
||||
if [[ ! -v EDITOR || -z $EDITOR ]]; then
|
||||
# shellcheck disable=2016
|
||||
_i 'Please set the $EDITOR environment variable' >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
setConfigFile
|
||||
@@ -680,164 +631,32 @@ function doBuild() {
|
||||
presentNews
|
||||
}
|
||||
|
||||
function doRepl() {
|
||||
setFlakeAttribute
|
||||
|
||||
if [[ -v FLAKE_CONFIG_URI ]]; then
|
||||
printf -v bold '\033[1m'
|
||||
printf -v blue '\033[34;1m'
|
||||
printf -v reset '\033[0m'
|
||||
exec nix repl --expr "
|
||||
let
|
||||
flake = builtins.getFlake ''$FLAKE_PATH'';
|
||||
configuration = flake.$FLAKE_ATTR;
|
||||
motd = ''
|
||||
|
||||
|
||||
Hello and welcome to the Home Manager configuration
|
||||
$FLAKE_ATTR
|
||||
in $FLAKE_PATH
|
||||
|
||||
The following is loaded into nix repl's scope:
|
||||
|
||||
- ${blue}config${reset} All option values
|
||||
- ${blue}options${reset} Option data and metadata
|
||||
- ${blue}pkgs${reset} Nixpkgs package set
|
||||
- ${blue}lib${reset} Nixpkgs library functions
|
||||
|
||||
- ${blue}flake${reset} Flake outputs, inputs and source info of $FLAKE_PATH
|
||||
|
||||
Use tab completion to browse around ${blue}config${reset}.
|
||||
|
||||
Use ${bold}:r${reset} to ${bold}reload${reset} everything after making a change in the flake.
|
||||
|
||||
See ${bold}:?${reset} for more repl commands.
|
||||
'';
|
||||
scope =
|
||||
assert configuration.class or ''homeManager'' == ''homeManager'';
|
||||
{
|
||||
inherit (configuration) config options pkgs;
|
||||
inherit (configuration.pkgs) lib;
|
||||
inherit flake;
|
||||
};
|
||||
in builtins.seq scope builtins.trace motd scope
|
||||
" "${PASSTHROUGH_OPTS[@]}"
|
||||
fi
|
||||
|
||||
setConfigFile
|
||||
|
||||
extraArgs=()
|
||||
for p in "${EXTRA_NIX_PATH[@]}"; do
|
||||
extraArgs+=(-I "$p")
|
||||
done
|
||||
|
||||
exec nix repl \
|
||||
--file '<home-manager/home-manager/home-manager.nix>' \
|
||||
"${extraArgs[@]}" \
|
||||
"${PASSTHROUGH_OPTS[@]}" \
|
||||
--argstr confPath "$HOME_MANAGER_CONFIG" \
|
||||
--argstr confAttr "$HOME_MANAGER_CONFIG_ATTRIBUTE"
|
||||
}
|
||||
|
||||
function doSwitch() {
|
||||
setHomeManagerPathVariables
|
||||
setVerboseArg
|
||||
setWorkDir
|
||||
|
||||
local action
|
||||
local specialisation
|
||||
|
||||
while (( $# > 0 )); do
|
||||
local opt="$1"
|
||||
shift
|
||||
|
||||
case $opt in
|
||||
--switch)
|
||||
action='switch'
|
||||
;;
|
||||
--test)
|
||||
action='test'
|
||||
;;
|
||||
--rollback)
|
||||
action='rollback'
|
||||
;;
|
||||
--specialisation)
|
||||
specialisation="$1"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
_iError "%s: unknown option '%s'" "home-manager switch" "$opt" >&2
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ ! -v action ]]; then
|
||||
errorEcho "home-manager switch: missing required option" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
local generation
|
||||
|
||||
case $action in
|
||||
switch|test)
|
||||
# Build the generation and run the activate script. Note, we
|
||||
# specify an output link so that it is treated as a GC root. This
|
||||
# prevents an unfortunately timed GC from removing the generation
|
||||
# before activation completes.
|
||||
generation="$WORK_DIR/generation"
|
||||
# Build the generation and run the activate script. Note, we
|
||||
# specify an output link so that it is treated as a GC root. This
|
||||
# prevents an unfortunately timed GC from removing the generation
|
||||
# before activation completes.
|
||||
generation="$WORK_DIR/generation"
|
||||
|
||||
setFlakeAttribute
|
||||
if [[ -v FLAKE_CONFIG_URI ]]; then
|
||||
doBuildFlake \
|
||||
"$FLAKE_CONFIG_URI.activationPackage" \
|
||||
--out-link "$generation" \
|
||||
${PRINT_BUILD_LOGS+--print-build-logs}
|
||||
else
|
||||
doBuildAttr \
|
||||
--out-link "$generation" \
|
||||
--attr activationPackage
|
||||
fi
|
||||
;;
|
||||
rollback)
|
||||
generation="$HM_PROFILE_DIR/home-manager"
|
||||
;;
|
||||
esac
|
||||
|
||||
# If we are doing a switch but built a legacy configuration, where the
|
||||
# activation script manages the profile, then we instead perform a test
|
||||
# action.
|
||||
#
|
||||
# The migration away from legacy activation scripts happened when
|
||||
# introducing the gen-version file, hence the existence check.
|
||||
if [[ $action == 'switch' && ! -e "$generation/gen-version" ]]; then
|
||||
action='test'
|
||||
setFlakeAttribute
|
||||
if [[ -v FLAKE_CONFIG_URI ]]; then
|
||||
doBuildFlake \
|
||||
"$FLAKE_CONFIG_URI.activationPackage" \
|
||||
--out-link "$generation" \
|
||||
${PRINT_BUILD_LOGS+--print-build-logs} \
|
||||
&& "$generation/activate" || return
|
||||
else
|
||||
doBuildAttr \
|
||||
--out-link "$generation" \
|
||||
--attr activationPackage \
|
||||
&& "$generation/activate" || return
|
||||
fi
|
||||
|
||||
# Choose the activate script to run.
|
||||
local activateScript="$generation/activate"
|
||||
if [[ -v specialisation ]]; then
|
||||
activateScript="$generation/specialisation/$specialisation/activate"
|
||||
if [[ ! -x $activateScript ]]; then
|
||||
_iError 'The configuration did not contain the specialisation "%s"' "$specialisation"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
case $action in
|
||||
switch)
|
||||
run nix-env $VERBOSE_ARG --profile "$HM_PROFILE_DIR/home-manager" --set "$generation"
|
||||
;;
|
||||
rollback)
|
||||
run nix-env $VERBOSE_ARG --profile "$HM_PROFILE_DIR/home-manager" --rollback
|
||||
;;
|
||||
esac
|
||||
|
||||
"$activateScript" --driver-version 1 || return
|
||||
|
||||
if [[ $action == 'switch' || $action == 'test' ]]; then
|
||||
presentNews
|
||||
fi
|
||||
presentNews
|
||||
}
|
||||
|
||||
function doListGens() {
|
||||
@@ -850,14 +669,10 @@ function doListGens() {
|
||||
fi
|
||||
|
||||
pushd "$HM_PROFILE_DIR" > /dev/null
|
||||
local curProfile
|
||||
curProfile=$(readlink home-manager)
|
||||
|
||||
# shellcheck disable=2012
|
||||
ls --color=$color -gG --time-style=long-iso --sort time home-manager-*-link \
|
||||
| cut -d' ' -f 4- \
|
||||
| sed -E -e "/$curProfile/ { s/\$/ \(current\)/ }" \
|
||||
-e 's/home-manager-([[:digit:]]*)-link/: id \1/'
|
||||
| sed -E 's/home-manager-([[:digit:]]*)-link/: id \1/'
|
||||
popd > /dev/null
|
||||
}
|
||||
|
||||
@@ -865,7 +680,7 @@ function doListGens() {
|
||||
# generations to remove.
|
||||
function doRmGenerations() {
|
||||
setHomeManagerPathVariables
|
||||
setVerboseArg
|
||||
setVerboseAndDryRun
|
||||
|
||||
pushd "$HM_PROFILE_DIR" > /dev/null
|
||||
|
||||
@@ -878,7 +693,7 @@ function doRmGenerations() {
|
||||
_i 'Cannot remove the current generation %s' "$generationId" >&2
|
||||
else
|
||||
_i 'Removing generation %s' "$generationId"
|
||||
run rm $VERBOSE_ARG $linkName
|
||||
$DRY_RUN_CMD rm $VERBOSE_ARG $linkName
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -924,11 +739,7 @@ function newsReadIdsFile() {
|
||||
touch "$path"
|
||||
fi
|
||||
|
||||
# Remove duplicate slashes in case $HOME or $XDG_DATA_HOME have a trailing
|
||||
# slash. Double slashes causes Nix to error out with
|
||||
#
|
||||
# error: syntax error, unexpected PATH_END, expecting DOLLAR_CURLY".
|
||||
echo "$path" | tr -s /
|
||||
echo "$path"
|
||||
}
|
||||
|
||||
# Builds the Home Manager news data file.
|
||||
@@ -963,13 +774,13 @@ function buildNews() {
|
||||
done
|
||||
|
||||
local readIdsFile
|
||||
readIdsFile="$(newsReadIdsFile)"
|
||||
readIdsFile=$(newsReadIdsFile)
|
||||
|
||||
nix-instantiate \
|
||||
--no-build-output --strict \
|
||||
--eval '<home-manager/home-manager/build-news.nix>' \
|
||||
--arg newsJsonFile "\"$(escapeForNix "$newsJsonFile")\"" \
|
||||
--arg newsReadIdsFile "\"$(escapeForNix "$readIdsFile")\"" \
|
||||
--arg newsJsonFile "$newsJsonFile" \
|
||||
--arg newsReadIdsFile "$readIdsFile" \
|
||||
"${extraArgs[@]}" \
|
||||
> "$newsNixFile"
|
||||
}
|
||||
@@ -982,25 +793,25 @@ function doShowNews() {
|
||||
buildNews "$newsNixFile"
|
||||
|
||||
local readIdsFile
|
||||
readIdsFile="$(newsReadIdsFile)"
|
||||
readIdsFile=$(newsReadIdsFile)
|
||||
|
||||
local newsAttr
|
||||
local news
|
||||
|
||||
# shellcheck disable=2154,2046
|
||||
case $1 in
|
||||
--all)
|
||||
newsAttr="all"
|
||||
news="$(nix-instantiate --quiet --eval --expr "(import ${newsNixFile}).news.all")"
|
||||
;;
|
||||
--unread)
|
||||
newsAttr="unread"
|
||||
news="$(nix-instantiate --quiet --eval --expr "(import ${newsNixFile}).news.unread")"
|
||||
;;
|
||||
*)
|
||||
_i 'Unknown argument %s' "$1"
|
||||
return 1
|
||||
esac
|
||||
|
||||
nix-instantiate --quiet --eval --json --expr "(import ${newsNixFile}).news.$newsAttr" \
|
||||
| jq -r . \
|
||||
| ${PAGER:-less}
|
||||
# Prints the news without surrounding quotes.
|
||||
echo -e "${news:1:-1}" | ${PAGER:-less}
|
||||
|
||||
local allIds
|
||||
allIds="$(nix-instantiate --quiet --eval --expr "(import ${newsNixFile}).meta.ids")"
|
||||
@@ -1017,6 +828,7 @@ function doShowNews() {
|
||||
|
||||
function doUninstall() {
|
||||
setHomeManagerPathVariables
|
||||
setVerboseAndDryRun
|
||||
setNixProfileCommands
|
||||
|
||||
_i 'This will remove Home Manager from your system.'
|
||||
@@ -1034,17 +846,30 @@ function doUninstall() {
|
||||
y|Y)
|
||||
_i "Switching to empty Home Manager configuration..."
|
||||
HOME_MANAGER_CONFIG="$(mktemp --tmpdir home-manager.XXXXXXXXXX)"
|
||||
cat > "$HOME_MANAGER_CONFIG" <<EOF
|
||||
{
|
||||
uninstall = true;
|
||||
home.username = "$(escapeForNix "$USER")";
|
||||
home.homeDirectory = "$(escapeForNix "$HOME")";
|
||||
home.stateVersion = "25.11";
|
||||
}
|
||||
EOF
|
||||
# shellcheck disable=2064
|
||||
trap "rm '$HOME_MANAGER_CONFIG'" EXIT
|
||||
doSwitch --switch
|
||||
echo "{ lib, ... }: {" > "$HOME_MANAGER_CONFIG"
|
||||
echo " home.file = lib.mkForce {};" >> "$HOME_MANAGER_CONFIG"
|
||||
echo " home.stateVersion = \"18.09\";" >> "$HOME_MANAGER_CONFIG"
|
||||
echo " manual.manpages.enable = false;" >> "$HOME_MANAGER_CONFIG"
|
||||
echo "}" >> "$HOME_MANAGER_CONFIG"
|
||||
doSwitch
|
||||
$DRY_RUN_CMD $REMOVE_CMD home-manager-path || true
|
||||
rm "$HOME_MANAGER_CONFIG"
|
||||
|
||||
if [[ -e $HM_DATA_HOME ]]; then
|
||||
$DRY_RUN_CMD rm $VERBOSE_ARG -r "$HM_DATA_HOME"
|
||||
fi
|
||||
|
||||
if [[ -e $HM_STATE_DIR ]]; then
|
||||
$DRY_RUN_CMD rm $VERBOSE_ARG -r "$HM_STATE_DIR"
|
||||
fi
|
||||
|
||||
if [[ -e $HM_PROFILE_DIR ]]; then
|
||||
$DRY_RUN_CMD rm $VERBOSE_ARG "$HM_PROFILE_DIR/home-manager"*
|
||||
fi
|
||||
|
||||
if [[ -e $HM_GCROOT_LEGACY_PATH ]]; then
|
||||
$DRY_RUN_CMD rm $VERBOSE_ARG "$HM_GCROOT_LEGACY_PATH"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
_i "Yay!"
|
||||
@@ -1084,7 +909,6 @@ function doHelp() {
|
||||
echo " -j, --max-jobs NUM"
|
||||
echo " --option NAME VALUE"
|
||||
echo " -L, --print-build-logs"
|
||||
echo " --log-format FORMAT"
|
||||
echo " --show-trace"
|
||||
echo " --(no-)substitute"
|
||||
echo " --no-out-link Do not create a symlink to the output path"
|
||||
@@ -1096,13 +920,11 @@ function doHelp() {
|
||||
echo
|
||||
echo " help Print this help"
|
||||
echo
|
||||
echo " edit Open the home configuration in \$VISUAL or \$EDITOR"
|
||||
echo " edit Open the home configuration in \$EDITOR"
|
||||
echo
|
||||
echo " option [--recursive] OPTION.NAME"
|
||||
echo " option OPTION.NAME"
|
||||
echo " Inspect configuration option named OPTION.NAME."
|
||||
echo
|
||||
echo " --recursive Print all the values at or below the option name recursively."
|
||||
echo
|
||||
echo " build Build configuration into result directory"
|
||||
echo
|
||||
echo " init [--switch] [DIR]"
|
||||
@@ -1114,15 +936,7 @@ function doHelp() {
|
||||
echo
|
||||
echo " instantiate Instantiate the configuration and print the resulting derivation"
|
||||
echo
|
||||
echo " switch [OPTION]"
|
||||
echo " Build and activate configuration"
|
||||
echo
|
||||
echo " --rollback Do not build a new configuration, instead roll back to"
|
||||
echo " the configuration prior to the current configuration."
|
||||
echo
|
||||
echo " -c, --specialisation NAME"
|
||||
echo " Activates the named specialisation; when not specified,"
|
||||
echo " switching will activate the unspecialised configuration."
|
||||
echo " switch Build and activate configuration"
|
||||
echo
|
||||
echo " generations List all home environment generations"
|
||||
echo
|
||||
@@ -1130,9 +944,6 @@ function doHelp() {
|
||||
echo " Remove indicated generations. Use 'generations' command to"
|
||||
echo " find suitable generation numbers."
|
||||
echo
|
||||
echo " repl"
|
||||
echo " Opens the configuration in \`nix repl\`"
|
||||
echo
|
||||
echo " expire-generations TIMESTAMP"
|
||||
echo " Remove generations older than TIMESTAMP where TIMESTAMP is"
|
||||
echo " interpreted as in the -d argument of the date tool. For"
|
||||
@@ -1156,36 +967,26 @@ while [[ $# -gt 0 ]]; do
|
||||
opt="$1"
|
||||
shift
|
||||
case $opt in
|
||||
build|init|instantiate|option|edit|expire-generations|generations|help|news|packages|remove-generations|repl|rollback|switch|test|uninstall)
|
||||
build|init|instantiate|option|edit|expire-generations|generations|help|news|packages|remove-generations|switch|uninstall)
|
||||
COMMAND="$opt"
|
||||
;;
|
||||
-A)
|
||||
[[ -v 1 && $1 != -* ]] || errMissingOptArg "$opt"
|
||||
HOME_MANAGER_CONFIG_ATTRIBUTE="$1"
|
||||
shift
|
||||
;;
|
||||
-I)
|
||||
[[ -v 1 && $1 != -* ]] || errMissingOptArg "$opt"
|
||||
EXTRA_NIX_PATH+=("$1")
|
||||
shift
|
||||
;;
|
||||
-B)
|
||||
[[ -v 1 && $1 != -* ]] || errMissingOptArg "$opt"
|
||||
export HOME_MANAGER_BACKUP_COMMAND="$1"
|
||||
shift
|
||||
;;
|
||||
-b)
|
||||
[[ -v 1 && $1 != -* ]] || errMissingOptArg "$opt"
|
||||
export HOME_MANAGER_BACKUP_EXT="$1"
|
||||
shift
|
||||
;;
|
||||
-f|--file)
|
||||
[[ -v 1 && $1 != -* ]] || errMissingOptArg "$opt"
|
||||
HOME_MANAGER_CONFIG="$1"
|
||||
shift
|
||||
;;
|
||||
--flake)
|
||||
[[ -v 1 && $1 != -* ]] || errMissingOptArg "$opt"
|
||||
FLAKE_ARG="$1"
|
||||
shift
|
||||
;;
|
||||
@@ -1193,23 +994,18 @@ while [[ $# -gt 0 ]]; do
|
||||
PASSTHROUGH_OPTS+=("$opt")
|
||||
;;
|
||||
--update-input)
|
||||
[[ -v 1 && $1 != -* ]] || errMissingOptArg "$opt"
|
||||
PASSTHROUGH_OPTS+=("$opt" "$1")
|
||||
shift
|
||||
;;
|
||||
--override-input)
|
||||
[[ -v 1 && $1 != -* ]] || errMissingOptArg "$opt"
|
||||
[[ -v 2 && $2 != -* ]] || errMissingOptArg "$opt $1"
|
||||
PASSTHROUGH_OPTS+=("$opt" "$1" "$2")
|
||||
shift 2
|
||||
;;
|
||||
--experimental-features)
|
||||
[[ -v 1 && $1 != -* ]] || errMissingOptArg "$opt"
|
||||
PASSTHROUGH_OPTS+=("$opt" "$1")
|
||||
shift
|
||||
;;
|
||||
--extra-experimental-features)
|
||||
[[ -v 1 && $1 != -* ]] || errMissingOptArg "$opt"
|
||||
PASSTHROUGH_OPTS+=("$opt" "$1")
|
||||
shift
|
||||
;;
|
||||
@@ -1226,46 +1022,11 @@ while [[ $# -gt 0 ]]; do
|
||||
-n|--dry-run)
|
||||
export DRY_RUN=1
|
||||
;;
|
||||
--rollback)
|
||||
case $COMMAND in
|
||||
switch)
|
||||
COMMAND_ARGS+=("$opt")
|
||||
;;
|
||||
*)
|
||||
errTopLevelSubcommandOpt "--rollback" "switch"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
-c|--specialisation)
|
||||
case $COMMAND in
|
||||
switch)
|
||||
[[ -v 1 && $1 != -* ]] || errMissingOptArg "$opt"
|
||||
COMMAND_ARGS+=("--specialisation" "$1")
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
errTopLevelSubcommandOpt "--specialisation" "switch"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
--recursive)
|
||||
case $COMMAND in
|
||||
option)
|
||||
COMMAND_ARGS+=("$opt")
|
||||
;;
|
||||
*)
|
||||
errTopLevelSubcommandOpt "--recursive" "option"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
--option|--arg|--argstr)
|
||||
[[ -v 1 && $1 != -* ]] || errMissingOptArg "$opt"
|
||||
[[ -v 2 ]] || errMissingOptArg "$opt $1"
|
||||
PASSTHROUGH_OPTS+=("$opt" "$1" "$2")
|
||||
shift 2
|
||||
;;
|
||||
-j|--max-jobs|--cores|--builders|--log-format)
|
||||
[[ -v 1 && $1 != -* ]] || errMissingOptArg "$opt"
|
||||
-j|--max-jobs|--cores|--builders)
|
||||
PASSTHROUGH_OPTS+=("$opt" "$1")
|
||||
shift
|
||||
;;
|
||||
@@ -1277,7 +1038,7 @@ while [[ $# -gt 0 ]]; do
|
||||
export VERBOSE=1
|
||||
;;
|
||||
--version)
|
||||
echo 26.05-pre
|
||||
echo 23.11-pre
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
@@ -1316,13 +1077,8 @@ case $COMMAND in
|
||||
doInstantiate
|
||||
;;
|
||||
switch)
|
||||
doSwitch --switch "${COMMAND_ARGS[@]}"
|
||||
doSwitch
|
||||
;;
|
||||
# TODO: The test functionality is not really sensible until we perform
|
||||
# activation through some form of systemd unit.
|
||||
# test)
|
||||
# doSwitch --test
|
||||
# ;;
|
||||
generations)
|
||||
doListGens
|
||||
;;
|
||||
@@ -1343,9 +1099,6 @@ case $COMMAND in
|
||||
packages)
|
||||
doListPackages
|
||||
;;
|
||||
repl)
|
||||
doRepl
|
||||
;;
|
||||
news)
|
||||
doShowNews --all
|
||||
;;
|
||||
|
||||
@@ -1,25 +1,18 @@
|
||||
{
|
||||
pkgs ? import <nixpkgs> { },
|
||||
confPath,
|
||||
confAttr ? null,
|
||||
check ? true,
|
||||
}:
|
||||
{ pkgs ? import <nixpkgs> { }, confPath, confAttr ? null, check ? true
|
||||
, newsReadIdsFile ? null }:
|
||||
|
||||
let
|
||||
inherit (pkgs.lib)
|
||||
concatMapStringsSep fileContents filter length optionalString removeSuffix
|
||||
replaceStrings splitString;
|
||||
|
||||
env = import ../modules {
|
||||
configuration =
|
||||
if confAttr == "" || confAttr == null then confPath else (import confPath).${confAttr};
|
||||
configuration = if confAttr == "" || confAttr == null then
|
||||
confPath
|
||||
else
|
||||
(import confPath).${confAttr};
|
||||
pkgs = pkgs;
|
||||
check = check;
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
inherit (env)
|
||||
activationPackage
|
||||
config
|
||||
pkgs
|
||||
options
|
||||
;
|
||||
}
|
||||
in { inherit (env) activationPackage config; }
|
||||
|
||||
@@ -8,16 +8,13 @@ let
|
||||
source ${home-manager}/share/bash/home-manager.sh
|
||||
'';
|
||||
|
||||
in
|
||||
runCommand "home-manager-install"
|
||||
{
|
||||
propagatedBuildInputs = [ home-manager ];
|
||||
preferLocalBuild = true;
|
||||
shellHookOnly = true;
|
||||
shellHook = "exec ${home-manager}/bin/home-manager init --switch --no-flake";
|
||||
}
|
||||
''
|
||||
${hmBashLibInit}
|
||||
_iError 'This derivation is not buildable, please run it using nix-shell.'
|
||||
exit 1
|
||||
''
|
||||
in runCommand "home-manager-install" {
|
||||
propagatedBuildInputs = [ home-manager ];
|
||||
preferLocalBuild = true;
|
||||
shellHookOnly = true;
|
||||
shellHook = "exec ${home-manager}/bin/home-manager init --switch --no-flake";
|
||||
} ''
|
||||
${hmBashLibInit}
|
||||
_iError 'This derivation is not buildable, please run it using nix-shell.'
|
||||
exit 1
|
||||
''
|
||||
|
||||
@@ -1,275 +0,0 @@
|
||||
# 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: 2025-07-22 10:59+0200\n"
|
||||
"PO-Revision-Date: 2025-08-25 05:01+0000\n"
|
||||
"Last-Translator: Omar Mohamed <mohamed.omar67492@gmail.com>\n"
|
||||
"Language-Team: Arabic <https://hosted.weblate.org/projects/home-manager/cli/"
|
||||
"ar/>\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"
|
||||
"X-Generator: Weblate 5.13\n"
|
||||
|
||||
#. translators: For example: "home-manager: missing argument for --cores"
|
||||
#: home-manager/home-manager:16
|
||||
msgid "%s: missing argument for %s"
|
||||
msgstr "%s: معطيات مفقوة ل %s"
|
||||
|
||||
#. translators: For example: "home-manager: --rollback can only be used after switch"
|
||||
#: home-manager/home-manager:22
|
||||
msgid "%s: %s can only be used after %s"
|
||||
msgstr "%s: %s يمكن استخدامه فقط بعد %s"
|
||||
|
||||
#: home-manager/home-manager:71
|
||||
msgid "No configuration file found at %s"
|
||||
msgstr "لم يتم العثور على ملف الإعدادات في %s"
|
||||
|
||||
#. translators: The first '%s' specifier will be replaced by either
|
||||
#. 'home.nix' or 'flake.nix'.
|
||||
#: home-manager/home-manager:88 home-manager/home-manager:92
|
||||
#: home-manager/home-manager:191
|
||||
msgid ""
|
||||
"Keeping your Home Manager %s in %s is deprecated,\n"
|
||||
"please move it to %s"
|
||||
msgstr ""
|
||||
"وضع Home Manager %s فى %s لا ينصح به،\n"
|
||||
"الرجاء قم بنقله الى %s"
|
||||
|
||||
#: home-manager/home-manager:99
|
||||
msgid "No configuration file found. Please create one at %s"
|
||||
msgstr "لم يتم العثور على ملف الاعدادات. يُرجى إنشاء واحد في %s"
|
||||
|
||||
#: home-manager/home-manager:114
|
||||
msgid "Home Manager not found at %s."
|
||||
msgstr "لم يتم العثور على Home Manager في %s."
|
||||
|
||||
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
|
||||
#: home-manager/home-manager:122
|
||||
msgid ""
|
||||
"The fallback Home Manager path %s has been deprecated and a file/directory "
|
||||
"was found there."
|
||||
msgstr ""
|
||||
"مسار Home Manager البديل %s غير موصى باستخدامه وتم العثور على ملف/مجلد هناك."
|
||||
|
||||
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
|
||||
#: home-manager/home-manager:125
|
||||
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 ""
|
||||
"لإزالة هذا التحذير، نفّذ أحد الإجراءات التالية.\n"
|
||||
"\n"
|
||||
"1. وجّه Home Manager صراحةً لاستخدام المسار، على سبيل المثال بإضافة\n"
|
||||
"\n"
|
||||
" { programs.home-manager.path = \"%s\"; }\n"
|
||||
"\n"
|
||||
" إلى إعداداتك.\n"
|
||||
"\n"
|
||||
"إذا استوردت Home Manager مباشرةً، يمكنك استخدام المتغير `path`\n"
|
||||
"\n"
|
||||
" pkgs.callPackage /path/to/home-manager-package { path = \"%s\"; }\n"
|
||||
"\n"
|
||||
"عند استدعاء حزمة Home Manager.\n"
|
||||
"\n"
|
||||
"2. أزل المسار المُهمل.\n"
|
||||
"\n"
|
||||
" $ rm -r \"%s\""
|
||||
|
||||
#: home-manager/home-manager:153
|
||||
msgid "Sanity checking Nix"
|
||||
msgstr "جارى فحص سلامة Nix"
|
||||
|
||||
#: home-manager/home-manager:173
|
||||
msgid "Could not find suitable profile directory, tried %s and %s"
|
||||
msgstr "لم يتم العثور على مجلد الملف الشخصي المناسب، تم تجريب %s و%s"
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:230
|
||||
msgid "Can't inspect options of a flake configuration"
|
||||
msgstr "لا يمكن فحص خيارات اعداد flake"
|
||||
|
||||
#: home-manager/home-manager:305 home-manager/home-manager:328
|
||||
#: home-manager/home-manager:734 home-manager/home-manager:1237
|
||||
msgid "%s: unknown option '%s'"
|
||||
msgstr "%s: خيار غير معروف '%s'"
|
||||
|
||||
#: home-manager/home-manager:310 home-manager/home-manager:1238
|
||||
msgid "Run '%s --help' for usage help"
|
||||
msgstr "قم بتشغيل '%s --help' للحصول على مساعدة في الاستخدام"
|
||||
|
||||
#: home-manager/home-manager:336 home-manager/home-manager:441
|
||||
msgid "The file %s already exists, leaving it unchanged..."
|
||||
msgstr "الملف %s موجود بالفعل، تم تركه دون تغيير..."
|
||||
|
||||
#: home-manager/home-manager:338 home-manager/home-manager:443
|
||||
msgid "Creating %s..."
|
||||
msgstr "جارى إنشاء %s..."
|
||||
|
||||
#: home-manager/home-manager:487
|
||||
msgid "Creating initial Home Manager generation..."
|
||||
msgstr "جارى إنشاء الجيل الأولى ل Home Manager..."
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a file path.
|
||||
#: home-manager/home-manager:492
|
||||
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 ""
|
||||
"تم الانتهاء! سيتم الآن تثبيت أداة home-manager، ويمكنك تعديل\n"
|
||||
"\n"
|
||||
" %s\n"
|
||||
"\n"
|
||||
"لتهيئة Home Manager. شغّل \"man home-configuration.nix\"\n"
|
||||
"للاطلاع على جميع الخيارات المتاحة."
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a URL.
|
||||
#: home-manager/home-manager:497
|
||||
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 ""
|
||||
"للأسف، فشل التثبيت! يُرجى إنشاء مشكلة في\n"
|
||||
"\n"
|
||||
" %s\n"
|
||||
"\n"
|
||||
"إذا بدا أن الخطأ ناتج عن خطأ في Home Manager."
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:508
|
||||
msgid "Can't instantiate a flake configuration"
|
||||
msgstr "لا يمكن إنشاء مثيل لاعدادات رقاقة"
|
||||
|
||||
#: home-manager/home-manager:584
|
||||
msgid ""
|
||||
"There is %d unread and relevant news item.\n"
|
||||
"Read it by running the command \"%s news\"."
|
||||
msgid_plural ""
|
||||
"There are %d unread and relevant news items.\n"
|
||||
"Read them by running the command \"%s news\"."
|
||||
msgstr[0] ""
|
||||
"هناك %d خبر غير مقروء.\n"
|
||||
"يمكنك قرآتها بتشغيل الأمر \"%s news\"."
|
||||
msgstr[1] ""
|
||||
"هناك %d خبر غير مقروء وذي صلة.\n"
|
||||
"اقرأه بتشغيل الأمر \"%s news\"."
|
||||
msgstr[2] ""
|
||||
"هناك خبران (%d) غير مقروءين وذى صلة.\n"
|
||||
"اقرأهما بتشغيل الأمر \"%s news\"."
|
||||
msgstr[3] ""
|
||||
"هناك %d أخبار غير مقروءه وذى صلة.\n"
|
||||
"اقرأها بتشغيل الأمر \"%s news\"."
|
||||
msgstr[4] ""
|
||||
"هناك %d خبر غير مقروء وذى صلة.\n"
|
||||
"اقرأهم بتشغيل الأمر \"%s news\"."
|
||||
msgstr[5] ""
|
||||
"هناك %d خبر غير مقروء وذى صلة.\n"
|
||||
"اقرأهم بتشغيل الأمر \"%s news\"."
|
||||
|
||||
#: home-manager/home-manager:598
|
||||
msgid "Unknown \"news.display\" setting \"%s\"."
|
||||
msgstr "إعداد \"news.display\" غير معروف \"%s\"."
|
||||
|
||||
#: home-manager/home-manager:606
|
||||
#, sh-format
|
||||
msgid "Please set the $EDITOR or $VISUAL environment variable"
|
||||
msgstr "يرجى تعيين متغير البيئة $EDITOR أو $VISUAL"
|
||||
|
||||
#: home-manager/home-manager:624
|
||||
msgid "Cannot run build in read-only directory"
|
||||
msgstr "لا يمكن تشغيل البناء في مجلد قراءة فقط"
|
||||
|
||||
#: home-manager/home-manager:787
|
||||
msgid "The configuration did not contain the specialisation \"%s\""
|
||||
msgstr "لم يتضمن ملف الاعدادات التخصص \"%s\""
|
||||
|
||||
#: home-manager/home-manager:841
|
||||
msgid "No generation with ID %s"
|
||||
msgstr "لا يوجد جيل بمعرف %s"
|
||||
|
||||
#: home-manager/home-manager:843
|
||||
msgid "Cannot remove the current generation %s"
|
||||
msgstr "لا يمكن إزالة الجيل الحالي %s"
|
||||
|
||||
#: home-manager/home-manager:845
|
||||
msgid "Removing generation %s"
|
||||
msgstr "جارى إزالة الجيل %s"
|
||||
|
||||
#: home-manager/home-manager:866
|
||||
msgid "No generations to expire"
|
||||
msgstr "لا يوجد أجيال لتنتهي"
|
||||
|
||||
#: home-manager/home-manager:877
|
||||
msgid "No home-manager packages seem to be installed."
|
||||
msgstr "يبدو أنه لم يتم تثبيت أي حزم home-mnager."
|
||||
|
||||
#: home-manager/home-manager:962
|
||||
msgid "Unknown argument %s"
|
||||
msgstr "معطى غير معروف %s"
|
||||
|
||||
#: home-manager/home-manager:987
|
||||
msgid "This will remove Home Manager from your system."
|
||||
msgstr "سيؤدي هذا إلى إزالة Home Manager من نظامك."
|
||||
|
||||
#: home-manager/home-manager:990
|
||||
msgid "This is a dry run, nothing will actually be uninstalled."
|
||||
msgstr "هذا تشغيل تجريبيى، ولن يتم إلغاء تثبيت أي شيء فعليًا."
|
||||
|
||||
#: home-manager/home-manager:994
|
||||
msgid "Really uninstall Home Manager?"
|
||||
msgstr "هل تريد إلغاء تثبيت Home Manager حقًا؟"
|
||||
|
||||
#: home-manager/home-manager:1000
|
||||
msgid "Switching to empty Home Manager configuration..."
|
||||
msgstr "جاري التبديل إلى اعدادات Home Manager فارغة..."
|
||||
|
||||
#: home-manager/home-manager:1015
|
||||
msgid "Yay!"
|
||||
msgstr "مرحا!"
|
||||
|
||||
#: home-manager/home-manager:1020
|
||||
msgid "Home Manager is uninstalled but your home.nix is left untouched."
|
||||
msgstr "تم إلغاء تثبيت Home Manager ولكن تم ترك ملف home.nix الخاص بك دون مساس."
|
||||
|
||||
#: home-manager/home-manager:1285
|
||||
msgid "expire-generations expects one argument, got %d."
|
||||
msgstr "يتوقع expire-generations معطى واحد، وقد حصل على %d."
|
||||
|
||||
#: home-manager/home-manager:1310
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "أمر غير معروف: %s"
|
||||
|
||||
#: home-manager/install.nix:21
|
||||
msgid "This derivation is not buildable, please run it using nix-shell."
|
||||
msgstr "لا يمكن بناء هذا الاشتقاق، يرجى تشغيله باستخدام nix-shell."
|
||||
@@ -1,271 +0,0 @@
|
||||
# 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: 2025-07-22 10:59+0200\n"
|
||||
"PO-Revision-Date: 2025-09-17 16:02+0000\n"
|
||||
"Last-Translator: Borislav Rangelov <borislav.y.rangelov@gmail.com>\n"
|
||||
"Language-Team: Bulgarian <https://hosted.weblate.org/projects/home-manager/"
|
||||
"cli/bg/>\n"
|
||||
"Language: bg\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.14-dev\n"
|
||||
|
||||
#. translators: For example: "home-manager: missing argument for --cores"
|
||||
#: home-manager/home-manager:16
|
||||
msgid "%s: missing argument for %s"
|
||||
msgstr "%s: липсващ аргумент за %s"
|
||||
|
||||
#. translators: For example: "home-manager: --rollback can only be used after switch"
|
||||
#: home-manager/home-manager:22
|
||||
msgid "%s: %s can only be used after %s"
|
||||
msgstr "%s: %s може да се използва само в съчетание със %s"
|
||||
|
||||
#: home-manager/home-manager:71
|
||||
msgid "No configuration file found at %s"
|
||||
msgstr "Не е намерен конфигурационен файл на %s"
|
||||
|
||||
#. translators: The first '%s' specifier will be replaced by either
|
||||
#. 'home.nix' or 'flake.nix'.
|
||||
#: home-manager/home-manager:88 home-manager/home-manager:92
|
||||
#: home-manager/home-manager:191
|
||||
msgid ""
|
||||
"Keeping your Home Manager %s in %s is deprecated,\n"
|
||||
"please move it to %s"
|
||||
msgstr ""
|
||||
"Запазването на Вашия Домоуправител %s в %s \n"
|
||||
"е остаряла практика, моля преместете го в %s"
|
||||
|
||||
#: home-manager/home-manager:99
|
||||
msgid "No configuration file found. Please create one at %s"
|
||||
msgstr "Конфигурационният файл не намерен. Моля създайте такъв в %s"
|
||||
|
||||
#: home-manager/home-manager:114
|
||||
msgid "Home Manager not found at %s."
|
||||
msgstr "Home Manager не е открит в %s."
|
||||
|
||||
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
|
||||
#: home-manager/home-manager:122
|
||||
msgid ""
|
||||
"The fallback Home Manager path %s has been deprecated and a file/directory "
|
||||
"was found there."
|
||||
msgstr ""
|
||||
"Изборът на резервната локация на Home Manager в %s е остаряла практика и "
|
||||
"файлът/директорията беше намерен/а там."
|
||||
|
||||
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
|
||||
#: home-manager/home-manager:125
|
||||
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 ""
|
||||
"За да премахнете това предупреждение, направенете една от следните опции:\n"
|
||||
"\n"
|
||||
"1. Изрично наредете на Home Manager да ползва локацията, като например "
|
||||
"добавите:\n"
|
||||
"\n"
|
||||
" { programs.home-manager.path = \"%s\"; }\n"
|
||||
"\n"
|
||||
" в конфигурацията си.\n"
|
||||
"\n"
|
||||
" Ако импортирате Home Manager директно, можете да ползвате `path` "
|
||||
"параметъра.\n"
|
||||
"\n"
|
||||
" pkgs.callPackage /path/to/home-manager-package { path = \"%s\"; }\n"
|
||||
"\n"
|
||||
" Когато повиквате Home Manager пакета.\n"
|
||||
"\n"
|
||||
"2. Премахнате остарялата локация.\n"
|
||||
"\n"
|
||||
" $ rm -r \"%s\""
|
||||
|
||||
#: home-manager/home-manager:153
|
||||
msgid "Sanity checking Nix"
|
||||
msgstr "Бърза проверка на Nix"
|
||||
|
||||
#: home-manager/home-manager:173
|
||||
msgid "Could not find suitable profile directory, tried %s and %s"
|
||||
msgstr "Не беше намерена подходяща директория за профила, пробвано с %s и %s"
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:230
|
||||
msgid "Can't inspect options of a flake configuration"
|
||||
msgstr "Опциите на флейк конфигурацията не могат да бъдат прегледани"
|
||||
|
||||
#: home-manager/home-manager:305 home-manager/home-manager:328
|
||||
#: home-manager/home-manager:734 home-manager/home-manager:1237
|
||||
msgid "%s: unknown option '%s'"
|
||||
msgstr "%s: непозната опция '%s'"
|
||||
|
||||
#: home-manager/home-manager:310 home-manager/home-manager:1238
|
||||
msgid "Run '%s --help' for usage help"
|
||||
msgstr "Изпълнете командата '%s --help' за повече информация"
|
||||
|
||||
#: home-manager/home-manager:336 home-manager/home-manager:441
|
||||
msgid "The file %s already exists, leaving it unchanged..."
|
||||
msgstr "Файлът %s вече съществува, пропускане на промениете му..."
|
||||
|
||||
#: home-manager/home-manager:338 home-manager/home-manager:443
|
||||
msgid "Creating %s..."
|
||||
msgstr "Създаване на %s..."
|
||||
|
||||
#: home-manager/home-manager:487
|
||||
msgid "Creating initial Home Manager generation..."
|
||||
msgstr "Създаване на първоначалната Home Manager генерация..."
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a file path.
|
||||
#: home-manager/home-manager:492
|
||||
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 ""
|
||||
"Всичко е готово! Инструментът home-manager е инсталиран и Вие можете да "
|
||||
"редактирате\n"
|
||||
"\n"
|
||||
"....%s\n"
|
||||
"\n"
|
||||
"за да конфигурате Home Manager. Изпълнете командата 'man home-configuration."
|
||||
"nix'\n"
|
||||
"за да видите всички налични опции."
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a URL.
|
||||
#: home-manager/home-manager:497
|
||||
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 ""
|
||||
"О не, инсталацията се провали! Моля създайте запитване на\n"
|
||||
"\n"
|
||||
"....%s\n"
|
||||
"\n"
|
||||
"ако смятате, че грешката се дължи на Home Manager."
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:508
|
||||
msgid "Can't instantiate a flake configuration"
|
||||
msgstr "Флейк конфигурацията не може да се инстанцира"
|
||||
|
||||
#: home-manager/home-manager:584
|
||||
msgid ""
|
||||
"There is %d unread and relevant news item.\n"
|
||||
"Read it by running the command \"%s news\"."
|
||||
msgid_plural ""
|
||||
"There are %d unread and relevant news items.\n"
|
||||
"Read them by running the command \"%s news\"."
|
||||
msgstr[0] ""
|
||||
"Има %d непрочетена релевантна новина.\n"
|
||||
"Прочетете я като изпълните \"%s news\" командата."
|
||||
msgstr[1] ""
|
||||
"Има %d непрочетени релевантни новини.\n"
|
||||
"Прочетете ги като изпълните \"%s news\" командата."
|
||||
|
||||
#: home-manager/home-manager:598
|
||||
msgid "Unknown \"news.display\" setting \"%s\"."
|
||||
msgstr "Непозната \"news.display\" настройка \"%s\"."
|
||||
|
||||
#: home-manager/home-manager:606
|
||||
#, sh-format
|
||||
msgid "Please set the $EDITOR or $VISUAL environment variable"
|
||||
msgstr "Моля задайте $EDITOR или $VISUAL променливите на средата"
|
||||
|
||||
#: home-manager/home-manager:624
|
||||
msgid "Cannot run build in read-only directory"
|
||||
msgstr ""
|
||||
"Компилацията не може да се стартира в директория предназначена само за четене"
|
||||
|
||||
#: home-manager/home-manager:787
|
||||
msgid "The configuration did not contain the specialisation \"%s\""
|
||||
msgstr "Конфигурацията не съдържаше специализация \"%s\""
|
||||
|
||||
#: home-manager/home-manager:841
|
||||
msgid "No generation with ID %s"
|
||||
msgstr "Не е намерена генерация с ID %s"
|
||||
|
||||
#: home-manager/home-manager:843
|
||||
msgid "Cannot remove the current generation %s"
|
||||
msgstr "Не може да бъде премахната сегашната генерация %s"
|
||||
|
||||
#: home-manager/home-manager:845
|
||||
msgid "Removing generation %s"
|
||||
msgstr "Премахване генерацията %s"
|
||||
|
||||
#: home-manager/home-manager:866
|
||||
msgid "No generations to expire"
|
||||
msgstr "Няма изтичащи генерации"
|
||||
|
||||
#: home-manager/home-manager:877
|
||||
msgid "No home-manager packages seem to be installed."
|
||||
msgstr "Изглежда няма нито един инсталиран home-manager пакет."
|
||||
|
||||
#: home-manager/home-manager:962
|
||||
msgid "Unknown argument %s"
|
||||
msgstr "Непознат аргумент %s"
|
||||
|
||||
#: home-manager/home-manager:987
|
||||
msgid "This will remove Home Manager from your system."
|
||||
msgstr "Това ще премахне Home Manager от системата Ви."
|
||||
|
||||
#: home-manager/home-manager:990
|
||||
msgid "This is a dry run, nothing will actually be uninstalled."
|
||||
msgstr "Това е сухо изпълнение - нищо няма да бъде деинсталирано."
|
||||
|
||||
#: home-manager/home-manager:994
|
||||
msgid "Really uninstall Home Manager?"
|
||||
msgstr "Наистина ли искате да деинсталирате Home Manager?"
|
||||
|
||||
#: home-manager/home-manager:1000
|
||||
msgid "Switching to empty Home Manager configuration..."
|
||||
msgstr "Превключване към празна Home Manager конфигурация..."
|
||||
|
||||
#: home-manager/home-manager:1015
|
||||
msgid "Yay!"
|
||||
msgstr "Ура!"
|
||||
|
||||
#: home-manager/home-manager:1020
|
||||
msgid "Home Manager is uninstalled but your home.nix is left untouched."
|
||||
msgstr ""
|
||||
"Home Manager бе деинсталиран но Вашия home.nix файл е оставен непроменен."
|
||||
|
||||
#: home-manager/home-manager:1285
|
||||
msgid "expire-generations expects one argument, got %d."
|
||||
msgstr "expire-generations очаква един аргумент, получил е %d."
|
||||
|
||||
#: home-manager/home-manager:1310
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "Непозната команда: %s"
|
||||
|
||||
#: home-manager/install.nix:21
|
||||
msgid "This derivation is not buildable, please run it using nix-shell."
|
||||
msgstr ""
|
||||
"Тази деривация не може да се компилира, моля стартирайте я ползвайки nix-"
|
||||
"shell."
|
||||
@@ -7,9 +7,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Home Manager\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
|
||||
"POT-Creation-Date: 2025-07-22 10:59+0200\n"
|
||||
"PO-Revision-Date: 2025-05-11 13:01+0000\n"
|
||||
"Last-Translator: Adolfo Jayme Barrientos <fitojb@ubuntu.com>\n"
|
||||
"POT-Creation-Date: 2023-09-13 23:46+0200\n"
|
||||
"PO-Revision-Date: 2023-12-10 15:58+0000\n"
|
||||
"Last-Translator: Nara Díaz Viñolas <rdvdev2@gmail.com>\n"
|
||||
"Language-Team: Catalan <https://hosted.weblate.org/projects/home-manager/cli/"
|
||||
"ca/>\n"
|
||||
"Language: ca\n"
|
||||
@@ -17,26 +17,16 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.12-dev\n"
|
||||
"X-Generator: Weblate 5.3-dev\n"
|
||||
|
||||
#. translators: For example: "home-manager: missing argument for --cores"
|
||||
#: home-manager/home-manager:16
|
||||
msgid "%s: missing argument for %s"
|
||||
msgstr "%: falta un argument per %s"
|
||||
|
||||
#. translators: For example: "home-manager: --rollback can only be used after switch"
|
||||
#: home-manager/home-manager:22
|
||||
msgid "%s: %s can only be used after %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:71
|
||||
#: home-manager/home-manager:81
|
||||
msgid "No configuration file found at %s"
|
||||
msgstr "No s'ha trobat cap fitxer de configuració a %s"
|
||||
|
||||
#. translators: The first '%s' specifier will be replaced by either
|
||||
#. 'home.nix' or 'flake.nix'.
|
||||
#: home-manager/home-manager:88 home-manager/home-manager:92
|
||||
#: home-manager/home-manager:191
|
||||
#: home-manager/home-manager:98 home-manager/home-manager:102
|
||||
#: home-manager/home-manager:192
|
||||
msgid ""
|
||||
"Keeping your Home Manager %s in %s is deprecated,\n"
|
||||
"please move it to %s"
|
||||
@@ -44,16 +34,16 @@ msgstr ""
|
||||
"Mantenir el teu Home Manager %s a %s està obsolet,\n"
|
||||
"si us plau mou-lo a %s"
|
||||
|
||||
#: home-manager/home-manager:99
|
||||
#: home-manager/home-manager:109
|
||||
msgid "No configuration file found. Please create one at %s"
|
||||
msgstr "No s'ha trobat cap fitxer de configuració. Si us plau, creeu un a %s"
|
||||
|
||||
#: home-manager/home-manager:114
|
||||
#: home-manager/home-manager:124
|
||||
msgid "Home Manager not found at %s."
|
||||
msgstr "No s'ha trobat el Home Manager a %s."
|
||||
|
||||
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
|
||||
#: home-manager/home-manager:122
|
||||
#: home-manager/home-manager:132
|
||||
msgid ""
|
||||
"The fallback Home Manager path %s has been deprecated and a file/directory "
|
||||
"was found there."
|
||||
@@ -62,7 +52,7 @@ msgstr ""
|
||||
"fitxer/directori allí."
|
||||
|
||||
#. 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:125
|
||||
#: home-manager/home-manager:135
|
||||
msgid ""
|
||||
"To remove this warning, do one of the following.\n"
|
||||
"\n"
|
||||
@@ -82,7 +72,7 @@ msgid ""
|
||||
"\n"
|
||||
" $ rm -r \"%s\""
|
||||
msgstr ""
|
||||
"Per a eliminar aquest advertiment, dugueu a terme una de les següents "
|
||||
"Per a eliminar aquesta advertència, dugueu a terme una de les següents "
|
||||
"opcions.\n"
|
||||
"\n"
|
||||
"1. Indiqueu explícitament al Home Manager que utilitzi la ruta, per exemple "
|
||||
@@ -103,43 +93,39 @@ msgstr ""
|
||||
"\n"
|
||||
" $ rm -r \"%s\""
|
||||
|
||||
#: home-manager/home-manager:153
|
||||
msgid "Sanity checking Nix"
|
||||
msgstr "Comprovant Nix"
|
||||
|
||||
#: home-manager/home-manager:173
|
||||
#: home-manager/home-manager:174
|
||||
msgid "Could not find suitable profile directory, tried %s and %s"
|
||||
msgstr ""
|
||||
"No s'ha pogut trobar un directori de perfils adequat, s'ha provat %s i %s"
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:230
|
||||
#: home-manager/home-manager:229
|
||||
msgid "Can't inspect options of a flake configuration"
|
||||
msgstr "No s'han pogut inspeccionar les opcions de configuració de flake"
|
||||
|
||||
#: home-manager/home-manager:305 home-manager/home-manager:328
|
||||
#: home-manager/home-manager:734 home-manager/home-manager:1237
|
||||
#: home-manager/home-manager:291 home-manager/home-manager:314
|
||||
#: home-manager/home-manager:1034
|
||||
msgid "%s: unknown option '%s'"
|
||||
msgstr "%: opció desconeguda '%s'"
|
||||
|
||||
#: home-manager/home-manager:310 home-manager/home-manager:1238
|
||||
#: home-manager/home-manager:296 home-manager/home-manager:1035
|
||||
msgid "Run '%s --help' for usage help"
|
||||
msgstr "Executa '%s --help' per veure l'ajuda d'ús"
|
||||
|
||||
#: home-manager/home-manager:336 home-manager/home-manager:441
|
||||
#: home-manager/home-manager:322 home-manager/home-manager:421
|
||||
msgid "The file %s already exists, leaving it unchanged..."
|
||||
msgstr "El fitxer %s ja existeix, deixant sense modificar..."
|
||||
|
||||
#: home-manager/home-manager:338 home-manager/home-manager:443
|
||||
#: home-manager/home-manager:324 home-manager/home-manager:423
|
||||
msgid "Creating %s..."
|
||||
msgstr "Creant %s..."
|
||||
|
||||
#: home-manager/home-manager:487
|
||||
#: home-manager/home-manager:465
|
||||
msgid "Creating initial Home Manager generation..."
|
||||
msgstr "Creant generació inicial de Home Manager..."
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a file path.
|
||||
#: home-manager/home-manager:492
|
||||
#: home-manager/home-manager:470
|
||||
msgid ""
|
||||
"All done! The home-manager tool should now be installed and you can edit\n"
|
||||
"\n"
|
||||
@@ -156,7 +142,7 @@ msgstr ""
|
||||
"a veure totes les opcions disponibles."
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a URL.
|
||||
#: home-manager/home-manager:497
|
||||
#: home-manager/home-manager:475
|
||||
msgid ""
|
||||
"Uh oh, the installation failed! Please create an issue at\n"
|
||||
"\n"
|
||||
@@ -171,11 +157,11 @@ msgstr ""
|
||||
"si l'error sembla culpa de Home Manager."
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:508
|
||||
#: home-manager/home-manager:486
|
||||
msgid "Can't instantiate a flake configuration"
|
||||
msgstr "No es pot instanciar una configuració flake"
|
||||
|
||||
#: home-manager/home-manager:584
|
||||
#: home-manager/home-manager:562
|
||||
msgid ""
|
||||
"There is %d unread and relevant news item.\n"
|
||||
"Read it by running the command \"%s news\"."
|
||||
@@ -189,90 +175,82 @@ msgstr[1] ""
|
||||
"Hi han %d notícies rellevants no llegides.\n"
|
||||
"Llegeix-les executant la comanda \"%s news\"."
|
||||
|
||||
#: home-manager/home-manager:598
|
||||
#: home-manager/home-manager:576
|
||||
msgid "Unknown \"news.display\" setting \"%s\"."
|
||||
msgstr "Configuració \"news.display\" no reconeguda \"%s\"."
|
||||
|
||||
#: home-manager/home-manager:606
|
||||
#: home-manager/home-manager:583
|
||||
#, sh-format
|
||||
msgid "Please set the $EDITOR or $VISUAL environment variable"
|
||||
msgstr "Si us plau, defineix les variables de entorn $EDITOR o $VISUAL"
|
||||
msgid "Please set the $EDITOR environment variable"
|
||||
msgstr "Si us plau, defineix la variable d'entorn $EDITOR"
|
||||
|
||||
#: home-manager/home-manager:624
|
||||
#: home-manager/home-manager:598
|
||||
msgid "Cannot run build in read-only directory"
|
||||
msgstr "Impossible executar la compilació en un directori només lectura"
|
||||
|
||||
#: home-manager/home-manager:787
|
||||
msgid "The configuration did not contain the specialisation \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:841
|
||||
#: home-manager/home-manager:676
|
||||
msgid "No generation with ID %s"
|
||||
msgstr "No existeix la generació amb ID %s"
|
||||
|
||||
#: home-manager/home-manager:843
|
||||
#: home-manager/home-manager:678
|
||||
msgid "Cannot remove the current generation %s"
|
||||
msgstr "Impossible eliminar la generació actual %s"
|
||||
|
||||
#: home-manager/home-manager:845
|
||||
#: home-manager/home-manager:680
|
||||
msgid "Removing generation %s"
|
||||
msgstr "Eliminant la generació %s"
|
||||
|
||||
#: home-manager/home-manager:866
|
||||
#: home-manager/home-manager:699
|
||||
msgid "No generations to expire"
|
||||
msgstr "No s'han trobat generacions a expirar"
|
||||
|
||||
#: home-manager/home-manager:877
|
||||
#: home-manager/home-manager:710
|
||||
msgid "No home-manager packages seem to be installed."
|
||||
msgstr "Cap paquet home-manager sembla estar instal·lat."
|
||||
|
||||
#: home-manager/home-manager:962
|
||||
#: home-manager/home-manager:792
|
||||
msgid "Unknown argument %s"
|
||||
msgstr "Argument desconegut %s"
|
||||
|
||||
#: home-manager/home-manager:987
|
||||
#: home-manager/home-manager:816
|
||||
msgid "This will remove Home Manager from your system."
|
||||
msgstr "Home Manager serà esborrat del sistema."
|
||||
|
||||
#: home-manager/home-manager:990
|
||||
#: home-manager/home-manager:819
|
||||
msgid "This is a dry run, nothing will actually be uninstalled."
|
||||
msgstr "Això és un simulacre, res serà realment desinstal·lat."
|
||||
|
||||
#: home-manager/home-manager:994
|
||||
#: home-manager/home-manager:823
|
||||
msgid "Really uninstall Home Manager?"
|
||||
msgstr "Estàs segur que vols desinstal·lar Home Manager?"
|
||||
|
||||
#: home-manager/home-manager:1000
|
||||
#: home-manager/home-manager:829
|
||||
msgid "Switching to empty Home Manager configuration..."
|
||||
msgstr "Canviant a configuració buida de Home Manager..."
|
||||
|
||||
#: home-manager/home-manager:1015
|
||||
#: home-manager/home-manager:857
|
||||
msgid "Yay!"
|
||||
msgstr "Visca!"
|
||||
|
||||
#: home-manager/home-manager:1020
|
||||
#: home-manager/home-manager:862
|
||||
msgid "Home Manager is uninstalled but your home.nix is left untouched."
|
||||
msgstr ""
|
||||
"Home Manager ha estat desinstal·lat però el vostre home.nix es manté intacte."
|
||||
|
||||
#: home-manager/home-manager:1285
|
||||
#: home-manager/home-manager:1074
|
||||
msgid "expire-generations expects one argument, got %d."
|
||||
msgstr "expire-generations espera un argument, obtinguts %d."
|
||||
|
||||
#: home-manager/home-manager:1310
|
||||
#: home-manager/home-manager:1096
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "Comanda desconeguda: %s"
|
||||
|
||||
#: home-manager/install.nix:21
|
||||
#: home-manager/install.nix:18
|
||||
msgid "This derivation is not buildable, please run it using nix-shell."
|
||||
msgstr ""
|
||||
"Aquesta derivació no es pot construir, si us plau executa-la utilitzant nix-"
|
||||
"shell."
|
||||
|
||||
#, sh-format
|
||||
#~ msgid "Please set the $EDITOR environment variable"
|
||||
#~ msgstr "Si us plau, defineix la variable d'entorn $EDITOR"
|
||||
|
||||
#~ msgid "Sorry, this command is not yet supported in flake setup"
|
||||
#~ msgstr ""
|
||||
#~ "Ho sentim, aquesta comanda encara no està suportada en la configuració de "
|
||||
|
||||
@@ -7,36 +7,26 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Home Manager\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
|
||||
"POT-Creation-Date: 2025-07-22 10:59+0200\n"
|
||||
"PO-Revision-Date: 2024-12-22 17:00+0000\n"
|
||||
"Last-Translator: David Chocholatý <chocholaty.david0@gmail.com>\n"
|
||||
"POT-Creation-Date: 2023-09-13 23:46+0200\n"
|
||||
"PO-Revision-Date: 2023-12-08 12:04+0000\n"
|
||||
"Last-Translator: David Houdek <sarejnovec@gmail.com>\n"
|
||||
"Language-Team: Czech <https://hosted.weblate.org/projects/home-manager/cli/"
|
||||
"cs/>\n"
|
||||
"Language: cs\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
|
||||
"X-Generator: Weblate 5.10-dev\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 5.3-dev\n"
|
||||
|
||||
#. translators: For example: "home-manager: missing argument for --cores"
|
||||
#: home-manager/home-manager:16
|
||||
msgid "%s: missing argument for %s"
|
||||
msgstr "%s: chybějící argument pro %s"
|
||||
|
||||
#. translators: For example: "home-manager: --rollback can only be used after switch"
|
||||
#: home-manager/home-manager:22
|
||||
msgid "%s: %s can only be used after %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:71
|
||||
#: home-manager/home-manager:81
|
||||
msgid "No configuration file found at %s"
|
||||
msgstr "V %s nebyl nalezen konfigurační soubor"
|
||||
|
||||
#. translators: The first '%s' specifier will be replaced by either
|
||||
#. 'home.nix' or 'flake.nix'.
|
||||
#: home-manager/home-manager:88 home-manager/home-manager:92
|
||||
#: home-manager/home-manager:191
|
||||
#: home-manager/home-manager:98 home-manager/home-manager:102
|
||||
#: home-manager/home-manager:192
|
||||
msgid ""
|
||||
"Keeping your Home Manager %s in %s is deprecated,\n"
|
||||
"please move it to %s"
|
||||
@@ -44,16 +34,16 @@ msgstr ""
|
||||
"Udržovat Home Manager %s v %s je zastaralé,\n"
|
||||
"prosím přesuňte jej do %s"
|
||||
|
||||
#: home-manager/home-manager:99
|
||||
#: home-manager/home-manager:109
|
||||
msgid "No configuration file found. Please create one at %s"
|
||||
msgstr "Konfigurační soubor nenalezen. Prosím vytvořte jej v %s"
|
||||
|
||||
#: home-manager/home-manager:114
|
||||
#: home-manager/home-manager:124
|
||||
msgid "Home Manager not found at %s."
|
||||
msgstr "Home Manager nebyl nalezen v %s."
|
||||
|
||||
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
|
||||
#: home-manager/home-manager:122
|
||||
#: home-manager/home-manager:132
|
||||
msgid ""
|
||||
"The fallback Home Manager path %s has been deprecated and a file/directory "
|
||||
"was found there."
|
||||
@@ -62,7 +52,7 @@ msgstr ""
|
||||
"adresář."
|
||||
|
||||
#. 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:125
|
||||
#: home-manager/home-manager:135
|
||||
msgid ""
|
||||
"To remove this warning, do one of the following.\n"
|
||||
"\n"
|
||||
@@ -82,7 +72,7 @@ msgid ""
|
||||
"\n"
|
||||
" $ rm -r \"%s\""
|
||||
msgstr ""
|
||||
"K odstranění tohoto varování udělejte jednu z následujících operací.\n"
|
||||
"K odstranení tohoto varování udělejte jednu z následujících operací.\n"
|
||||
"\n"
|
||||
"1. Jmenovitě určete Home Manageru cestu kterou má použít, například "
|
||||
"přidáním\n"
|
||||
@@ -101,42 +91,38 @@ msgstr ""
|
||||
"\n"
|
||||
" $ rm -r \"%s\""
|
||||
|
||||
#: home-manager/home-manager:153
|
||||
msgid "Sanity checking Nix"
|
||||
msgstr "Kontrola správnosti Nix"
|
||||
|
||||
#: home-manager/home-manager:173
|
||||
#: home-manager/home-manager:174
|
||||
msgid "Could not find suitable profile directory, tried %s and %s"
|
||||
msgstr "Nebyl nalezen vhodný adresář profilu, byly zkoušeny %s a %s"
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:230
|
||||
#: home-manager/home-manager:229
|
||||
msgid "Can't inspect options of a flake configuration"
|
||||
msgstr "Nelze ověřit parametry z konfigurace flake"
|
||||
|
||||
#: home-manager/home-manager:305 home-manager/home-manager:328
|
||||
#: home-manager/home-manager:734 home-manager/home-manager:1237
|
||||
#: home-manager/home-manager:291 home-manager/home-manager:314
|
||||
#: home-manager/home-manager:1034
|
||||
msgid "%s: unknown option '%s'"
|
||||
msgstr "%s: neznámý parametr '%s'"
|
||||
|
||||
#: home-manager/home-manager:310 home-manager/home-manager:1238
|
||||
#: home-manager/home-manager:296 home-manager/home-manager:1035
|
||||
msgid "Run '%s --help' for usage help"
|
||||
msgstr "Spusťte '%s --help' pro vypsání nápovědy"
|
||||
|
||||
#: home-manager/home-manager:336 home-manager/home-manager:441
|
||||
#: home-manager/home-manager:322 home-manager/home-manager:421
|
||||
msgid "The file %s already exists, leaving it unchanged..."
|
||||
msgstr "Soubor %s již existuje, ponechán beze změn..."
|
||||
|
||||
#: home-manager/home-manager:338 home-manager/home-manager:443
|
||||
#: home-manager/home-manager:324 home-manager/home-manager:423
|
||||
msgid "Creating %s..."
|
||||
msgstr "Vytvářím %s..."
|
||||
|
||||
#: home-manager/home-manager:487
|
||||
#: home-manager/home-manager:465
|
||||
msgid "Creating initial Home Manager generation..."
|
||||
msgstr "Vytvářím první generaci Home Manageru..."
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a file path.
|
||||
#: home-manager/home-manager:492
|
||||
#: home-manager/home-manager:470
|
||||
msgid ""
|
||||
"All done! The home-manager tool should now be installed and you can edit\n"
|
||||
"\n"
|
||||
@@ -153,7 +139,7 @@ msgstr ""
|
||||
"k zobrazení všech dostupných možností."
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a URL.
|
||||
#: home-manager/home-manager:497
|
||||
#: home-manager/home-manager:475
|
||||
msgid ""
|
||||
"Uh oh, the installation failed! Please create an issue at\n"
|
||||
"\n"
|
||||
@@ -167,11 +153,11 @@ msgstr ""
|
||||
" %s"
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:508
|
||||
#: home-manager/home-manager:486
|
||||
msgid "Can't instantiate a flake configuration"
|
||||
msgstr "Nelze vytvořit instanci flake konfigurace"
|
||||
|
||||
#: home-manager/home-manager:584
|
||||
#: home-manager/home-manager:562
|
||||
msgid ""
|
||||
"There is %d unread and relevant news item.\n"
|
||||
"Read it by running the command \"%s news\"."
|
||||
@@ -188,83 +174,75 @@ msgstr[2] ""
|
||||
"%d nepřečtených novinek.\n"
|
||||
"Přečtěte je pomocí příkazu \"%s news\"."
|
||||
|
||||
#: home-manager/home-manager:598
|
||||
#: home-manager/home-manager:576
|
||||
msgid "Unknown \"news.display\" setting \"%s\"."
|
||||
msgstr "Neznáme nastavení \"news.display\" \"%s\"."
|
||||
|
||||
#: home-manager/home-manager:606
|
||||
#: home-manager/home-manager:583
|
||||
#, sh-format
|
||||
msgid "Please set the $EDITOR or $VISUAL environment variable"
|
||||
msgstr "Nastavte, prosím, proměnnou prostředí $EDITOR nebo $VISUAL"
|
||||
msgid "Please set the $EDITOR environment variable"
|
||||
msgstr "Prosím nastavte proměnou prostředí $EDITOR"
|
||||
|
||||
#: home-manager/home-manager:624
|
||||
#: home-manager/home-manager:598
|
||||
msgid "Cannot run build in read-only directory"
|
||||
msgstr "Sestavení nelze provést v adresáři dostupném pouze pro čtení"
|
||||
|
||||
#: home-manager/home-manager:787
|
||||
msgid "The configuration did not contain the specialisation \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:841
|
||||
#: home-manager/home-manager:676
|
||||
msgid "No generation with ID %s"
|
||||
msgstr "Generace s ID %s neexistuje"
|
||||
|
||||
#: home-manager/home-manager:843
|
||||
#: home-manager/home-manager:678
|
||||
msgid "Cannot remove the current generation %s"
|
||||
msgstr "Nelze odstranit současnou generaci %s"
|
||||
|
||||
#: home-manager/home-manager:845
|
||||
#: home-manager/home-manager:680
|
||||
msgid "Removing generation %s"
|
||||
msgstr "Odstraňuji generaci %s"
|
||||
|
||||
#: home-manager/home-manager:866
|
||||
#: home-manager/home-manager:699
|
||||
msgid "No generations to expire"
|
||||
msgstr "Žádná generace k vypršení platnosti"
|
||||
|
||||
#: home-manager/home-manager:877
|
||||
#: home-manager/home-manager:710
|
||||
msgid "No home-manager packages seem to be installed."
|
||||
msgstr "Žádný home-manager balíček není nainstalován."
|
||||
|
||||
#: home-manager/home-manager:962
|
||||
#: home-manager/home-manager:792
|
||||
msgid "Unknown argument %s"
|
||||
msgstr "Neznámý parametr %s"
|
||||
|
||||
#: home-manager/home-manager:987
|
||||
#: home-manager/home-manager:816
|
||||
msgid "This will remove Home Manager from your system."
|
||||
msgstr "Toto odstraní Home Manager z vašeho systému."
|
||||
|
||||
#: home-manager/home-manager:990
|
||||
#: home-manager/home-manager:819
|
||||
msgid "This is a dry run, nothing will actually be uninstalled."
|
||||
msgstr "Toto zkouška na nečisto, nic nebude odinstalováno."
|
||||
|
||||
#: home-manager/home-manager:994
|
||||
#: home-manager/home-manager:823
|
||||
msgid "Really uninstall Home Manager?"
|
||||
msgstr "Opravdu odinstalovat Home Manager?"
|
||||
|
||||
#: home-manager/home-manager:1000
|
||||
#: home-manager/home-manager:829
|
||||
msgid "Switching to empty Home Manager configuration..."
|
||||
msgstr "Přepínám na prázdou konfiguraci Home Manageru..."
|
||||
|
||||
#: home-manager/home-manager:1015
|
||||
#: home-manager/home-manager:857
|
||||
msgid "Yay!"
|
||||
msgstr "Hurá!"
|
||||
|
||||
#: home-manager/home-manager:1020
|
||||
#: home-manager/home-manager:862
|
||||
msgid "Home Manager is uninstalled but your home.nix is left untouched."
|
||||
msgstr "Home Manager se odinstalovává, ale váš home.nix nebyl změněn."
|
||||
|
||||
#: home-manager/home-manager:1285
|
||||
#: home-manager/home-manager:1074
|
||||
msgid "expire-generations expects one argument, got %d."
|
||||
msgstr "expire-generations očekává jeden parametr, přítomno %d."
|
||||
|
||||
#: home-manager/home-manager:1310
|
||||
#: home-manager/home-manager:1096
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "Neznámý příkaz: %s"
|
||||
|
||||
#: home-manager/install.nix:21
|
||||
#: home-manager/install.nix:18
|
||||
msgid "This derivation is not buildable, please run it using nix-shell."
|
||||
msgstr "Tuto odvozeninu nelze sestavit, prosím spusťte ji pomocí nix-shell."
|
||||
|
||||
#, sh-format
|
||||
#~ msgid "Please set the $EDITOR environment variable"
|
||||
#~ msgstr "Prosím nastavte proměnou prostředí $EDITOR"
|
||||
|
||||
@@ -7,9 +7,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Home Manager\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
|
||||
"POT-Creation-Date: 2025-07-22 10:59+0200\n"
|
||||
"PO-Revision-Date: 2024-05-25 11:09+0000\n"
|
||||
"Last-Translator: DeeKahy <Lennart.Diego.Kahn@gmail.com>\n"
|
||||
"POT-Creation-Date: 2023-09-13 23:46+0200\n"
|
||||
"PO-Revision-Date: 2023-08-27 13:52+0000\n"
|
||||
"Last-Translator: cafkafk <christina@cafkafk.com>\n"
|
||||
"Language-Team: Danish <https://hosted.weblate.org/projects/home-manager/cli/"
|
||||
"da/>\n"
|
||||
"Language: da\n"
|
||||
@@ -17,52 +17,42 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.6-dev\n"
|
||||
"X-Generator: Weblate 5.0.1-dev\n"
|
||||
|
||||
#. translators: For example: "home-manager: missing argument for --cores"
|
||||
#: home-manager/home-manager:16
|
||||
msgid "%s: missing argument for %s"
|
||||
msgstr "%s: manglende argument for %s"
|
||||
|
||||
#. translators: For example: "home-manager: --rollback can only be used after switch"
|
||||
#: home-manager/home-manager:22
|
||||
msgid "%s: %s can only be used after %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:71
|
||||
#: home-manager/home-manager:81
|
||||
msgid "No configuration file found at %s"
|
||||
msgstr "Ingen konfigurationsfiler fundet ved %s"
|
||||
|
||||
#. translators: The first '%s' specifier will be replaced by either
|
||||
#. 'home.nix' or 'flake.nix'.
|
||||
#: home-manager/home-manager:88 home-manager/home-manager:92
|
||||
#: home-manager/home-manager:191
|
||||
#: home-manager/home-manager:98 home-manager/home-manager:102
|
||||
#: home-manager/home-manager:192
|
||||
msgid ""
|
||||
"Keeping your Home Manager %s in %s is deprecated,\n"
|
||||
"please move it to %s"
|
||||
msgstr ""
|
||||
"Det er forældet at holde Home Manager %s i %s,\n"
|
||||
"ryk den venligst til %s"
|
||||
"At have din Home Manager %s i %s er forældet,\n"
|
||||
"flyt den venligst til %s"
|
||||
|
||||
#: home-manager/home-manager:99
|
||||
#: home-manager/home-manager:109
|
||||
msgid "No configuration file found. Please create one at %s"
|
||||
msgstr "Ingen konfigurationsfiler fundet. Venligst lav en ved %s"
|
||||
|
||||
#: home-manager/home-manager:114
|
||||
#: home-manager/home-manager:124
|
||||
msgid "Home Manager not found at %s."
|
||||
msgstr "Home Manager blev ikke fundet ved %s."
|
||||
msgstr "Home Manager kan ikke findes under %s."
|
||||
|
||||
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
|
||||
#: home-manager/home-manager:122
|
||||
#: home-manager/home-manager:132
|
||||
msgid ""
|
||||
"The fallback Home Manager path %s has been deprecated and a file/directory "
|
||||
"was found there."
|
||||
msgstr ""
|
||||
"Det er forældet at bruge fallback Home Manager path %s og der blev fundet en "
|
||||
"fil/mappe der."
|
||||
"Fallback-stien til Home Manager %s er blevet forældet, og en fil/mappe blev "
|
||||
"fundet der."
|
||||
|
||||
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
|
||||
#: home-manager/home-manager:125
|
||||
#: home-manager/home-manager:135
|
||||
msgid ""
|
||||
"To remove this warning, do one of the following.\n"
|
||||
"\n"
|
||||
@@ -101,42 +91,38 @@ msgstr ""
|
||||
"\n"
|
||||
" $ rm -r \"%s\""
|
||||
|
||||
#: home-manager/home-manager:153
|
||||
msgid "Sanity checking Nix"
|
||||
msgstr "Tjekker fornuften af Nix"
|
||||
|
||||
#: home-manager/home-manager:173
|
||||
#: home-manager/home-manager:174
|
||||
msgid "Could not find suitable profile directory, tried %s and %s"
|
||||
msgstr "Kunne ikke finde en passende profilmappe, forsøgte %s og %s"
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:230
|
||||
#: home-manager/home-manager:229
|
||||
msgid "Can't inspect options of a flake configuration"
|
||||
msgstr "Kan ikke inspicere indstillinger af en flake konfiguration"
|
||||
|
||||
#: home-manager/home-manager:305 home-manager/home-manager:328
|
||||
#: home-manager/home-manager:734 home-manager/home-manager:1237
|
||||
#: home-manager/home-manager:291 home-manager/home-manager:314
|
||||
#: home-manager/home-manager:1034
|
||||
msgid "%s: unknown option '%s'"
|
||||
msgstr "%s: ukendt indstilling '%s'"
|
||||
|
||||
#: home-manager/home-manager:310 home-manager/home-manager:1238
|
||||
#: home-manager/home-manager:296 home-manager/home-manager:1035
|
||||
msgid "Run '%s --help' for usage help"
|
||||
msgstr "Kør '%s --help' for brugsvejledning"
|
||||
|
||||
#: home-manager/home-manager:336 home-manager/home-manager:441
|
||||
#: home-manager/home-manager:322 home-manager/home-manager:421
|
||||
msgid "The file %s already exists, leaving it unchanged..."
|
||||
msgstr "Filen %s eksisterer allerede, efterlader den uændret…"
|
||||
msgstr "Filen %s findes allerede, lader den være uændret..."
|
||||
|
||||
#: home-manager/home-manager:338 home-manager/home-manager:443
|
||||
#: home-manager/home-manager:324 home-manager/home-manager:423
|
||||
msgid "Creating %s..."
|
||||
msgstr "Opretter %s..."
|
||||
|
||||
#: home-manager/home-manager:487
|
||||
#: home-manager/home-manager:465
|
||||
msgid "Creating initial Home Manager generation..."
|
||||
msgstr "Laver initial Home Manager generation..."
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a file path.
|
||||
#: home-manager/home-manager:492
|
||||
#: home-manager/home-manager:470
|
||||
msgid ""
|
||||
"All done! The home-manager tool should now be installed and you can edit\n"
|
||||
"\n"
|
||||
@@ -154,7 +140,7 @@ msgstr ""
|
||||
"se alle de mulige indstillinger."
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a URL.
|
||||
#: home-manager/home-manager:497
|
||||
#: home-manager/home-manager:475
|
||||
msgid ""
|
||||
"Uh oh, the installation failed! Please create an issue at\n"
|
||||
"\n"
|
||||
@@ -169,11 +155,11 @@ msgstr ""
|
||||
"hvis fejlen fremstår som forskyldt af Home Manager."
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:508
|
||||
#: home-manager/home-manager:486
|
||||
msgid "Can't instantiate a flake configuration"
|
||||
msgstr "Kan ikke instantiere en flake konfiguration"
|
||||
|
||||
#: home-manager/home-manager:584
|
||||
#: home-manager/home-manager:562
|
||||
msgid ""
|
||||
"There is %d unread and relevant news item.\n"
|
||||
"Read it by running the command \"%s news\"."
|
||||
@@ -187,89 +173,81 @@ msgstr[1] ""
|
||||
"Der er %d ulæste og relavante nyheder.\n"
|
||||
"Læs dem ved at køre \"%s news\"."
|
||||
|
||||
#: home-manager/home-manager:598
|
||||
#: home-manager/home-manager:576
|
||||
msgid "Unknown \"news.display\" setting \"%s\"."
|
||||
msgstr "Ubekændt \"news.display\" indstilling \"%s\"."
|
||||
|
||||
#: home-manager/home-manager:606
|
||||
#: home-manager/home-manager:583
|
||||
#, sh-format
|
||||
msgid "Please set the $EDITOR or $VISUAL environment variable"
|
||||
msgstr "Indstil venligst miljøvariablen $EDITOR eller $VISUAL"
|
||||
msgid "Please set the $EDITOR environment variable"
|
||||
msgstr "Venligst sæt $EDITOR miljøvariablen"
|
||||
|
||||
#: home-manager/home-manager:624
|
||||
#: home-manager/home-manager:598
|
||||
msgid "Cannot run build in read-only directory"
|
||||
msgstr "Kan ikke bygge i en læs-kun folder"
|
||||
|
||||
#: home-manager/home-manager:787
|
||||
msgid "The configuration did not contain the specialisation \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:841
|
||||
#: home-manager/home-manager:676
|
||||
msgid "No generation with ID %s"
|
||||
msgstr "Ingen generation med ID %s"
|
||||
|
||||
#: home-manager/home-manager:843
|
||||
#: home-manager/home-manager:678
|
||||
msgid "Cannot remove the current generation %s"
|
||||
msgstr "Kan ikke fjerne den nuværende generation %s"
|
||||
|
||||
#: home-manager/home-manager:845
|
||||
#: home-manager/home-manager:680
|
||||
msgid "Removing generation %s"
|
||||
msgstr "Fjern generation %s"
|
||||
|
||||
#: home-manager/home-manager:866
|
||||
#: home-manager/home-manager:699
|
||||
msgid "No generations to expire"
|
||||
msgstr "Ingen generationer som skal udløbes"
|
||||
|
||||
#: home-manager/home-manager:877
|
||||
#: home-manager/home-manager:710
|
||||
msgid "No home-manager packages seem to be installed."
|
||||
msgstr ""
|
||||
"Det virker ikke som om der er nogle home-manager pakker der er installeret."
|
||||
|
||||
#: home-manager/home-manager:962
|
||||
#: home-manager/home-manager:792
|
||||
msgid "Unknown argument %s"
|
||||
msgstr "Ubekendt argument %s"
|
||||
|
||||
#: home-manager/home-manager:987
|
||||
#: home-manager/home-manager:816
|
||||
msgid "This will remove Home Manager from your system."
|
||||
msgstr "Dette vil fjerne Home Manager fra dit system."
|
||||
|
||||
#: home-manager/home-manager:990
|
||||
#: home-manager/home-manager:819
|
||||
msgid "This is a dry run, nothing will actually be uninstalled."
|
||||
msgstr "Dette er en tør kørsel, intet vil rent faktisk blive uinstalleret."
|
||||
|
||||
#: home-manager/home-manager:994
|
||||
#: home-manager/home-manager:823
|
||||
msgid "Really uninstall Home Manager?"
|
||||
msgstr "Virkelig uinstaller Home Manager?"
|
||||
|
||||
#: home-manager/home-manager:1000
|
||||
#: home-manager/home-manager:829
|
||||
msgid "Switching to empty Home Manager configuration..."
|
||||
msgstr "Skifter til tom Home Manager konfiguration..."
|
||||
|
||||
#: home-manager/home-manager:1015
|
||||
#: home-manager/home-manager:857
|
||||
msgid "Yay!"
|
||||
msgstr "Juhuu!"
|
||||
|
||||
#: home-manager/home-manager:1020
|
||||
#: home-manager/home-manager:862
|
||||
msgid "Home Manager is uninstalled but your home.nix is left untouched."
|
||||
msgstr ""
|
||||
"Home Manager bliver uinstalleret, men din home.nix bliver forladt uberørt."
|
||||
|
||||
#: home-manager/home-manager:1285
|
||||
#: home-manager/home-manager:1074
|
||||
msgid "expire-generations expects one argument, got %d."
|
||||
msgstr "expire-generations forventer et argument, fik %d."
|
||||
|
||||
#: home-manager/home-manager:1310
|
||||
#: home-manager/home-manager:1096
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "Ubekendt kommando: %s"
|
||||
|
||||
#: home-manager/install.nix:21
|
||||
#: home-manager/install.nix:18
|
||||
msgid "This derivation is not buildable, please run it using nix-shell."
|
||||
msgstr "Denne derivation er ikke bygbar, venligst kør den gennem nix-shell."
|
||||
|
||||
#, sh-format
|
||||
#~ msgid "Please set the $EDITOR environment variable"
|
||||
#~ msgstr "Venligst sæt $EDITOR miljøvariablen"
|
||||
|
||||
#~ msgid "Creating initial Home Manager configuration..."
|
||||
#~ msgstr "Laver initial Home Manager konfiguration..."
|
||||
|
||||
|
||||
@@ -7,9 +7,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Home Manager\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
|
||||
"POT-Creation-Date: 2025-07-22 10:59+0200\n"
|
||||
"PO-Revision-Date: 2025-09-04 09:01+0000\n"
|
||||
"Last-Translator: Josef Dalibor <josefkruse@googlemail.com>\n"
|
||||
"POT-Creation-Date: 2023-09-13 23:46+0200\n"
|
||||
"PO-Revision-Date: 2023-08-15 17:51+0000\n"
|
||||
"Last-Translator: Simon <xxyababx70@gmail.com>\n"
|
||||
"Language-Team: German <https://hosted.weblate.org/projects/home-manager/cli/"
|
||||
"de/>\n"
|
||||
"Language: de\n"
|
||||
@@ -17,43 +17,33 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.13.1-rc\n"
|
||||
"X-Generator: Weblate 5.0-dev\n"
|
||||
|
||||
#. translators: For example: "home-manager: missing argument for --cores"
|
||||
#: home-manager/home-manager:16
|
||||
msgid "%s: missing argument for %s"
|
||||
msgstr "%s: Fehlendes Argument für %s"
|
||||
|
||||
#. translators: For example: "home-manager: --rollback can only be used after switch"
|
||||
#: home-manager/home-manager:22
|
||||
msgid "%s: %s can only be used after %s"
|
||||
msgstr "%s: %s kann nur nach %s verwerdet werden"
|
||||
|
||||
#: home-manager/home-manager:71
|
||||
#: home-manager/home-manager:81
|
||||
msgid "No configuration file found at %s"
|
||||
msgstr "Keine Konfigurationsdatei unter %s gefunden"
|
||||
|
||||
#. translators: The first '%s' specifier will be replaced by either
|
||||
#. 'home.nix' or 'flake.nix'.
|
||||
#: home-manager/home-manager:88 home-manager/home-manager:92
|
||||
#: home-manager/home-manager:191
|
||||
#: home-manager/home-manager:98 home-manager/home-manager:102
|
||||
#: home-manager/home-manager:192
|
||||
msgid ""
|
||||
"Keeping your Home Manager %s in %s is deprecated,\n"
|
||||
"please move it to %s"
|
||||
msgstr ""
|
||||
"Das Speichern des Home Managers %s in %s ist veraltet,\n"
|
||||
"Bitte nach %s verschieben"
|
||||
"Das Beibehalten Ihres Home Manager %s in %s ist veraltet.\n"
|
||||
"Bitte verschieben Sie es nach %s"
|
||||
|
||||
#: home-manager/home-manager:99
|
||||
#: home-manager/home-manager:109
|
||||
msgid "No configuration file found. Please create one at %s"
|
||||
msgstr "Keine Konfigurationsdatei gefunden. Bitte erstellen Sie eine unter %s"
|
||||
|
||||
#: home-manager/home-manager:114
|
||||
#: home-manager/home-manager:124
|
||||
msgid "Home Manager not found at %s."
|
||||
msgstr "Home Manager nicht gefunden unter %s."
|
||||
|
||||
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
|
||||
#: home-manager/home-manager:122
|
||||
#: home-manager/home-manager:132
|
||||
msgid ""
|
||||
"The fallback Home Manager path %s has been deprecated and a file/directory "
|
||||
"was found there."
|
||||
@@ -62,7 +52,7 @@ msgstr ""
|
||||
"eine Datei/ein Verzeichnis dort gefunden."
|
||||
|
||||
#. 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:125
|
||||
#: home-manager/home-manager:135
|
||||
msgid ""
|
||||
"To remove this warning, do one of the following.\n"
|
||||
"\n"
|
||||
@@ -85,61 +75,53 @@ msgstr ""
|
||||
"Um diese Warnung zu entfernen, führen Sie einen der folgenden Schritte aus.\n"
|
||||
"\n"
|
||||
"1. Weisen Sie Home Manager explizit an, den Pfad zu verwenden, indem Sie z. "
|
||||
"B. :\n"
|
||||
"B. Folgendes zu Ihrer Konfiguration hinzufügen:\n"
|
||||
"\n"
|
||||
". . . . . { programs.home-manager.path = \"%s\"; }\n"
|
||||
" { programs.home-manager.path = \"%s\"; }\n"
|
||||
"\n"
|
||||
". . . zu Ihrer Konfiguration hinzufügen.\n"
|
||||
" Sollten Sie Home Manager direkt importieren, können Sie den Parameter "
|
||||
"`path` verwenden, wenn Sie das Home Manager-Paket aufrufen:\n"
|
||||
"\n"
|
||||
". . . Sollten Sie Home Manager direkt importieren, können Sie den Parameter "
|
||||
"`path`\n"
|
||||
"\n"
|
||||
". . . . . pkgs.callPackage /path/to/home-manager-package { path = \"%s\"; }\n"
|
||||
"\n"
|
||||
". . . verwenden, wenn Sie das Home Manager-Paket aufrufen:\n"
|
||||
" pkgs.callPackage /path/to/home-manager-package { path = \"%s\"; }\n"
|
||||
"\n"
|
||||
"2. Entfernen Sie den veralteten Pfad:\n"
|
||||
"\n"
|
||||
". . . . . $ rm -r \"%s\""
|
||||
" $ rm -r \"%s\""
|
||||
|
||||
#: home-manager/home-manager:153
|
||||
msgid "Sanity checking Nix"
|
||||
msgstr "Überprüfe zur Sicherheit Nix"
|
||||
|
||||
#: home-manager/home-manager:173
|
||||
#: home-manager/home-manager:174
|
||||
msgid "Could not find suitable profile directory, tried %s and %s"
|
||||
msgstr ""
|
||||
"Es konnte kein passendes Profilverzeichnis gefunden werden, %s und %s wurden "
|
||||
"versucht"
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:230
|
||||
#: home-manager/home-manager:229
|
||||
msgid "Can't inspect options of a flake configuration"
|
||||
msgstr "Die Optionen einer Flake-Konfiguration können nicht inspiziert werden"
|
||||
|
||||
#: home-manager/home-manager:305 home-manager/home-manager:328
|
||||
#: home-manager/home-manager:734 home-manager/home-manager:1237
|
||||
#: home-manager/home-manager:291 home-manager/home-manager:314
|
||||
#: home-manager/home-manager:1034
|
||||
msgid "%s: unknown option '%s'"
|
||||
msgstr "%s: unbekannte Option '%s'"
|
||||
|
||||
#: home-manager/home-manager:310 home-manager/home-manager:1238
|
||||
#: home-manager/home-manager:296 home-manager/home-manager:1035
|
||||
msgid "Run '%s --help' for usage help"
|
||||
msgstr "Führe '%s --help' aus, um Hilfe zur Verwendung zu erhalten"
|
||||
|
||||
#: home-manager/home-manager:336 home-manager/home-manager:441
|
||||
#: home-manager/home-manager:322 home-manager/home-manager:421
|
||||
msgid "The file %s already exists, leaving it unchanged..."
|
||||
msgstr "Die Datei %s existiert bereits, sie bleibt unverändert..."
|
||||
|
||||
#: home-manager/home-manager:338 home-manager/home-manager:443
|
||||
#: home-manager/home-manager:324 home-manager/home-manager:423
|
||||
msgid "Creating %s..."
|
||||
msgstr "Erstelle %s..."
|
||||
|
||||
#: home-manager/home-manager:487
|
||||
#: home-manager/home-manager:465
|
||||
msgid "Creating initial Home Manager generation..."
|
||||
msgstr "Erstelle initiale Home Manager Generation..."
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a file path.
|
||||
#: home-manager/home-manager:492
|
||||
#: home-manager/home-manager:470
|
||||
msgid ""
|
||||
"All done! The home-manager tool should now be installed and you can edit\n"
|
||||
"\n"
|
||||
@@ -150,14 +132,14 @@ msgid ""
|
||||
msgstr ""
|
||||
"Alles fertig! Das Home Manager Tool sollte nun installiert sein. Sie können\n"
|
||||
"\n"
|
||||
". . . . %s\n"
|
||||
" %s\n"
|
||||
"\n"
|
||||
"bearbeiten um Home Manager zu konfigurieren. Führen Sie 'man home-"
|
||||
"configuration.nix' aus,\n"
|
||||
"um alle verfügbaren Optionen zu sehen."
|
||||
"bearbeiten um Home Manager zu konfigurieren. Führen Sie\n"
|
||||
"'man home-configuration.nix' aus, um alle verfügbaren Optionen zu\n"
|
||||
"sehen."
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a URL.
|
||||
#: home-manager/home-manager:497
|
||||
#: home-manager/home-manager:475
|
||||
msgid ""
|
||||
"Uh oh, the installation failed! Please create an issue at\n"
|
||||
"\n"
|
||||
@@ -172,11 +154,11 @@ msgstr ""
|
||||
"falls der Fehler auf Home Manager zurückzuführen ist."
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:508
|
||||
#: home-manager/home-manager:486
|
||||
msgid "Can't instantiate a flake configuration"
|
||||
msgstr "Kann eine Flake-Konfiguration nicht instanziieren"
|
||||
|
||||
#: home-manager/home-manager:584
|
||||
#: home-manager/home-manager:562
|
||||
msgid ""
|
||||
"There is %d unread and relevant news item.\n"
|
||||
"Read it by running the command \"%s news\"."
|
||||
@@ -190,89 +172,81 @@ msgstr[1] ""
|
||||
"Es gibt %d ungelesene und relevante Nachrichten.\n"
|
||||
"Lesen Sie sie, indem Sie den Befehl \"%s news\" ausführen."
|
||||
|
||||
#: home-manager/home-manager:598
|
||||
#: home-manager/home-manager:576
|
||||
msgid "Unknown \"news.display\" setting \"%s\"."
|
||||
msgstr "Unbekannte \"news.display\" Einstellung \"%s\"."
|
||||
|
||||
#: home-manager/home-manager:606
|
||||
#: home-manager/home-manager:583
|
||||
#, sh-format
|
||||
msgid "Please set the $EDITOR or $VISUAL environment variable"
|
||||
msgstr "Bitte setzen Sie die Umgebungsvariablen $EDITOR oder $VISUAL"
|
||||
msgid "Please set the $EDITOR environment variable"
|
||||
msgstr "Bitte legen Sie die $EDITOR Variable fest"
|
||||
|
||||
#: home-manager/home-manager:624
|
||||
#: home-manager/home-manager:598
|
||||
msgid "Cannot run build in read-only directory"
|
||||
msgstr "Build kann nicht im schreibgeschützten Ordner ausgeführt werden"
|
||||
|
||||
#: home-manager/home-manager:787
|
||||
msgid "The configuration did not contain the specialisation \"%s\""
|
||||
msgstr "Die Konfiguration enthält keine Spezialisierung für \"%s\""
|
||||
|
||||
#: home-manager/home-manager:841
|
||||
#: home-manager/home-manager:676
|
||||
msgid "No generation with ID %s"
|
||||
msgstr "Keine Generation mit ID %s"
|
||||
|
||||
#: home-manager/home-manager:843
|
||||
#: home-manager/home-manager:678
|
||||
msgid "Cannot remove the current generation %s"
|
||||
msgstr "Die jetzige Generation %s kann nicht entfernt werden"
|
||||
|
||||
#: home-manager/home-manager:845
|
||||
#: home-manager/home-manager:680
|
||||
msgid "Removing generation %s"
|
||||
msgstr "Entferne Generation %s"
|
||||
|
||||
#: home-manager/home-manager:866
|
||||
#: home-manager/home-manager:699
|
||||
msgid "No generations to expire"
|
||||
msgstr "Keine ablaufenden Generationen"
|
||||
|
||||
#: home-manager/home-manager:877
|
||||
#: home-manager/home-manager:710
|
||||
msgid "No home-manager packages seem to be installed."
|
||||
msgstr "Es scheint, als ob keine Home Manager Pakete installiert sind."
|
||||
|
||||
#: home-manager/home-manager:962
|
||||
#: home-manager/home-manager:792
|
||||
msgid "Unknown argument %s"
|
||||
msgstr "Unbekannte Argumente %s"
|
||||
|
||||
#: home-manager/home-manager:987
|
||||
#: home-manager/home-manager:816
|
||||
msgid "This will remove Home Manager from your system."
|
||||
msgstr "Dies wird Home Manager von Ihrem System entfernen."
|
||||
|
||||
#: home-manager/home-manager:990
|
||||
#: home-manager/home-manager:819
|
||||
msgid "This is a dry run, nothing will actually be uninstalled."
|
||||
msgstr "Dies ist ein Probelauf, es wird nichts vom System deinstalliert."
|
||||
|
||||
#: home-manager/home-manager:994
|
||||
#: home-manager/home-manager:823
|
||||
msgid "Really uninstall Home Manager?"
|
||||
msgstr "Möchten Sie wirklich Home Manager deinstallieren?"
|
||||
|
||||
#: home-manager/home-manager:1000
|
||||
#: home-manager/home-manager:829
|
||||
msgid "Switching to empty Home Manager configuration..."
|
||||
msgstr "Wechsle zu einer leeren Home Manager Konfiguration..."
|
||||
|
||||
#: home-manager/home-manager:1015
|
||||
#: home-manager/home-manager:857
|
||||
msgid "Yay!"
|
||||
msgstr "Juhu!"
|
||||
|
||||
#: home-manager/home-manager:1020
|
||||
#: home-manager/home-manager:862
|
||||
msgid "Home Manager is uninstalled but your home.nix is left untouched."
|
||||
msgstr ""
|
||||
"Home Manager ist installiert, aber Ihre home.nix Datei bleibt unberührt."
|
||||
|
||||
#: home-manager/home-manager:1285
|
||||
#: home-manager/home-manager:1074
|
||||
msgid "expire-generations expects one argument, got %d."
|
||||
msgstr "expire-generations erwartet ein Argument, hat aber %d erhalten."
|
||||
|
||||
#: home-manager/home-manager:1310
|
||||
#: home-manager/home-manager:1096
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "Unbekannter Befehl: %s"
|
||||
|
||||
#: home-manager/install.nix:21
|
||||
#: home-manager/install.nix:18
|
||||
msgid "This derivation is not buildable, please run it using nix-shell."
|
||||
msgstr ""
|
||||
"Diese Derivation ist nicht kompilierbar. Bitte führen Sie nix-shell aus."
|
||||
|
||||
#, sh-format
|
||||
#~ msgid "Please set the $EDITOR environment variable"
|
||||
#~ msgstr "Bitte legen Sie die $EDITOR Variable fest"
|
||||
|
||||
#~ msgid "Sorry, this command is not yet supported in flake setup"
|
||||
#~ msgstr "Dieser Befehl wird im Flake-Setup leider noch nicht unterstützt"
|
||||
|
||||
|
||||
@@ -7,9 +7,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Home Manager\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
|
||||
"POT-Creation-Date: 2025-07-22 10:59+0200\n"
|
||||
"PO-Revision-Date: 2025-07-24 19:05+0000\n"
|
||||
"Last-Translator: Harrizon Soler <harryalex0281@hotmail.com>\n"
|
||||
"POT-Creation-Date: 2023-09-13 23:46+0200\n"
|
||||
"PO-Revision-Date: 2023-07-17 10:03+0000\n"
|
||||
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
|
||||
"Language-Team: Spanish <https://hosted.weblate.org/projects/home-manager/cli/"
|
||||
"es/>\n"
|
||||
"Language: es\n"
|
||||
@@ -17,26 +17,16 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.13-dev\n"
|
||||
"X-Generator: Weblate 5.0-dev\n"
|
||||
|
||||
#. translators: For example: "home-manager: missing argument for --cores"
|
||||
#: home-manager/home-manager:16
|
||||
msgid "%s: missing argument for %s"
|
||||
msgstr "%s: falta argumento para %s"
|
||||
|
||||
#. translators: For example: "home-manager: --rollback can only be used after switch"
|
||||
#: home-manager/home-manager:22
|
||||
msgid "%s: %s can only be used after %s"
|
||||
msgstr "%s: %s solo puede ser usado después de %s"
|
||||
|
||||
#: home-manager/home-manager:71
|
||||
#: home-manager/home-manager:81
|
||||
msgid "No configuration file found at %s"
|
||||
msgstr "Archivo de configuración no encontrado en %s"
|
||||
|
||||
#. translators: The first '%s' specifier will be replaced by either
|
||||
#. 'home.nix' or 'flake.nix'.
|
||||
#: home-manager/home-manager:88 home-manager/home-manager:92
|
||||
#: home-manager/home-manager:191
|
||||
#: home-manager/home-manager:98 home-manager/home-manager:102
|
||||
#: home-manager/home-manager:192
|
||||
msgid ""
|
||||
"Keeping your Home Manager %s in %s is deprecated,\n"
|
||||
"please move it to %s"
|
||||
@@ -44,16 +34,16 @@ msgstr ""
|
||||
"Mantener tu Home Manager %s en %s está obsoleto,\n"
|
||||
"por favor muévalo a %s"
|
||||
|
||||
#: home-manager/home-manager:99
|
||||
#: home-manager/home-manager:109
|
||||
msgid "No configuration file found. Please create one at %s"
|
||||
msgstr "Archivo de configuración no encontrado. Por favor cree uno en %s"
|
||||
|
||||
#: home-manager/home-manager:114
|
||||
#: home-manager/home-manager:124
|
||||
msgid "Home Manager not found at %s."
|
||||
msgstr "No se ha encontrado el Home Manager en %s."
|
||||
|
||||
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
|
||||
#: home-manager/home-manager:122
|
||||
#: home-manager/home-manager:132
|
||||
msgid ""
|
||||
"The fallback Home Manager path %s has been deprecated and a file/directory "
|
||||
"was found there."
|
||||
@@ -62,7 +52,7 @@ msgstr ""
|
||||
"archivo/directorio allí."
|
||||
|
||||
#. 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:125
|
||||
#: home-manager/home-manager:135
|
||||
msgid ""
|
||||
"To remove this warning, do one of the following.\n"
|
||||
"\n"
|
||||
@@ -101,44 +91,40 @@ msgstr ""
|
||||
"\n"
|
||||
" $ rm -r \"%s\""
|
||||
|
||||
#: home-manager/home-manager:153
|
||||
msgid "Sanity checking Nix"
|
||||
msgstr "Chequeando Nix"
|
||||
|
||||
#: home-manager/home-manager:173
|
||||
#: home-manager/home-manager:174
|
||||
msgid "Could not find suitable profile directory, tried %s and %s"
|
||||
msgstr ""
|
||||
"No se ha podido encontrar un directorio de perfiles adecuado, se ha probado "
|
||||
"con %s y %s"
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:230
|
||||
#: home-manager/home-manager:229
|
||||
msgid "Can't inspect options of a flake configuration"
|
||||
msgstr "No se pudo inspeccionar las opciones de la configuración flake"
|
||||
|
||||
#: home-manager/home-manager:305 home-manager/home-manager:328
|
||||
#: home-manager/home-manager:734 home-manager/home-manager:1237
|
||||
#: home-manager/home-manager:291 home-manager/home-manager:314
|
||||
#: home-manager/home-manager:1034
|
||||
msgid "%s: unknown option '%s'"
|
||||
msgstr "%s: opción desconocida '%s'"
|
||||
|
||||
#: home-manager/home-manager:310 home-manager/home-manager:1238
|
||||
#: home-manager/home-manager:296 home-manager/home-manager:1035
|
||||
msgid "Run '%s --help' for usage help"
|
||||
msgstr "Ejecute '%s --help' para ver ayuda"
|
||||
|
||||
#: home-manager/home-manager:336 home-manager/home-manager:441
|
||||
#: home-manager/home-manager:322 home-manager/home-manager:421
|
||||
msgid "The file %s already exists, leaving it unchanged..."
|
||||
msgstr "El fichero %s ya existe, dejándolo sin modificar..."
|
||||
|
||||
#: home-manager/home-manager:338 home-manager/home-manager:443
|
||||
#: home-manager/home-manager:324 home-manager/home-manager:423
|
||||
msgid "Creating %s..."
|
||||
msgstr "Creando %s..."
|
||||
|
||||
#: home-manager/home-manager:487
|
||||
#: home-manager/home-manager:465
|
||||
msgid "Creating initial Home Manager generation..."
|
||||
msgstr "Creando generación inicial de Home Manager..."
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a file path.
|
||||
#: home-manager/home-manager:492
|
||||
#: home-manager/home-manager:470
|
||||
msgid ""
|
||||
"All done! The home-manager tool should now be installed and you can edit\n"
|
||||
"\n"
|
||||
@@ -155,7 +141,7 @@ msgstr ""
|
||||
"ver todas las opciones disponibles."
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a URL.
|
||||
#: home-manager/home-manager:497
|
||||
#: home-manager/home-manager:475
|
||||
msgid ""
|
||||
"Uh oh, the installation failed! Please create an issue at\n"
|
||||
"\n"
|
||||
@@ -170,11 +156,11 @@ msgstr ""
|
||||
"si el error parecer ser culpa de Home Manager."
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:508
|
||||
#: home-manager/home-manager:486
|
||||
msgid "Can't instantiate a flake configuration"
|
||||
msgstr "No se pudo instanciar una configuración flake"
|
||||
|
||||
#: home-manager/home-manager:584
|
||||
#: home-manager/home-manager:562
|
||||
msgid ""
|
||||
"There is %d unread and relevant news item.\n"
|
||||
"Read it by running the command \"%s news\"."
|
||||
@@ -188,87 +174,79 @@ msgstr[1] ""
|
||||
"Hay %d noticias relevantes no leídas.\n"
|
||||
"Léalas ejecutando el comando \"%s news\"."
|
||||
|
||||
#: home-manager/home-manager:598
|
||||
#: home-manager/home-manager:576
|
||||
msgid "Unknown \"news.display\" setting \"%s\"."
|
||||
msgstr "Configuración \"news.display\" no reconocida \"%s\"."
|
||||
|
||||
#: home-manager/home-manager:606
|
||||
#: home-manager/home-manager:583
|
||||
#, sh-format
|
||||
msgid "Please set the $EDITOR or $VISUAL environment variable"
|
||||
msgstr "Por favor, defina la variable del entorno $EDITOR o $VISUAL"
|
||||
msgid "Please set the $EDITOR environment variable"
|
||||
msgstr "Defina la variable de ambiente $EDITOR"
|
||||
|
||||
#: home-manager/home-manager:624
|
||||
#: home-manager/home-manager:598
|
||||
msgid "Cannot run build in read-only directory"
|
||||
msgstr "No se puede ejecutar en un directorio de sólo lectura"
|
||||
|
||||
#: home-manager/home-manager:787
|
||||
msgid "The configuration did not contain the specialisation \"%s\""
|
||||
msgstr "La configuración no tenia incluida la especialización \"%s\""
|
||||
|
||||
#: home-manager/home-manager:841
|
||||
#: home-manager/home-manager:676
|
||||
msgid "No generation with ID %s"
|
||||
msgstr "No existe la generación con ID %s"
|
||||
|
||||
#: home-manager/home-manager:843
|
||||
#: home-manager/home-manager:678
|
||||
msgid "Cannot remove the current generation %s"
|
||||
msgstr "No se pudo borrar la generación actual %s"
|
||||
|
||||
#: home-manager/home-manager:845
|
||||
#: home-manager/home-manager:680
|
||||
msgid "Removing generation %s"
|
||||
msgstr "Borrando generación %s"
|
||||
|
||||
#: home-manager/home-manager:866
|
||||
#: home-manager/home-manager:699
|
||||
msgid "No generations to expire"
|
||||
msgstr "No se encontraron generaciones para expirar"
|
||||
|
||||
#: home-manager/home-manager:877
|
||||
#: home-manager/home-manager:710
|
||||
msgid "No home-manager packages seem to be installed."
|
||||
msgstr "No se encontró ningún paquete home-manager instalado."
|
||||
|
||||
#: home-manager/home-manager:962
|
||||
#: home-manager/home-manager:792
|
||||
msgid "Unknown argument %s"
|
||||
msgstr "Argumento desconocido %s"
|
||||
|
||||
#: home-manager/home-manager:987
|
||||
#: home-manager/home-manager:816
|
||||
msgid "This will remove Home Manager from your system."
|
||||
msgstr "Home Manager será borrado del sistema."
|
||||
|
||||
#: home-manager/home-manager:990
|
||||
#: home-manager/home-manager:819
|
||||
msgid "This is a dry run, nothing will actually be uninstalled."
|
||||
msgstr "Este es un simulacro, nada será realmente desinstalado."
|
||||
|
||||
#: home-manager/home-manager:994
|
||||
#: home-manager/home-manager:823
|
||||
msgid "Really uninstall Home Manager?"
|
||||
msgstr "Desinstalar Home Manager?"
|
||||
|
||||
#: home-manager/home-manager:1000
|
||||
#: home-manager/home-manager:829
|
||||
msgid "Switching to empty Home Manager configuration..."
|
||||
msgstr "Cambiando a configuración vacía de Home Manager..."
|
||||
|
||||
#: home-manager/home-manager:1015
|
||||
#: home-manager/home-manager:857
|
||||
msgid "Yay!"
|
||||
msgstr "Bien!"
|
||||
|
||||
#: home-manager/home-manager:1020
|
||||
#: home-manager/home-manager:862
|
||||
msgid "Home Manager is uninstalled but your home.nix is left untouched."
|
||||
msgstr "Home Manager desinstalado pero no se ha modificado home.nix."
|
||||
|
||||
#: home-manager/home-manager:1285
|
||||
#: home-manager/home-manager:1074
|
||||
msgid "expire-generations expects one argument, got %d."
|
||||
msgstr "expire-generations espera un argumento pero se dieron %d."
|
||||
|
||||
#: home-manager/home-manager:1310
|
||||
#: home-manager/home-manager:1096
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "Comando desconocido %s"
|
||||
|
||||
#: home-manager/install.nix:21
|
||||
#: home-manager/install.nix:18
|
||||
msgid "This derivation is not buildable, please run it using nix-shell."
|
||||
msgstr "Esta derivación no se puede construir, ejecute con nix-shell."
|
||||
|
||||
#, sh-format
|
||||
#~ msgid "Please set the $EDITOR environment variable"
|
||||
#~ msgstr "Defina la variable de ambiente $EDITOR"
|
||||
|
||||
#~ msgid "Sorry, this command is not yet supported in flake setup"
|
||||
#~ msgstr ""
|
||||
#~ "Lo sentimos, este comando aún no está soportado en la configuración de "
|
||||
|
||||
@@ -1,269 +0,0 @@
|
||||
# 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: 2025-07-22 10:59+0200\n"
|
||||
"PO-Revision-Date: 2025-09-20 10:01+0000\n"
|
||||
"Last-Translator: ShadowTiger Raptor <sh4dowtig3r@gmail.com>\n"
|
||||
"Language-Team: Basque <https://hosted.weblate.org/projects/home-manager/cli/"
|
||||
"eu/>\n"
|
||||
"Language: eu\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.14-dev\n"
|
||||
|
||||
#. translators: For example: "home-manager: missing argument for --cores"
|
||||
#: home-manager/home-manager:16
|
||||
msgid "%s: missing argument for %s"
|
||||
msgstr "%s: %s -(e)k argumentua falta du"
|
||||
|
||||
#. translators: For example: "home-manager: --rollback can only be used after switch"
|
||||
#: home-manager/home-manager:22
|
||||
msgid "%s: %s can only be used after %s"
|
||||
msgstr "%s: %s %s -(r)en ondoren bakarrik erabili daiteke"
|
||||
|
||||
#: home-manager/home-manager:71
|
||||
msgid "No configuration file found at %s"
|
||||
msgstr "Ez da konfigurazio fitxategirik topatu %s -n"
|
||||
|
||||
#. translators: The first '%s' specifier will be replaced by either
|
||||
#. 'home.nix' or 'flake.nix'.
|
||||
#: home-manager/home-manager:88 home-manager/home-manager:92
|
||||
#: home-manager/home-manager:191
|
||||
msgid ""
|
||||
"Keeping your Home Manager %s in %s is deprecated,\n"
|
||||
"please move it to %s"
|
||||
msgstr ""
|
||||
"Zure Home Manager-a %s %s -(r)en barruan izatea gaitzetsia dago,\n"
|
||||
"mesedez, mugizazu %s -ra"
|
||||
|
||||
#: home-manager/home-manager:99
|
||||
msgid "No configuration file found. Please create one at %s"
|
||||
msgstr "Ez da konfigurazio fitxategirik aurkitu. Mesedez sortuzazu bat %s -n"
|
||||
|
||||
#: home-manager/home-manager:114
|
||||
msgid "Home Manager not found at %s."
|
||||
msgstr "Ezin izan da Home Manager aurkitu %s -(r)(e)n barruan."
|
||||
|
||||
#. 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:122
|
||||
msgid ""
|
||||
"The fallback Home Manager path %s has been deprecated and a file/directory "
|
||||
"was found there."
|
||||
msgstr ""
|
||||
"Ordezko Home Manager bide-izena %s gaitzetsia dago eta fitxategi/karpeta bat "
|
||||
"aurkitu da han."
|
||||
|
||||
#. 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:125
|
||||
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 ""
|
||||
"Abisu hau kentzeko, egin hauetako bat.\n"
|
||||
"\n"
|
||||
"1. Espresuki adierazi Home Manager-ari bide-izena erabiltzeko, adibidez "
|
||||
"honako hau gehitzen\n"
|
||||
"\n"
|
||||
" { programs.home-manager.path = \"%s\"; }\n"
|
||||
"\n"
|
||||
" zure konfigurazioari.\n"
|
||||
"\n"
|
||||
" Home Manager-a zuzenean inportatuz gero `path` parametroa erabil "
|
||||
"dezakezu\n"
|
||||
"\n"
|
||||
" pkgs.callPackage /path/to/home-manager-package { path = \"%s\"; }\n"
|
||||
"\n"
|
||||
" Home Manager paketea deitzerakoan.\n"
|
||||
"\n"
|
||||
"2. Kendu bide-izen gaitzetsia.\n"
|
||||
"\n"
|
||||
" $ rm -r \"%s\""
|
||||
|
||||
#: home-manager/home-manager:153
|
||||
msgid "Sanity checking Nix"
|
||||
msgstr "Nix ikuskatzen"
|
||||
|
||||
#: home-manager/home-manager:173
|
||||
msgid "Could not find suitable profile directory, tried %s and %s"
|
||||
msgstr "Ezin izan da profil karpeta egokirik aurkitu, %s eta %s saiatu dira"
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:230
|
||||
msgid "Can't inspect options of a flake configuration"
|
||||
msgstr "Ezin dira flake baten konfigurazio aukerak arakatu"
|
||||
|
||||
#: home-manager/home-manager:305 home-manager/home-manager:328
|
||||
#: home-manager/home-manager:734 home-manager/home-manager:1237
|
||||
msgid "%s: unknown option '%s'"
|
||||
msgstr "%s: aukera ezezaguna '%s'"
|
||||
|
||||
#: home-manager/home-manager:310 home-manager/home-manager:1238
|
||||
msgid "Run '%s --help' for usage help"
|
||||
msgstr "'%s --help' exekutatu erabilera laguntzarako"
|
||||
|
||||
#: home-manager/home-manager:336 home-manager/home-manager:441
|
||||
msgid "The file %s already exists, leaving it unchanged..."
|
||||
msgstr "%s fitxategia jada existitzen da, aldaketarik gabe uzten..."
|
||||
|
||||
#: home-manager/home-manager:338 home-manager/home-manager:443
|
||||
msgid "Creating %s..."
|
||||
msgstr "%s sortzen..."
|
||||
|
||||
#: home-manager/home-manager:487
|
||||
msgid "Creating initial Home Manager generation..."
|
||||
msgstr "Home Manager-en hasierako generazioa sortzen..."
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a file path.
|
||||
#: home-manager/home-manager:492
|
||||
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 ""
|
||||
"Kito! home-manager erraminta instalatuta egon behar luke eta orain\n"
|
||||
"\n"
|
||||
" %s\n"
|
||||
"\n"
|
||||
"editatu zenezake Home Manager konfiguratzeko. 'man home-configuration.nix' "
|
||||
"exekutatu\n"
|
||||
"aukera guztiak ikusteko."
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a URL.
|
||||
#: home-manager/home-manager:497
|
||||
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 ""
|
||||
"Ai ene, instalazioak huts egin du! Mesedez jarkinarzi\n"
|
||||
"\n"
|
||||
" %s\n"
|
||||
"\n"
|
||||
"webgunean arazoa Home Manager-ena badirudi."
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:508
|
||||
msgid "Can't instantiate a flake configuration"
|
||||
msgstr "Ezin izan da flake ezarpen bat sortu"
|
||||
|
||||
#: home-manager/home-manager:584
|
||||
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] ""
|
||||
"Irakurri gabeko berri aipagarri %d dago .\n"
|
||||
"Irakurri ezazu \"%s news\" exekutatzen."
|
||||
msgstr[1] ""
|
||||
"Irakurri gabeko berri aipagarri %d daude .\n"
|
||||
"Irakurri itzazu \"%s news\" exekutatzen."
|
||||
|
||||
#: home-manager/home-manager:598
|
||||
msgid "Unknown \"news.display\" setting \"%s\"."
|
||||
msgstr "\"news.display\" ezarpen ezezaguna \"%s\"."
|
||||
|
||||
#: home-manager/home-manager:606
|
||||
#, sh-format
|
||||
msgid "Please set the $EDITOR or $VISUAL environment variable"
|
||||
msgstr "Mesedez, ezarri $EDITOR edo $VISUAL ingurumen aldagaia"
|
||||
|
||||
#: home-manager/home-manager:624
|
||||
msgid "Cannot run build in read-only directory"
|
||||
msgstr "Ezin da konpilazioa exekutatu irakurtzeko soilik den direktorioan"
|
||||
|
||||
#: home-manager/home-manager:787
|
||||
msgid "The configuration did not contain the specialisation \"%s\""
|
||||
msgstr "Konfigurazioak ez du \"%s\" espezializazioa izan"
|
||||
|
||||
#: home-manager/home-manager:841
|
||||
msgid "No generation with ID %s"
|
||||
msgstr "Ez dago generaziorik %s ID-arekin"
|
||||
|
||||
#: home-manager/home-manager:843
|
||||
msgid "Cannot remove the current generation %s"
|
||||
msgstr "Ezin da oraingo generazioa %s ezabatu"
|
||||
|
||||
#: home-manager/home-manager:845
|
||||
msgid "Removing generation %s"
|
||||
msgstr "%s generazioa ezabatzen"
|
||||
|
||||
#: home-manager/home-manager:866
|
||||
msgid "No generations to expire"
|
||||
msgstr "Ez dago generaziorik iraungitzeko"
|
||||
|
||||
#: home-manager/home-manager:877
|
||||
msgid "No home-manager packages seem to be installed."
|
||||
msgstr "Ez dirudi home-manager paketerik instalatuta dagoenik."
|
||||
|
||||
#: home-manager/home-manager:962
|
||||
msgid "Unknown argument %s"
|
||||
msgstr "Argumento ezezaguna: %s"
|
||||
|
||||
#: home-manager/home-manager:987
|
||||
msgid "This will remove Home Manager from your system."
|
||||
msgstr "Honek Home Manager zure sistematik ezabatuko du."
|
||||
|
||||
#: home-manager/home-manager:990
|
||||
msgid "This is a dry run, nothing will actually be uninstalled."
|
||||
msgstr "Hau itxurazko exekuzioa da, benetan ez da ezer desinstalatuko."
|
||||
|
||||
#: home-manager/home-manager:994
|
||||
msgid "Really uninstall Home Manager?"
|
||||
msgstr "Ziur zaude Home Manager desinstalatu nahi duzula?"
|
||||
|
||||
#: home-manager/home-manager:1000
|
||||
msgid "Switching to empty Home Manager configuration..."
|
||||
msgstr "Home Manager konfigurazio hutsera aldatzen..."
|
||||
|
||||
#: home-manager/home-manager:1015
|
||||
msgid "Yay!"
|
||||
msgstr "Primeran!"
|
||||
|
||||
#: home-manager/home-manager:1020
|
||||
msgid "Home Manager is uninstalled but your home.nix is left untouched."
|
||||
msgstr ""
|
||||
"Home Manager desinstalatua izan da baina zure home.nix fitxategia ez da "
|
||||
"ikutu."
|
||||
|
||||
#: home-manager/home-manager:1285
|
||||
msgid "expire-generations expects one argument, got %d."
|
||||
msgstr ""
|
||||
"expire-generations argumentu bakarra espero izan du, baina %d jaso ditu."
|
||||
|
||||
#: home-manager/home-manager:1310
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "Komando ezezaguna: %s"
|
||||
|
||||
#: home-manager/install.nix:21
|
||||
msgid "This derivation is not buildable, please run it using nix-shell."
|
||||
msgstr "Deribazioa ezin da konpilatu, mesedez exekutatu nix-shell erabiliz."
|
||||
@@ -7,10 +7,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Home Manager\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
|
||||
"POT-Creation-Date: 2025-07-22 10:59+0200\n"
|
||||
"PO-Revision-Date: 2025-05-28 12:05+0000\n"
|
||||
"Last-Translator: Parsa Nobahari <89968726+ParsaNobahari@users.noreply.github."
|
||||
"com>\n"
|
||||
"POT-Creation-Date: 2023-09-13 23:46+0200\n"
|
||||
"PO-Revision-Date: 2023-05-28 22:49+0000\n"
|
||||
"Last-Translator: Mohammad Abdolirad <m.abdolirad@gmail.com>\n"
|
||||
"Language-Team: Persian <https://hosted.weblate.org/projects/home-manager/cli/"
|
||||
"fa/>\n"
|
||||
"Language: fa\n"
|
||||
@@ -18,52 +17,38 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 5.12-dev\n"
|
||||
"X-Generator: Weblate 4.18-dev\n"
|
||||
|
||||
#. translators: For example: "home-manager: missing argument for --cores"
|
||||
#: home-manager/home-manager:16
|
||||
msgid "%s: missing argument for %s"
|
||||
msgstr "%s: مقدار %s یافت نشد"
|
||||
|
||||
#. translators: For example: "home-manager: --rollback can only be used after switch"
|
||||
#: home-manager/home-manager:22
|
||||
msgid "%s: %s can only be used after %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:71
|
||||
#: home-manager/home-manager:81
|
||||
msgid "No configuration file found at %s"
|
||||
msgstr "هیچ فایل کانفیگ در %s یافت نشد"
|
||||
msgstr "هیچ فایل تنظیماتی در %s پیدا نشد"
|
||||
|
||||
#. translators: The first '%s' specifier will be replaced by either
|
||||
#. 'home.nix' or 'flake.nix'.
|
||||
#: home-manager/home-manager:88 home-manager/home-manager:92
|
||||
#: home-manager/home-manager:191
|
||||
#: home-manager/home-manager:98 home-manager/home-manager:102
|
||||
#: home-manager/home-manager:192
|
||||
msgid ""
|
||||
"Keeping your Home Manager %s in %s is deprecated,\n"
|
||||
"please move it to %s"
|
||||
msgstr ""
|
||||
"نگه داری Home Manager شما %s در %s منسوخ شده است،\n"
|
||||
"لطفا آنرا به %s انتفال دهید"
|
||||
|
||||
#: home-manager/home-manager:99
|
||||
#: home-manager/home-manager:109
|
||||
msgid "No configuration file found. Please create one at %s"
|
||||
msgstr "هیچ فایل کانفیگ پیدا نشد. لطفا یک فایل در %s بسازید"
|
||||
msgstr "هیچ فایل تنظیماتی پیدا نشد. لطفا یک فایل در %s بسازید"
|
||||
|
||||
#: home-manager/home-manager:114
|
||||
#: home-manager/home-manager:124
|
||||
msgid "Home Manager not found at %s."
|
||||
msgstr "Home manager در %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:122
|
||||
#: home-manager/home-manager:132
|
||||
msgid ""
|
||||
"The fallback Home Manager path %s has been deprecated and a file/directory "
|
||||
"was found there."
|
||||
msgstr ""
|
||||
"مسیر زاپاس برای Home manager در %s منسوخ شده است اما یک فایل/دایرکتوری در "
|
||||
"این مسیر پیدا شد."
|
||||
|
||||
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
|
||||
#: home-manager/home-manager:125
|
||||
#: home-manager/home-manager:135
|
||||
msgid ""
|
||||
"To remove this warning, do one of the following.\n"
|
||||
"\n"
|
||||
@@ -83,61 +68,39 @@ msgid ""
|
||||
"\n"
|
||||
" $ rm -r \"%s\""
|
||||
msgstr ""
|
||||
"برای از بین بردن این اخطار, یکی از کار های زیر را انجام دهید.\n"
|
||||
"\n"
|
||||
"1. مسیر Home Manager را به صورت دقیق با اضافه کردن خط زیر\n"
|
||||
"\n"
|
||||
" { programs.home-manager.path = \"%s\"; }\n"
|
||||
"\n"
|
||||
"به کانفیگ خود, تعریف کنید\n"
|
||||
"\n"
|
||||
"اگر Home Manager را به طور مستقیم import کرده اید, میتوانید از پارامتر "
|
||||
"`path` استفاده کنید\n"
|
||||
"\n"
|
||||
" pkgs.callPackage /path/to/home-manager-package { path = \"%s\"; }\n"
|
||||
"\n"
|
||||
"برای هنگامی که دارید پکیج Home Manager را صدا میزنید\n"
|
||||
"\n"
|
||||
"2. مسیر منسوخ شده را پاک کنید\n"
|
||||
"\n"
|
||||
" $ rm -r \"%s\""
|
||||
|
||||
#: home-manager/home-manager:153
|
||||
msgid "Sanity checking Nix"
|
||||
msgstr "چک کردن پایداری Nix"
|
||||
|
||||
#: home-manager/home-manager:173
|
||||
#: home-manager/home-manager:174
|
||||
msgid "Could not find suitable profile directory, tried %s and %s"
|
||||
msgstr "بعد از امتحان کردن %s و %s , دایرکتوری مناسب برای پروفایل یافت نشد"
|
||||
msgstr ""
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:230
|
||||
#: home-manager/home-manager:229
|
||||
msgid "Can't inspect options of a flake configuration"
|
||||
msgstr "عدم امکان بررسی گزینههای تنظیمات Flake"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:305 home-manager/home-manager:328
|
||||
#: home-manager/home-manager:734 home-manager/home-manager:1237
|
||||
#: home-manager/home-manager:291 home-manager/home-manager:314
|
||||
#: home-manager/home-manager:1034
|
||||
msgid "%s: unknown option '%s'"
|
||||
msgstr "%s: آپشن مورد نظر شما یافت نشد %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:310 home-manager/home-manager:1238
|
||||
#: home-manager/home-manager:296 home-manager/home-manager:1035
|
||||
msgid "Run '%s --help' for usage help"
|
||||
msgstr "%s --help برای دیدن راهنمایی دستور رو به رو را اجرا کنید"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:336 home-manager/home-manager:441
|
||||
#: home-manager/home-manager:322 home-manager/home-manager:421
|
||||
msgid "The file %s already exists, leaving it unchanged..."
|
||||
msgstr "فایل %s از قبل وجود داشته است، بدون تغییر رها شد..."
|
||||
|
||||
#: home-manager/home-manager:338 home-manager/home-manager:443
|
||||
#: home-manager/home-manager:324 home-manager/home-manager:423
|
||||
msgid "Creating %s..."
|
||||
msgstr "درحال ساختن %s..."
|
||||
msgstr "ساختن %s..."
|
||||
|
||||
#: home-manager/home-manager:487
|
||||
#: home-manager/home-manager:465
|
||||
msgid "Creating initial Home Manager generation..."
|
||||
msgstr "در حال ساخت نسل اولیه Home Manager..."
|
||||
msgstr ""
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a file path.
|
||||
#: home-manager/home-manager:492
|
||||
#: home-manager/home-manager:470
|
||||
msgid ""
|
||||
"All done! The home-manager tool should now be installed and you can edit\n"
|
||||
"\n"
|
||||
@@ -146,15 +109,9 @@ msgid ""
|
||||
"to configure Home Manager. Run 'man home-configuration.nix' to\n"
|
||||
"see all available options."
|
||||
msgstr ""
|
||||
"پایان! ابزار home-manager نصب شده است و شما میتوانید با تغییر دادن فایل\n"
|
||||
"\n"
|
||||
" %s\n"
|
||||
"\n"
|
||||
"تنظیمات Home Manager خود را تغییر دهید. برای دیدن همه ی تنظیمات موجود\n"
|
||||
"دستور 'man home-configuration.nix' را اجرا کنید."
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a URL.
|
||||
#: home-manager/home-manager:497
|
||||
#: home-manager/home-manager:475
|
||||
msgid ""
|
||||
"Uh oh, the installation failed! Please create an issue at\n"
|
||||
"\n"
|
||||
@@ -162,18 +119,13 @@ msgid ""
|
||||
"\n"
|
||||
"if the error seems to be the fault of Home Manager."
|
||||
msgstr ""
|
||||
"ای بابا، فرایند نصب با شکست مواجه شد! لطفا یک issue بسازید در\n"
|
||||
"\n"
|
||||
" %s\n"
|
||||
"\n"
|
||||
"اگر بنظر میرسد مشکل از Home Manager است."
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:508
|
||||
#: home-manager/home-manager:486
|
||||
msgid "Can't instantiate a flake configuration"
|
||||
msgstr "عدم امکان نمونهسازی کانفیگ flake"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:584
|
||||
#: home-manager/home-manager:562
|
||||
msgid ""
|
||||
"There is %d unread and relevant news item.\n"
|
||||
"Read it by running the command \"%s news\"."
|
||||
@@ -181,92 +133,81 @@ msgid_plural ""
|
||||
"There are %d unread and relevant news items.\n"
|
||||
"Read them by running the command \"%s news\"."
|
||||
msgstr[0] ""
|
||||
"%d خبر خوانده نشده وجود دارد.\n"
|
||||
"میتوانید آن را با اجرای دستور \"%s news\" بخوانید."
|
||||
msgstr[1] ""
|
||||
"%d خبر خوانده نشده وجود دارد.\n"
|
||||
"میتوانید آنها را با اجرای دستور \"%s news\" بخوانید."
|
||||
|
||||
#: home-manager/home-manager:598
|
||||
#: home-manager/home-manager:576
|
||||
msgid "Unknown \"news.display\" setting \"%s\"."
|
||||
msgstr "تنظیمات \"news.display\" در \"%s\" شناخته شده نیست."
|
||||
|
||||
#: home-manager/home-manager:606
|
||||
#, sh-format
|
||||
msgid "Please set the $EDITOR or $VISUAL environment variable"
|
||||
msgstr "لطفا متغیر محلی $EDITOR و یا $VISUAL را تنظیم کنید"
|
||||
|
||||
#: home-manager/home-manager:624
|
||||
msgid "Cannot run build in read-only directory"
|
||||
msgstr "نمیتوان دستور build را در یک دایکتوری read-only اجرا کرد"
|
||||
|
||||
#: home-manager/home-manager:787
|
||||
msgid "The configuration did not contain the specialisation \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:841
|
||||
msgid "No generation with ID %s"
|
||||
msgstr "هیچ نسلای با شناسه %s یافت نشد"
|
||||
#: home-manager/home-manager:583
|
||||
#, sh-format
|
||||
msgid "Please set the $EDITOR environment variable"
|
||||
msgstr "لطفا متغیر محیطی $EDITOR را مقدار دهی کنید"
|
||||
|
||||
#: home-manager/home-manager:843
|
||||
#: home-manager/home-manager:598
|
||||
msgid "Cannot run build in read-only directory"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:676
|
||||
msgid "No generation with ID %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:678
|
||||
msgid "Cannot remove the current generation %s"
|
||||
msgstr "نمیتوان نسل فعلی %s را حذف کرد"
|
||||
|
||||
#: home-manager/home-manager:845
|
||||
#: home-manager/home-manager:680
|
||||
msgid "Removing generation %s"
|
||||
msgstr "حذف کردن نسل %s"
|
||||
|
||||
#: home-manager/home-manager:866
|
||||
#: home-manager/home-manager:699
|
||||
msgid "No generations to expire"
|
||||
msgstr "هیچ نسلی برای منسوخ کردن وجود ندارد"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:877
|
||||
#: home-manager/home-manager:710
|
||||
msgid "No home-manager packages seem to be installed."
|
||||
msgstr "بنظر میاید هیچ پکیجی از home-manager نصب نشده است."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:962
|
||||
#: home-manager/home-manager:792
|
||||
msgid "Unknown argument %s"
|
||||
msgstr "پارامتر %s شناخته نشده است"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:987
|
||||
#: home-manager/home-manager:816
|
||||
msgid "This will remove Home Manager from your system."
|
||||
msgstr "این عمل Home Manager را از سیستم شما حذف میکند."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:990
|
||||
#: home-manager/home-manager:819
|
||||
msgid "This is a dry run, nothing will actually be uninstalled."
|
||||
msgstr "این یک عمل آزمایشی است, قرار نیست چیزی واقعا حذف شود."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:994
|
||||
#: home-manager/home-manager:823
|
||||
msgid "Really uninstall Home Manager?"
|
||||
msgstr "واقعا میخواهید Home Manager را حذف کنید؟"
|
||||
msgstr "واقعاً هوم منیجر را حذف نصب کنید؟"
|
||||
|
||||
#: home-manager/home-manager:1000
|
||||
#: home-manager/home-manager:829
|
||||
msgid "Switching to empty Home Manager configuration..."
|
||||
msgstr "در حال انتقال به کانفیگ خالی Home Manager..."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1015
|
||||
#: home-manager/home-manager:857
|
||||
#, fuzzy
|
||||
msgid "Yay!"
|
||||
msgstr "ایول!"
|
||||
msgstr "آره!"
|
||||
|
||||
#: home-manager/home-manager:1020
|
||||
#: home-manager/home-manager:862
|
||||
msgid "Home Manager is uninstalled but your home.nix is left untouched."
|
||||
msgstr "Home Manager حذف نصب شد اما home.nix شما دست نخورده باقی ماند."
|
||||
msgstr "هوم منیجر حذف نصب شد اما home.nix شما دست نخورده باقی ماند."
|
||||
|
||||
#: home-manager/home-manager:1285
|
||||
#: home-manager/home-manager:1074
|
||||
msgid "expire-generations expects one argument, got %d."
|
||||
msgstr "expire-generations یک پارامتر نیاز دارد, اما %d پارامتر دریافت کرد."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1310
|
||||
#: home-manager/home-manager:1096
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "دستور ناشناخته: %s"
|
||||
|
||||
#: home-manager/install.nix:21
|
||||
#: home-manager/install.nix:18
|
||||
msgid "This derivation is not buildable, please run it using nix-shell."
|
||||
msgstr "این نسخه قابل build کردن نیست, لطفا آن را با nix-shell اجرا کنید."
|
||||
|
||||
#, sh-format
|
||||
#~ msgid "Please set the $EDITOR environment variable"
|
||||
#~ msgstr "لطفا متغیر محیطی $EDITOR را مقدار دهی کنید"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Creating initial Home Manager configuration..."
|
||||
#~ msgstr "ایجاد تنظیمات اولیه Home-Manager..."
|
||||
|
||||
@@ -7,60 +7,46 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Home Manager\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
|
||||
"POT-Creation-Date: 2025-07-22 10:59+0200\n"
|
||||
"PO-Revision-Date: 2025-07-29 05:02+0000\n"
|
||||
"Last-Translator: jarre johansson <jarre@johansson.today>\n"
|
||||
"Language-Team: Finnish <https://hosted.weblate.org/projects/home-manager/cli/"
|
||||
"fi/>\n"
|
||||
"POT-Creation-Date: 2023-09-13 23:46+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: fi\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.13-dev\n"
|
||||
|
||||
#. translators: For example: "home-manager: missing argument for --cores"
|
||||
#: home-manager/home-manager:16
|
||||
msgid "%s: missing argument for %s"
|
||||
msgstr "%s: puuttuva argumentti kohteelle %s"
|
||||
|
||||
#. translators: For example: "home-manager: --rollback can only be used after switch"
|
||||
#: home-manager/home-manager:22
|
||||
msgid "%s: %s can only be used after %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:71
|
||||
#: home-manager/home-manager:81
|
||||
msgid "No configuration file found at %s"
|
||||
msgstr "Kokoonpanotiedostoa ei löydy %s:sta"
|
||||
msgstr ""
|
||||
|
||||
#. translators: The first '%s' specifier will be replaced by either
|
||||
#. 'home.nix' or 'flake.nix'.
|
||||
#: home-manager/home-manager:88 home-manager/home-manager:92
|
||||
#: home-manager/home-manager:191
|
||||
#: home-manager/home-manager:98 home-manager/home-manager:102
|
||||
#: home-manager/home-manager:192
|
||||
msgid ""
|
||||
"Keeping your Home Manager %s in %s is deprecated,\n"
|
||||
"please move it to %s"
|
||||
msgstr ""
|
||||
"Home Managerin %s pitäminen %s:ssa on vanhentunut.\n"
|
||||
"ole hyvä ja siirrä se %s:een"
|
||||
|
||||
#: home-manager/home-manager:99
|
||||
#: home-manager/home-manager:109
|
||||
msgid "No configuration file found. Please create one at %s"
|
||||
msgstr "Kokoonpanotiedostoa ei löytynyt. Luo sellainen %s:lla"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:114
|
||||
#: home-manager/home-manager:124
|
||||
msgid "Home Manager not found at %s."
|
||||
msgstr "Home Manageria ei löytynyt sijainnista %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:122
|
||||
#: home-manager/home-manager:132
|
||||
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:125
|
||||
#: home-manager/home-manager:135
|
||||
msgid ""
|
||||
"To remove this warning, do one of the following.\n"
|
||||
"\n"
|
||||
@@ -81,42 +67,38 @@ msgid ""
|
||||
" $ rm -r \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:153
|
||||
msgid "Sanity checking Nix"
|
||||
msgstr "Nixin eheys tarkistetaan"
|
||||
|
||||
#: home-manager/home-manager:173
|
||||
#: home-manager/home-manager:174
|
||||
msgid "Could not find suitable profile directory, tried %s and %s"
|
||||
msgstr "Sopivaa profiilihakemistoa ei löytynyt, yritettiin %s ja %s"
|
||||
msgstr ""
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:230
|
||||
#: home-manager/home-manager:229
|
||||
msgid "Can't inspect options of a flake configuration"
|
||||
msgstr "Flake-konfiguraation asetuksia ei voi tarkastella"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:305 home-manager/home-manager:328
|
||||
#: home-manager/home-manager:734 home-manager/home-manager:1237
|
||||
#: home-manager/home-manager:291 home-manager/home-manager:314
|
||||
#: home-manager/home-manager:1034
|
||||
msgid "%s: unknown option '%s'"
|
||||
msgstr "%s: tuntematon optio '%s'"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:310 home-manager/home-manager:1238
|
||||
#: home-manager/home-manager:296 home-manager/home-manager:1035
|
||||
msgid "Run '%s --help' for usage help"
|
||||
msgstr "Aja '%s --help' saadaksesi käyttöohjeita"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:336 home-manager/home-manager:441
|
||||
#: home-manager/home-manager:322 home-manager/home-manager:421
|
||||
msgid "The file %s already exists, leaving it unchanged..."
|
||||
msgstr "Tiedosto %s on jo olemassa, jätetään se muuttumattomaksi..."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:338 home-manager/home-manager:443
|
||||
#: home-manager/home-manager:324 home-manager/home-manager:423
|
||||
msgid "Creating %s..."
|
||||
msgstr "Luodaan tiedostoa %s..."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:487
|
||||
#: home-manager/home-manager:465
|
||||
msgid "Creating initial Home Manager generation..."
|
||||
msgstr "Luodaan alkuperäistä Home Manager -generaatiota..."
|
||||
msgstr ""
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a file path.
|
||||
#: home-manager/home-manager:492
|
||||
#: home-manager/home-manager:470
|
||||
msgid ""
|
||||
"All done! The home-manager tool should now be installed and you can edit\n"
|
||||
"\n"
|
||||
@@ -127,7 +109,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a URL.
|
||||
#: home-manager/home-manager:497
|
||||
#: home-manager/home-manager:475
|
||||
msgid ""
|
||||
"Uh oh, the installation failed! Please create an issue at\n"
|
||||
"\n"
|
||||
@@ -137,11 +119,11 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:508
|
||||
#: home-manager/home-manager:486
|
||||
msgid "Can't instantiate a flake configuration"
|
||||
msgstr "Flake-konfiguraatiota ei voi luoda"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:584
|
||||
#: home-manager/home-manager:562
|
||||
msgid ""
|
||||
"There is %d unread and relevant news item.\n"
|
||||
"Read it by running the command \"%s news\"."
|
||||
@@ -149,87 +131,77 @@ msgid_plural ""
|
||||
"There are %d unread and relevant news items.\n"
|
||||
"Read them by running the command \"%s news\"."
|
||||
msgstr[0] ""
|
||||
"Sinulla on %d lukematon ja oleellinen uutisartikkeli.\n"
|
||||
"Lue se ajamalla komento \"%s news\"."
|
||||
msgstr[1] ""
|
||||
"Sinulla on %d lukematonta ja oleellista uutisartikkelia.\n"
|
||||
"Lue ne ajamalla komento \"%s news\"."
|
||||
|
||||
#: home-manager/home-manager:576
|
||||
msgid "Unknown \"news.display\" setting \"%s\"."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:583
|
||||
#, sh-format
|
||||
msgid "Please set the $EDITOR environment variable"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:598
|
||||
msgid "Unknown \"news.display\" setting \"%s\"."
|
||||
msgstr "Tuntematon asetus \"news.display\" \"%s\"."
|
||||
|
||||
#: home-manager/home-manager:606
|
||||
#, sh-format
|
||||
msgid "Please set the $EDITOR or $VISUAL environment variable"
|
||||
msgstr "Aseta $EDITOR- tai $VISUAL-ympäristömuuttujaksi"
|
||||
|
||||
#: home-manager/home-manager:624
|
||||
msgid "Cannot run build in read-only directory"
|
||||
msgstr "Käännöstä ei voi suorittaa kirjoitussuojatussa hakemistossa"
|
||||
|
||||
#: home-manager/home-manager:787
|
||||
msgid "The configuration did not contain the specialisation \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:841
|
||||
#: home-manager/home-manager:676
|
||||
msgid "No generation with ID %s"
|
||||
msgstr "ID:llä %s ei löytynyt yhtään versiota"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:843
|
||||
#: home-manager/home-manager:678
|
||||
msgid "Cannot remove the current generation %s"
|
||||
msgstr "Nykyistä generaatiota %s ei voi poistaa"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:845
|
||||
#: home-manager/home-manager:680
|
||||
msgid "Removing generation %s"
|
||||
msgstr "Generaatio %s poistetaan"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:866
|
||||
#: home-manager/home-manager:699
|
||||
msgid "No generations to expire"
|
||||
msgstr "Ei vanhentuvia versioita"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:877
|
||||
#: home-manager/home-manager:710
|
||||
msgid "No home-manager packages seem to be installed."
|
||||
msgstr "Näyttää siltä, ettei yhtään home-manager-pakettia ole asennettu."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:962
|
||||
#: home-manager/home-manager:792
|
||||
msgid "Unknown argument %s"
|
||||
msgstr "Tuntematon argumentti %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:987
|
||||
#: home-manager/home-manager:816
|
||||
msgid "This will remove Home Manager from your system."
|
||||
msgstr "Tämä poistaa Home Managerin järjestelmästäsi."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:990
|
||||
#: home-manager/home-manager:819
|
||||
msgid "This is a dry run, nothing will actually be uninstalled."
|
||||
msgstr "Tämä on kuivaharjoitus, mitään ei oikeasti poisteta."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:994
|
||||
#: home-manager/home-manager:823
|
||||
msgid "Really uninstall Home Manager?"
|
||||
msgstr "Haluatko varmasti poistaa Home Managerin?"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1000
|
||||
#: home-manager/home-manager:829
|
||||
msgid "Switching to empty Home Manager configuration..."
|
||||
msgstr "Vaihdetaan tyhjään Home Manager -konfiguraatioon..."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1015
|
||||
#: home-manager/home-manager:857
|
||||
msgid "Yay!"
|
||||
msgstr "Jes!"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1020
|
||||
#: home-manager/home-manager:862
|
||||
msgid "Home Manager is uninstalled but your home.nix is left untouched."
|
||||
msgstr ""
|
||||
"Home Manager on poistettu, mutta home.nix-tiedostosi jää koskemattomaksi."
|
||||
|
||||
#: home-manager/home-manager:1285
|
||||
#: home-manager/home-manager:1074
|
||||
msgid "expire-generations expects one argument, got %d."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1310
|
||||
#: home-manager/home-manager:1096
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "Tuntematon komento: %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/install.nix:21
|
||||
#: home-manager/install.nix:18
|
||||
msgid "This derivation is not buildable, please run it using nix-shell."
|
||||
msgstr ""
|
||||
"Tätä derivointia ei voi rakentaa suoraan, suorita se käyttämällä nix-shelliä."
|
||||
|
||||
@@ -1,227 +0,0 @@
|
||||
# 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: 2025-07-22 10:59+0200\n"
|
||||
"PO-Revision-Date: 2025-11-30 14:00+0000\n"
|
||||
"Last-Translator: Brian E <brianellingsgaard9@gmail.com>\n"
|
||||
"Language-Team: Faroese <https://hosted.weblate.org/projects/home-manager/cli/"
|
||||
"fo/>\n"
|
||||
"Language: fo\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.15-dev\n"
|
||||
|
||||
#. translators: For example: "home-manager: missing argument for --cores"
|
||||
#: home-manager/home-manager:16
|
||||
msgid "%s: missing argument for %s"
|
||||
msgstr "%s: manglar eitt ávirki fyri %s"
|
||||
|
||||
#. translators: For example: "home-manager: --rollback can only be used after switch"
|
||||
#: home-manager/home-manager:22
|
||||
msgid "%s: %s can only be used after %s"
|
||||
msgstr "%s: %s kann bert brúkast aftaná %s"
|
||||
|
||||
#: home-manager/home-manager:71
|
||||
msgid "No configuration file found at %s"
|
||||
msgstr "Eingin samansetingsfíla funni hjá %s"
|
||||
|
||||
#. translators: The first '%s' specifier will be replaced by either
|
||||
#. 'home.nix' or 'flake.nix'.
|
||||
#: home-manager/home-manager:88 home-manager/home-manager:92
|
||||
#: home-manager/home-manager:191
|
||||
msgid ""
|
||||
"Keeping your Home Manager %s in %s is deprecated,\n"
|
||||
"please move it to %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:99
|
||||
msgid "No configuration file found. Please create one at %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:114
|
||||
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:122
|
||||
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:125
|
||||
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:153
|
||||
msgid "Sanity checking Nix"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:173
|
||||
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:230
|
||||
msgid "Can't inspect options of a flake configuration"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:305 home-manager/home-manager:328
|
||||
#: home-manager/home-manager:734 home-manager/home-manager:1237
|
||||
msgid "%s: unknown option '%s'"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:310 home-manager/home-manager:1238
|
||||
msgid "Run '%s --help' for usage help"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:336 home-manager/home-manager:441
|
||||
msgid "The file %s already exists, leaving it unchanged..."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:338 home-manager/home-manager:443
|
||||
msgid "Creating %s..."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:487
|
||||
msgid "Creating initial Home Manager generation..."
|
||||
msgstr ""
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a file path.
|
||||
#: home-manager/home-manager:492
|
||||
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:497
|
||||
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:508
|
||||
msgid "Can't instantiate a flake configuration"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:584
|
||||
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:598
|
||||
msgid "Unknown \"news.display\" setting \"%s\"."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:606
|
||||
#, sh-format
|
||||
msgid "Please set the $EDITOR or $VISUAL environment variable"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:624
|
||||
msgid "Cannot run build in read-only directory"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:787
|
||||
msgid "The configuration did not contain the specialisation \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:841
|
||||
msgid "No generation with ID %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:843
|
||||
msgid "Cannot remove the current generation %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:845
|
||||
msgid "Removing generation %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:866
|
||||
msgid "No generations to expire"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:877
|
||||
msgid "No home-manager packages seem to be installed."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:962
|
||||
msgid "Unknown argument %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:987
|
||||
msgid "This will remove Home Manager from your system."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:990
|
||||
msgid "This is a dry run, nothing will actually be uninstalled."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:994
|
||||
msgid "Really uninstall Home Manager?"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1000
|
||||
msgid "Switching to empty Home Manager configuration..."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1015
|
||||
msgid "Yay!"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1020
|
||||
msgid "Home Manager is uninstalled but your home.nix is left untouched."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1285
|
||||
msgid "expire-generations expects one argument, got %d."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1310
|
||||
msgid "Unknown command: %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/install.nix:21
|
||||
msgid "This derivation is not buildable, please run it using nix-shell."
|
||||
msgstr ""
|
||||
@@ -7,9 +7,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Home Manager\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
|
||||
"POT-Creation-Date: 2025-07-22 10:59+0200\n"
|
||||
"PO-Revision-Date: 2025-08-01 14:01+0000\n"
|
||||
"Last-Translator: Yk Cheese <yakforcom@gmail.com>\n"
|
||||
"POT-Creation-Date: 2023-09-13 23:46+0200\n"
|
||||
"PO-Revision-Date: 2023-11-17 08:06+0000\n"
|
||||
"Last-Translator: \"Julien H. Gibson\" <julienhgibson@protonmail.com>\n"
|
||||
"Language-Team: French <https://hosted.weblate.org/projects/home-manager/cli/"
|
||||
"fr/>\n"
|
||||
"Language: fr\n"
|
||||
@@ -17,45 +17,35 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 5.13-dev\n"
|
||||
"X-Generator: Weblate 5.2\n"
|
||||
|
||||
#. translators: For example: "home-manager: missing argument for --cores"
|
||||
#: home-manager/home-manager:16
|
||||
msgid "%s: missing argument for %s"
|
||||
msgstr "%s: argument manquant pour %s"
|
||||
|
||||
#. translators: For example: "home-manager: --rollback can only be used after switch"
|
||||
#: home-manager/home-manager:22
|
||||
msgid "%s: %s can only be used after %s"
|
||||
msgstr "%s : %s ne peut être utilisé qu'après %s"
|
||||
|
||||
#: home-manager/home-manager:71
|
||||
#: home-manager/home-manager:81
|
||||
msgid "No configuration file found at %s"
|
||||
msgstr "Aucun fichier de configuration trouvé à l'emplacement %s"
|
||||
|
||||
#. translators: The first '%s' specifier will be replaced by either
|
||||
#. 'home.nix' or 'flake.nix'.
|
||||
#: home-manager/home-manager:88 home-manager/home-manager:92
|
||||
#: home-manager/home-manager:191
|
||||
#: home-manager/home-manager:98 home-manager/home-manager:102
|
||||
#: home-manager/home-manager:192
|
||||
msgid ""
|
||||
"Keeping your Home Manager %s in %s is deprecated,\n"
|
||||
"please move it to %s"
|
||||
msgstr ""
|
||||
"Garder votre Home Manager %s dans %s est obsolète,\n"
|
||||
"Veuillez le déplacer à %s"
|
||||
"Veuillez le déplacer à % s"
|
||||
|
||||
#: home-manager/home-manager:99
|
||||
#: home-manager/home-manager:109
|
||||
msgid "No configuration file found. Please create one at %s"
|
||||
msgstr ""
|
||||
"Aucun fichier de configuration trouvé. Veuillez en créer un à l'emplacement "
|
||||
"%s"
|
||||
|
||||
#: home-manager/home-manager:114
|
||||
#: home-manager/home-manager:124
|
||||
msgid "Home Manager not found at %s."
|
||||
msgstr "Home Manager indisponible à %s."
|
||||
msgstr "Home Manager n'a pas été trouvé à l'emplacement %s."
|
||||
|
||||
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
|
||||
#: home-manager/home-manager:122
|
||||
#: home-manager/home-manager:132
|
||||
msgid ""
|
||||
"The fallback Home Manager path %s has been deprecated and a file/directory "
|
||||
"was found there."
|
||||
@@ -64,7 +54,7 @@ msgstr ""
|
||||
"dossier y a été trouvé."
|
||||
|
||||
#. 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:125
|
||||
#: home-manager/home-manager:135
|
||||
msgid ""
|
||||
"To remove this warning, do one of the following.\n"
|
||||
"\n"
|
||||
@@ -84,58 +74,58 @@ msgid ""
|
||||
"\n"
|
||||
" $ rm -r \"%s\""
|
||||
msgstr ""
|
||||
"Pour supprimer cet avertissement, exécutez l'une des actions suivantes :\n"
|
||||
"Pour enlever cet avertissement, faites l'une des manipulations suivantes.\n"
|
||||
"\n"
|
||||
"1. Préciser explicitement à Home Manager d'utiliser le chemin d'accès, par "
|
||||
"exemple en ajoutant ceci à votre configuration :\n"
|
||||
"1. Dire explicitement à Home Manager d'utiliser le path, par exemple en "
|
||||
"ajoutant\n"
|
||||
"\n"
|
||||
"\t{ programs.home-manager.path = \"%s\" ; }\n"
|
||||
" { programs.home-manager.path = \"%s\"; }\n"
|
||||
"\n"
|
||||
"Si vous importez Home Manager directement, vous pouvez utiliser le paramètre "
|
||||
"`path` au lancement du package :\n"
|
||||
" à votre configuration.\n"
|
||||
"\n"
|
||||
"\tpkgs.callPackage /path/to/home-manager-package { path = \"%s\" ; }\n"
|
||||
" Si vous importez directement Home Manager, vous pouvez utiliser le "
|
||||
"paramètre `path`\n"
|
||||
"\n"
|
||||
"2. Supprimez le chemin d'accès obsolète.\n"
|
||||
" pkgs.callPackage /path/to/home-manager-package { path = \"%s\"; }\n"
|
||||
"\n"
|
||||
"\t$ rm -r \"%s\""
|
||||
" lorsque vous appelez le package Home Manager.\n"
|
||||
"\n"
|
||||
"2. Supprimer le path obsolète.\n"
|
||||
"\n"
|
||||
" $ rm -r \"%s\""
|
||||
|
||||
#: home-manager/home-manager:153
|
||||
msgid "Sanity checking Nix"
|
||||
msgstr "Vérification de Nix"
|
||||
|
||||
#: home-manager/home-manager:173
|
||||
#: home-manager/home-manager:174
|
||||
msgid "Could not find suitable profile directory, tried %s and %s"
|
||||
msgstr "Impossible de trouver le dossier de profil approprié, essayé %s et %s"
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:230
|
||||
#: home-manager/home-manager:229
|
||||
msgid "Can't inspect options of a flake configuration"
|
||||
msgstr "Impossible d'inspecter les options de la configuration d'un flake"
|
||||
|
||||
#: home-manager/home-manager:305 home-manager/home-manager:328
|
||||
#: home-manager/home-manager:734 home-manager/home-manager:1237
|
||||
#: home-manager/home-manager:291 home-manager/home-manager:314
|
||||
#: home-manager/home-manager:1034
|
||||
msgid "%s: unknown option '%s'"
|
||||
msgstr "%s: l'option '%s' est inconnue"
|
||||
msgstr "%s : option inconnue '%s'"
|
||||
|
||||
#: home-manager/home-manager:310 home-manager/home-manager:1238
|
||||
#: home-manager/home-manager:296 home-manager/home-manager:1035
|
||||
msgid "Run '%s --help' for usage help"
|
||||
msgstr "Exécuter « %s --help » pour de l'aide sur l'utilisation"
|
||||
|
||||
#: home-manager/home-manager:336 home-manager/home-manager:441
|
||||
#: home-manager/home-manager:322 home-manager/home-manager:421
|
||||
msgid "The file %s already exists, leaving it unchanged..."
|
||||
msgstr "Le fichier %s existe déjà, il sera laissé inchangé..."
|
||||
|
||||
#: home-manager/home-manager:338 home-manager/home-manager:443
|
||||
#: home-manager/home-manager:324 home-manager/home-manager:423
|
||||
msgid "Creating %s..."
|
||||
msgstr "Création de %s ..."
|
||||
|
||||
#: home-manager/home-manager:487
|
||||
#: home-manager/home-manager:465
|
||||
msgid "Creating initial Home Manager generation..."
|
||||
msgstr "Création de la génération initiale de Home Manager..."
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a file path.
|
||||
#: home-manager/home-manager:492
|
||||
#: home-manager/home-manager:470
|
||||
msgid ""
|
||||
"All done! The home-manager tool should now be installed and you can edit\n"
|
||||
"\n"
|
||||
@@ -153,7 +143,7 @@ msgstr ""
|
||||
"essayez 'man home-configuration.nix'."
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a URL.
|
||||
#: home-manager/home-manager:497
|
||||
#: home-manager/home-manager:475
|
||||
msgid ""
|
||||
"Uh oh, the installation failed! Please create an issue at\n"
|
||||
"\n"
|
||||
@@ -169,11 +159,11 @@ msgstr ""
|
||||
"si l'erreur semble être liée à Home Manager."
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:508
|
||||
#: home-manager/home-manager:486
|
||||
msgid "Can't instantiate a flake configuration"
|
||||
msgstr "Impossible d'instancier une configuration flake"
|
||||
|
||||
#: home-manager/home-manager:584
|
||||
#: home-manager/home-manager:562
|
||||
msgid ""
|
||||
"There is %d unread and relevant news item.\n"
|
||||
"Read it by running the command \"%s news\"."
|
||||
@@ -187,87 +177,79 @@ msgstr[1] ""
|
||||
"Il y a %d nouveaux éléments non lus et pertinents.\n"
|
||||
"Vous pouvez les lire en exécutant la commande \"%s news\"."
|
||||
|
||||
#: home-manager/home-manager:598
|
||||
#: home-manager/home-manager:576
|
||||
msgid "Unknown \"news.display\" setting \"%s\"."
|
||||
msgstr "Configuration \"news.display\" inconnue \"%s\"."
|
||||
|
||||
#: home-manager/home-manager:606
|
||||
#: home-manager/home-manager:583
|
||||
#, sh-format
|
||||
msgid "Please set the $EDITOR or $VISUAL environment variable"
|
||||
msgstr "Veuillez remplir la variable d'environnement $EDITOR ou VISUAL"
|
||||
msgid "Please set the $EDITOR environment variable"
|
||||
msgstr "Veuillez définir la variable d'environnement $EDITOR"
|
||||
|
||||
#: home-manager/home-manager:624
|
||||
#: home-manager/home-manager:598
|
||||
msgid "Cannot run build in read-only directory"
|
||||
msgstr "Impossible de lancer une compilation dans un dossier en écriture seule"
|
||||
|
||||
#: home-manager/home-manager:787
|
||||
msgid "The configuration did not contain the specialisation \"%s\""
|
||||
msgstr "La configuration ne contient pas la spécialisation \"%s\""
|
||||
|
||||
#: home-manager/home-manager:841
|
||||
#: home-manager/home-manager:676
|
||||
msgid "No generation with ID %s"
|
||||
msgstr "Aucune génération avec l'ID %s"
|
||||
|
||||
#: home-manager/home-manager:843
|
||||
#: home-manager/home-manager:678
|
||||
msgid "Cannot remove the current generation %s"
|
||||
msgstr "Impossible de supprimer la génération courante %s"
|
||||
|
||||
#: home-manager/home-manager:845
|
||||
#: home-manager/home-manager:680
|
||||
msgid "Removing generation %s"
|
||||
msgstr "Suppression de la génération %s"
|
||||
|
||||
#: home-manager/home-manager:866
|
||||
#: home-manager/home-manager:699
|
||||
msgid "No generations to expire"
|
||||
msgstr "Aucune génération expirée"
|
||||
|
||||
#: home-manager/home-manager:877
|
||||
#: home-manager/home-manager:710
|
||||
msgid "No home-manager packages seem to be installed."
|
||||
msgstr "Aucun package home-manager ne semble être installé."
|
||||
|
||||
#: home-manager/home-manager:962
|
||||
#: home-manager/home-manager:792
|
||||
msgid "Unknown argument %s"
|
||||
msgstr "Argument inconnu %s"
|
||||
|
||||
#: home-manager/home-manager:987
|
||||
#: home-manager/home-manager:816
|
||||
msgid "This will remove Home Manager from your system."
|
||||
msgstr "Cela va supprimer Home Manager de votre système."
|
||||
|
||||
#: home-manager/home-manager:990
|
||||
#: home-manager/home-manager:819
|
||||
msgid "This is a dry run, nothing will actually be uninstalled."
|
||||
msgstr "C'est un essai, rien ne sera réellement désinstallé."
|
||||
|
||||
#: home-manager/home-manager:994
|
||||
#: home-manager/home-manager:823
|
||||
msgid "Really uninstall Home Manager?"
|
||||
msgstr "Voulez-vous vraiment désinstaller Home Manager ?"
|
||||
|
||||
#: home-manager/home-manager:1000
|
||||
#: home-manager/home-manager:829
|
||||
msgid "Switching to empty Home Manager configuration..."
|
||||
msgstr "Changement vers une configuration vierge de Home Manager..."
|
||||
|
||||
#: home-manager/home-manager:1015
|
||||
#: home-manager/home-manager:857
|
||||
msgid "Yay!"
|
||||
msgstr "Yay !"
|
||||
|
||||
#: home-manager/home-manager:1020
|
||||
#: home-manager/home-manager:862
|
||||
msgid "Home Manager is uninstalled but your home.nix is left untouched."
|
||||
msgstr "Home Manager est désinstallé mais votre home.nix reste intact."
|
||||
|
||||
#: home-manager/home-manager:1285
|
||||
#: home-manager/home-manager:1074
|
||||
msgid "expire-generations expects one argument, got %d."
|
||||
msgstr "expire-generations attend un argument, a obtenu %d."
|
||||
|
||||
#: home-manager/home-manager:1310
|
||||
#: home-manager/home-manager:1096
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "Commande inconnue : %s"
|
||||
|
||||
#: home-manager/install.nix:21
|
||||
#: home-manager/install.nix:18
|
||||
msgid "This derivation is not buildable, please run it using nix-shell."
|
||||
msgstr "Cette dérivation ne peut être construite, essayez avec nix-shell."
|
||||
|
||||
#, sh-format
|
||||
#~ msgid "Please set the $EDITOR environment variable"
|
||||
#~ msgstr "Veuillez définir la variable d'environnement $EDITOR"
|
||||
|
||||
#~ msgid "Sorry, this command is not yet supported in flake setup"
|
||||
#~ msgstr ""
|
||||
#~ "Désolé, cette commande n'est pas encore prise en charge dans la "
|
||||
|
||||
@@ -1,228 +0,0 @@
|
||||
# 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: 2025-07-22 10:59+0200\n"
|
||||
"PO-Revision-Date: 2025-08-21 16:02+0000\n"
|
||||
"Last-Translator: Daniel Jacob Butcher <corpo@quokka.wiki>\n"
|
||||
"Language-Team: Hebrew <https://hosted.weblate.org/projects/home-manager/cli/"
|
||||
"he/>\n"
|
||||
"Language: he\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && "
|
||||
"n % 10 == 0) ? 2 : 3));\n"
|
||||
"X-Generator: Weblate 5.13\n"
|
||||
|
||||
#. translators: For example: "home-manager: missing argument for --cores"
|
||||
#: home-manager/home-manager:16
|
||||
msgid "%s: missing argument for %s"
|
||||
msgstr ""
|
||||
|
||||
#. translators: For example: "home-manager: --rollback can only be used after switch"
|
||||
#: home-manager/home-manager:22
|
||||
msgid "%s: %s can only be used after %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:71
|
||||
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:88 home-manager/home-manager:92
|
||||
#: home-manager/home-manager:191
|
||||
msgid ""
|
||||
"Keeping your Home Manager %s in %s is deprecated,\n"
|
||||
"please move it to %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:99
|
||||
msgid "No configuration file found. Please create one at %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:114
|
||||
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:122
|
||||
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:125
|
||||
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:153
|
||||
msgid "Sanity checking Nix"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:173
|
||||
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:230
|
||||
msgid "Can't inspect options of a flake configuration"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:305 home-manager/home-manager:328
|
||||
#: home-manager/home-manager:734 home-manager/home-manager:1237
|
||||
msgid "%s: unknown option '%s'"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:310 home-manager/home-manager:1238
|
||||
msgid "Run '%s --help' for usage help"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:336 home-manager/home-manager:441
|
||||
msgid "The file %s already exists, leaving it unchanged..."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:338 home-manager/home-manager:443
|
||||
msgid "Creating %s..."
|
||||
msgstr "יוצר %s..."
|
||||
|
||||
#: home-manager/home-manager:487
|
||||
msgid "Creating initial Home Manager generation..."
|
||||
msgstr "יוצר דור ראשוני של Home Manager..."
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a file path.
|
||||
#: home-manager/home-manager:492
|
||||
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:497
|
||||
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:508
|
||||
msgid "Can't instantiate a flake configuration"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:584
|
||||
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:598
|
||||
msgid "Unknown \"news.display\" setting \"%s\"."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:606
|
||||
#, sh-format
|
||||
msgid "Please set the $EDITOR or $VISUAL environment variable"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:624
|
||||
msgid "Cannot run build in read-only directory"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:787
|
||||
msgid "The configuration did not contain the specialisation \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:841
|
||||
msgid "No generation with ID %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:843
|
||||
msgid "Cannot remove the current generation %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:845
|
||||
msgid "Removing generation %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:866
|
||||
msgid "No generations to expire"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:877
|
||||
msgid "No home-manager packages seem to be installed."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:962
|
||||
msgid "Unknown argument %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:987
|
||||
msgid "This will remove Home Manager from your system."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:990
|
||||
msgid "This is a dry run, nothing will actually be uninstalled."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:994
|
||||
msgid "Really uninstall Home Manager?"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1000
|
||||
msgid "Switching to empty Home Manager configuration..."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1015
|
||||
msgid "Yay!"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1020
|
||||
msgid "Home Manager is uninstalled but your home.nix is left untouched."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1285
|
||||
msgid "expire-generations expects one argument, got %d."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1310
|
||||
msgid "Unknown command: %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/install.nix:21
|
||||
msgid "This derivation is not buildable, please run it using nix-shell."
|
||||
msgstr ""
|
||||
@@ -1,229 +0,0 @@
|
||||
# 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: 2025-07-22 10:59+0200\n"
|
||||
"PO-Revision-Date: 2025-09-02 00:02+0000\n"
|
||||
"Last-Translator: Fareesh Vijayarangam <fareesh@gmail.com>\n"
|
||||
"Language-Team: Hindi <https://hosted.weblate.org/projects/home-manager/cli/"
|
||||
"hi/>\n"
|
||||
"Language: hi\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 5.13.1-dev\n"
|
||||
|
||||
#. translators: For example: "home-manager: missing argument for --cores"
|
||||
#: home-manager/home-manager:16
|
||||
msgid "%s: missing argument for %s"
|
||||
msgstr "%s: %s के लिए कोई आर्ग्यूमेंट नहीं दिया"
|
||||
|
||||
#. translators: For example: "home-manager: --rollback can only be used after switch"
|
||||
#: home-manager/home-manager:22
|
||||
msgid "%s: %s can only be used after %s"
|
||||
msgstr "%s: %s का इस्तेमाल केवल %s के बाद ही किया जा सकता है"
|
||||
|
||||
#: home-manager/home-manager:71
|
||||
msgid "No configuration file found at %s"
|
||||
msgstr "%s में कोई कन्फि़गरेशन फाइल नहीं मिली"
|
||||
|
||||
#. translators: The first '%s' specifier will be replaced by either
|
||||
#. 'home.nix' or 'flake.nix'.
|
||||
#: home-manager/home-manager:88 home-manager/home-manager:92
|
||||
#: home-manager/home-manager:191
|
||||
msgid ""
|
||||
"Keeping your Home Manager %s in %s is deprecated,\n"
|
||||
"please move it to %s"
|
||||
msgstr ""
|
||||
"अपने Home Manager %s को %s में रखना अप्रचलित है,\n"
|
||||
"कृपया इसे %s में स्थानांतरित करें"
|
||||
|
||||
#: home-manager/home-manager:99
|
||||
msgid "No configuration file found. Please create one at %s"
|
||||
msgstr "कोई कॉन्फ़िगरेशन फ़ाइल नहीं मिली। कृपया %s पर एक फ़ाइल बनाएं।"
|
||||
|
||||
#: home-manager/home-manager:114
|
||||
msgid "Home Manager not found at %s."
|
||||
msgstr "%s पर Home Manager नहीं मिला।"
|
||||
|
||||
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
|
||||
#: home-manager/home-manager:122
|
||||
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:125
|
||||
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:153
|
||||
msgid "Sanity checking Nix"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:173
|
||||
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:230
|
||||
msgid "Can't inspect options of a flake configuration"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:305 home-manager/home-manager:328
|
||||
#: home-manager/home-manager:734 home-manager/home-manager:1237
|
||||
msgid "%s: unknown option '%s'"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:310 home-manager/home-manager:1238
|
||||
msgid "Run '%s --help' for usage help"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:336 home-manager/home-manager:441
|
||||
msgid "The file %s already exists, leaving it unchanged..."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:338 home-manager/home-manager:443
|
||||
msgid "Creating %s..."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:487
|
||||
msgid "Creating initial Home Manager generation..."
|
||||
msgstr ""
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a file path.
|
||||
#: home-manager/home-manager:492
|
||||
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:497
|
||||
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:508
|
||||
msgid "Can't instantiate a flake configuration"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:584
|
||||
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:598
|
||||
msgid "Unknown \"news.display\" setting \"%s\"."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:606
|
||||
#, sh-format
|
||||
msgid "Please set the $EDITOR or $VISUAL environment variable"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:624
|
||||
msgid "Cannot run build in read-only directory"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:787
|
||||
msgid "The configuration did not contain the specialisation \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:841
|
||||
msgid "No generation with ID %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:843
|
||||
msgid "Cannot remove the current generation %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:845
|
||||
msgid "Removing generation %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:866
|
||||
msgid "No generations to expire"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:877
|
||||
msgid "No home-manager packages seem to be installed."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:962
|
||||
msgid "Unknown argument %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:987
|
||||
msgid "This will remove Home Manager from your system."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:990
|
||||
msgid "This is a dry run, nothing will actually be uninstalled."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:994
|
||||
msgid "Really uninstall Home Manager?"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1000
|
||||
msgid "Switching to empty Home Manager configuration..."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1015
|
||||
msgid "Yay!"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1020
|
||||
msgid "Home Manager is uninstalled but your home.nix is left untouched."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1285
|
||||
msgid "expire-generations expects one argument, got %d."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1310
|
||||
msgid "Unknown command: %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/install.nix:21
|
||||
msgid "This derivation is not buildable, please run it using nix-shell."
|
||||
msgstr ""
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Home Manager\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
|
||||
"POT-Creation-Date: 2025-07-22 10:59+0200\n"
|
||||
"POT-Creation-Date: 2023-09-13 23:46+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -18,46 +18,36 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
||||
|
||||
#. translators: For example: "home-manager: missing argument for --cores"
|
||||
#: home-manager/home-manager:16
|
||||
msgid "%s: missing argument for %s"
|
||||
msgstr ""
|
||||
|
||||
#. translators: For example: "home-manager: --rollback can only be used after switch"
|
||||
#: home-manager/home-manager:22
|
||||
msgid "%s: %s can only be used after %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:71
|
||||
#: home-manager/home-manager:81
|
||||
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:88 home-manager/home-manager:92
|
||||
#: home-manager/home-manager:191
|
||||
#: home-manager/home-manager:98 home-manager/home-manager:102
|
||||
#: home-manager/home-manager:192
|
||||
msgid ""
|
||||
"Keeping your Home Manager %s in %s is deprecated,\n"
|
||||
"please move it to %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:99
|
||||
#: home-manager/home-manager:109
|
||||
msgid "No configuration file found. Please create one at %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:114
|
||||
#: home-manager/home-manager:124
|
||||
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:122
|
||||
#: home-manager/home-manager:132
|
||||
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:125
|
||||
#: home-manager/home-manager:135
|
||||
msgid ""
|
||||
"To remove this warning, do one of the following.\n"
|
||||
"\n"
|
||||
@@ -78,42 +68,38 @@ msgid ""
|
||||
" $ rm -r \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:153
|
||||
msgid "Sanity checking Nix"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:173
|
||||
#: home-manager/home-manager:174
|
||||
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:230
|
||||
#: home-manager/home-manager:229
|
||||
msgid "Can't inspect options of a flake configuration"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:305 home-manager/home-manager:328
|
||||
#: home-manager/home-manager:734 home-manager/home-manager:1237
|
||||
#: home-manager/home-manager:291 home-manager/home-manager:314
|
||||
#: home-manager/home-manager:1034
|
||||
msgid "%s: unknown option '%s'"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:310 home-manager/home-manager:1238
|
||||
#: home-manager/home-manager:296 home-manager/home-manager:1035
|
||||
msgid "Run '%s --help' for usage help"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:336 home-manager/home-manager:441
|
||||
#: home-manager/home-manager:322 home-manager/home-manager:421
|
||||
msgid "The file %s already exists, leaving it unchanged..."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:338 home-manager/home-manager:443
|
||||
#: home-manager/home-manager:324 home-manager/home-manager:423
|
||||
msgid "Creating %s..."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:487
|
||||
#: home-manager/home-manager:465
|
||||
msgid "Creating initial Home Manager generation..."
|
||||
msgstr ""
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a file path.
|
||||
#: home-manager/home-manager:492
|
||||
#: home-manager/home-manager:470
|
||||
msgid ""
|
||||
"All done! The home-manager tool should now be installed and you can edit\n"
|
||||
"\n"
|
||||
@@ -124,7 +110,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#. translators: The "%s" specifier will be replaced by a URL.
|
||||
#: home-manager/home-manager:497
|
||||
#: home-manager/home-manager:475
|
||||
msgid ""
|
||||
"Uh oh, the installation failed! Please create an issue at\n"
|
||||
"\n"
|
||||
@@ -134,11 +120,11 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:508
|
||||
#: home-manager/home-manager:486
|
||||
msgid "Can't instantiate a flake configuration"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:584
|
||||
#: home-manager/home-manager:562
|
||||
msgid ""
|
||||
"There is %d unread and relevant news item.\n"
|
||||
"Read it by running the command \"%s news\"."
|
||||
@@ -148,79 +134,75 @@ msgid_plural ""
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: home-manager/home-manager:598
|
||||
#: home-manager/home-manager:576
|
||||
msgid "Unknown \"news.display\" setting \"%s\"."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:606
|
||||
#: home-manager/home-manager:583
|
||||
#, sh-format
|
||||
msgid "Please set the $EDITOR or $VISUAL environment variable"
|
||||
msgid "Please set the $EDITOR environment variable"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:624
|
||||
#: home-manager/home-manager:598
|
||||
msgid "Cannot run build in read-only directory"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:787
|
||||
msgid "The configuration did not contain the specialisation \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:841
|
||||
#: home-manager/home-manager:676
|
||||
msgid "No generation with ID %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:843
|
||||
#: home-manager/home-manager:678
|
||||
msgid "Cannot remove the current generation %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:845
|
||||
#: home-manager/home-manager:680
|
||||
msgid "Removing generation %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:866
|
||||
#: home-manager/home-manager:699
|
||||
msgid "No generations to expire"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:877
|
||||
#: home-manager/home-manager:710
|
||||
msgid "No home-manager packages seem to be installed."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:962
|
||||
#: home-manager/home-manager:792
|
||||
msgid "Unknown argument %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:987
|
||||
#: home-manager/home-manager:816
|
||||
msgid "This will remove Home Manager from your system."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:990
|
||||
#: home-manager/home-manager:819
|
||||
msgid "This is a dry run, nothing will actually be uninstalled."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:994
|
||||
#: home-manager/home-manager:823
|
||||
msgid "Really uninstall Home Manager?"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1000
|
||||
#: home-manager/home-manager:829
|
||||
msgid "Switching to empty Home Manager configuration..."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1015
|
||||
#: home-manager/home-manager:857
|
||||
msgid "Yay!"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1020
|
||||
#: home-manager/home-manager:862
|
||||
msgid "Home Manager is uninstalled but your home.nix is left untouched."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1285
|
||||
#: home-manager/home-manager:1074
|
||||
msgid "expire-generations expects one argument, got %d."
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/home-manager:1310
|
||||
#: home-manager/home-manager:1096
|
||||
msgid "Unknown command: %s"
|
||||
msgstr ""
|
||||
|
||||
#: home-manager/install.nix:21
|
||||
#: home-manager/install.nix:18
|
||||
msgid "This derivation is not buildable, please run it using nix-shell."
|
||||
msgstr ""
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user