Project import generated by Copybara.

GitOrigin-RevId: c3ab5ea047e6dc73df530948f7367455749d8906
This commit is contained in:
Default email 2023-08-08 12:19:01 +02:00
parent d5f4a57cbf
commit 75fa0ae5af
750 changed files with 20130 additions and 8605 deletions

View file

@ -0,0 +1,34 @@
image: nixos/unstable
sources:
- https://git.sr.ht/~rycee/home-manager
secrets:
- 01ad357c-3214-4f73-bb7e-2441e440cc51
- 7d16ccc0-1c4f-4fd6-91c1-c54fc0f5807f
- bd5f26ee-78b8-4a6f-9d68-8d8f53a068f1
environment:
NIX_CONFIG: "experimental-features = nix-command flakes"
packages:
- nixos.cachix
tasks:
- setup: |
cachix use rycee
- build: |
cd ./home-manager
gitBranch="$(git show -s --pretty=%D HEAD | sed '{ s/.*, //; s!origin/!!; }')"
[[ $gitBranch == master || $gitBranch == release-??.?? ]] || exit 0
nix build -L .#docs-html
cachix push rycee ./result
- deploy: |
cd ./home-manager
gitBranch="$(git show -s --pretty=%D HEAD | sed '{ s/.*, //; s!origin/!!; }')"
[[ $gitBranch == master || $gitBranch == release-??.?? ]] || exit 0
if [[ $gitBranch == master ]]; then
dirName="unstable"
else
dirName="$(cat .release)"
fi
rsync --delete -r --info=stats \
"result/share/doc/home-manager/" \
"hm-web:/srv/www/home-manager.dev/manual/$dirName"

View file

@ -1,566 +0,0 @@
* @rycee
/flake.nix @bqv @kisik21
Makefile @thiagokokada
/modules/config/home-cursor.nix @polykernel @league
/modules/config/i18n.nix @midchildan
/tests/modules/config/i18n @midchildan
/modules/home-environment.nix @rycee
/modules/i18n/input-method @Kranzes
/tests/modules/i18n/input-method @Kranzes
/modules/launchd @midchildan
/modules/misc/dconf.nix @rycee
/modules/misc/editorconfig.nix @loicreynier
/test/modules/misc/editorconfig @loicreynier
/modules/misc/fontconfig.nix @rycee
/tests/modules/misc/fontconfig @rycee
/modules/misc/gtk.nix @rycee
/modules/misc/news.nix @rycee
/modules/misc/nix.nix @polykernel
/tests/modules/misc/nix @polykernel
/modules/misc/nixpkgs-disabled.nix @thiagokokada
/modules/misc/numlock.nix @evanjs
/tests/modules/misc/numlock @evanjs
/modules/misc/pam.nix @rycee
/tests/modules/misc/pam @rycee
/modules/misc/qt.nix @rycee
/modules/misc/submodule-support.nix @rycee
/modules/misc/tmpfiles.nix @dawidsowa
/modules/misc/vte.nix @rycee
/modules/misc/xdg-mime-apps.nix @pacien
/modules/misc/xdg-user-dirs.nix @pacien
/modules/misc/xdg-system-dirs.nix @tadfisher
/tests/modules/misc/xdg/system-dirs.nix @tadfisher
/modules/misc/xdg-desktop-entries.nix @cwyc
/tests/modules/misc/xdg/desktop-entries.nix @cwyc
/tests/modules/misc/xdg/desktop-full-expected.desktop @cwyc
/tests/modules/misc/xdg/desktop-min-expected.desktop @cwyc
/modules/misc/xfconf.nix @chuangzhu
/modules/programs/aerc.nix @lukasngl
/modules/programs/aerc-accounts.nix @lukasngl
/tests/modules/programs/aerc @lukasngl
/modules/programs/aria2.nix @JustinLovinger
/modules/programs/autojump.nix @evanjs
/tests/modules/programs/autojump @evanjs
/modules/programs/atuin.nix @hawkw
/tests/modules/programs/atuin @hawkw
/modules/programs/autorandr.nix @uvNikita
/modules/programs/bash.nix @rycee
/modules/programs/bashmount.nix @AndersonTorres
/modules/programs/bat.nix @marsam
/modules/programs/beets.nix @rycee
/modules/programs/bottom.nix @polykernel
/tests/modules/programs/bottom @polykernel
/modules/programs/broot.nix @aheaume @dermetfan
/modules/programs/btop.nix @GaetanLepage
/tests/modules/programs/btop.nix @GaetanLepage
/modules/programs/dircolors.nix @JustinLovinger
/modules/programs/direnv.nix @rycee
/modules/programs/discocss.nix @Kranzes
/modules/programs/eclipse.nix @rycee
/modules/programs/emacs.nix @rycee
/modules/programs/eww.nix @mainrs
/modules/programs/exa.nix @kalhauge
/modules/programs/firefox.nix @rycee
/modules/programs/foot.nix @plabadens
/tests/modules/programs/foot @plabadens
/modules/services/fusuma.nix @iosmanthus
/tests/modules/services/fusuma @iosmanthus
/modules/programs/gallery-dl.nix @marsam
/tests/modules/programs/gallery-dl @marsam
/modules/programs/gh.nix @Gerschtli @berbiche
/tests/modules/programs/gh @Gerschtli @berbiche
/modules/programs/git.nix @rycee
/modules/programs/gitui/gitui.nix @mifom
/modules/programs/gitui/default_key_config.ron @mifom
/modules/programs/gnome-terminal.nix @kamadorueda @rycee
/modules/programs/go.nix @rvolosatovs
/modules/programs/havoc.nix @AndersonTorres
/modules/programs/helix.nix @Philipp-M
/tests/modules/programs/helix @Philipp-M
/modules/programs/hexchat.nix @thiagokokada
/tests/modules/programs/hexchat @thiagokokada
/modules/programs/himalaya.nix @toastal
/tests/modules/programs/himalaya @toastal
/modules/programs/home-manager.nix @rycee
/modules/programs/htop.nix @bjpbakker
/tests/modules/htop @bjpbakker
/modules/programs/hyfetch.nix @lilyinstarlight
/tests/modules/programs/hyfetch @lilyinstarlight
/modules/programs/i3status.nix @JustinLovinger
/modules/programs/i3status-rust.nix @workflow
/modules/programs/ion.nix @jo1gi
/modules/programs/java.nix @ShamrockLee
/modules/programs/just.nix @maximsmol
/modules/programs/k9s.nix @katexochen
/tests/modules/programs/k9s @katexochen
/modules/programs/keychain.nix @marsam
/modules/programs/kodi.nix @dwagenk
/tests/modules/programs/kodi @dwagenk
/modules/programs/lazygit.nix @kalhauge
/modules/programs/ledger.nix @marsam
/modules/programs/less.nix @pamplemousse
/tests/modules/programs/less @pamplemousse
/modules/programs/lesspipe.nix @rycee
/modules/programs/lf.nix @owm111
/tests/modules/programs/lf @owm111
/modules/programs/librewolf.nix @onny
/modules/programs/lieer.nix @tadfisher
/modules/programs/looking-glass-client.nix @j-brn
/tests/modules/programs/looking-glass-client @j-brn
/modules/programs/lsd.nix @marsam
/modules/programs/matplotlib.nix @rprospero
/modules/programs/mangohud.nix @ZerataX
/tests/modules/programs/mangohud @ZerataX
/modules/programs/mbsync.nix @KarlJoad
/tests/modules/programs/mbsync @KarlJoad
/modules/programs/mcfly.nix @marsam
/modules/programs/micro.nix @MForster
/tests/modules/programs/micro @MForster
/modules/programs/mpv.nix @tadeokondrak @thiagokokada
/tests/modules/programs/mpv @thiagokokada
/modules/programs/mu.nix @KarlJoad
/modules/programs/mujmap.nix @elizagamedev
/tests/modules/programs/mujmap @elizagamedev
/modules/programs/navi.nix @marsam
/modules/programs/ncmpcpp.nix @olmokramer
/tests/modules/programs/ncmpcpp @olmokramer
/tests/modules/programs/ncmpcpp-linux @olmokramer
/modules/programs/ncspot.nix @marsam
/modules/programs/ne.nix @cwyc
/tests/modules/programs/ne @cwyc
/modules/programs/newsboat.nix @sumnerevans
/tests/modules/programs/newsboat @sumnerevans
/modules/programs/nheko.nix @gvolpe
/tests/modules/programs/nheko @gvolpe
/modules/programs/nix-index.nix @ambroisie
/tests/modules/programs/nix-index @ambroisie
/modules/programs/nnn.nix @thiagokokada
/tests/modules/programs/nnn @thiagokokada
/modules/programs/noti.nix @marsam
/modules/programs/nushell.nix @Philipp-M
/tests/modules/programs/nushell @Philipp-M
/modules/programs/obs-studio.nix @adisbladis
/modules/programs/octant.nix @06kellyjac
/modules/programs/oh-my-posh.nix @arjan-s
/tests/modules/programs/oh-my-posh @arjan-s
/modules/programs/opam.nix @marsam
/modules/programs/openssh.nix @rycee
/modules/programs/pandoc.nix @kirelagin
/tests/modules/programs/pandoc @kirelagin
/modules/programs/password-store.nix @pacien
/modules/programs/pazi.nix @marsam
/modules/programs/pidgin.nix @rycee
/modules/programs/pistol.nix @mtoohey31
/tests/modules/programs/pistol @mtoohey31
/modules/programs/piston-cli.nix @ethancedwards8
/modules/programs/pls.nix @arjan-s
/tests/modules/programs/pls @arjan-s
/modules/programs/polybar.nix @h7x4
/tests/modules/programs/polybar @h7x4
/modules/programs/powerline-go.nix @DamienCassou
/modules/programs/pubs.nix @loicreynier
/tests/modules/programs/pubs @loicreynier
/modules/programs/pylint.nix @florpe
/modules/programs/rbw.nix @ambroisie
/tests/modules/programs/rbw @ambroisie
/modules/programs/rofi.nix @thiagokokada
/tests/modules/programs/rofi @thiagokokada
/modules/programs/rofi-pass.nix @seylerius
/tests/modules/programs/rofi-pass @seylerius
/modules/programs/rtorrent.nix @marsam
/modules/programs/sagemath.nix @kirelagin
/tests/modules/programs/sagemath @kirelagin
/modules/programs/sbt.nix @kubukoz
/tests/modules/programs/sbt @kubukoz
/modules/programs/scmpuff.nix @cpcloud
/tests/modules/programs/scmpuff @cpcloud
/modules/programs/senpai.nix @malte-v
/modules/programs/sioyek.nix @podocarp
/modules/programs/sm64ex.nix @ivarwithoutbones
/tests/modules/programs/sm64ex @ivarwithoutbones
/modules/programs/sqls.nix @marsam
/modules/programs/ssh.nix @rycee
/modules/programs/starship.nix @marsam
/modules/programs/swaylock.nix @rcerc
/tests/modules/programs/swaylock @rcerc
/modules/programs/tealdeer.nix @marsam
/modules/programs/terminator.nix @chisui
/modules/programs/texlive.nix @rycee
/modules/programs/thunderbird.nix @d-dervishi
/tests/modules/programs/thunderbird @d-dervishi
/modules/programs/timidity.nix @amesgen
/modules/programs/tint2.nix @CarlosLoboxyz
/modules/programs/tiny.nix @kmaasrud
/modules/programs/tmate.nix @jlesquembre
/tests/modules/programs/tmate @jlesquembre
/modules/programs/topgrade.nix @msfjarvis
/tests/modules/programs/topgrade @msfjarvis
/modules/programs/watson.nix @polykernel
/tests/modules/programs/watson @polykernel
/modules/programs/waybar.nix @berbiche
/tests/modules/programs/waybar @berbiche
/modules/programs/wezterm.nix @blmhemu
/tests/modules/programs/wezterm @blmhemu
/modules/programs/xmobar.nix @t4ccer
/tests/modules/programs/xmobar @t4ccer
/modules/programs/yt-dlp.nix @marsam
/tests/modules/programs/yt-dlp @marsam
/modules/programs/z-lua.nix @marsam
/modules/programs/zathura.nix @rprospero
/modules/programs/zellij.nix @mainrs
/modules/programs/zoxide.nix @marsam
/modules/programs/zsh/prezto.nix @NickHu
/modules/services/barrier.nix @Kritnich
/tests/modules/services/barrier @Kritnich
/modules/services/betterlockscreen.nix @SebTM
/modules/programs/borgmatic.nix @DamienCassou
/modules/services/borgmatic.nix @DamienCassou
/tests/modules/programs/borgmatic @DamienCassou
/tests/modules/services/borgmatic @DamienCassou
/modules/services/caffeine.nix @uvNikita
/modules/services/cbatticon.nix @pmiddend
/modules/services/clipman.nix @jwygoda
/tests/modules/services/clipman @jwygoda
/modules/services/clipmenu.nix @DamienCassou
/modules/services/devilspie2.nix @dawidsowa
/tests/modules/services/devilspie2 @dawidsowa
/modules/services/dropbox.nix @eyJhb
/tests/modules/services/dropbox @eyJhb
/modules/services/dunst.nix @rycee
/modules/services/easyeffects.nix @fufexan
/modules/services/emacs.nix @tadfisher
/modules/services/etesync-dav.nix @Valodim
/modules/services/espanso.nix @lucasew
/modules/services/flameshot.nix @moredhel
/modules/services/fluidsynth.nix @Valodim
/modules/services/fnott.nix @polykernel
/tests/modules/services/fnott @polykernel
/modules/services/git-sync.nix @IvanMalison @cab404
/modules/services/gnome-keyring.nix @rycee
/modules/services/gpg-agent.nix @rycee
/modules/services/grobi.nix @mbrgm
/modules/services/gromit-mpx.nix @pjones
/tests/modules/services/gromit-mpx @pjones
/modules/services/home-manager-auto-upgrade.nix @pinage404
/tests/modules/services/home-manager-auto-upgrade @pinage404
/modules/services/hound.nix @adisbladis
/modules/services/imapnotify.nix @nickhu
/modules/services/kanshi.nix @nurelin
/tests/modules/services/kanshi @nurelin
/modules/services/kdeconnect.nix @adisbladis
/modules/services/keepassx.nix @rycee
/modules/services/lieer.nix @tadfisher
/modules/services/lorri.nix @Gerschtli
/modules/services/mako.nix @onny
/modules/services/mbsync.nix @pjones
/modules/services/megasync.nix @GaetanLepage
/modules/services/mopidy.nix @foo-dogsquared
/tests/modules/services/mopidy @foo-dogsquared
/modules/services/mpdris2.nix @pjones
/modules/services/mpd-discord-rpc.nix @Kranzes
/modules/services/mpris-proxy.nix @ThibautMarty
/modules/services/muchsync.nix @pacien
/modules/services/network-manager-applet.nix @rycee
/modules/services/notify-osd.nix @imalison
/modules/services/opensnitch-ui.nix @onny
/modules/services/pantalaimon.nix @jojosch
/tests/modules/services/pantalaimon @jojosch
/modules/services/parcellite.nix @gleber
/modules/services/pass-secret-service.nix @cab404
/modules/services/password-store-sync.nix @pacien
/modules/services/pasystray.nix @pltanton
/modules/services/picom.nix @thiagokokada
/tests/modules/services/picom @thiagokokada
/modules/services/pbgopy.nix @ivarwithoutbones
/tests/modules/services/pbgopy @ivarwithoutbones
/modules/services/plan9port.nix @ehmry
/modules/services/playerctld.nix @fendse
/tests/modules/playerctld @fendse
/modules/services/plex-mpv-shim.nix @starcraft66
/modules/services/poweralertd.nix @ThibautMarty
/modules/services/pueue.nix @AndersonTorres
/modules/services/pulseeffects.nix @jonringer
/modules/services/random-background.nix @rycee
/modules/services/recoll.nix @foo-dogsquared
/tests/modules/recoll @foo-dogsquared
/modules/services/redshift-gammastep @rycee @petabyteboy @thiagokokada
/tests/modules/redshift-gammastep @thiagokokada
/modules/services/safeeyes @Rosuavio
/modules/services/screen-locker.nix @jrobsonchase @rszamszur
/tests/modules/services/screen-locker @jrobsonchase @rszamszur
/modules/services/sctd.nix @somasis
/modules/services/status-notifier-watcher.nix @pltanton
/modules/services/swayidle.nix @c0deaddict
/tests/modules/services/swayidle @c0deaddict
/modules/services/syncthing.nix @rycee
/modules/services/systembus-notify.nix @asymmetric
/modules/services/taffybar.nix @rycee
/modules/services/tahoe-lafs.nix @rycee
/modules/services/taskwarrior-sync.nix @minijackson @pacien
/modules/services/trayer.nix @AndreasMager
/tests/modules/services/trayer @AndreasMager
/modules/services/twmn.nix @Austreelis
/tests/modules/services/twmn @Austreelis
/modules/services/udiskie.nix @rycee
/tests/modules/services/udiskie @rycee
/modules/services/unison.nix @pacien
/modules/services/volnoti.nix @IvanMalison
/modules/services/window-managers/bspwm @ncfavier
/tests/modules/services/window-managers/bspwm @ncfavier
/modules/services/window-managers/fluxbox.nix @AndersonTorres
/modules/services/window-managers/herbstluftwm @olmokramer
/tests/modules/services/window-managers/herbstluftwm @olmokramer
/modules/services/window-managers/i3-sway/i3.nix @sumnerevans @sebtm
/tests/modules/services/window-managers/i3 @sumnerevans @sebtm
/modules/services/window-managers/i3-sway/lib @sumnerevans @sebtm
/modules/services/window-managers/i3-sway/sway.nix @alexarice @sumnerevans @sebtm
/tests/modules/services/window-managers/sway @sumnerevans @sebtm
/modules/services/window-managers/i3-sway/swaynag.nix @polykernel
/modules/services/window-managers/spectrwm @loicreynier
/tests/modules/services/window-managers/spectrwm @loicreynier
/modules/services/wlsunset.nix @matrss
/tests/modules/services/wlsunset @matrss
/modules/services/xcape.nix @nickhu
/modules/services/xembed-sni-proxy.nix @rycee
/modules/services/xidlehook.nix @dschrempf @bertof
/modules/services/xscreensaver.nix @rycee
/modules/services/xsuspender.nix @offlinehacker
/modules/systemd.nix @rycee
/modules/targets/darwin @midchildan
/tests/modules/targets-darwin @midchildan
/modules/xresources.nix @rycee
/modules/xsession.nix @rycee

View file

@ -23,7 +23,7 @@ Also make sure to read the guidelines found at
- [ ] Code formatted with `./format`. - [ ] Code formatted with `./format`.
- [ ] Code tested through `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). - [ ] Test cases updated/added. See [example](https://github.com/nix-community/home-manager/commit/f3fbb50b68df20da47f9b0def5607857fcc0d021#diff-b61a6d542f9036550ba9c401c80f00ef).
@ -41,4 +41,9 @@ Also make sure to read the guidelines found at
- [ ] Added myself as module maintainer. See [example](https://github.com/nix-community/home-manager/blob/068ff76a10e95820f886ac46957edcff4e44621d/modules/programs/lesspipe.nix#L6). - [ ] Added myself as module maintainer. See [example](https://github.com/nix-community/home-manager/blob/068ff76a10e95820f886ac46957edcff4e44621d/modules/programs/lesspipe.nix#L6).
- [ ] Added myself and the module files to `.github/CODEOWNERS`. #### 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.
-->

View file

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

View file

@ -1,5 +1,7 @@
"mail": "mail":
- modules/programs/aerc*.nix
- modules/programs/alot*.nix - modules/programs/alot*.nix
- tests/modules/programs/aerc/*
- tests/modules/programs/alot/* - tests/modules/programs/alot/*
- modules/programs/mujmap.nix - modules/programs/mujmap.nix
- tests/modules/programs/mujmap/* - tests/modules/programs/mujmap/*
@ -13,7 +15,22 @@
- tests/modules/programs/himalaya/* - tests/modules/programs/himalaya/*
- modules/programs/thunderbird.nix - modules/programs/thunderbird.nix
- tests/modules/programs/thunderbird/* - tests/modules/programs/thunderbird/*
- modules/services/imapnotify.nix
"neovim": "neovim":
- modules/programs/neovim.nix - modules/programs/neovim.nix
- tests/modules/programs/neovim/**/* - tests/modules/programs/neovim/**/*
"shell":
- 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

View file

@ -11,7 +11,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: cachix/install-nix-action@v18 - uses: cachix/install-nix-action@v22
with: with:
nix_path: nixpkgs=channel:nixos-unstable nix_path: nixpkgs=channel:nixos-unstable
- uses: cachix/cachix-action@v12 - uses: cachix/cachix-action@v12

View file

@ -12,7 +12,7 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: cachix/install-nix-action@v18 - uses: cachix/install-nix-action@v22
with: with:
nix_path: nixpkgs=channel:nixos-unstable nix_path: nixpkgs=channel:nixos-unstable
- uses: cachix/cachix-action@v12 - uses: cachix/cachix-action@v12
@ -24,7 +24,7 @@ jobs:
echo "Error: literalExample should be replaced by literalExpression" > /dev/stderr echo "Error: literalExample should be replaced by literalExpression" > /dev/stderr
exit 1 exit 1
fi fi
- run: nix-build -A docs.jsonModuleMaintainers - run: nix-build --show-trace -A docs.jsonModuleMaintainers
- run: ./format -c - run: ./format -c
- run: nix-shell . -A install - run: nix-shell --show-trace . -A install
- run: nix-shell --arg enableBig false --pure tests -A run.all - run: nix-shell --show-trace --arg enableBig false --pure tests -A run.all

View file

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

View file

@ -1 +1 @@
23.05 23.11

View file

@ -1,6 +1,6 @@
MIT License MIT License
Copyright (c) 2017-2022 Home Manager contributors Copyright (c) 2017-2023 Home Manager contributors
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View file

@ -21,15 +21,24 @@ please see
If you would like to contribute to Home Manager If you would like to contribute to Home Manager
then please have a look at the [contributing][] chapter of the manual. then please have a look at the [contributing][] chapter of the manual.
Releases
--------
Home Manager is developed against `nixpkgs-unstable` branch, which
often causes it to contain tweaks for changes/packages not yet
released in stable NixOS. To avoid breaking users' configurations,
Home Manager is released in branches corresponding to NixOS releases
(e.g. `release-23.05`). These branches get fixes, but usually not new
modules. If you need a module to be backported, then feel free to open
an issue.
Words of warning Words of warning
---------------- ----------------
Unfortunately, it is quite possible to get difficult to understand Unfortunately, it is quite possible to get difficult to understand
errors when working with Home Manager, such as infinite loops with no errors when working with Home Manager. You should therefore be
clear source reference. You should therefore be comfortable using the comfortable using the Nix language and the various tools in the Nix
Nix language and the various tools in the Nix ecosystem. Reading ecosystem.
through the [Nix Pills][] document is a good way to familiarize
yourself with them.
If you are not very familiar with Nix but still want to use Home If you are not very familiar with Nix but still want to use Home
Manager then you are strongly encouraged to start with a small and Manager then you are strongly encouraged to start with a small and
@ -42,7 +51,7 @@ will write to your dconf store and cannot tell whether a configuration
that it is about to be overwritten was from a previous Home Manager that it is about to be overwritten was from a previous Home Manager
generation or from manual configuration. generation or from manual configuration.
Home Manager targets [NixOS][] unstable and NixOS version 22.11 (the Home Manager targets [NixOS][] unstable and NixOS version 23.05 (the
current stable version), it may or may not work on other Linux current stable version), it may or may not work on other Linux
distributions and NixOS versions. distributions and NixOS versions.
@ -100,17 +109,6 @@ contribute to the translation effort then start by going to the
<img src="https://hosted.weblate.org/widgets/home-manager/-/multi-auto.svg" alt="Translation status" /> <img src="https://hosted.weblate.org/widgets/home-manager/-/multi-auto.svg" alt="Translation status" />
</a> </a>
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-22.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.
License License
------- -------
@ -125,7 +123,6 @@ This project is licensed under the terms of the [MIT license](LICENSE).
[configuration options]: https://nix-community.github.io/home-manager/options.html [configuration options]: https://nix-community.github.io/home-manager/options.html
[#home-manager]: https://webchat.oftc.net/?channels=home-manager [#home-manager]: https://webchat.oftc.net/?channels=home-manager
[OFTC]: https://oftc.net/ [OFTC]: https://oftc.net/
[Nix Pills]: https://nixos.org/guides/nix-pills/
[Nix Flakes]: https://nixos.wiki/wiki/Flakes [Nix Flakes]: https://nixos.wiki/wiki/Flakes
[nix-darwin]: https://github.com/LnL7/nix-darwin [nix-darwin]: https://github.com/LnL7/nix-darwin
[manual standalone install]: https://nix-community.github.io/home-manager/index.html#sec-install-standalone [manual standalone install]: https://nix-community.github.io/home-manager/index.html#sec-install-standalone

View file

@ -1,7 +1,11 @@
{ pkgs ? import <nixpkgs> { } }: { pkgs ? import <nixpkgs> { } }:
rec { rec {
docs = with import ./docs { inherit pkgs; }; { docs = let releaseInfo = pkgs.lib.importJSON ./release.json;
in with import ./docs {
inherit pkgs;
inherit (releaseInfo) release isReleaseBranch;
}; {
html = manual.html; html = manual.html;
manPages = manPages; manPages = manPages;
json = options.json; json = options.json;

View file

@ -0,0 +1,22 @@
[[ch-3rd-party]]
== Third-Party Tools and Extensions
Here is a collection of tools and extensions that relate to Home
Manager. Note, these are maintained outside the regular Home Manager
flow so quality and support may vary wildly. If you encounter problems
then please raise them in the corresponding project, not as issues in
the Home Manager tracker.
If you have made something interesting related to Home Manager then
you are encouraged to create a PR that expands this chapter.
[[sec-3rd-party-module-collections]]
=== Module Collections
- https://github.com/schuelermine/xhmm[xhmm — extra Home Manager modules]
+
A collection of modules maintained by Anselm Schüler.
- https://github.com/danth/stylix/[Stylix — System-wide colorscheming and typography]
+
Configure your applications to get coherent color scheme and font.

View file

@ -28,6 +28,11 @@ Assuming your clone is at `$HOME/devel/home-manager` then you can make the `home
[source,console] [source,console]
$ home-manager -I home-manager=$HOME/devel/home-manager $ home-manager -I home-manager=$HOME/devel/home-manager
+ +
or, if using <<sec-flakes-standalone,flakes>>:
+
[source,console]
$ home-manager --override-input home-manager ~/devel/home-manager
+
or or
2. changing the default path by ensuring your configuration includes 2. changing the default path by ensuring your configuration includes
@ -45,8 +50,8 @@ The first option is good if you only temporarily want to use your clone.
[[sec-guidelines]] [[sec-guidelines]]
=== Guidelines === Guidelines
:irc-home-manager: https://webchat.oftc.net/?channels=home-manager :irc-home-manager: https://webchat.oftc.net/?channels=home-manager
:valuable-options: https://github.com/Infinisil/rfcs/blob/config-option/rfcs/0042-config-option.md#valuable-options :valuable-options: https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md#valuable-options
:rfc-42: https://github.com/Infinisil/rfcs/blob/config-option/rfcs/0042-config-option.md :rfc-42: https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md
:assertions: https://nixos.org/manual/nixos/stable/index.html#sec-assertions :assertions: https://nixos.org/manual/nixos/stable/index.html#sec-assertions
If your contribution satisfy the following rules then there is a good chance it will be merged without too much trouble. The rules are enforced by the Home Manager maintainers and to a lesser extent the Home Manager CI system. If your contribution satisfy the following rules then there is a good chance it will be merged without too much trouble. The rules are enforced by the Home Manager maintainers and to a lesser extent the Home Manager CI system.
@ -89,11 +94,11 @@ All contributed code _must_ pass the test suite.
[[sec-guidelines-module-maintainer]] [[sec-guidelines-module-maintainer]]
==== Add relevant documentation ==== Add relevant documentation
:nixpkgs-markdown: https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-markup
:docbook: https://tdg.docbook.org/ :docbook: https://tdg.docbook.org/
:asciidoc: https://asciidoc.org/ :asciidoc: https://asciidoc.org/
:docbook-rocks: https://berbiche.github.io/docbook.rocks/
Many code changes require changing the documentation as well. Module options should be documented with DocBook. See {docbook-rocks}[DocBook rocks!] for a quick introduction and {docbook}[DocBook 5: The Definitive Guide] for in-depth information of DocBook. Home Manager is itself documented using a combination of DocBook and {asciidoc}[AsciiDoc]. 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-markdown}[Nixpkgs-flavoured Markdown]. Home Manager is itself documented using a combination of {docbook}[DocBook] and {asciidoc}[AsciiDoc]. 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 opened by typing the following in a shell within a clone of the Home Manager Git repository: The HTML version of the manual containing both the module option descriptions and the documentation of Home Manager can be generated and opened by typing the following in a shell within a clone of the Home Manager Git repository:
@ -111,11 +116,9 @@ $ man ./result/share/man/man5/home-configuration.nix.5.gz
Every new module _must_ include a named maintainer using the `meta.maintainers` attribute. If you are a user of a module that currently lacks a maintainer then please consider adopting it. Every new module _must_ include a named maintainer using the `meta.maintainers` attribute. If you are a user of a module that currently lacks a maintainer then please consider adopting it.
If you are present in the NixOS 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. 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.
Also add yourself to `.github/CODEOWNERS` as owner of the associated module files, including the test files. You will then be automatically added as a reviewer on any new pull request that touches your files. Maintainers are encouraged to join the IRC or Matrix channel and participate when they have opportunity.
Maintainers are encouraged to join the IRC channel and participate when they have opportunity.
[[sec-guidelines-code-style]] [[sec-guidelines-code-style]]
==== Format your code ==== Format your code
@ -240,7 +243,7 @@ should be added. If you contribute a module then you don't need to add this entr
Home Manager includes a basic test suite and it is highly recommended to include at least one test when adding a module. Tests are typically in the form of "golden tests" where, for example, a generated configuration file is compared to a known correct file. Home Manager includes a basic test suite and it is highly recommended to include at least one test when adding a module. Tests are typically in 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. It is relatively easy to create tests by modeling the existing tests, found in the `tests` project directory. For a full reference to the functions available in test scripts, you can look at NMT's https://git.sr.ht/~rycee/nmt/tree/master/item/bash-lib[bash-lib].
The full Home Manager test suite can be run by executing The full Home Manager test suite can be run by executing
@ -260,4 +263,4 @@ $ nix-shell --pure tests -A run.alacritty-empty-settings
However, those invocations will impurely source the systems nixpkgs, and may cause failures. To run against the nixpkgs from the flake.lock, use instead e.g. However, those invocations will impurely source the systems nixpkgs, and may cause failures. To run against the nixpkgs from the flake.lock, use instead e.g.
[source,console] [source,console]
$ nix develop --ignore-environment .#tests.all $ nix develop --ignore-environment .#all

View file

@ -1,17 +1,28 @@
{ pkgs { pkgs
# Note, this should be "the standard library" + HM extensions. # Note, this should be "the standard library" + HM extensions.
, lib ? import ../modules/lib/stdlib-extended.nix pkgs.lib }: , lib ? import ../modules/lib/stdlib-extended.nix pkgs.lib
, release, isReleaseBranch }:
let let
nmdSrc = fetchTarball { nmdSrc = fetchTarball {
url = url =
"https://gitlab.com/api/v4/projects/rycee%2Fnmd/repository/archive.tar.gz?sha=06c80103396a1a950586c23da1882c977b24bbda"; "https://git.sr.ht/~rycee/nmd/archive/824a380546b5d0d0eb701ff8cd5dbafb360750ff.tar.gz";
sha256 = "15axmplkl7m7fs4c8m53dawhgwkb64hm2v67m59xdknbjjgfrpqb"; sha256 = "0vvj40k6bw8ssra8wil9rqbsznmfy1kwy7cihvm13rajwdg9ycgg";
}; };
nmd = import nmdSrc { inherit lib pkgs; }; 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 # Make sure the used package is scrubbed to avoid actually
# instantiating derivations. # instantiating derivations.
@ -26,42 +37,72 @@ let
dontCheckDefinitions = { _module.check = false; }; dontCheckDefinitions = { _module.check = false; };
buildModulesDocs = args: gitHubDeclaration = user: repo: subpath:
nmd.buildModulesDocs ({ let urlRef = if isReleaseBranch then "release-${release}" else "master";
moduleRootPaths = [ ./.. ]; in {
mkModuleUrl = path: url = "https://github.com/${user}/${repo}/blob/${urlRef}/${subpath}";
"https://github.com/nix-community/home-manager/blob/master/${path}#blob-path"; name = "<${repo}/${subpath}>";
channelName = "home-manager"; };
} // args);
hmModulesDocs = buildModulesDocs { hmPath = toString ./..;
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;
};
} // builtins.removeAttrs args [ "modules" "includeModuleSystemOptions" ]);
hmOptionsDocs = buildOptionsDocs {
modules = import ../modules/modules.nix { modules = import ../modules/modules.nix {
inherit lib pkgs; inherit lib pkgs;
check = false; check = false;
} ++ [ scrubbedPkgsModule ]; } ++ [ scrubbedPkgsModule ];
docBook.id = "home-manager-options"; variablelistId = "home-manager-options";
}; };
nixosModuleDocs = buildModulesDocs { nixosOptionsDocs = buildOptionsDocs {
modules = [ ../nixos scrubbedPkgsModule dontCheckDefinitions ]; modules = [ ../nixos scrubbedPkgsModule dontCheckDefinitions ];
docBook = { includeModuleSystemOptions = false;
id = "nixos-options"; variablelistId = "nixos-options";
optionIdPrefix = "nixos-opt"; optionIdPrefix = "nixos-opt-";
};
}; };
nixDarwinModuleDocs = buildModulesDocs { nixDarwinOptionsDocs = buildOptionsDocs {
modules = [ ../nix-darwin scrubbedPkgsModule dontCheckDefinitions ]; modules = [ ../nix-darwin scrubbedPkgsModule dontCheckDefinitions ];
docBook = { includeModuleSystemOptions = false;
id = "nix-darwin-options"; variablelistId = "nix-darwin-options";
optionIdPrefix = "nix-darwin-opt"; optionIdPrefix = "nix-darwin-opt-";
};
}; };
docs = nmd.buildDocBookDocs { docs = nmd.buildDocBookDocs {
pathName = "home-manager"; pathName = "home-manager";
projectName = "Home Manager"; projectName = "Home Manager";
modulesDocs = [ hmModulesDocs nixDarwinModuleDocs nixosModuleDocs ]; modulesDocs = [{
docBook = pkgs.linkFarm "hm-module-docs-for-nmd" {
"nmd-result/home-manager-options.xml" = hmOptionsDocs.optionsDocBook;
"nmd-result/nix-darwin-options.xml" =
nixDarwinOptionsDocs.optionsDocBook;
"nmd-result/nixos-options.xml" = nixosOptionsDocs.optionsDocBook;
};
}];
documentsDirectory = ./.; documentsDirectory = ./.;
documentType = "book"; documentType = "book";
chunkToc = '' chunkToc = ''
@ -81,9 +122,20 @@ in {
inherit nmdSrc; inherit nmdSrc;
options = { options = {
json = hmModulesDocs.json.override { # TODO: Use `hmOptionsDocs.optionsJSON` directly once upstream
path = "share/doc/home-manager/options.json"; # `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 \
'${hmOptionsDocs.optionsJSON}/share/doc/nixos' \
"$out/share/doc/home-manager"
'';
}; };
manPages = docs.manPages; manPages = docs.manPages;

View file

@ -72,7 +72,10 @@ For example, if you have two machines, called "kronos" and "rhea" on which you w
- `rhea-jane.nix`, and - `rhea-jane.nix`, and
- `common.nix` - `common.nix`
in your repository. On the kronos and rhea machines you can then make `~jane/.config/nixpkgs/home.nix` be a symbolic link to the corresponding file in your configuration repository. in your repository.
On the kronos and rhea machines you can then make
`~jane/.config/home-manager/home.nix`
be a symbolic link to the corresponding file in your configuration repository.
The `kronos-jane.nix` and `rhea-jane.nix` files follow the format The `kronos-jane.nix` and `rhea-jane.nix` files follow the format

View file

@ -2,6 +2,7 @@
== Installing Home Manager == Installing Home Manager
:nix-darwin: https://github.com/LnL7/nix-darwin/ :nix-darwin: https://github.com/LnL7/nix-darwin/
:nixos-wiki-flakes: https://nixos.wiki/wiki/Flakes
Home Manager can be used in three primary ways: Home Manager can be used in three primary ways:
@ -22,11 +23,17 @@ This allows the user profiles to be built together with the system
when running `darwin-rebuild`. See <<sec-install-nix-darwin-module>> when running `darwin-rebuild`. See <<sec-install-nix-darwin-module>>
for a description of this setup. for a description of this setup.
[NOTE]
In this chapter we describe how to install Home Manager in the
standard way using channels. If you prefer to use
{nixos-wiki-flakes}[Nix Flakes] then please see the instructions in
<<ch-nix-flakes>>.
[[sec-install-standalone]] [[sec-install-standalone]]
=== Standalone installation === Standalone installation
:nix-allowed-users: https://nixos.org/nix/manual/#conf-allowed-users :nix-allowed-users: https://nixos.org/nix/manual/#conf-allowed-users
:nixos-allowed-users: https://nixos.org/nixos/manual/options.html#opt-nix.allowedUsers :nixos-allowed-users: https://nixos.org/manual/nixos/stable/options.html#opt-nix.settings.allowed-users
:bash: https://www.gnu.org/software/bash/ :bash: https://www.gnu.org/software/bash/
:zsh: http://zsh.sourceforge.net/ :zsh: http://zsh.sourceforge.net/
:fish: https://fishshell.com :fish: https://fishshell.com
@ -40,7 +47,7 @@ example, you should be able to successfully run a command like
root user. For a multi-user install of Nix this means that your user root user. For a multi-user install of Nix this means that your user
must be covered by the {nix-allowed-users}[`allowed-users`] Nix must be covered by the {nix-allowed-users}[`allowed-users`] Nix
option. On NixOS you can control this option using the option. On NixOS you can control this option using the
{nixos-allowed-users}[`nix.allowedUsers`] system option. {nixos-allowed-users}[`nix.settings.allowed-users`] system option.
2. Add the appropriate Home Manager channel. If you are following 2. Add the appropriate Home Manager channel. If you are following
Nixpkgs master or an unstable channel you can run Nixpkgs master or an unstable channel you can run
@ -51,11 +58,11 @@ $ nix-channel --add https://github.com/nix-community/home-manager/archive/master
$ nix-channel --update $ nix-channel --update
---- ----
+ +
and if you follow a Nixpkgs version 22.11 channel you can run and if you follow a Nixpkgs version 23.05 channel you can run
+ +
[source,console] [source,console]
---- ----
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-22.11.tar.gz home-manager $ nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.05.tar.gz home-manager
$ nix-channel --update $ nix-channel --update
---- ----
@ -123,11 +130,11 @@ $ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/m
$ sudo nix-channel --update $ sudo nix-channel --update
---- ----
and if you follow a Nixpkgs version 22.11 channel, you can run and if you follow a Nixpkgs version 23.05 channel, you can run
[source,console] [source,console]
---- ----
$ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-22.11.tar.gz home-manager $ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.05.tar.gz home-manager
$ sudo nix-channel --update $ sudo nix-channel --update
---- ----
@ -212,6 +219,15 @@ the dependency on `NIX_PATH`, which is otherwise used for importing
Nixpkgs. Nixpkgs.
==== ====
[NOTE]
====
Home Manager will pass `osConfig` as a module argument to any modules
you create. This contains the system's NixOS configuration.
[source,nix]
{ lib, pkgs, osConfig, ... }:
====
Once installed you can see <<ch-usage>> for a more detailed Once installed you can see <<ch-usage>> for a more detailed
description of Home Manager and how to use it. description of Home Manager and how to use it.
@ -234,11 +250,11 @@ $ nix-channel --add https://github.com/nix-community/home-manager/archive/master
$ nix-channel --update $ nix-channel --update
---- ----
and if you follow a Nixpkgs version 22.11 channel, you can run and if you follow a Nixpkgs version 23.05 channel, you can run
[source,console] [source,console]
---- ----
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-22.11.tar.gz home-manager $ nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.05.tar.gz home-manager
$ nix-channel --update $ nix-channel --update
---- ----
@ -318,5 +334,14 @@ the dependency on `NIX_PATH`, which is otherwise used for importing
Nixpkgs. Nixpkgs.
==== ====
[NOTE]
====
Home Manager will pass `osConfig` as a module argument to any modules
you create. This contains the system's nix-darwin configuration.
[source,nix]
{ lib, pkgs, osConfig, ... }:
====
Once installed you can see <<ch-usage>> for a more detailed Once installed you can see <<ch-usage>> for a more detailed
description of Home Manager and how to use it. description of Home Manager and how to use it.

View file

@ -13,12 +13,12 @@
</refnamediv> </refnamediv>
<refsection> <refsection>
<title>Description</title> <title>Description</title>
<para> <simpara>
The file <filename>~/.config/nixpkgs/home.nix</filename> contains the The file <filename>~/.config/home-manager/home.nix</filename> contains the
declarative specification of your Home Manager configuration. The command declarative specification of your Home Manager configuration. The command
<command>home-manager</command> takes this file and realises the user <command>home-manager</command> takes this file and realises the user
environment configuration specified therein. environment configuration specified therein.
</para> </simpara>
</refsection> </refsection>
<refsection> <refsection>
<title>Options</title> <title>Options</title>
@ -26,7 +26,7 @@
You can use the following options in You can use the following options in
<filename>home-configuration.nix</filename>: <filename>home-configuration.nix</filename>:
</para> </para>
<xi:include href="./nmd-result/home-manager-options.xml" /> <xi:include href="./nmd-result/home-manager-options.xml" xpointer="home-manager-options" />
</refsection> </refsection>
<refsection> <refsection>
<title>See also</title> <title>See also</title>

View file

@ -17,6 +17,10 @@
build build
</arg> </arg>
<arg choice="plain">
init <arg>--switch</arg> <arg><replaceable>dir</replaceable></arg>
</arg>
<arg choice="plain"> <arg choice="plain">
instantiate instantiate
</arg> </arg>
@ -179,6 +183,10 @@
--no-out-link --no-out-link
</arg> </arg>
<arg>
--refresh
</arg>
<arg> <arg>
<group choice="req"> <group choice="req">
<arg choice="plain"> <arg choice="plain">
@ -196,7 +204,9 @@
<title>Description</title> <title>Description</title>
<para> <para>
This command updates the user environment so that it corresponds to the This command updates the user environment so that it corresponds to the
configuration specified in <filename>~/.config/nixpkgs/home.nix</filename> or <filename>~/.config/nixpkgs/flake.nix</filename>. configuration specified in
<filename>$XDG_CONFIG_HOME/home-manager/home.nix</filename> or
<filename>$XDG_CONFIG_HOME/home-manager/flake.nix</filename>.
</para> </para>
<para> <para>
All operations using this tool expects a sub-command that indicates the All operations using this tool expects a sub-command that indicates the
@ -212,6 +222,35 @@
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>
<option>init</option> [<option>--switch</option>] [<replaceable>dir</replaceable>]
</term>
<listitem>
<simpara>
Generates an initial <filename>home.nix</filename> file for the
current user. If Nix flakes are enabled, then this command also
generates a <filename>flake.nix</filename> file.
</simpara>
<simpara>
If a path <replaceable>dir</replaceable> is given then the
configuration will be generated in that directory. Otherwise, the
configuration will be generated in
<filename>~/.config/home-manager</filename>. The output directory will
be created if it does not exist.
</simpara>
<simpara>
If the <option>--switch</option> option is given, then the generated
configuration is activated.
</simpara>
<simpara>
Note, this command will not overwrite any existing files. It is
therefore safe to initialize a configuration, edit it, and then re-run
the <option>init</option> command with <option>--switch</option>
enabled to activate the configuration.
</simpara>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<option>instantiate</option> <option>instantiate</option>
@ -342,8 +381,8 @@
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
optionally remove all Home Manager generations and make them remove all Home Manager generations and make them available
available for immediate garbage collection. for immediate garbage collection.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
@ -430,7 +469,7 @@
<listitem> <listitem>
<para> <para>
Indicates the path to the Home Manager configuration file. If not given, Indicates the path to the Home Manager configuration file. If not given,
<filename>$XDG_CONFIG_HOME/nixpkgs/home.nix</filename> is used. <filename>$XDG_CONFIG_HOME/home-manager/home.nix</filename> is used.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -611,6 +650,18 @@
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>
<option>--refresh</option>
</term>
<listitem>
<para>
Passed on to <citerefentry>
<refentrytitle>nix-build</refentrytitle>
<manvolnum>1</manvolnum> </citerefentry>
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<option>-v</option> <option>-v</option>

View file

@ -35,18 +35,19 @@
<xi:include href="nix-flakes.xml" /> <xi:include href="nix-flakes.xml" />
<xi:include href="writing-modules.xml" /> <xi:include href="writing-modules.xml" />
<xi:include href="contributing.xml" /> <xi:include href="contributing.xml" />
<xi:include href="3rd-party.xml" />
<xi:include href="faq.xml" /> <xi:include href="faq.xml" />
<appendix xml:id="ch-options"> <appendix xml:id="ch-options">
<title>Configuration Options</title> <title>Configuration Options</title>
<xi:include href="./nmd-result/home-manager-options.xml" /> <xi:include href="./nmd-result/home-manager-options.xml" xpointer="home-manager-options" />
</appendix> </appendix>
<appendix xml:id="ch-nixos-options"> <appendix xml:id="ch-nixos-options">
<title>NixOS Module Options</title> <title>NixOS Module Options</title>
<xi:include href="./nmd-result/nixos-options.xml" /> <xi:include href="./nmd-result/nixos-options.xml" xpointer="nixos-options" />
</appendix> </appendix>
<appendix xml:id="ch-nix-darwin-options"> <appendix xml:id="ch-nix-darwin-options">
<title>nix-darwin Module Options</title> <title>nix-darwin Module Options</title>
<xi:include href="./nmd-result/nix-darwin-options.xml" /> <xi:include href="./nmd-result/nix-darwin-options.xml" xpointer="nix-darwin-options" />
</appendix> </appendix>
<appendix xml:id="ch-tools"> <appendix xml:id="ch-tools">
<title>Tools</title> <title>Tools</title>

View file

@ -3,10 +3,31 @@
:nixos-wiki-flakes: https://nixos.wiki/wiki/Flakes :nixos-wiki-flakes: https://nixos.wiki/wiki/Flakes
Home Manager includes a `flake.nix` file for compatibility with {nixos-wiki-flakes}[Nix Flakes]. Home Manager is compatible with {nixos-wiki-flakes}[Nix Flakes]. But
The support is still experimental and may change in backwards incompatible ways. please be aware that the support it is still experimental and may
change in backwards incompatible ways.
[[sec-flakes-prerequisties]] Just like in the standard installation you can use the Home Manager
flake in three ways:
1. Using the standalone `home-manager` tool. For platforms other than
NixOS and Darwin, this is the only available choice. It is also
recommended for people on NixOS or Darwin that want to manage their
home directory independently of the system as a whole. See
<<sec-flakes-standalone>> for instructions on how to perform this
installation.
2. As a module within a NixOS system configuration. This allows the
user profiles to be built together with the system when running
`nixos-rebuild`. See <<sec-flakes-nixos-module>> for a description of
this setup.
3. As a module within a {nix-darwin}[nix-darwin] system configuration.
This allows the user profiles to be built together with the system
when running `darwin-rebuild`. See <<sec-flakes-nix-darwin-module>>
for a description of this setup.
[[sec-flakes-prerequisites]]
=== Prerequisites === Prerequisites
* Install Nix 2.4 or later, or have it in `nix-shell`. * Install Nix 2.4 or later, or have it in `nix-shell`.
@ -49,98 +70,64 @@ writing a Home Manager configuration.
[[sec-flakes-standalone]] [[sec-flakes-standalone]]
=== Standalone setup === Standalone setup
1. Set up a flake with a `flake.nix` as follows: To prepare an initial Home Manager configuration for your logged in user,
+ you can run the Home Manager `init` command directly from its flake.
[source,nix]
----
{
description = "Home Manager configuration of Jane Doe";
inputs = { For example, if you are using the unstable version of Nixpkgs or NixOS,
# Specify the source of Home Manager and Nixpkgs. then to generate and activate a basic configuration run the command
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { nixpkgs, home-manager, ... }:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in {
homeConfigurations.jdoe = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
# Specify your home configuration modules here, for example,
# the path to your home.nix.
modules = [
./home.nix
];
# Optionally use extraSpecialArgs
# to pass through arguments to home.nix
};
};
}
----
+
[NOTE]
====
* The above example tracks the master branch of Home Manager
and nixos-unstable branch of Nixpkgs.
If you would like to use the `release-22.11` branch,
change the `home-manager` input url to `github:nix-community/home-manager/release-22.11`
and `nixpkgs` url to `github:NixOS/nixpkgs/nixos-22.11`.
* The Home Manager library is exported by the flake under
`lib.hm`.
* You can use the above `flake.nix` as a template in `~/.config/nixpkgs` by
[source,console] [source,console]
$ nix flake new ~/.config/nixpkgs -t github:nix-community/home-manager $ nix run home-manager/master -- init --switch
====
For Nixpkgs or NixOS version 23.05 run
[source,console]
$ nix run home-manager/release-23.05 -- init --switch
This will generate a `flake.nix` and a `home.nix` file in
`~/.config/home-manager`, creating the directory if it does not exist.
If you omit the `--switch` option then the activation will not happen.
This is useful if you want to inspect and edit the configuration before activating it.
2. Install Home Manager and apply the configuration by
+
[source,console] [source,console]
---- ----
$ nix build --no-link <flake-uri>#homeConfigurations.jdoe.activationPackage $ nix run home-manager/$branch -- init
$ "$(nix path-info <flake-uri>#homeConfigurations.jdoe.activationPackage)"/activate $ # Edit files in ~/.config/home-manager
$ nix run home-manager/$branch -- init --switch
---- ----
+
Substitute `<flake-uri>` with the flake URI of the configuration flake.
If `flake.nix` resides in `~/.config/nixpkgs`,
`<flake-uri>` may be `~/.config/nixpkgs`
as a Git tree or `path:~/.config/nixpkgs` if not.
3. Since the release `21.05`, Where `$branch` is one of `master` or `release-23.05`.
building a flake-based configuration is as simple as
+ After the initial activation has completed successfully then building
and activating your flake-based configuration is as simple as
[source,console] [source,console]
$ home-manager switch --flake '<flake-uri>#jdoe' $ home-manager switch
+
once home-manager is installed. It is possible to override the default configuration directory, if you want.
+ For example,
Here, `jdoe` is a configuration specified in the flake file,
and `<flake-uri>#jdoe` will be expanded to [source,console]
`<flake-uri>#homeConfigurations.jdoe.activationPackage` ----
and be built by Nix. $ nix run home-manager/$branch -- init --switch ~/hmconf
$ # And after the initial activation.
$ home-manager switch --flake ~/hmconf
----
[NOTE] [NOTE]
==== ====
The flake inputs are not upgraded automatically when switching. The flake inputs are not automatically updated by Home Manager.
The analogy to the command `home-manager --update ...` is `nix flake update`. You need to use the standard `nix flake update` command for that.
If updating more than one input is undesirable, If you only want to update a single flake input,
the command `nix flake lock --update-input <input-name>` can be used. then the command `nix flake lock --update-input <input>` can be used.
You can also pass flake-related options You can also pass flake-related options
such as `--recreate-lock-file` or `--update-input [input]` such as `--recreate-lock-file` or `--update-input <input>`
to `home-manager` when building/switching, to `home-manager` when building or switching,
and these options will be forwarded to `nix build`. and these options will be forwarded to `nix build`.
See the {nixos-wiki-flakes}[NixOS Wiki page] for detail. See the {nixos-wiki-flakes}[NixOS Wiki page] for details.
==== ====
[[sec-flakes-nixos-module]] [[sec-flakes-nixos-module]]

View file

@ -6,6 +6,8 @@ This section lists the release notes for stable versions of Home Manager and the
:leveloffset: 1 :leveloffset: 1
include::rl-2311.adoc[]
include::rl-2305.adoc[] include::rl-2305.adoc[]
include::rl-2211.adoc[] include::rl-2211.adoc[]

View file

@ -1,7 +1,7 @@
[[sec-release-22.11]] [[sec-release-22.11]]
== Release 22.11 == Release 22.11
This is the current unstable branch and the information in this section is therefore not final. The 22.11 release branch became the stable branch in November, 2022.
[[sec-release-22.11-highlights]] [[sec-release-22.11-highlights]]
=== Highlights === Highlights

View file

@ -1,14 +1,42 @@
[[sec-release-23.05]] [[sec-release-23.05]]
== Release 23.05 == Release 23.05
This is the current unstable branch and the information in this section is therefore not final. The 23.05 release branch became the stable branch in May, 2023.
[[sec-release-23.05-highlights]] [[sec-release-23.05-highlights]]
=== Highlights === Highlights
This release has the following notable changes: This release has the following notable changes:
* No highlights. * Firefox add-ons are now managed per-profile.
That is, if you are currently having
+
[source,nix]
programs.firefox.extensions = [ foo bar ];
+
in your configuration then you must change it to
+
[source,nix]
programs.firefox.profiles.myprofile.extensions = [ foo bar ];
* The default configuration location has been changed from
`~/.config/nixpkgs/home.nix` to `~/.config/home-manager/home.nix`.
+
Similarly, if you are using a Nix flake based setup
then the default flake file location has changed from
`~/.config/nixpkgs/flake.nix` to `~/.config/home-manager/flake.nix`.
+
The old location will continue to work but using it will trigger a warning message.
We changed the default configuration location to avoid confusion about
which files belong to Home Manager and which belong to Nixpkgs.
* The `home-manager` tool now offers an `init` command.
This command can be used to generate an initial Home Manager configuration,
and optionally also activate it.
The recommended installation method for a standalone Home Manager setup
with Nix flakes uses this new command.
The standard installation method remains the same but uses the new command internally.
See <<sec-flakes-standalone>> for more.
[[sec-release-23.05-state-version-changes]] [[sec-release-23.05-state-version-changes]]
=== State Version Changes === State Version Changes
@ -16,8 +44,14 @@ This release has the following notable changes:
The state version in this release includes the changes below. The state version in this release includes the changes below.
These changes are only active if the `home.stateVersion` option is set to "23.05" or later. These changes are only active if the `home.stateVersion` option is set to "23.05" or later.
* The <<opt-xsession.windowManager.i3.config.window.titlebar>>, * The options
<<opt-xsession.windowManager.i3.config.floating.titlebar>>, +
<<opt-wayland.windowManager.sway.config.window.titlebar>>, --
<<opt-wayland.windowManager.sway.config.floating.titlebar>>, options now default to `true` which - <<opt-xsession.windowManager.i3.config.window.titlebar>>
is consistent with the default values for those options used by `i3` and `sway`. - <<opt-xsession.windowManager.i3.config.floating.titlebar>>
- <<opt-wayland.windowManager.sway.config.window.titlebar>>
- <<opt-wayland.windowManager.sway.config.floating.titlebar>>
--
+
now default to `true` which is consistent with the default values for
those options used by `i3` and `sway`.

View file

@ -0,0 +1,41 @@
[[sec-release-23.11]]
== Release 23.11
This is the current unstable branch and the information in this section is therefore not final.
[[sec-release-23.11-highlights]]
=== Highlights
:babelfish: https://github.com/bouk/babelfish
:nixpkgs-markdown: https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-markup
This release has the following notable changes:
* When using <<opt-programs.fish.enable>>, the setup code
for <<opt-home.sessionVariables>> is now translated
with {babelfish}[babelfish].
This should result in significantly faster shell startup times
but could theoretically break
if you have very complex bash expressions in a session variable.
Please report any issues you experience.
* The `.release` file in the Home Manager source tree
has been supplanted by `release.json`,
which contains more information about the branch.
If you have any external code reading this file,
please switch to consuming `release.json` instead.
The `.release` file will be removed in 24.05.
* Home Manager has migrated to using
the upstream Nixpkgs `lib.nixosOptionsDoc` processor
for option documentation.
If you have any external Home Manager modules,
their option descriptions and literal examples should be translated
to {nixpkgs-markdown}[Nixpkgs-flavoured Markdown].
[[sec-release-23.11-state-version-changes]]
=== 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 "23.11" or later.
* Nothing, yet.

View file

@ -1,7 +1,14 @@
[[ch-usage]] [[ch-usage]]
== Using Home Manager == Using Home Manager
Your use of Home Manager is centered around the configuration file, which is typically found at `~/.config/nixpkgs/home.nix`. Your use of Home Manager is centered around the configuration file,
which is typically found at `~/.config/home-manager/home.nix` in the standard installation
or `~/.config/home-manager/flake.nix` in a Nix flake based installation.
[NOTE]
The default configuration used to be placed in `~/.config/nixpkgs`¸
so you may see references to that elsewhere.
The old directory still works but Home Manager will print a warning message when used.
This configuration file can be _built_ and _activated_. This configuration file can be _built_ and _activated_.
@ -18,7 +25,7 @@ then building it, for example using `home-manager build`, will result in an erro
---- ----
$ home-manager build $ home-manager build
error: A definition for option `programs.emacs.enable' is not of type `boolean'. Definition values: error: A definition for option `programs.emacs.enable' is not of type `boolean'. Definition values:
- In `/home/jdoe/.config/nixpkgs/home.nix': "yes" - In `/home/jdoe/.config/home-manager/home.nix': "yes"
(use '--show-trace' to show detailed location information) (use '--show-trace' to show detailed location information)
---- ----
@ -32,7 +39,7 @@ Once a configuration is successfully built, it can be activated. The activation
[[sec-usage-configuration]] [[sec-usage-configuration]]
=== Configuration Example === Configuration Example
A fresh install of Home Manager will generate a minimal `~/.config/nixpkgs/home.nix` file containing something like A fresh install of Home Manager will generate a minimal `~/.config/home-manager/home.nix` file containing something like
[source,nix] [source,nix]
---- ----
@ -52,7 +59,7 @@ A fresh install of Home Manager will generate a minimal `~/.config/nixpkgs/home.
# You can update Home Manager without changing this value. See # You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version # the Home Manager release notes for a list of state version
# changes in each release. # changes in each release.
home.stateVersion = "22.11"; home.stateVersion = "23.05";
# Let Home Manager install and manage itself. # Let Home Manager install and manage itself.
programs.home-manager.enable = true; programs.home-manager.enable = true;
@ -92,7 +99,7 @@ To satisfy the above setup we should elaborate the `home.nix` file as follows:
# You can update Home Manager without changing this value. See # You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version # the Home Manager release notes for a list of state version
# changes in each release. # changes in each release.
home.stateVersion = "22.11"; home.stateVersion = "23.05";
# Let Home Manager install and manage itself. # Let Home Manager install and manage itself.
programs.home-manager.enable = true; programs.home-manager.enable = true;

View file

@ -7,16 +7,17 @@ The module system in Home Manager is based entirely on the NixOS module system s
[[sec-option-types]] [[sec-option-types]]
=== Option Types === Option Types
:wikipedia-dag: https://en.wikipedia.org/w/index.php?title=Directed_acyclic_graph&oldid=939656095 :wikipedia-dag: https://en.wikipedia.org/w/index.php?title=Directed_acyclic_graph&oldid=939656095
:gvariant-description: https://developer.gnome.org/glib/stable/glib-GVariant.html#glib-GVariant.description :gvariant-description: https://docs.gtk.org/glib/struct.Variant.html#description
Overall the basic option types are the same in Home Manager as NixOS. A few Home Manager options, however, make use of custom types that are worth describing in more detail. These are the option types `dagOf` and `gvariant` that are used, for example, by <<opt-programs.ssh.matchBlocks>> and <<opt-dconf.settings>>. Overall the basic option types are the same in Home Manager as NixOS. A few Home Manager options, however, make use of custom types that are worth describing in more detail. These are the option types `dagOf` and `gvariant` that are used, for example, by <<opt-programs.ssh.matchBlocks>> and <<opt-dconf.settings>>.
`hm.types.dagOf`:: [[sec-option-types-dag]]`hm.types.dagOf`::
Options of this type have attribute sets as values where each member is a node in a {wikipedia-dag}[directed acyclic graph] (DAG). This allows the attribute set entries to express dependency relations among themselves. This can, for example, be used to control the order of match blocks in a OpenSSH client configuration or the order of activation script blocks in <<opt-home.activation>>. Options of this type have attribute sets as values where each member is a node in a {wikipedia-dag}[directed acyclic graph] (DAG). This allows the attribute set entries to express dependency relations among themselves. This can, for example, be used to control the order of match blocks in a OpenSSH client configuration or the order of activation script blocks in <<opt-home.activation>>.
+ +
A number of functions are provided to create DAG nodes. The functions are shown below with examples using an option `foo.bar` of type `hm.types.dagOf types.int`. A number of functions are provided to create DAG nodes. The functions are shown below with examples using an option `foo.bar` of type `hm.types.dagOf types.int`.
+ +
`hm.dag.entryAnywhere (value: T)`::: --
[[sec-option-types-dag-entryAnywhere]]`hm.dag.entryAnywhere (value: T) : DagEntry<T>`:::
Indicates that `value` can be placed anywhere within the DAG. This is also the default for plain attribute set entries, that is Indicates that `value` can be placed anywhere within the DAG. This is also the default for plain attribute set entries, that is
+ +
[source,nix] [source,nix]
@ -37,7 +38,7 @@ foo.bar = {
+ +
are equivalent. are equivalent.
+ +
`hm.dag.entryAfter (afters: list string) (value: T)`::: [[sec-option-types-dag-entryAfter]]`hm.dag.entryAfter (afters: list string) (value: T) : DagEntry<T>` :::
Indicates that `value` must be placed _after_ each of the attribute names in the given list. For example Indicates that `value` must be placed _after_ each of the attribute names in the given list. For example
+ +
[source,nix] [source,nix]
@ -50,7 +51,7 @@ foo.bar = {
+ +
would place `b` after `a` in the graph. would place `b` after `a` in the graph.
+ +
`hm.dag.entryBefore (befores: list string) (value: T)`::: [[sec-option-types-dag-entryBefore]]`hm.dag.entryBefore (befores: list string) (value: T) : DagEntry<T>` :::
Indicates that `value` must be placed _before_ each of the attribute names in the given list. For example Indicates that `value` must be placed _before_ each of the attribute names in the given list. For example
+ +
[source,nix] [source,nix]
@ -63,7 +64,7 @@ foo.bar = {
+ +
would place `b` before `a` in the graph. would place `b` before `a` in the graph.
+ +
`hm.dag.entryBetween (befores: list string) (afters: list string) (value: T)`::: [[sec-option-types-dag-entryBetween]]`hm.dag.entryBetween (befores: list string) (afters: list string) (value: T) : DagEntry<T>` :::
Indicates that `value` must be placed _before_ the attribute names in the first list and _after_ the attribute names in the second list. For example Indicates that `value` must be placed _before_ the attribute names in the first list and _after_ the attribute names in the second list. For example
+ +
[source,nix] [source,nix]
@ -76,14 +77,101 @@ foo.bar = {
---- ----
+ +
would place `c` before `b` and after `a` in the graph. would place `c` before `b` and after `a` in the graph.
--
+
There are also a set of functions that generate a DAG from a list.
These are convenient when you just want to have a linear list of DAG entries,
without having to manually enter the relationship between each entry.
Each of these functions take a `tag` as argument and the DAG entries will be named `${tag}-${index}`.
`hm.types.gvariant`:: [[sec-option-types-dag-entriesAnywhere]]`hm.dag.entriesAnywhere (tag: string) (values: [T]) : Dag<T>`:::
This type is useful for options representing {gvariant-description}[GVariant] values. The type accepts all primitive GVariant types as well as arrays and tuples. Dictionaries are not currently supported. Creates a DAG with the given values with each entry labeled using the given tag. For example
+ +
To create a GVariant value you can use a number of provided functions. Examples assume an option `foo.bar` of type `hm.types.gvariant`. [source,nix]
foo.bar = hm.dag.entriesAnywhere "a" [ 0 1 ];
+ +
`hm.gvariant.mkBoolean (v: bool)`::: is equivalent to
Takes a Nix value `v` to a GVariant `boolean` value. Note, Nix booleans are automatically coerced using this function. That is, +
[source,nix]
----
foo.bar = {
a-0 = 0;
a-1 = hm.dag.entryAfter [ "a-0" ] 1;
}
----
+
[[sec-option-types-dag-entriesAfter]]`hm.dag.entriesAfter (tag: string) (afters: list string) (values: [T]) : Dag<T>`:::
Creates a DAG with the given values with each entry labeled using the given tag.
The list of values are placed are placed _after_ each of the attribute names in `afters`.
For example
+
[source,nix]
foo.bar =
{ b = 0; }
// hm.dag.entriesAfter "a" [ "b" ] [ 1 2 ];
+
is equivalent to
+
[source,nix]
----
foo.bar = {
b = 0;
a-0 = hm.dag.entryAfter [ "b" ] 1;
a-1 = hm.dag.entryAfter [ "a-0" ] 2;
}
----
+
[[sec-option-types-dag-entriesBefore]]`hm.dag.entriesBefore (tag: string) (befores: list string) (values: [T]) : Dag<T>`:::
Creates a DAG with the given values with each entry labeled using the given tag.
The list of values are placed _before_ each of the attribute names in `befores`.
For example
+
[source,nix]
foo.bar =
{ b = 0; }
// hm.dag.entriesBefore "a" [ "b" ] [ 1 2 ];
+
is equivalent to
+
[source,nix]
----
foo.bar = {
b = 0;
a-0 = 1;
a-1 = hm.dag.entryBetween [ "b" ] [ "a-0" ] 2;
}
----
+
[[sec-option-types-dag-entriesBetween]]`hm.dag.entriesBetween (tag: string) (befores: list string) (afters: list string) (values: [T]) : Dag<T>`:::
Creates a DAG with the given values with each entry labeled using the given tag.
The list of values are placed _before_ each of the attribute names in `befores`
and _after_ each of the attribute names in `afters`.
For example
+
[source,nix]
foo.bar =
{ b = 0; c = 3; }
// hm.dag.entriesBetween "a" [ "b" ] [ "c" ] [ 1 2 ];
+
is equivalent to
+
[source,nix]
----
foo.bar = {
b = 0;
c = 3;
a-0 = hm.dag.entryAfter [ "c" ] 1;
a-1 = hm.dag.entryBetween [ "b" ] [ "a-0" ] 2;
}
----
[[sec-option-types-gvariant]]`hm.types.gvariant`::
This type is useful for options representing {gvariant-description}[GVariant] values. The type accepts all primitive GVariant types as well as arrays, tuples, ``maybe'' types, and dictionaries.
+
Some Nix values are automatically coerced to matching GVariant value but the GVariant model is richer so you may need to use one of the provided constructor functions. Examples assume an option `foo.bar` of type `hm.types.gvariant`.
+
[[sec-option-types-gvariant-mkBoolean]]`hm.gvariant.mkBoolean (v: bool)`:::
Takes a Nix value `v` to a GVariant `boolean` value (GVariant format string `b`). Note, Nix booleans are automatically coerced using this function. That is,
+ +
[source,nix] [source,nix]
---- ----
@ -96,8 +184,8 @@ is equivalent to
---- ----
foo.bar = true; foo.bar = true;
---- ----
`hm.gvariant.mkString (v: string)`::: [[sec-option-types-gvariant-mkString]]`hm.gvariant.mkString (v: string)`:::
Takes a Nix value `v` to a GVariant `string` value. Note, Nix strings are automatically coerced using this function. That is, Takes a Nix value `v` to a GVariant `string` value (GVariant format string `s`). Note, Nix strings are automatically coerced using this function. That is,
+ +
[source,nix] [source,nix]
---- ----
@ -110,16 +198,16 @@ is equivalent to
---- ----
foo.bar = "a string"; foo.bar = "a string";
---- ----
`hm.gvariant.mkObjectpath (v: string)`::: [[sec-option-types-gvariant-mkObjectpath]]`hm.gvariant.mkObjectpath (v: string)`:::
Takes a Nix value `v` to a GVariant `objectpath` value. Takes a Nix value `v` to a GVariant `objectpath` value (GVariant format string `o`).
`hm.gvariant.mkUchar (v: string)`::: [[sec-option-types-gvariant-mkUchar]]`hm.gvariant.mkUchar (v: string)`:::
Takes a Nix value `v` to a GVariant `uchar` value. Takes a Nix value `v` to a GVariant `uchar` value (GVariant format string `y`).
`hm.gvariant.mkInt16 (v: int)`::: [[sec-option-types-gvariant-mkInt16]]`hm.gvariant.mkInt16 (v: int)`:::
Takes a Nix value `v` to a GVariant `int16` value. Takes a Nix value `v` to a GVariant `int16` value (GVariant format string `n`).
`hm.gvariant.mkUint16 (v: int)`::: [[sec-option-types-gvariant-mkUint16]]`hm.gvariant.mkUint16 (v: int)`:::
Takes a Nix value `v` to a GVariant `uint16` value. Takes a Nix value `v` to a GVariant `uint16` value (GVariant format string `q`).
`hm.gvariant.mkInt32 (v: int)`::: [[sec-option-types-gvariant-mkInt32]]`hm.gvariant.mkInt32 (v: int)`:::
Takes a Nix value `v` to a GVariant `int32` value. Note, Nix integers are automatically coerced using this function. That is, Takes a Nix value `v` to a GVariant `int32` value (GVariant format string `i`). Note, Nix integers are automatically coerced using this function. That is,
+ +
[source,nix] [source,nix]
---- ----
@ -132,14 +220,14 @@ is equivalent to
---- ----
foo.bar = 7; foo.bar = 7;
---- ----
`hm.gvariant.mkUint32 (v: int)`::: [[sec-option-types-gvariant-mkUint32]]`hm.gvariant.mkUint32 (v: int)`:::
Takes a Nix value `v` to a GVariant `uint32` value. Takes a Nix value `v` to a GVariant `uint32` value (GVariant format string `u`).
`hm.gvariant.mkInt64 (v: int)`::: [[sec-option-types-gvariant-mkInt64]]`hm.gvariant.mkInt64 (v: int)`:::
Takes a Nix value `v` to a GVariant `int64` value. Takes a Nix value `v` to a GVariant `int64` value (GVariant format string `x`).
`hm.gvariant.mkUint64 (v: int)`::: [[sec-option-types-gvariant-mkUint64]]`hm.gvariant.mkUint64 (v: int)`:::
Takes a Nix value `v` to a GVariant `uint64` value. Takes a Nix value `v` to a GVariant `uint64` value (GVariant format string `t`).
`hm.gvariant.mkDouble (v: double)`::: [[sec-option-types-gvariant-mkDouble]]`hm.gvariant.mkDouble (v: double)`:::
Takes a Nix value `v` to a GVariant `double` value. Note, Nix floats are automatically coerced using this function. That is, Takes a Nix value `v` to a GVariant `double` value (GVariant format string `d`). Note, Nix floats are automatically coerced using this function. That is,
+ +
[source,nix] [source,nix]
---- ----
@ -153,43 +241,43 @@ is equivalent to
foo.bar = 3.14; foo.bar = 3.14;
---- ----
+ +
`hm.gvariant.mkArray type elements`::: [[sec-option-types-gvariant-mkArray]]`hm.gvariant.mkArray type elements`:::
Builds a GVariant array containing the given list of elements, where each element is a GVariant value of the given type. The `type` value can be constructed using Builds a GVariant array containing the given list of elements, where each element is a GVariant value of the given type (GVariant format string `a${type}`). The `type` value can be constructed using
+ +
-- --
- `hm.gvariant.type.string` - `hm.gvariant.type.string` (GVariant format string `s`)
- `hm.gvariant.type.boolean` - `hm.gvariant.type.boolean` (GVariant format string `b`)
- `hm.gvariant.type.uchar` - `hm.gvariant.type.uchar` (GVariant format string `y`)
- `hm.gvariant.type.int16` - `hm.gvariant.type.int16` (GVariant format string `n`)
- `hm.gvariant.type.uint16` - `hm.gvariant.type.uint16` (GVariant format string `q`)
- `hm.gvariant.type.int32` - `hm.gvariant.type.int32` (GVariant format string `i`)
- `hm.gvariant.type.uint32` - `hm.gvariant.type.uint32` (GVariant format string `u`)
- `hm.gvariant.type.int64` - `hm.gvariant.type.int64` (GVariant format string `x`)
- `hm.gvariant.type.uint64` - `hm.gvariant.type.uint64` (GVariant format string `t`)
- `hm.gvariant.type.double` - `hm.gvariant.type.double` (GVariant format string `d`)
- `hm.gvariant.type.variant` - `hm.gvariant.type.variant` (GVariant format string `v`)
- `hm.gvariant.type.arrayOf type` - `hm.gvariant.type.arrayOf type` (GVariant format string `a${type}`)
- `hm.gvariant.type.maybeOf type` - `hm.gvariant.type.maybeOf type` (GVariant format string `m${type}`)
- `hm.gvariant.type.tupleOf types` - `hm.gvariant.type.tupleOf types` (GVariant format string `(${lib.concatStrings types})`)
- `hm.gvariant.type.dictionaryEntryOf types` - `hm.gvariant.type.dictionaryEntryOf [keyType valueType]` (GVariant format string `{${keyType}${valueType}}`)
-- --
+ +
where `type` and `types` are themselves a type and list of types, respectively. where `type` and `types` are themselves a type and list of types, respectively.
+ +
`hm.gvariant.mkEmptyArray type`::: [[sec-option-types-gvariant-mkEmptyArray]]`hm.gvariant.mkEmptyArray type`:::
An alias of `hm.gvariant.mkArray type []`. An alias of <<sec-option-types-gvariant-mkArray,`hm.gvariant.mkArray type []`>>.
+ +
`hm.gvariant.mkNothing type`::: [[sec-option-types-gvariant-mkNothing]]`hm.gvariant.mkNothing type`:::
Builds a GVariant maybe value whose (non-existent) element is of the given type. The `type` value is constructed as described for the `mkArray` function above. Builds a GVariant maybe value (GVariant format string `m${type}`) whose (non-existent) element is of the given type. The `type` value is constructed as described for the <<sec-option-types-gvariant-mkArray,`mkArray`>> function above.
+ +
`hm.gvariant.mkJust element`::: [[sec-option-types-gvariant-mkJust]]`hm.gvariant.mkJust element`:::
Builds a GVariant maybe value containing the given GVariant element. Builds a GVariant maybe value (GVariant format string `m${element.type}`) containing the given GVariant element.
+ +
`hm.gvariant.mkTuple elements`::: [[sec-option-types-gvariant-mkTuple]]`hm.gvariant.mkTuple elements`:::
Builds a GVariant tuple containing the given list of elements, where each element is a GVariant value. Builds a GVariant tuple containing the given list of elements, where each element is a GVariant value.
+ +
`hm.gvariant.mkVariant element`::: [[sec-option-types-gvariant-mkVariant]]`hm.gvariant.mkVariant element`:::
Builds a GVariant variant which contains the value of a GVariant element. Builds a GVariant variant (GVariant format string `v`) which contains the value of a GVariant element.
+ +
`hm.gvariant.mkDictionaryEntry elements`::: [[sec-option-types-gvariant-mkDictionaryEntry]]`hm.gvariant.mkDictionaryEntry [key value]`:::
Builds a GVariant dictionary entry containing the given list of elements, where each element is a GVariant value. Builds a GVariant dictionary entry containing the given list of elements (GVariant format string `{${key.type}${value.type}}`), where each element is a GVariant value.

View file

@ -2,15 +2,15 @@
"nodes": { "nodes": {
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1671983799, "lastModified": 1690881714,
"narHash": "sha256-Z2Ro6hFPZHkBqkVXY5/aBUzxi5xizQGvuHQ9+T5B/ks=", "narHash": "sha256-h/nXluEqdiQHs1oSgkOOWF+j8gcJMWhwnZ9PFabN6q0=",
"owner": "nixos", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "fad51abd42ca17a60fc1d4cb9382e2d79ae31836", "rev": "9e1960bc196baf6881340d53dccb203a951745a2",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
@ -18,23 +18,7 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs"
"utils": "utils"
}
},
"utils": {
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
} }
} }
}, },

View file

@ -1,10 +1,9 @@
{ {
description = "Home Manager for Nix"; description = "Home Manager for Nix";
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
inputs.utils.url = "github:numtide/flake-utils";
outputs = { self, nixpkgs, utils, ... }: outputs = { self, nixpkgs, ... }:
{ {
nixosModules = rec { nixosModules = rec {
home-manager = import ./nixos; home-manager = import ./nixos;
@ -56,7 +55,7 @@
- 'system' - 'system'
have been removed. Instead use the arguments 'pkgs' and have been removed. Instead use the arguments 'pkgs' and
'modules'. See the 22.11 release notes for more. 'modules'. See the 22.11 release notes for more: https://nix-community.github.io/home-manager/release-notes.html#sec-release-22.11-highlights
''; '';
throwForRemovedArgs = v: throwForRemovedArgs = v:
@ -79,26 +78,46 @@
in throwForRemovedArgs (import ./modules { in throwForRemovedArgs (import ./modules {
inherit pkgs lib check extraSpecialArgs; inherit pkgs lib check extraSpecialArgs;
configuration = { ... }: { configuration = { ... }: {
imports = modules; imports = modules
++ [{ programs.home-manager.path = toString ./.; }];
nixpkgs = { inherit (pkgs) config overlays; }; nixpkgs = { inherit (pkgs) config overlays; };
}; };
}); });
}; };
} // utils.lib.eachDefaultSystem (system: } // (let
forAllSystems = nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed;
in {
devShells = forAllSystems (system:
let let
pkgs = nixpkgs.legacyPackages.${system}; pkgs = nixpkgs.legacyPackages.${system};
docs = import ./docs { inherit pkgs; };
tests = import ./tests { inherit pkgs; }; tests = import ./tests { inherit pkgs; };
in { in tests.run);
devShells.tests = tests.run;
packages = rec { formatter = forAllSystems (system:
home-manager = pkgs.callPackage ./home-manager { }; let pkgs = nixpkgs.legacyPackages.${system};
docs-html = docs.manual.html; in pkgs.linkFarm "format" [{
docs-manpages = docs.manPages; name = "bin/format";
docs-json = docs.options.json; path = ./format;
default = home-manager; }]);
packages = forAllSystems (system:
let
pkgs = nixpkgs.legacyPackages.${system};
releaseInfo = nixpkgs.lib.importJSON ./release.json;
docs = import ./docs {
inherit pkgs;
inherit (releaseInfo) release isReleaseBranch;
}; };
# deprecated in Nix 2.7 hmPkg = pkgs.callPackage ./home-manager { path = toString ./.; };
defaultPackage = self.packages.${system}.default; in {
default = hmPkg;
home-manager = hmPkg;
docs-html = docs.manual.html;
docs-json = docs.options.json;
docs-manpages = docs.manPages;
});
defaultPackage = forAllSystems (system: self.packages.${system}.default);
}); });
} }

View file

@ -1,28 +1,51 @@
#! /usr/bin/env nix-shell #! /usr/bin/env nix-shell
#! nix-shell -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/6616de389ed55fba6eeba60377fc04732d5a207c.tar.gz -i bash -p findutils nixfmt #! nix-shell -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/6616de389ed55fba6eeba60377fc04732d5a207c.tar.gz -i bash -p git gnugrep gnused findutils nixfmt
CHECK_ARG= nixfmt_args=()
files=()
case $1 in for arg do
case $arg in
-h) -h)
echo "$0 [-c]" echo "$0 [-c]"
exit
;; ;;
-c) -c)
CHECK_ARG=-c nixfmt_args+=("$arg")
;;
-*)
echo "unrecognised flag: $arg" >&2
exit 1
;;
*)
files+=("$arg")
;; ;;
esac esac
done
# The excludes are for files touched by open pull requests and we want # The excludes are for files touched by open pull requests and we want
# to avoid merge conflicts. # to avoid merge conflicts.
find . -name '*.nix' \ excludes=(
! -path ./modules/default.nix \ modules/default.nix
! -path ./modules/files.nix \ modules/files.nix
! -path ./modules/home-environment.nix \ modules/home-environment.nix
! -path ./modules/lib/default.nix \ modules/lib/default.nix
! -path ./modules/lib/file-type.nix \ modules/lib/file-type.nix
! -path ./modules/misc/news.nix \ modules/misc/news.nix
! -path ./modules/programs/bash.nix \ modules/programs/ssh.nix
! -path ./modules/programs/ssh.nix \ modules/programs/zsh.nix
! -path ./modules/programs/zsh.nix \ tests/default.nix
! -path ./tests/default.nix \ )
-exec nixfmt $CHECK_ARG {} +
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[@]}"

View file

@ -0,0 +1,54 @@
# Used by the home-manager tool to present news to the user. The content of this
# file is considered internal and the exported fields may change without
# warning.
{ newsJsonFile, newsReadIdsFile ? null }:
let
inherit (builtins)
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);
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;
prettyTime = t: replaceStrings [ "T" "+00:00" ] [ " " "" ] t;
layoutNews = entries:
let
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 {
meta = {
numUnread = length newsUnread;
display = newsJson.display;
ids = concatStringsSep "\n" (map (e: e.id) newsJson.entries);
};
news = {
all = layoutNews relevantEntries;
unread = layoutNews newsUnread;
};
}

View file

@ -276,19 +276,26 @@ _home-manager_xdg-get-cache-home () {
################################################## ##################################################
_hm_subcommands=( "help" "edit" "option" "build" "init" "instantiate" "switch" "generations" "remove-generations" "expire-generations" "packages" "news" "uninstall" )
declare -ra _hm_subcommands
# Finds the active sub-command, if any.
_home-manager_subcommand() {
local subcommand='' i=
for ((i = 1; i < ${#COMP_WORDS[@]}; i++)); do
local word="${COMP_WORDS[i]}"
if [[ " ${_hm_subcommands[*]} " == *" ${word} "* ]]; then
subcommand="$word"
break
fi
done
echo "$subcommand"
}
# shellcheck disable=SC2207 # shellcheck disable=SC2207
_home-manager_completions () _home-manager_completions ()
{ {
#--------------------------#
local Subcommands
Subcommands=( "help" "edit" "option" "build" "instantiate" "switch" "generations" "remove-generations" "expire-generations" "packages" "news" "uninstall" )
# ^ « home-manager »'s subcommands.
#--------------------------#
local Options local Options
Options=( "-f" "--file" "-b" "-A" "-I" "-h" "--help" "-n" "--dry-run" "-v" \ Options=( "-f" "--file" "-b" "-A" "-I" "-h" "--help" "-n" "--dry-run" "-v" \
"--verbose" "--cores" "--debug" "--impure" "--keep-failed" \ "--verbose" "--cores" "--debug" "--impure" "--keep-failed" \
@ -296,7 +303,7 @@ _home-manager_completions ()
"-L" "--print-build-logs" \ "-L" "--print-build-logs" \
"--show-trace" "--substitute" "--builders" "--version" \ "--show-trace" "--substitute" "--builders" "--version" \
"--update-input" "--override-input" "--experimental-features" \ "--update-input" "--override-input" "--experimental-features" \
"--extra-experimental-features" ) "--extra-experimental-features" "--refresh")
# ^ « home-manager »'s options. # ^ « home-manager »'s options.
@ -322,10 +329,26 @@ _home-manager_completions ()
# PreviousWord="-f" # PreviousWord="-f"
# CurrentWord="./" # CurrentWord="./"
local CurrentCommand
CurrentCommand="$(_home-manager_subcommand)"
#--------------------------# #--------------------------#
COMPREPLY=() COMPREPLY=()
case "$CurrentCommand" in
"init")
COMPREPLY+=( $( compgen -W "--switch" -- "$CurrentWord" ) )
COMPREPLY+=( $( compgen -A directory -- "$CurrentWord") )
;;
"remove-generations")
COMPREPLY+=( $( compgen -W "$(_home-manager_list-generation-identifiers)" -- "$CurrentWord" ) )
;;
*)
case "$PreviousWord" in case "$PreviousWord" in
"-f"|"--file") "-f"|"--file")
@ -343,19 +366,17 @@ _home-manager_completions ()
# shellcheck disable=SC2119 # shellcheck disable=SC2119
COMPREPLY+=( $( compgen -W "$(_home-manager_list-nix-attributes)" -- "$CurrentWord") ) COMPREPLY+=( $( compgen -W "$(_home-manager_list-nix-attributes)" -- "$CurrentWord") )
;; ;;
"remove-generations")
COMPREPLY+=( $( compgen -W "$(_home-manager_list-generation-identifiers)" -- "$CurrentWord" ) )
;;
*) *)
COMPREPLY+=( $( compgen -W "${Subcommands[*]}" -- "$CurrentWord" ) ) if [[ ! $CurrentCommand ]]; then
COMPREPLY+=( $( compgen -W "${_hm_subcommands[*]}" -- "$CurrentWord" ) )
fi
COMPREPLY+=( $( compgen -W "${Options[*]}" -- "$CurrentWord" ) ) COMPREPLY+=( $( compgen -W "${Options[*]}" -- "$CurrentWord" ) )
;; ;;
esac esac
;;
esac
#--------------------------# #--------------------------#
} }

View file

@ -69,3 +69,4 @@ complete -c home-manager -f -l "update-input"
complete -c home-manager -f -l "override-input" complete -c home-manager -f -l "override-input"
complete -c home-manager -f -l "experimental-features" complete -c home-manager -f -l "experimental-features"
complete -c home-manager -f -l "extra-experimental-features" complete -c home-manager -f -l "extra-experimental-features"
complete -c home-manager -f -l "refresh" -d "Consider all previously downloaded files out-of-date"

View file

@ -35,6 +35,7 @@ case "$state" in
'edit[edit]' \ 'edit[edit]' \
'option[inspect option]' \ 'option[inspect option]' \
'build[build]' \ 'build[build]' \
'init[init]' \
'switch[switch]' \ 'switch[switch]' \
'generations[list generations]' \ 'generations[list generations]' \
'remove-generations[remove generations]' \ 'remove-generations[remove generations]' \
@ -63,11 +64,17 @@ case "$state" in
'--show-trace[show trace]' \ '--show-trace[show trace]' \
'--substitute[substitute]' \ '--substitute[substitute]' \
'--builders[builders]:SPEC:()' \ '--builders[builders]:SPEC:()' \
'--refresh[refresh]' \
'--override-input[override flake input]:NAME VALUE:()' \ '--override-input[override flake input]:NAME VALUE:()' \
'--update-input[update flake input]:NAME:()' \ '--update-input[update flake input]:NAME:()' \
'--experimental-features[set experimental Nix features]:VALUE:()' \ '--experimental-features[set experimental Nix features]:VALUE:()' \
'--extra-experimental-features:[append to experimental Nix features]:VALUE:()' '--extra-experimental-features:[append to experimental Nix features]:VALUE:()'
;; ;;
init)
_arguments \
'--switch[switch]' \
':PATH:_files -/'
;;
esac esac
esac esac

View file

@ -1,11 +1,9 @@
{ runCommand, lib, bash, callPackage, coreutils, findutils, gettext, gnused { runCommand, lib, bash, callPackage, coreutils, findutils, gettext, gnused, jq
, less, ncurses, unixtools , less, ncurses, unixtools
# used for pkgs.path for nixos-option # used for pkgs.path for nixos-option
, pkgs , pkgs
# Extra path to Home Manager. If set then this path will be tried # Path to use as the Home Manager channel.
# before `$HOME/.config/nixpkgs/home-manager` and
# `$HOME/.nixpkgs/home-manager`.
, path ? null }: , path ? null }:
let let
@ -36,6 +34,7 @@ in runCommand "home-manager" {
findutils findutils
gettext gettext
gnused gnused
jq
less less
ncurses ncurses
nixos-option nixos-option

View file

@ -11,20 +11,30 @@ export TEXTDOMAINDIR=@OUT@/share/locale
# shellcheck disable=1091 # shellcheck disable=1091
source @HOME_MANAGER_LIB@ source @HOME_MANAGER_LIB@
function removeByName() { 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 \ nix profile list \
| { grep "$1" || test $? = 1; } \ | { grep "$1\$" || test $? = 1; } \
| cut -d ' ' -f 4 \ | cut -d ' ' -f 4
| xargs -t $DRY_RUN_CMD nix profile remove $VERBOSE_ARG }
}
function removeByName() {
nixProfileList "$1" | xargs -t $DRY_RUN_CMD nix profile remove $VERBOSE_ARG
} }
function setNixProfileCommands() { function setNixProfileCommands() {
if [[ -e ~/.nix-profile/manifest.json ]] ; then if [[ -e $HOME/.nix-profile/manifest.json ]] ; then
LIST_OUTPATH_CMD="nix profile list" LIST_OUTPATH_CMD="nix profile list"
REMOVE_CMD="removeByName" REMOVE_CMD="removeByName"
else else
LIST_OUTPATH_CMD="nix-env -q --out-path" LIST_OUTPATH_CMD="nix-env -q --out-path"
REMOVE_CMD="nix-env -q" REMOVE_CMD="nix-env --uninstall"
fi fi
} }
@ -50,53 +60,142 @@ function setWorkDir() {
fi fi
} }
# Checks whether the 'flakes' and 'nix-command' Nix options are enabled.
function hasFlakeSupport() {
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. # Attempts to set the HOME_MANAGER_CONFIG global variable.
# #
# If no configuration file can be found then this function will print # If no configuration file can be found then this function will print
# an error message and exit with an error code. # an error message and exit with an error code.
function setConfigFile() { function setConfigFile() {
if [[ -v HOME_MANAGER_CONFIG ]] ; then if [[ -v HOME_MANAGER_CONFIG ]] ; then
if [[ ! -e "$HOME_MANAGER_CONFIG" ]] ; then if [[ -e "$HOME_MANAGER_CONFIG" ]] ; then
_i "No configuration file found at %s" \ HOME_MANAGER_CONFIG="$(realpath "$HOME_MANAGER_CONFIG")"
else
_i 'No configuration file found at %s' \
"$HOME_MANAGER_CONFIG" >&2 "$HOME_MANAGER_CONFIG" >&2
exit 1 exit 1
fi fi
elif [[ ! -v HOME_MANAGER_CONFIG ]]; then
local configHome="${XDG_CONFIG_HOME:-$HOME/.config}"
local hmConfigHome="$configHome/home-manager"
local nixpkgsConfigHome="$configHome/nixpkgs"
local defaultConfFile="$hmConfigHome/home.nix"
local configFile
HOME_MANAGER_CONFIG="$(realpath "$HOME_MANAGER_CONFIG")" if [[ -e "$defaultConfFile" ]]; then
return configFile="$defaultConfFile"
elif [[ -e "$nixpkgsConfigHome/home.nix" ]]; then
configFile="$nixpkgsConfigHome/home.nix"
# translators: The first '%s' specifier will be replaced by either
# 'home.nix' or 'flake.nix'.
_iWarn $'Keeping your Home Manager %s in %s is deprecated,\nplease move it to %s' \
'home.nix' "$nixpkgsConfigHome" "$hmConfigHome" >&2
elif [[ -e "$HOME/.nixpkgs/home.nix" ]]; then
configFile="$HOME/.nixpkgs/home.nix"
_iWarn $'Keeping your Home Manager %s in %s is deprecated,\nplease move it to %s' \
'home.nix' "$HOME/.nixpkgs" "$hmConfigHome" >&2
fi fi
local defaultConfFile="${XDG_CONFIG_HOME:-$HOME/.config}/nixpkgs/home.nix" if [[ -v configFile ]]; then
local confFile HOME_MANAGER_CONFIG="$(realpath "$configFile")"
for confFile in "$defaultConfFile" \ else
"$HOME/.nixpkgs/home.nix" ; do _i 'No configuration file found. Please create one at %s' \
if [[ -e "$confFile" ]] ; then
HOME_MANAGER_CONFIG="$(realpath "$confFile")"
return
fi
done
_i "No configuration file found. Please create one at %s" \
"$defaultConfFile" >&2 "$defaultConfFile" >&2
exit 1 exit 1
fi
fi
} }
function setHomeManagerNixPath() { function setHomeManagerNixPath() {
local path local path="@HOME_MANAGER_PATH@"
for path in "@HOME_MANAGER_PATH@" \
"${XDG_CONFIG_HOME:-$HOME/.config}/nixpkgs/home-manager" \ if [[ -n "$path" ]] ; then
"$HOME/.nixpkgs/home-manager" ; do
if [[ -e "$path" || "$path" =~ ^https?:// ]] ; then if [[ -e "$path" || "$path" =~ ^https?:// ]] ; then
EXTRA_NIX_PATH+=("home-manager=$path") EXTRA_NIX_PATH+=("home-manager=$path")
return return
else
_iWarn 'Home Manager not found at %s.' "$path"
fi
fi
for p in "${XDG_CONFIG_HOME:-$HOME/.config}/nixpkgs/home-manager" \
"$HOME/.nixpkgs/home-manager" ; do
if [[ -e "$p" ]] ; then
# translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
_iWarn $'The fallback Home Manager path %s has been deprecated and a file/directory was found there.' \
"$p"
# translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
_i $'To remove this warning, do one of the fallowing.
1. Explicitly tell Home Manager to use the path, for example by adding
{ programs.home-manager.path = "%s"; }
to your configuration.
If you import Home Manager directly, you can use the `path` parameter
pkgs.callPackage /path/to/home-manager-package { path = "%s"; }
when calling the Home Manager package.
2. Remove the deprecated path.
$ rm -r "%s"' "$p" "$p" "$p"
fi fi
done done
} }
# Sets some useful Home Manager related paths as global read-only variables.
function setHomeManagerPathVariables() {
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"
declare -r stateHome="${XDG_STATE_HOME:-$HOME/.local/state}"
declare -r userNixStateDir="$stateHome/nix"
declare -gr HM_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/home-manager"
declare -gr HM_STATE_DIR="$stateHome/home-manager"
declare -gr HM_GCROOT_LEGACY_PATH="$globalGcrootsDir/current-home"
if [[ -d $userNixStateDir/profiles ]]; then
declare -gr HM_PROFILE_DIR="$userNixStateDir/profiles"
elif [[ -d $globalProfilesDir ]]; then
declare -gr HM_PROFILE_DIR="$globalProfilesDir"
else
_iError 'Could not find suitable profile directory, tried %s and %s' \
"$HM_STATE_DIR/profiles" "$globalProfilesDir" >&2
exit 1
fi
}
function setFlakeAttribute() { function setFlakeAttribute() {
local configFlake="${XDG_CONFIG_HOME:-$HOME/.config}/nixpkgs/flake.nix" if [[ -z $FLAKE_ARG && ! -v HOME_MANAGER_CONFIG ]]; then
if [[ -z $FLAKE_ARG && ! -v HOME_MANAGER_CONFIG && -e "$configFlake" ]]; then local configHome="${XDG_CONFIG_HOME:-$HOME/.config}"
FLAKE_ARG="$(dirname "$(readlink -f "$configFlake")")" local hmConfigHome="$configHome/home-manager"
local nixpkgsConfigHome="$configHome/nixpkgs"
local configFlake
if [[ -e "$hmConfigHome/flake.nix" ]]; then
configFlake="$hmConfigHome/flake.nix"
elif [[ -e "$nixpkgsConfigHome/flake.nix" ]]; then
configFlake="$nixpkgsConfigHome/flake.nix"
_iWarn $'Keeping your Home Manager %s in %s is deprecated,\nplease move it to %s' \
'flake.nix' "$nixpkgsConfigHome" "$hmConfigHome" >&2
fi
if [[ -v configFlake ]]; then
FLAKE_ARG="path:$(dirname "$(readlink -f "$configFlake")")"
fi
fi fi
if [[ -n "$FLAKE_ARG" ]]; then if [[ -n "$FLAKE_ARG" ]]; then
@ -126,6 +225,7 @@ function setFlakeAttribute() {
function doInspectOption() { function doInspectOption() {
setFlakeAttribute setFlakeAttribute
if [[ -v FLAKE_CONFIG_URI ]]; then if [[ -v FLAKE_CONFIG_URI ]]; then
# translators: Here "flake" is a noun that refers to the Nix Flakes feature.
_iError "Can't inspect options of a flake configuration" _iError "Can't inspect options of a flake configuration"
exit 1 exit 1
fi fi
@ -162,9 +262,227 @@ function doInspectOption() {
"${PASSTHROUGH_OPTS[@]}" "${PASSTHROUGH_OPTS[@]}"
} }
function doInit() {
# The directory where we should place the initial configuration.
local confDir
# Whether we should immediate activate the configuration.
local switch
# Whether we should create a flake file.
local withFlake
if hasFlakeSupport; then
withFlake=1
fi
while (( $# > 0 )); do
local opt="$1"
shift
case $opt in
--no-flake)
unset withFlake
;;
--switch)
switch=1
;;
-*)
_iError "%s: unknown option '%s'" "$0" "$opt" >&2
exit 1
;;
*)
if [[ -v confDir ]]; then
_i "Run '%s --help' for usage help" "$0" >&2
exit 1
else
confDir="$opt"
fi
;;
esac
done
if [[ ! -v confDir ]]; then
confDir="${XDG_CONFIG_HOME:-$HOME/.config}/home-manager"
fi
if [[ ! -e $confDir ]]; then
mkdir -p "$confDir"
fi
if [[ ! -d $confDir ]]; then
_iError "%s: unknown option '%s'" "$0" "$opt" >&2
exit 1
fi
local confFile="$confDir/home.nix"
local flakeFile="$confDir/flake.nix"
if [[ -e $confFile ]]; then
_i 'The file %s already exists, leaving it unchanged...' "$confFile"
else
_i 'Creating %s...' "$confFile"
local nl=$'\n'
local xdgVars=""
if [[ -v XDG_CACHE_HOME && $XDG_CACHE_HOME != "$HOME/.cache" ]]; then
xdgVars="$xdgVars xdg.cacheHome = \"$XDG_CACHE_HOME\";$nl"
fi
if [[ -v XDG_CONFIG_HOME && $XDG_CONFIG_HOME != "$HOME/.config" ]]; then
xdgVars="$xdgVars xdg.configHome = \"$XDG_CONFIG_HOME\";$nl"
fi
if [[ -v XDG_DATA_HOME && $XDG_DATA_HOME != "$HOME/.local/share" ]]; then
xdgVars="$xdgVars xdg.dataHome = \"$XDG_DATA_HOME\";$nl"
fi
if [[ -v XDG_STATE_HOME && $XDG_STATE_HOME != "$HOME/.local/state" ]]; then
xdgVars="$xdgVars xdg.stateHome = \"$XDG_STATE_HOME\";$nl"
fi
mkdir -p "$confDir"
cat > "$confFile" <<EOF
{ config, pkgs, ... }:
{
# Home Manager needs a bit of information about you and the paths it should
# manage.
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
# 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 = "23.05"; # Please read the comment before changing.
# The home.packages option allows you to install Nix packages into your
# environment.
home.packages = [
# # Adds the 'hello' command to your environment. It prints a friendly
# # "Hello, world!" when run.
# pkgs.hello
# # It is sometimes useful to fine-tune packages, for example, by applying
# # overrides. You can do that directly here, just don't forget the
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
# # fonts?
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
# # You can also create simple shell scripts directly inside your
# # configuration. For example, this adds a command 'my-hello' to your
# # environment:
# (pkgs.writeShellScriptBin "my-hello" ''
# echo "Hello, \${config.home.username}!"
# '')
];
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
# # symlink to the Nix store copy.
# ".screenrc".source = dotfiles/screenrc;
# # You can also set the file content immediately.
# ".gradle/gradle.properties".text = ''
# org.gradle.console=verbose
# org.gradle.daemon.idletimeout=3600000
# '';
};
# You can also manage environment variables but you will have to manually
# source
#
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# /etc/profiles/per-user/$USER/etc/profile.d/hm-session-vars.sh
#
# if you don't want to manage your shell through Home Manager.
home.sessionVariables = {
# EDITOR = "emacs";
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}
EOF
fi
if [[ ! -v withFlake ]]; then
HOME_MANAGER_CONFIG="$confFile"
else
FLAKE_ARG="$confDir"
if [[ -e $flakeFile ]]; then
_i 'The file %s already exists, leaving it unchanged...' "$flakeFile"
else
_i 'Creating %s...' "$flakeFile"
local nixSystem
nixSystem=$(nix eval --expr builtins.currentSystem --raw --impure)
mkdir -p "$confDir"
cat > "$flakeFile" <<EOF
{
description = "Home Manager configuration of $USER";
inputs = {
# Specify the source of Home Manager and Nixpkgs.
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { nixpkgs, home-manager, ... }:
let
system = "$nixSystem";
pkgs = nixpkgs.legacyPackages.\${system};
in {
homeConfigurations."$USER" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
# Specify your home configuration modules here, for example,
# the path to your home.nix.
modules = [ ./home.nix ];
# Optionally use extraSpecialArgs
# to pass through arguments to home.nix
};
};
}
EOF
fi
fi
if [[ -v switch ]]; then
echo
_i "Creating initial Home Manager generation..."
echo
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"
exit 0
else
# translators: The "%s" specifier will be replaced by a URL.
_i $'Uh oh, the installation failed! Please create an issue at\n\n %s\n\nif the error seems to be the fault of Home Manager.' \
"https://github.com/nix-community/home-manager/issues"
exit 1
fi
fi
}
function doInstantiate() { function doInstantiate() {
setFlakeAttribute setFlakeAttribute
if [[ -v FLAKE_CONFIG_URI ]]; then if [[ -v FLAKE_CONFIG_URI ]]; then
# translators: Here "flake" is a noun that refers to the Nix Flakes feature.
_i "Can't instantiate a flake configuration" >&2 _i "Can't instantiate a flake configuration" >&2
exit 1 exit 1
fi fi
@ -221,13 +539,16 @@ function doBuildFlake() {
"${PASSTHROUGH_OPTS[@]}" "${PASSTHROUGH_OPTS[@]}"
} }
# Presents news to the user. Takes as argument the path to a "news # Presents news to the user as specified by the `news.display` option.
# info" file as generated by `buildNews`.
function presentNews() { function presentNews() {
local infoFile="$1" local newsNixFile="$WORK_DIR/news.nix"
buildNews "$newsNixFile"
# shellcheck source=/dev/null local newsDisplay
. "$infoFile" newsDisplay="$(nix-instantiate --eval --expr "(import ${newsNixFile}).meta.display" | xargs)"
local newsNumUnread
newsNumUnread="$(nix-instantiate --eval --expr "(import ${newsNixFile}).meta.numUnread" | xargs)"
# shellcheck disable=2154 # shellcheck disable=2154
if [[ $newsNumUnread -eq 0 ]]; then if [[ $newsNumUnread -eq 0 ]]; then
@ -247,7 +568,7 @@ function presentNews() {
echo $'\n'"$msg"$'\n' >&2 echo $'\n'"$msg"$'\n' >&2
if [[ -v DISPLAY ]] && type -P notify-send > /dev/null; then if [[ -v DISPLAY ]] && type -P notify-send > /dev/null; then
notify-send "Home Manager" "$msg" notify-send "Home Manager" "$msg" > /dev/null 2>&1 || true
fi fi
elif [[ "$newsDisplay" == "show" ]]; then elif [[ "$newsDisplay" == "show" ]]; then
doShowNews --unread doShowNews --unread
@ -293,12 +614,9 @@ function doBuild() {
${NO_OUT_LINK+--no-out-link} \ ${NO_OUT_LINK+--no-out-link} \
--attr activationPackage \ --attr activationPackage \
|| return || return
local newsInfo
newsInfo=$(buildNews)
presentNews "$newsInfo"
fi fi
presentNews
} }
function doSwitch() { function doSwitch() {
@ -324,12 +642,9 @@ function doSwitch() {
--out-link "$generation" \ --out-link "$generation" \
--attr activationPackage \ --attr activationPackage \
&& "$generation/activate" || return && "$generation/activate" || return
local newsInfo
newsInfo=$(buildNews)
presentNews "$newsInfo"
fi fi
presentNews
} }
function doListGens() { function doListGens() {
@ -339,7 +654,7 @@ function doListGens() {
color="always" color="always"
fi fi
pushd "$NIX_STATE_DIR/profiles/per-user/$USER" > /dev/null pushd "$HM_PROFILE_DIR" > /dev/null
# shellcheck disable=2012 # shellcheck disable=2012
ls --color=$color -gG --time-style=long-iso --sort time home-manager-*-link \ ls --color=$color -gG --time-style=long-iso --sort time home-manager-*-link \
| cut -d' ' -f 4- \ | cut -d' ' -f 4- \
@ -352,7 +667,7 @@ function doListGens() {
function doRmGenerations() { function doRmGenerations() {
setVerboseAndDryRun setVerboseAndDryRun
pushd "$NIX_STATE_DIR/profiles/per-user/$USER" > /dev/null pushd "$HM_PROFILE_DIR" > /dev/null
for generationId in "$@"; do for generationId in "$@"; do
local linkName="home-manager-$generationId-link" local linkName="home-manager-$generationId-link"
@ -370,17 +685,10 @@ function doRmGenerations() {
popd > /dev/null popd > /dev/null
} }
function doRmAllGenerations() {
$DRY_RUN_CMD rm $VERBOSE_ARG \
"$NIX_STATE_DIR/profiles/per-user/$USER/home-manager"*
}
function doExpireGenerations() { function doExpireGenerations() {
local profileDir="$NIX_STATE_DIR/profiles/per-user/$USER"
local generations local generations
generations="$( \ generations="$( \
find "$profileDir" -name 'home-manager-*-link' -not -newermt "$1" \ find "$HM_PROFILE_DIR" -name 'home-manager-*-link' -not -newermt "$1" \
| sed 's/^.*-\([0-9]*\)-link$/\1/' \ | sed 's/^.*-\([0-9]*\)-link$/\1/' \
)" )"
@ -417,55 +725,88 @@ function newsReadIdsFile() {
echo "$path" echo "$path"
} }
# Builds news meta information to be sourced into this script. # Builds the Home Manager news data file.
# #
# Note, we suppress build output to remove unnecessary verbosity. We # Note, we suppress build output to remove unnecessary verbosity. We
# put the output in the work directory to avoid the risk of an # put the output in the work directory to avoid the risk of an
# unfortunately timed GC removing it. # unfortunately timed GC removing it.
function buildNews() { function buildNews() {
local output local newsNixFile="$1"
output="$WORK_DIR/news-info.sh" local newsJsonFile="$WORK_DIR/news.json"
doBuildAttr \ if [[ -v FLAKE_CONFIG_URI ]]; then
--out-link "$output" \ # TODO: Use check=false to make it more likely that the build succeeds.
--no-build-output \ doBuildFlake \
"$FLAKE_CONFIG_URI.config.news.json.output" \
--quiet \ --quiet \
--out-link "$newsJsonFile" \
|| return
else
doBuildAttr \
--out-link "$newsJsonFile" \
--arg check false \ --arg check false \
--argstr newsReadIdsFile "$(newsReadIdsFile)" \ --attr config.news.json.output \
--attr newsInfo \ > /dev/null \
> /dev/null || return
fi
echo "$output" local extraArgs=()
for p in "${EXTRA_NIX_PATH[@]}"; do
extraArgs=("${extraArgs[@]}" "-I" "$p")
done
local readIdsFile
readIdsFile=$(newsReadIdsFile)
nix-instantiate \
--no-build-output --strict \
--eval '<home-manager/home-manager/build-news.nix>' \
--arg newsJsonFile "$newsJsonFile" \
--arg newsReadIdsFile "$readIdsFile" \
"${extraArgs[@]}" \
> "$newsNixFile"
} }
function doShowNews() { function doShowNews() {
setWorkDir setWorkDir
setFlakeAttribute
local infoFile local newsNixFile="$WORK_DIR/news.nix"
infoFile=$(buildNews) || return 1 buildNews "$newsNixFile"
# shellcheck source=/dev/null local readIdsFile
. "$infoFile" readIdsFile=$(newsReadIdsFile)
# shellcheck disable=2154 local news
# shellcheck disable=2154,2046
case $1 in case $1 in
--all) --all)
${PAGER:-less} "$newsFileAll" news="$(nix-instantiate --quiet --eval --expr "(import ${newsNixFile}).news.all")"
;; ;;
--unread) --unread)
${PAGER:-less} "$newsFileUnread" news="$(nix-instantiate --quiet --eval --expr "(import ${newsNixFile}).news.unread")"
;; ;;
*) *)
_i 'Unknown argument %s' "$1" _i 'Unknown argument %s' "$1"
return 1 return 1
esac esac
# shellcheck disable=2154 # Prints the news without surrounding quotes.
if [[ -s "$newsUnreadIdsFile" ]]; then echo -e "${news:1:-1}" | ${PAGER:-less}
local newsReadIdsFile
newsReadIdsFile="$(newsReadIdsFile)" local allIds
cat "$newsUnreadIdsFile" >> "$newsReadIdsFile" allIds="$(nix-instantiate --quiet --eval --expr "(import ${newsNixFile}).meta.ids")"
fi allIds="${allIds:1:-1}" # Trim surrounding quotes.
local readIdsFileNew="$WORK_DIR/news-read-ids.new"
{
cat "$readIdsFile"
echo -e "$allIds"
} | sort | uniq > "$readIdsFileNew"
mv -f "$readIdsFileNew" "$readIdsFile"
} }
function doUninstall() { function doUninstall() {
@ -482,6 +823,7 @@ function doUninstall() {
read -r -n 1 -p "$(_i 'Really uninstall Home Manager?') [y/n] " confirmation read -r -n 1 -p "$(_i 'Really uninstall Home Manager?') [y/n] " confirmation
echo echo
# shellcheck disable=2086
case $confirmation in case $confirmation in
y|Y) y|Y)
_i "Switching to empty Home Manager configuration..." _i "Switching to empty Home Manager configuration..."
@ -489,14 +831,27 @@ function doUninstall() {
echo "{ lib, ... }: {" > "$HOME_MANAGER_CONFIG" echo "{ lib, ... }: {" > "$HOME_MANAGER_CONFIG"
echo " home.file = lib.mkForce {};" >> "$HOME_MANAGER_CONFIG" echo " home.file = lib.mkForce {};" >> "$HOME_MANAGER_CONFIG"
echo " home.stateVersion = \"18.09\";" >> "$HOME_MANAGER_CONFIG" echo " home.stateVersion = \"18.09\";" >> "$HOME_MANAGER_CONFIG"
echo " manual.manpages.enable = false;" >> "$HOME_MANAGER_CONFIG"
echo "}" >> "$HOME_MANAGER_CONFIG" echo "}" >> "$HOME_MANAGER_CONFIG"
doSwitch doSwitch
$DRY_RUN_CMD $REMOVE_CMD home-manager-path || true $DRY_RUN_CMD $REMOVE_CMD home-manager-path || true
rm "$HOME_MANAGER_CONFIG" rm "$HOME_MANAGER_CONFIG"
$DRY_RUN_CMD rm $VERBOSE_ARG -r \
"${XDG_DATA_HOME:-$HOME/.local/share}/home-manager" if [[ -e $HM_DATA_HOME ]]; then
$DRY_RUN_CMD rm $VERBOSE_ARG \ $DRY_RUN_CMD rm $VERBOSE_ARG -r "$HM_DATA_HOME"
"$NIX_STATE_DIR/gcroots/per-user/$USER/current-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!" _i "Yay!"
@ -504,22 +859,6 @@ function doUninstall() {
;; ;;
esac esac
local deleteProfiles
read -r -n 1 \
-p "$(_i 'Remove all Home Manager generations?') [y/n] " \
deleteProfiles
echo
case $deleteProfiles in
y|Y)
doRmAllGenerations
_i 'All generations are now eligible for garbage collection.'
;;
*)
_i 'Leaving generations but they may still be garbage collected.'
;;
esac
_i "Home Manager is uninstalled but your home.nix is left untouched." _i "Home Manager is uninstalled but your home.nix is left untouched."
} }
@ -534,6 +873,7 @@ function doHelp() {
echo " expression in the configuration file." echo " expression in the configuration file."
echo " -I PATH Add a path to the Nix expression search path." echo " -I PATH Add a path to the Nix expression search path."
echo " --flake flake-uri Use Home Manager configuration at flake-uri" echo " --flake flake-uri Use Home Manager configuration at flake-uri"
echo " Default is '~/.config/home-manager'."
echo " -b EXT Move existing files to new path rather than fail." echo " -b EXT Move existing files to new path rather than fail."
echo " -v Verbose output" echo " -v Verbose output"
echo " -n Do a dry run, only prints what actions would be taken" echo " -n Do a dry run, only prints what actions would be taken"
@ -556,6 +896,7 @@ function doHelp() {
echo " --no-out-link Do not create a symlink to the output path" echo " --no-out-link Do not create a symlink to the output path"
echo " --no-write-lock-file" echo " --no-write-lock-file"
echo " --builders VALUE" echo " --builders VALUE"
echo " --refresh Consider all previously downloaded files out-of-date"
echo echo
echo "Commands" echo "Commands"
echo echo
@ -568,6 +909,13 @@ function doHelp() {
echo echo
echo " build Build configuration into result directory" echo " build Build configuration into result directory"
echo echo
echo " init [--switch] [DIR]"
echo " Initializes a configuration in the given directory. If the directory"
echo " does not exist, then it will be created. The default directory is"
echo " '~/.config/home-manager'."
echo
echo " --switch Immediately activate the generated configuration."
echo
echo " instantiate Instantiate the configuration and print the resulting derivation" echo " instantiate Instantiate the configuration and print the resulting derivation"
echo echo
echo " switch Build and activate configuration" echo " switch Build and activate configuration"
@ -590,8 +938,6 @@ function doHelp() {
echo " uninstall Remove Home Manager" echo " uninstall Remove Home Manager"
} }
readonly NIX_STATE_DIR="${NIX_STATE_DIR:-/nix/var/nix}"
EXTRA_NIX_PATH=() EXTRA_NIX_PATH=()
HOME_MANAGER_CONFIG_ATTRIBUTE="" HOME_MANAGER_CONFIG_ATTRIBUTE=""
PASSTHROUGH_OPTS=() PASSTHROUGH_OPTS=()
@ -599,13 +945,13 @@ COMMAND=""
COMMAND_ARGS=() COMMAND_ARGS=()
FLAKE_ARG="" FLAKE_ARG=""
setHomeManagerNixPath setHomeManagerPathVariables
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
opt="$1" opt="$1"
shift shift
case $opt in case $opt in
build|instantiate|option|edit|expire-generations|generations|help|news|packages|remove-generations|switch|uninstall) build|init|instantiate|option|edit|expire-generations|generations|help|news|packages|remove-generations|switch|uninstall)
COMMAND="$opt" COMMAND="$opt"
;; ;;
-A) -A)
@ -628,7 +974,7 @@ while [[ $# -gt 0 ]]; do
FLAKE_ARG="$1" FLAKE_ARG="$1"
shift shift
;; ;;
--recreate-lock-file|--no-update-lock-file|--no-write-lock-file|--no-registries|--commit-lock-file) --recreate-lock-file|--no-update-lock-file|--no-write-lock-file|--no-registries|--commit-lock-file|--refresh)
PASSTHROUGH_OPTS+=("$opt") PASSTHROUGH_OPTS+=("$opt")
;; ;;
--update-input) --update-input)
@ -676,12 +1022,12 @@ while [[ $# -gt 0 ]]; do
export VERBOSE=1 export VERBOSE=1
;; ;;
--version) --version)
echo 22.11 echo 23.11-pre
exit 0 exit 0
;; ;;
*) *)
case $COMMAND in case $COMMAND in
expire-generations|remove-generations|option) init|expire-generations|remove-generations|option)
COMMAND_ARGS+=("$opt") COMMAND_ARGS+=("$opt")
;; ;;
*) *)
@ -694,6 +1040,8 @@ while [[ $# -gt 0 ]]; do
esac esac
done done
setHomeManagerNixPath
if [[ -z $COMMAND ]]; then if [[ -z $COMMAND ]]; then
doHelp >&2 doHelp >&2
exit 1 exit 1
@ -706,6 +1054,9 @@ case $COMMAND in
build) build)
doBuild doBuild
;; ;;
init)
doInit "${COMMAND_ARGS[@]}"
;;
instantiate) instantiate)
doInstantiate doInstantiate
;; ;;

View file

@ -15,60 +15,4 @@ let
check = check; check = check;
}; };
newsReadIds = if newsReadIdsFile == null then in { inherit (env) activationPackage config; }
{ }
else
let ids = splitString "\n" (fileContents newsReadIdsFile);
in builtins.listToAttrs (map (id: {
name = id;
value = null;
}) ids);
newsIsRead = entry: builtins.hasAttr entry.id newsReadIds;
newsFiltered = let pred = entry: entry.condition && !newsIsRead entry;
in filter pred env.newsEntries;
newsNumUnread = length newsFiltered;
newsFileUnread = pkgs.writeText "news-unread.txt" (concatMapStringsSep "\n\n"
(entry:
let
time =
replaceStrings [ "T" ] [ " " ] (removeSuffix "+00:00" entry.time);
in ''
* ${time}
${replaceStrings [ "\n" ] [ "\n " ] entry.message}
'') newsFiltered);
newsFileAll = pkgs.writeText "news-all.txt" (concatMapStringsSep "\n\n"
(entry:
let
flag = if newsIsRead entry then "read" else "unread";
time =
replaceStrings [ "T" ] [ " " ] (removeSuffix "+00:00" entry.time);
in ''
* ${time} [${flag}]
${replaceStrings [ "\n" ] [ "\n " ] entry.message}
'') env.newsEntries);
# File where each line corresponds to an unread news entry
# identifier. If non-empty then the file ends in "\n".
newsUnreadIdsFile = pkgs.writeText "news-unread-ids"
(let text = concatMapStringsSep "\n" (entry: entry.id) newsFiltered;
in text + optionalString (text != "") "\n");
newsInfo = pkgs.writeText "news-info.sh" ''
local newsNumUnread=${toString newsNumUnread}
local newsDisplay="${env.newsDisplay}"
local newsFileAll="${newsFileAll}"
local newsFileUnread="${newsFileUnread}"
local newsUnreadIdsFile="${newsUnreadIdsFile}"
'';
in {
inherit (env) activationPackage;
inherit newsInfo;
}

View file

@ -1,4 +1,4 @@
{ home-manager, gettext, runCommand, ncurses }: { home-manager, runCommand }:
let let
@ -9,75 +9,10 @@ let
''; '';
in runCommand "home-manager-install" { in runCommand "home-manager-install" {
propagatedBuildInputs = [ home-manager gettext ncurses ]; propagatedBuildInputs = [ home-manager ];
preferLocalBuild = true; preferLocalBuild = true;
shellHookOnly = true; shellHookOnly = true;
shellHook = '' shellHook = "exec ${home-manager}/bin/home-manager init --switch --no-flake";
${hmBashLibInit}
confFile="''${XDG_CONFIG_HOME:-$HOME/.config}/nixpkgs/home.nix"
if [[ ! -e $confFile ]]; then
echo
_i "Creating initial Home Manager configuration..."
nl=$'\n'
xdgVars=""
if [[ -v XDG_CACHE_HOME && $XDG_CACHE_HOME != "$HOME/.cache" ]]; then
xdgVars="$xdgVars xdg.cacheHome = \"$XDG_CACHE_HOME\";$nl"
fi
if [[ -v XDG_CONFIG_HOME && $XDG_CONFIG_HOME != "$HOME/.config" ]]; then
xdgVars="$xdgVars xdg.configHome = \"$XDG_CONFIG_HOME\";$nl"
fi
if [[ -v XDG_DATA_HOME && $XDG_DATA_HOME != "$HOME/.local/share" ]]; then
xdgVars="$xdgVars xdg.dataHome = \"$XDG_DATA_HOME\";$nl"
fi
if [[ -v XDG_STATE_HOME && $XDG_STATE_HOME != "$HOME/.local/state" ]]; then
xdgVars="$xdgVars xdg.stateHome = \"$XDG_STATE_HOME\";$nl"
fi
mkdir -p "$(dirname "$confFile")"
cat > $confFile <<EOF
{ config, pkgs, ... }:
{
# Home Manager needs a bit of information about you and the
# paths it should manage.
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 introduces backwards
# incompatible changes.
#
# 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 = "22.11";
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}
EOF
fi
echo
_i "Creating initial Home Manager generation..."
echo
if home-manager switch ; 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"
exit 0
else
# translators: The "%s" specifier will be replaced by a URL.
_i $'Uh oh, the installation failed! Please create an issue at\n\n %s\n\nif the error seems to be the fault of Home Manager.' \
"https://github.com/nix-community/home-manager/issues"
exit 1
fi
'';
} '' } ''
${hmBashLibInit} ${hmBashLibInit}
_iError 'This derivation is not buildable, please run it using nix-shell.' _iError 'This derivation is not buildable, please run it using nix-shell.'

View file

@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2022-03-26 15:08+0100\n" "POT-Creation-Date: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2022-06-09 11:16+0000\n" "PO-Revision-Date: 2023-04-23 12:49+0000\n"
"Last-Translator: Leix b <abone9999@gmail.com>\n" "Last-Translator: Leix b <abone9999@gmail.com>\n"
"Language-Team: Catalan <https://hosted.weblate.org/projects/home-manager/cli/" "Language-Team: Catalan <https://hosted.weblate.org/projects/home-manager/cli/"
"ca/>\n" "ca/>\n"
@ -17,141 +17,93 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.13-dev\n" "X-Generator: Weblate 4.18-dev\n"
#: home-manager/home-manager:60 #: home-manager/home-manager:71
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
msgstr "No s'ha trobat cap fitxer de configuració a %s" msgstr "No s'ha trobat cap fitxer de configuració a %s"
#: home-manager/home-manager:79 #. 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:182
msgid ""
"Keeping your Home Manager %s in %s is deprecated,\n"
"please move it to %s"
msgstr ""
"Mantenir el teu Home Manager %s a %s està obsolet,\n"
"si us plau mou-lo a %s"
#: home-manager/home-manager:99
msgid "No configuration file found. Please create one at %s" 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" msgstr "No s'ha trobat cap fitxer de configuració. Si us plau, creeu un a %s"
#: 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 #: 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 fallowing.\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:164
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:219
msgid "Can't inspect options of a flake configuration" msgid "Can't inspect options of a flake configuration"
msgstr "No s'han pogut inspeccionar les opcions de configuració de flake" msgstr "No s'han pogut inspeccionar les opcions de configuració de flake"
#: home-manager/home-manager:162 #: home-manager/home-manager:281 home-manager/home-manager:304
msgid "Can't instantiate a flake configuration" #: home-manager/home-manager:1023
msgstr "No es pot instanciar una configuració flake"
#: home-manager/home-manager:237
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] ""
"Hi ha %d notícia rellevant no llegida.\n"
"Llegeix-la executant la comanda \"%s news\"."
msgstr[1] ""
"Hi han %d notícies rellevants no llegides.\n"
"Llegeix-les executant la comanda \"%s news\"."
#: home-manager/home-manager:251
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Configuració \"news.display\" no reconeguda \"%s\"."
#: home-manager/home-manager:258
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Si us plau, defineix la variable d'entorn $EDITOR"
#: home-manager/home-manager:273
msgid "Cannot run build in read-only directory"
msgstr "Impossible executar la compilació en un directori només lectura"
#: home-manager/home-manager:355
msgid "No generation with ID %s"
msgstr "No existeix la generació amb ID %s"
#: home-manager/home-manager:357
msgid "Cannot remove the current generation %s"
msgstr "Impossible eliminar la generació actual %s"
#: home-manager/home-manager:359
msgid "Removing generation %s"
msgstr "Eliminant la generació %s"
#: home-manager/home-manager:385
msgid "No generations to expire"
msgstr "No s'han trobat generacions a expirar"
#: home-manager/home-manager:396
msgid "No home-manager packages seem to be installed."
msgstr "Cap paquet home-manager sembla estar instal·lat."
#: home-manager/home-manager:453
msgid "Unknown argument %s"
msgstr "Argument desconegut %s"
#: home-manager/home-manager:469
msgid "This will remove Home Manager from your system."
msgstr "Home Manager serà esborrat del sistema."
#: home-manager/home-manager:472
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:476
msgid "Really uninstall Home Manager?"
msgstr "Estàs segur que vols desinstal·lar Home Manager?"
#: home-manager/home-manager:481
msgid "Switching to empty Home Manager configuration..."
msgstr "Canviant a configuració buida de Home Manager..."
#: home-manager/home-manager:493
msgid "Yay!"
msgstr "Visca!"
#: home-manager/home-manager:500
msgid "Remove all Home Manager generations?"
msgstr "Eliminar totes les generacions de Home Manager?"
#: home-manager/home-manager:507
msgid "All generations are now eligible for garbage collection."
msgstr ""
"Totes les generacions són ara candidates per a la recol·lecció de brossa."
#: home-manager/home-manager:510
msgid "Leaving generations but they may still be garbage collected."
msgstr ""
"Deixant generacions, però aquestes encara poden ser esborrades pel recol·"
"lector de brossa."
#: home-manager/home-manager:514
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:673
msgid "%s: unknown option '%s'" msgid "%s: unknown option '%s'"
msgstr "%: opció desconeguda '%s'" msgstr "%: opció desconeguda '%s'"
#: home-manager/home-manager:674 #: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help" msgid "Run '%s --help' for usage help"
msgstr "Executa '%s --help' per veure l'ajuda d'ús" msgstr "Executa '%s --help' per veure l'ajuda d'ús"
#: home-manager/home-manager:708 #: home-manager/home-manager:312 home-manager/home-manager:411
msgid "expire-generations expects one argument, got %d." msgid "The file %s already exists, leaving it unchanged..."
msgstr "expire-generations espera un argument, obtinguts %d." msgstr "El fitxer %s ja existeix, deixant sense modificar..."
#: home-manager/home-manager:730 #: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Unknown command: %s" msgid "Creating %s..."
msgstr "Comanda desconeguda: %s" msgstr "Creant %s..."
#: home-manager/install.nix:22 #: home-manager/home-manager:455
msgid "Creating initial Home Manager configuration..."
msgstr "Creant configuració inicial de Home Manager..."
#: home-manager/install.nix:66
msgid "Creating initial Home Manager generation..." msgid "Creating initial Home Manager generation..."
msgstr "Creant generació inicial de Home Manager..." msgstr "Creant generació inicial de Home Manager..."
#. translators: The "%s" specifier will be replaced by a file path. #. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/install.nix:71 #: home-manager/home-manager:460
msgid "" msgid ""
"All done! The home-manager tool should now be installed and you can edit\n" "All done! The home-manager tool should now be installed and you can edit\n"
"\n" "\n"
@ -168,7 +120,7 @@ msgstr ""
"a veure totes les opcions disponibles." "a veure totes les opcions disponibles."
#. translators: The "%s" specifier will be replaced by a URL. #. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/install.nix:76 #: home-manager/home-manager:465
msgid "" msgid ""
"Uh oh, the installation failed! Please create an issue at\n" "Uh oh, the installation failed! Please create an issue at\n"
"\n" "\n"
@ -182,8 +134,117 @@ msgstr ""
"\n" "\n"
"si l'error sembla culpa de Home Manager." "si l'error sembla culpa de Home Manager."
#: home-manager/install.nix:83 #. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:476
msgid "Can't instantiate a flake configuration"
msgstr "No es pot instanciar una configuració flake"
#: home-manager/home-manager:552
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] ""
"Hi ha %d notícia rellevant no llegida.\n"
"Llegeix-la executant la comanda \"%s news\"."
msgstr[1] ""
"Hi han %d notícies rellevants no llegides.\n"
"Llegeix-les executant la comanda \"%s news\"."
#: home-manager/home-manager:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Configuració \"news.display\" no reconeguda \"%s\"."
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Si us plau, defineix la variable d'entorn $EDITOR"
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr "Impossible executar la compilació en un directori només lectura"
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr "No existeix la generació amb ID %s"
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr "Impossible eliminar la generació actual %s"
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr "Eliminant la generació %s"
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr "No s'han trobat generacions a expirar"
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr "Cap paquet home-manager sembla estar instal·lat."
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr "Argument desconegut %s"
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr "Home Manager serà esborrat del sistema."
#: home-manager/home-manager:808
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:812
msgid "Really uninstall Home Manager?"
msgstr "Estàs segur que vols desinstal·lar Home Manager?"
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr "Canviant a configuració buida de Home Manager..."
#: home-manager/home-manager:846
msgid "Yay!"
msgstr "Visca!"
#: home-manager/home-manager:851
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:1063
msgid "expire-generations expects one argument, got %d."
msgstr "expire-generations espera un argument, obtinguts %d."
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr "Comanda desconeguda: %s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."
msgstr "" msgstr ""
"Aquesta derivació no es pot construir, si us plau executa-la utilitzant nix-" "Aquesta derivació no es pot construir, si us plau executa-la utilitzant nix-"
"shell." "shell."
#~ msgid "Sorry, this command is not yet supported in flake setup"
#~ msgstr ""
#~ "Ho sentim, aquesta comanda encara no està suportada en la configuració de "
#~ "flake"
#~ msgid "Creating initial Home Manager configuration..."
#~ msgstr "Creant configuració inicial de Home Manager..."
#~ msgid "Remove all Home Manager generations?"
#~ msgstr "Eliminar totes les generacions de Home Manager?"
#~ msgid "All generations are now eligible for garbage collection."
#~ msgstr ""
#~ "Totes les generacions són ara candidates per a la recol·lecció de brossa."
#~ msgid "Leaving generations but they may still be garbage collected."
#~ msgstr ""
#~ "Deixant generacions, però aquestes encara poden ser esborrades pel "
#~ "recol·lector de brossa."

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2022-03-26 15:08+0100\n" "POT-Creation-Date: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2022-09-19 18:22+0000\n" "PO-Revision-Date: 2022-09-19 18:22+0000\n"
"Last-Translator: cafkafk <christina@cafkafk.com>\n" "Last-Translator: cafkafk <christina@cafkafk.com>\n"
"Language-Team: Danish <https://hosted.weblate.org/projects/home-manager/cli/" "Language-Team: Danish <https://hosted.weblate.org/projects/home-manager/cli/"
@ -19,138 +19,88 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.14.1\n" "X-Generator: Weblate 4.14.1\n"
#: home-manager/home-manager:60 #: home-manager/home-manager:71
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
msgstr "Ingen konfigurationsfiler fundet ved %s" msgstr "Ingen konfigurationsfiler fundet ved %s"
#: home-manager/home-manager:79 #. 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:182
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" msgid "No configuration file found. Please create one at %s"
msgstr "Ingen konfigurationsfiler fundet. Venligst lav en ved %s" msgstr "Ingen konfigurationsfiler fundet. Venligst lav en ved %s"
#: 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 #: 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 fallowing.\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:164
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:219
msgid "Can't inspect options of a flake configuration" msgid "Can't inspect options of a flake configuration"
msgstr "Kan ikke inspicere indstillinger af en flake konfiguration" msgstr "Kan ikke inspicere indstillinger af en flake konfiguration"
#: home-manager/home-manager:162 #: home-manager/home-manager:281 home-manager/home-manager:304
msgid "Can't instantiate a flake configuration" #: home-manager/home-manager:1023
msgstr "Kan ikke instantiere en flake konfiguration"
#: home-manager/home-manager:237
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] ""
"Der er %d ulæst og relavante nyheder.\n"
"Læs den ved at køre \"%s news\"."
msgstr[1] ""
"Der er %d ulæste og relavante nyheder.\n"
"Læs dem ved at køre \"%s news\"."
#: home-manager/home-manager:251
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Ubekændt \"news.display\" indstilling \"%s\"."
#: home-manager/home-manager:258
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Venligst sæt $EDITOR miljøvariablen"
#: home-manager/home-manager:273
msgid "Cannot run build in read-only directory"
msgstr "Kan ikke bygge i en læs-kun folder"
#: home-manager/home-manager:355
msgid "No generation with ID %s"
msgstr "Ingen generation med ID %s"
#: home-manager/home-manager:357
msgid "Cannot remove the current generation %s"
msgstr "Kan ikke fjerne den nuværende generation %s"
#: home-manager/home-manager:359
msgid "Removing generation %s"
msgstr "Fjern generation %s"
#: home-manager/home-manager:385
msgid "No generations to expire"
msgstr "Ingen generationer som skal udløbes"
#: home-manager/home-manager:396
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:453
msgid "Unknown argument %s"
msgstr "Ubekendt argument %s"
#: home-manager/home-manager:469
msgid "This will remove Home Manager from your system."
msgstr "Dette vil fjerne Home Manager fra dit system."
#: home-manager/home-manager:472
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:476
msgid "Really uninstall Home Manager?"
msgstr "Virkelig uinstaller Home Manager?"
#: home-manager/home-manager:481
msgid "Switching to empty Home Manager configuration..."
msgstr "Skifter til tom Home Manager konfiguration..."
#: home-manager/home-manager:493
msgid "Yay!"
msgstr "Juhuu!"
#: home-manager/home-manager:500
msgid "Remove all Home Manager generations?"
msgstr "Fjern alle Home Manager generationer?"
#: home-manager/home-manager:507
msgid "All generations are now eligible for garbage collection."
msgstr "Alle generationer kan nu blive tjekket for overflødige filer."
#: home-manager/home-manager:510
msgid "Leaving generations but they may still be garbage collected."
msgstr ""
"Forlad generationer, men de kan stadig bliver fjernet som overflødige filer."
#: home-manager/home-manager:514
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:673
msgid "%s: unknown option '%s'" msgid "%s: unknown option '%s'"
msgstr "%s: ukendt indstilling '%s'" msgstr "%s: ukendt indstilling '%s'"
#: home-manager/home-manager:674 #: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help" msgid "Run '%s --help' for usage help"
msgstr "Kør '%s --help' for brugsvejledning" msgstr "Kør '%s --help' for brugsvejledning"
#: home-manager/home-manager:708 #: home-manager/home-manager:312 home-manager/home-manager:411
msgid "expire-generations expects one argument, got %d." msgid "The file %s already exists, leaving it unchanged..."
msgstr "expire-generations forventer et argument, fik %d." msgstr ""
#: home-manager/home-manager:730 #: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Unknown command: %s" msgid "Creating %s..."
msgstr "Ubekendt kommando: %s" msgstr ""
#: home-manager/install.nix:22 #: home-manager/home-manager:455
msgid "Creating initial Home Manager configuration..."
msgstr "Laver initial Home Manager konfiguration..."
#: home-manager/install.nix:66
msgid "Creating initial Home Manager generation..." msgid "Creating initial Home Manager generation..."
msgstr "Laver initial Home Manager generation..." msgstr "Laver initial Home Manager generation..."
#. translators: The "%s" specifier will be replaced by a file path. #. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/install.nix:71 #: home-manager/home-manager:460
msgid "" msgid ""
"All done! The home-manager tool should now be installed and you can edit\n" "All done! The home-manager tool should now be installed and you can edit\n"
"\n" "\n"
@ -168,7 +118,7 @@ msgstr ""
"se alle de mulige indstillinger." "se alle de mulige indstillinger."
#. translators: The "%s" specifier will be replaced by a URL. #. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/install.nix:76 #: home-manager/home-manager:465
msgid "" msgid ""
"Uh oh, the installation failed! Please create an issue at\n" "Uh oh, the installation failed! Please create an issue at\n"
"\n" "\n"
@ -182,6 +132,110 @@ msgstr ""
" \n" " \n"
"hvis fejlen fremstår som forskyldt af Home Manager." "hvis fejlen fremstår som forskyldt af Home Manager."
#: home-manager/install.nix:83 #. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:476
msgid "Can't instantiate a flake configuration"
msgstr "Kan ikke instantiere en flake konfiguration"
#: home-manager/home-manager:552
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] ""
"Der er %d ulæst og relavante nyheder.\n"
"Læs den ved at køre \"%s news\"."
msgstr[1] ""
"Der er %d ulæste og relavante nyheder.\n"
"Læs dem ved at køre \"%s news\"."
#: home-manager/home-manager:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Ubekændt \"news.display\" indstilling \"%s\"."
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Venligst sæt $EDITOR miljøvariablen"
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr "Kan ikke bygge i en læs-kun folder"
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr "Ingen generation med ID %s"
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr "Kan ikke fjerne den nuværende generation %s"
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr "Fjern generation %s"
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr "Ingen generationer som skal udløbes"
#: home-manager/home-manager:700
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:781
msgid "Unknown argument %s"
msgstr "Ubekendt argument %s"
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr "Dette vil fjerne Home Manager fra dit system."
#: home-manager/home-manager:808
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:812
msgid "Really uninstall Home Manager?"
msgstr "Virkelig uinstaller Home Manager?"
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr "Skifter til tom Home Manager konfiguration..."
#: home-manager/home-manager:846
msgid "Yay!"
msgstr "Juhuu!"
#: home-manager/home-manager:851
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:1063
msgid "expire-generations expects one argument, got %d."
msgstr "expire-generations forventer et argument, fik %d."
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr "Ubekendt kommando: %s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."
msgstr "Denne derivation er ikke bygbar, venligst kør den gennem nix-shell." msgstr "Denne derivation er ikke bygbar, venligst kør den gennem nix-shell."
#~ msgid "Creating initial Home Manager configuration..."
#~ msgstr "Laver initial Home Manager konfiguration..."
#~ msgid "Remove all Home Manager generations?"
#~ msgstr "Fjern alle Home Manager generationer?"
#~ msgid "All generations are now eligible for garbage collection."
#~ msgstr "Alle generationer kan nu blive tjekket for overflødige filer."
#~ msgid "Leaving generations but they may still be garbage collected."
#~ msgstr ""
#~ "Forlad generationer, men de kan stadig bliver fjernet som overflødige "
#~ "filer."

View file

@ -7,9 +7,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2022-03-26 15:08+0100\n" "POT-Creation-Date: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2022-07-12 19:40+0000\n" "PO-Revision-Date: 2023-08-02 20:04+0000\n"
"Last-Translator: Frederik Engels <frederik.engels92@gmail.com>\n" "Last-Translator: JonathanB <ewu.uwent@gmail.com>\n"
"Language-Team: German <https://hosted.weblate.org/projects/home-manager/cli/" "Language-Team: German <https://hosted.weblate.org/projects/home-manager/cli/"
"de/>\n" "de/>\n"
"Language: de\n" "Language: de\n"
@ -17,140 +17,94 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.14-dev\n" "X-Generator: Weblate 5.0-dev\n"
#: home-manager/home-manager:60 #: home-manager/home-manager:71
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
msgstr "Keine Konfigurationsdatei unter %s gefunden" msgstr "Keine Konfigurationsdatei unter %s gefunden"
#: home-manager/home-manager:79 #. 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:182
msgid ""
"Keeping your Home Manager %s in %s is deprecated,\n"
"please move it to %s"
msgstr ""
"Das Beibehalten Ihres Home Manager %s in %s ist veraltet.\n"
"Bitte verschieben Sie es nach %s"
#: home-manager/home-manager:99
msgid "No configuration file found. Please create one at %s" msgid "No configuration file found. Please create one at %s"
msgstr "Keine Konfigurationsdatei gefunden. Bitte erstellen Sie eine unter %s" msgstr "Keine Konfigurationsdatei gefunden. Bitte erstellen Sie eine unter %s"
#: home-manager/home-manager:114
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: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 fallowing.\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:164
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:219
msgid "Can't inspect options of a flake configuration" msgid "Can't inspect options of a flake configuration"
msgstr "Die Optionen einer Flake-Konfiguration können nicht inspiziert werden" msgstr "Die Optionen einer Flake-Konfiguration können nicht inspiziert werden"
#: home-manager/home-manager:162 #: home-manager/home-manager:281 home-manager/home-manager:304
msgid "Can't instantiate a flake configuration" #: home-manager/home-manager:1023
msgstr "Kann eine Flake-Konfiguration nicht instanziieren"
#: home-manager/home-manager:237
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] ""
"Es gibt eine ungelesene und relevante Nachricht.\n"
"Lesen Sie sie, indem Sie den Befehl \"%s news\" ausführen."
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:251
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Unbekannte \"news.display\" Einstellung \"%s\"."
#: home-manager/home-manager:258
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Bitte legen Sie die $EDITOR Variable fest"
#: home-manager/home-manager:273
msgid "Cannot run build in read-only directory"
msgstr "Build kann nicht im schreibgeschützten Ordner ausgeführt werden"
#: home-manager/home-manager:355
msgid "No generation with ID %s"
msgstr "Keine Generation mit ID %s"
#: home-manager/home-manager:357
msgid "Cannot remove the current generation %s"
msgstr "Die jetzige Generation %s kann nicht entfernt werden"
#: home-manager/home-manager:359
msgid "Removing generation %s"
msgstr "Entferne Generation %s"
#: home-manager/home-manager:385
msgid "No generations to expire"
msgstr "Keine ablaufenden Generationen"
#: home-manager/home-manager:396
msgid "No home-manager packages seem to be installed."
msgstr "Es scheint, als ob keine Home Manager Pakete installiert sind."
#: home-manager/home-manager:453
msgid "Unknown argument %s"
msgstr "Unbekannte Argumente %s"
#: home-manager/home-manager:469
msgid "This will remove Home Manager from your system."
msgstr "Dies wird Home Manager von Ihrem System entfernen."
#: home-manager/home-manager:472
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:476
msgid "Really uninstall Home Manager?"
msgstr "Möchten Sie wirklich Home Manager deinstallieren?"
#: home-manager/home-manager:481
msgid "Switching to empty Home Manager configuration..."
msgstr "Wechsle zu einer leeren Home Manager Konfiguration..."
#: home-manager/home-manager:493
msgid "Yay!"
msgstr "Juhu!"
#: home-manager/home-manager:500
msgid "Remove all Home Manager generations?"
msgstr "Entferne alle Home Manager Generationen?"
#: home-manager/home-manager:507
msgid "All generations are now eligible for garbage collection."
msgstr "Alle Generationen kommen nun für die Garbage Collection in Frage."
#: home-manager/home-manager:510
msgid "Leaving generations but they may still be garbage collected."
msgstr ""
"Ignoriere Generationen, aber diese könnten immer noch mittels des Garbage "
"Collectors aufgeräumt werden."
#: home-manager/home-manager:514
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:673
msgid "%s: unknown option '%s'" msgid "%s: unknown option '%s'"
msgstr "%s: unbekannte Option '%s'" msgstr "%s: unbekannte Option '%s'"
#: home-manager/home-manager:674 #: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help" msgid "Run '%s --help' for usage help"
msgstr "Führe '%s --help' aus, um Hilfe zur Verwendung zu erhalten" msgstr "Führe '%s --help' aus, um Hilfe zur Verwendung zu erhalten"
#: home-manager/home-manager:708 #: home-manager/home-manager:312 home-manager/home-manager:411
msgid "expire-generations expects one argument, got %d." msgid "The file %s already exists, leaving it unchanged..."
msgstr "expire-generations erwartet ein Argument, hat aber %d erhalten." msgstr "Die Datei %s existiert bereits, sie bleibt unverändert..."
#: home-manager/home-manager:730 #: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Unknown command: %s" msgid "Creating %s..."
msgstr "Unbekannter Befehl: %s" msgstr "Erstelle %s..."
#: home-manager/install.nix:22 #: home-manager/home-manager:455
msgid "Creating initial Home Manager configuration..."
msgstr "Erstelle initiale Home Manager Konfiguration..."
#: home-manager/install.nix:66
msgid "Creating initial Home Manager generation..." msgid "Creating initial Home Manager generation..."
msgstr "Erstelle initiale Home Manager Generation..." msgstr "Erstelle initiale Home Manager Generation..."
#. translators: The "%s" specifier will be replaced by a file path. #. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/install.nix:71 #: home-manager/home-manager:460
msgid "" msgid ""
"All done! The home-manager tool should now be installed and you can edit\n" "All done! The home-manager tool should now be installed and you can edit\n"
"\n" "\n"
@ -168,7 +122,7 @@ msgstr ""
"sehen." "sehen."
#. translators: The "%s" specifier will be replaced by a URL. #. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/install.nix:76 #: home-manager/home-manager:465
msgid "" msgid ""
"Uh oh, the installation failed! Please create an issue at\n" "Uh oh, the installation failed! Please create an issue at\n"
"\n" "\n"
@ -182,7 +136,113 @@ msgstr ""
"\n" "\n"
"falls der Fehler auf Home Manager zurückzuführen ist." "falls der Fehler auf Home Manager zurückzuführen ist."
#: home-manager/install.nix:83 #. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:476
msgid "Can't instantiate a flake configuration"
msgstr "Kann eine Flake-Konfiguration nicht instanziieren"
#: home-manager/home-manager:552
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] ""
"Es gibt eine ungelesene und relevante Nachricht.\n"
"Lesen Sie sie, indem Sie den Befehl \"%s news\" ausführen."
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:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Unbekannte \"news.display\" Einstellung \"%s\"."
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Bitte legen Sie die $EDITOR Variable fest"
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr "Build kann nicht im schreibgeschützten Ordner ausgeführt werden"
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr "Keine Generation mit ID %s"
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr "Die jetzige Generation %s kann nicht entfernt werden"
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr "Entferne Generation %s"
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr "Keine ablaufenden Generationen"
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr "Es scheint, als ob keine Home Manager Pakete installiert sind."
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr "Unbekannte Argumente %s"
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr "Dies wird Home Manager von Ihrem System entfernen."
#: home-manager/home-manager:808
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:812
msgid "Really uninstall Home Manager?"
msgstr "Möchten Sie wirklich Home Manager deinstallieren?"
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr "Wechsle zu einer leeren Home Manager Konfiguration..."
#: home-manager/home-manager:846
msgid "Yay!"
msgstr "Juhu!"
#: home-manager/home-manager:851
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:1063
msgid "expire-generations expects one argument, got %d."
msgstr "expire-generations erwartet ein Argument, hat aber %d erhalten."
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr "Unbekannter Befehl: %s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."
msgstr "" msgstr ""
"Diese Derivation ist nicht kompilierbar. Bitte führen Sie nix-shell aus." "Diese Derivation ist nicht kompilierbar. Bitte führen Sie nix-shell aus."
#~ msgid "Sorry, this command is not yet supported in flake setup"
#~ msgstr "Dieser Befehl wird im Flake-Setup leider noch nicht unterstützt"
#~ msgid "Creating initial Home Manager configuration..."
#~ msgstr "Erstelle initiale Home Manager Konfiguration..."
#~ msgid "Remove all Home Manager generations?"
#~ msgstr "Entferne alle Home Manager Generationen?"
#~ msgid "All generations are now eligible for garbage collection."
#~ msgstr "Alle Generationen kommen nun für die Garbage Collection in Frage."
#~ msgid "Leaving generations but they may still be garbage collected."
#~ msgstr ""
#~ "Ignoriere Generationen, aber diese könnten immer noch mittels des Garbage "
#~ "Collectors aufgeräumt werden."

View file

@ -7,9 +7,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2022-03-26 15:08+0100\n" "POT-Creation-Date: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2022-01-11 21:45+0000\n" "PO-Revision-Date: 2023-07-17 10:03+0000\n"
"Last-Translator: Robert Helgesson <robert@rycee.net>\n" "Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/home-manager/cli/" "Language-Team: Spanish <https://hosted.weblate.org/projects/home-manager/cli/"
"es/>\n" "es/>\n"
"Language: es\n" "Language: es\n"
@ -17,139 +17,114 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.10.1\n" "X-Generator: Weblate 5.0-dev\n"
#: home-manager/home-manager:60 #: home-manager/home-manager:71
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
msgstr "Archivo de configuración no encontrado en %s" msgstr "Archivo de configuración no encontrado en %s"
#: home-manager/home-manager:79 #. 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:182
msgid ""
"Keeping your Home Manager %s in %s is deprecated,\n"
"please move it to %s"
msgstr ""
"Mantener tu Home Manager %s en %s está obsoleto,\n"
"por favor muévalo a %s"
#: home-manager/home-manager:99
msgid "No configuration file found. Please create one at %s" msgid "No configuration file found. Please create one at %s"
msgstr "Archivo de configuración no encontrado. Por favor cree uno en %s" msgstr "Archivo de configuración no encontrado. Por favor cree uno en %s"
#: home-manager/home-manager:114
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:122
msgid ""
"The fallback Home Manager path %s has been deprecated and a file/directory "
"was found there."
msgstr ""
"La ruta alternativa de Home Manager %s ha quedado obsoleta y se encontró un "
"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
msgid ""
"To remove this warning, do one of the fallowing.\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 ""
"Para eliminar esta advertencia, realiza una de las siguientes acciones.\n"
"\n"
"1. Indica explícitamente a Home Manager que utilice la ruta, por ejemplo "
"añadiendo\n"
"\n"
" { programs.home-manager.path = \"%s\"; }\n"
"\n"
" a tu configuración.\n"
"\n"
" Si importa Home Manager directamente, puede utilizar el parámetro `path`\n"
"\n"
" pkgs.callPackage /path/to/home-manager-package { path = \"%s\"; }\n"
"\n"
" al llamar al paquete Home Manager.\n"
"\n"
"2. Elimina la ruta obsoleta.\n"
"\n"
" $ rm -r \"%s\""
#: home-manager/home-manager:164
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:219
msgid "Can't inspect options of a flake configuration" msgid "Can't inspect options of a flake configuration"
msgstr "No se pudo inspeccionar las opciones de la configuración flake" msgstr "No se pudo inspeccionar las opciones de la configuración flake"
#: home-manager/home-manager:162 #: home-manager/home-manager:281 home-manager/home-manager:304
msgid "Can't instantiate a flake configuration" #: home-manager/home-manager:1023
msgstr "No se pudo instanciar una configuración flake"
#: home-manager/home-manager:237
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] ""
"Hay %d noticia relevante no leída.\n"
"Léala ejecutando el comando \"%s news\"."
msgstr[1] ""
"Hay %d noticias relevantes no leídas.\n"
"Léalas ejecutando el comando \"%s news\"."
#: home-manager/home-manager:251
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Configuración \"news.display\" no reconocida \"%s\"."
#: home-manager/home-manager:258
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Defina la variable de ambiente $EDITOR"
#: home-manager/home-manager:273
msgid "Cannot run build in read-only directory"
msgstr "No se puede ejecutar en un directorio de sólo lectura"
#: home-manager/home-manager:355
msgid "No generation with ID %s"
msgstr "No existe la generación con ID %s"
#: home-manager/home-manager:357
msgid "Cannot remove the current generation %s"
msgstr "No se pudo borrar la generación actual %s"
#: home-manager/home-manager:359
msgid "Removing generation %s"
msgstr "Borrando generación %s"
#: home-manager/home-manager:385
msgid "No generations to expire"
msgstr "No se encontraron generaciones para expirar"
#: home-manager/home-manager:396
msgid "No home-manager packages seem to be installed."
msgstr "No se encontró ningún paquete home-manager instalado."
#: home-manager/home-manager:453
msgid "Unknown argument %s"
msgstr "Argumento desconocido %s"
#: home-manager/home-manager:469
msgid "This will remove Home Manager from your system."
msgstr "Home Manager será borrado del sistema."
#: home-manager/home-manager:472
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "Este es un simulacro, nada será realmente desinstalado."
#: home-manager/home-manager:476
msgid "Really uninstall Home Manager?"
msgstr "Desinstalar Home Manager?"
#: home-manager/home-manager:481
msgid "Switching to empty Home Manager configuration..."
msgstr "Cambiando a configuración vacía de Home Manager..."
#: home-manager/home-manager:493
msgid "Yay!"
msgstr "Bien!"
#: home-manager/home-manager:500
msgid "Remove all Home Manager generations?"
msgstr "Borrar todas las generaciones de Home Manager?"
#: home-manager/home-manager:507
msgid "All generations are now eligible for garbage collection."
msgstr "Ahora todas las generaciones son aptas para recolección de basura."
#: home-manager/home-manager:510
msgid "Leaving generations but they may still be garbage collected."
msgstr ""
"Dejando generaciones aunque podrían aún ser borradas por el recolector de "
"basura."
#: home-manager/home-manager:514
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:673
msgid "%s: unknown option '%s'" msgid "%s: unknown option '%s'"
msgstr "%s: opción desconocida '%s'" msgstr "%s: opción desconocida '%s'"
#: home-manager/home-manager:674 #: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help" msgid "Run '%s --help' for usage help"
msgstr "Ejecute '%s --help' para ver ayuda" msgstr "Ejecute '%s --help' para ver ayuda"
#: home-manager/home-manager:708 #: home-manager/home-manager:312 home-manager/home-manager:411
msgid "expire-generations expects one argument, got %d." msgid "The file %s already exists, leaving it unchanged..."
msgstr "expire-generations espera un argumento pero se dieron %d." msgstr "El fichero %s ya existe, dejándolo sin modificar..."
#: home-manager/home-manager:730 #: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Unknown command: %s" msgid "Creating %s..."
msgstr "Comando desconocido %s" msgstr "Creando %s..."
#: home-manager/install.nix:22 #: home-manager/home-manager:455
msgid "Creating initial Home Manager configuration..."
msgstr "Creando configuración inicial de Home Manager..."
#: home-manager/install.nix:66
msgid "Creating initial Home Manager generation..." msgid "Creating initial Home Manager generation..."
msgstr "Creando generación inicial de Home Manager..." msgstr "Creando generación inicial de Home Manager..."
#. translators: The "%s" specifier will be replaced by a file path. #. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/install.nix:71 #: home-manager/home-manager:460
msgid "" msgid ""
"All done! The home-manager tool should now be installed and you can edit\n" "All done! The home-manager tool should now be installed and you can edit\n"
"\n" "\n"
@ -166,7 +141,7 @@ msgstr ""
"ver todas las opciones disponibles." "ver todas las opciones disponibles."
#. translators: The "%s" specifier will be replaced by a URL. #. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/install.nix:76 #: home-manager/home-manager:465
msgid "" msgid ""
"Uh oh, the installation failed! Please create an issue at\n" "Uh oh, the installation failed! Please create an issue at\n"
"\n" "\n"
@ -180,6 +155,113 @@ msgstr ""
"\n" "\n"
"si el error parecer ser culpa de Home Manager." "si el error parecer ser culpa de Home Manager."
#: home-manager/install.nix:83 #. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:476
msgid "Can't instantiate a flake configuration"
msgstr "No se pudo instanciar una configuración flake"
#: home-manager/home-manager:552
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] ""
"Hay %d noticia relevante no leída.\n"
"Léala ejecutando el comando \"%s news\"."
msgstr[1] ""
"Hay %d noticias relevantes no leídas.\n"
"Léalas ejecutando el comando \"%s news\"."
#: home-manager/home-manager:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Configuración \"news.display\" no reconocida \"%s\"."
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Defina la variable de ambiente $EDITOR"
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr "No se puede ejecutar en un directorio de sólo lectura"
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr "No existe la generación con ID %s"
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr "No se pudo borrar la generación actual %s"
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr "Borrando generación %s"
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr "No se encontraron generaciones para expirar"
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr "No se encontró ningún paquete home-manager instalado."
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr "Argumento desconocido %s"
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr "Home Manager será borrado del sistema."
#: home-manager/home-manager:808
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "Este es un simulacro, nada será realmente desinstalado."
#: home-manager/home-manager:812
msgid "Really uninstall Home Manager?"
msgstr "Desinstalar Home Manager?"
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr "Cambiando a configuración vacía de Home Manager..."
#: home-manager/home-manager:846
msgid "Yay!"
msgstr "Bien!"
#: home-manager/home-manager:851
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:1063
msgid "expire-generations expects one argument, got %d."
msgstr "expire-generations espera un argumento pero se dieron %d."
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr "Comando desconocido %s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."
msgstr "Esta derivación no se puede construir, ejecute con nix-shell." msgstr "Esta derivación no se puede construir, ejecute con nix-shell."
#~ 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 "
#~ "flake"
#~ msgid "Creating initial Home Manager configuration..."
#~ msgstr "Creando configuración inicial de Home Manager..."
#~ msgid "Remove all Home Manager generations?"
#~ msgstr "Borrar todas las generaciones de Home Manager?"
#~ msgid "All generations are now eligible for garbage collection."
#~ msgstr "Ahora todas las generaciones son aptas para recolección de basura."
#~ msgid "Leaving generations but they may still be garbage collected."
#~ msgstr ""
#~ "Dejando generaciones aunque podrían aún ser borradas por el recolector de "
#~ "basura."

View file

@ -7,9 +7,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2022-03-26 15:08+0100\n" "POT-Creation-Date: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2022-04-09 18:11+0000\n" "PO-Revision-Date: 2023-05-28 22:49+0000\n"
"Last-Translator: Artin Mobasher <mobasherartin.icm@gmail.com>\n" "Last-Translator: Mohammad Abdolirad <m.abdolirad@gmail.com>\n"
"Language-Team: Persian <https://hosted.weblate.org/projects/home-manager/cli/" "Language-Team: Persian <https://hosted.weblate.org/projects/home-manager/cli/"
"fa/>\n" "fa/>\n"
"Language: fa\n" "Language: fa\n"
@ -17,134 +17,90 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n" "Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.12-dev\n" "X-Generator: Weblate 4.18-dev\n"
#: home-manager/home-manager:60 #: home-manager/home-manager:71
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
msgstr "هیچ فایل تنظیماتی در %s پیدا نشد" msgstr "هیچ فایل تنظیماتی در %s پیدا نشد"
#: home-manager/home-manager:79 #. 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:182
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" msgid "No configuration file found. Please create one at %s"
msgstr "هیچ فایل تنظیماتی پیدا نشد. لطفا یک فایل در %s بسازید" msgstr "هیچ فایل تنظیماتی پیدا نشد. لطفا یک فایل در %s بسازید"
#: 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 #: 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 fallowing.\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:164
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:219
msgid "Can't inspect options of a flake configuration" msgid "Can't inspect options of a flake configuration"
msgstr "" msgstr ""
#: home-manager/home-manager:162 #: home-manager/home-manager:281 home-manager/home-manager:304
msgid "Can't instantiate a flake configuration" #: home-manager/home-manager:1023
msgstr ""
#: home-manager/home-manager:237
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:251
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr ""
#: home-manager/home-manager:258
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr ""
#: home-manager/home-manager:273
msgid "Cannot run build in read-only directory"
msgstr ""
#: home-manager/home-manager:355
msgid "No generation with ID %s"
msgstr ""
#: home-manager/home-manager:357
msgid "Cannot remove the current generation %s"
msgstr ""
#: home-manager/home-manager:359
msgid "Removing generation %s"
msgstr ""
#: home-manager/home-manager:385
msgid "No generations to expire"
msgstr ""
#: home-manager/home-manager:396
msgid "No home-manager packages seem to be installed."
msgstr ""
#: home-manager/home-manager:453
msgid "Unknown argument %s"
msgstr ""
#: home-manager/home-manager:469
msgid "This will remove Home Manager from your system."
msgstr ""
#: home-manager/home-manager:472
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr ""
#: home-manager/home-manager:476
msgid "Really uninstall Home Manager?"
msgstr ""
#: home-manager/home-manager:481
msgid "Switching to empty Home Manager configuration..."
msgstr ""
#: home-manager/home-manager:493
#, fuzzy
msgid "Yay!"
msgstr "آره!"
#: home-manager/home-manager:500
msgid "Remove all Home Manager generations?"
msgstr ""
#: home-manager/home-manager:507
msgid "All generations are now eligible for garbage collection."
msgstr ""
#: home-manager/home-manager:510
msgid "Leaving generations but they may still be garbage collected."
msgstr ""
#: home-manager/home-manager:514
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr ""
#: home-manager/home-manager:673
msgid "%s: unknown option '%s'" msgid "%s: unknown option '%s'"
msgstr "" msgstr ""
#: home-manager/home-manager:674 #: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help" msgid "Run '%s --help' for usage help"
msgstr "" msgstr ""
#: home-manager/home-manager:708 #: home-manager/home-manager:312 home-manager/home-manager:411
msgid "expire-generations expects one argument, got %d." msgid "The file %s already exists, leaving it unchanged..."
msgstr "" msgstr "فایل %s از قبل وجود داشته است، بدون تغییر رها شد..."
#: home-manager/home-manager:730 #: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Unknown command: %s" msgid "Creating %s..."
msgstr "دستور ناشناخته: %s" msgstr "ساختن %s..."
#: home-manager/install.nix:22 #: home-manager/home-manager:455
msgid "Creating initial Home Manager configuration..."
msgstr "ایجاد تنظیمات اولیه Home-Manager..."
#: home-manager/install.nix:66
msgid "Creating initial Home Manager generation..." msgid "Creating initial Home Manager generation..."
msgstr "" msgstr ""
#. translators: The "%s" specifier will be replaced by a file path. #. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/install.nix:71 #: home-manager/home-manager:460
msgid "" msgid ""
"All done! The home-manager tool should now be installed and you can edit\n" "All done! The home-manager tool should now be installed and you can edit\n"
"\n" "\n"
@ -155,7 +111,7 @@ msgid ""
msgstr "" msgstr ""
#. translators: The "%s" specifier will be replaced by a URL. #. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/install.nix:76 #: home-manager/home-manager:465
msgid "" msgid ""
"Uh oh, the installation failed! Please create an issue at\n" "Uh oh, the installation failed! Please create an issue at\n"
"\n" "\n"
@ -164,6 +120,94 @@ msgid ""
"if the error seems to be the fault of Home Manager." "if the error seems to be the fault of Home Manager."
msgstr "" msgstr ""
#: home-manager/install.nix:83 #. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:476
msgid "Can't instantiate a flake configuration"
msgstr ""
#: home-manager/home-manager:552
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:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr ""
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "لطفا متغیر محیطی $EDITOR را مقدار دهی کنید"
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr ""
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr ""
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr "نمی‌توان نسل فعلی %s را حذف کرد"
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr "حذف کردن نسل %s"
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr ""
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr ""
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr ""
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr ""
#: home-manager/home-manager:808
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr ""
#: home-manager/home-manager:812
msgid "Really uninstall Home Manager?"
msgstr "واقعاً هوم منیجر را حذف نصب کنید؟"
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr ""
#: home-manager/home-manager:846
#, fuzzy
msgid "Yay!"
msgstr "آره!"
#: home-manager/home-manager:851
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "هوم منیجر حذف نصب شد اما home.nix شما دست نخورده باقی ماند."
#: home-manager/home-manager:1063
msgid "expire-generations expects one argument, got %d."
msgstr ""
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr "دستور ناشناخته: %s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."
msgstr "" msgstr ""
#~ msgid "Creating initial Home Manager configuration..."
#~ msgstr "ایجاد تنظیمات اولیه Home-Manager..."

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2022-03-26 15:08+0100\n" "POT-Creation-Date: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n" "Last-Translator: Automatically generated\n"
"Language-Team: none\n" "Language-Team: none\n"
@ -17,131 +17,88 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
#: home-manager/home-manager:60 #: home-manager/home-manager:71
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
msgstr "" msgstr ""
#: home-manager/home-manager:79 #. 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:182
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" msgid "No configuration file found. Please create one at %s"
msgstr "" 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 #: 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 fallowing.\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:164
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:219
msgid "Can't inspect options of a flake configuration" msgid "Can't inspect options of a flake configuration"
msgstr "" msgstr ""
#: home-manager/home-manager:162 #: home-manager/home-manager:281 home-manager/home-manager:304
msgid "Can't instantiate a flake configuration" #: home-manager/home-manager:1023
msgstr ""
#: home-manager/home-manager:237
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:251
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr ""
#: home-manager/home-manager:258
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr ""
#: home-manager/home-manager:273
msgid "Cannot run build in read-only directory"
msgstr ""
#: home-manager/home-manager:355
msgid "No generation with ID %s"
msgstr ""
#: home-manager/home-manager:357
msgid "Cannot remove the current generation %s"
msgstr ""
#: home-manager/home-manager:359
msgid "Removing generation %s"
msgstr ""
#: home-manager/home-manager:385
msgid "No generations to expire"
msgstr ""
#: home-manager/home-manager:396
msgid "No home-manager packages seem to be installed."
msgstr ""
#: home-manager/home-manager:453
msgid "Unknown argument %s"
msgstr ""
#: home-manager/home-manager:469
msgid "This will remove Home Manager from your system."
msgstr ""
#: home-manager/home-manager:472
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr ""
#: home-manager/home-manager:476
msgid "Really uninstall Home Manager?"
msgstr ""
#: home-manager/home-manager:481
msgid "Switching to empty Home Manager configuration..."
msgstr ""
#: home-manager/home-manager:493
msgid "Yay!"
msgstr ""
#: home-manager/home-manager:500
msgid "Remove all Home Manager generations?"
msgstr ""
#: home-manager/home-manager:507
msgid "All generations are now eligible for garbage collection."
msgstr ""
#: home-manager/home-manager:510
msgid "Leaving generations but they may still be garbage collected."
msgstr ""
#: home-manager/home-manager:514
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr ""
#: home-manager/home-manager:673
msgid "%s: unknown option '%s'" msgid "%s: unknown option '%s'"
msgstr "" msgstr ""
#: home-manager/home-manager:674 #: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help" msgid "Run '%s --help' for usage help"
msgstr "" msgstr ""
#: home-manager/home-manager:708 #: home-manager/home-manager:312 home-manager/home-manager:411
msgid "expire-generations expects one argument, got %d." msgid "The file %s already exists, leaving it unchanged..."
msgstr "" msgstr ""
#: home-manager/home-manager:730 #: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Unknown command: %s" msgid "Creating %s..."
msgstr "" msgstr ""
#: home-manager/install.nix:22 #: home-manager/home-manager:455
msgid "Creating initial Home Manager configuration..."
msgstr ""
#: home-manager/install.nix:66
msgid "Creating initial Home Manager generation..." msgid "Creating initial Home Manager generation..."
msgstr "" msgstr ""
#. translators: The "%s" specifier will be replaced by a file path. #. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/install.nix:71 #: home-manager/home-manager:460
msgid "" msgid ""
"All done! The home-manager tool should now be installed and you can edit\n" "All done! The home-manager tool should now be installed and you can edit\n"
"\n" "\n"
@ -152,7 +109,7 @@ msgid ""
msgstr "" msgstr ""
#. translators: The "%s" specifier will be replaced by a URL. #. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/install.nix:76 #: home-manager/home-manager:465
msgid "" msgid ""
"Uh oh, the installation failed! Please create an issue at\n" "Uh oh, the installation failed! Please create an issue at\n"
"\n" "\n"
@ -161,6 +118,90 @@ msgid ""
"if the error seems to be the fault of Home Manager." "if the error seems to be the fault of Home Manager."
msgstr "" msgstr ""
#: home-manager/install.nix:83 #. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:476
msgid "Can't instantiate a flake configuration"
msgstr ""
#: home-manager/home-manager:552
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:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr ""
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr ""
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr ""
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr ""
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr ""
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr ""
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr ""
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr ""
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr ""
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr ""
#: home-manager/home-manager:808
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr ""
#: home-manager/home-manager:812
msgid "Really uninstall Home Manager?"
msgstr ""
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr ""
#: home-manager/home-manager:846
msgid "Yay!"
msgstr ""
#: home-manager/home-manager:851
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr ""
#: home-manager/home-manager:1063
msgid "expire-generations expects one argument, got %d."
msgstr ""
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr ""
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."
msgstr "" msgstr ""

View file

@ -7,9 +7,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2022-03-26 15:08+0100\n" "POT-Creation-Date: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2021-12-19 16:51+0000\n" "PO-Revision-Date: 2023-06-17 07:49+0000\n"
"Last-Translator: TheBlackBeans <adrien.mathieu.net@gmail.com>\n" "Last-Translator: Pink Pony <dreammc@protonmail.com>\n"
"Language-Team: French <https://hosted.weblate.org/projects/home-manager/cli/" "Language-Team: French <https://hosted.weblate.org/projects/home-manager/cli/"
"fr/>\n" "fr/>\n"
"Language: fr\n" "Language: fr\n"
@ -17,143 +17,94 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n" "Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.10\n" "X-Generator: Weblate 4.18.1\n"
#: home-manager/home-manager:60 #: home-manager/home-manager:71
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
msgstr "Aucun fichier de configuration trouvé à l'emplacement %s" msgstr "Aucun fichier de configuration trouvé à l'emplacement %s"
#: home-manager/home-manager:79 #. 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:182
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"
#: home-manager/home-manager:99
msgid "No configuration file found. Please create one at %s" msgid "No configuration file found. Please create one at %s"
msgstr "" msgstr ""
"Aucun fichier de configuration trouvé. Veuillez en créer un à l'emplacement " "Aucun fichier de configuration trouvé. Veuillez en créer un à l'emplacement "
"%s" "%s"
#: 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 #: 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 fallowing.\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:164
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:219
msgid "Can't inspect options of a flake configuration" msgid "Can't inspect options of a flake configuration"
msgstr "Impossible d'inspecter les options d'une configuration en flocons" msgstr "Impossible d'inspecter les options d'une configuration en flocons"
#: home-manager/home-manager:162 #: home-manager/home-manager:281 home-manager/home-manager:304
msgid "Can't instantiate a flake configuration" #: home-manager/home-manager:1023
msgstr "Impossible d'instancier une configuration flake"
#: home-manager/home-manager:237
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] ""
"Il y a %d nouvel élément non lu et pertinent.\n"
"Vous pouvez le lire en exécutant la commande \"%s news\"."
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:251
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Configuration \"news.display\" iconnue \"%s\"."
#: home-manager/home-manager:258
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Veuillez définir la variable d'environnement $EDITOR"
#: home-manager/home-manager:273
msgid "Cannot run build in read-only directory"
msgstr "Impossible de lancer une compilation dans un dossier en écriture seule"
#: home-manager/home-manager:355
msgid "No generation with ID %s"
msgstr "Aucune génération avec l'identifiant %s"
#: home-manager/home-manager:357
msgid "Cannot remove the current generation %s"
msgstr "Impossible de supprimer la génération courante %s"
#: home-manager/home-manager:359
msgid "Removing generation %s"
msgstr "Suppression de la génération %s"
#: home-manager/home-manager:385
msgid "No generations to expire"
msgstr "Aucune génération expirée"
#: home-manager/home-manager:396
msgid "No home-manager packages seem to be installed."
msgstr "Aucun paquet home-manager ne semble être installé."
#: home-manager/home-manager:453
msgid "Unknown argument %s"
msgstr "Aucun argument %s"
#: home-manager/home-manager:469
msgid "This will remove Home Manager from your system."
msgstr "Cela va supprimer Home Manager de votre système."
#: home-manager/home-manager:472
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:476
msgid "Really uninstall Home Manager?"
msgstr "Voulez-vous vraiment désinstaller Home Manager ?"
#: home-manager/home-manager:481
msgid "Switching to empty Home Manager configuration..."
msgstr "Changement vers une configuration vierge de Home Manager..."
#: home-manager/home-manager:493
msgid "Yay!"
msgstr "Yay !"
#: home-manager/home-manager:500
msgid "Remove all Home Manager generations?"
msgstr "Supprimer toutes les générations de Home Manager ?"
#: home-manager/home-manager:507
msgid "All generations are now eligible for garbage collection."
msgstr ""
"Toutes les générations sont maintenant éligibles pour la collecte des "
"ordures."
#: home-manager/home-manager:510
msgid "Leaving generations but they may still be garbage collected."
msgstr ""
"Les générations sortantes mais elles peuvent encore être collectées par les "
"ordures."
#: home-manager/home-manager:514
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:673
msgid "%s: unknown option '%s'" msgid "%s: unknown option '%s'"
msgstr "%s : option inconnue « %s »" msgstr "%s : option inconnue « %s »"
#: home-manager/home-manager:674 #: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help" msgid "Run '%s --help' for usage help"
msgstr "Exécuter « %s --help » pour de l'aide sur l'utilisation" msgstr "Exécuter « %s --help » pour de l'aide sur l'utilisation"
#: home-manager/home-manager:708 #: home-manager/home-manager:312 home-manager/home-manager:411
msgid "expire-generations expects one argument, got %d." msgid "The file %s already exists, leaving it unchanged..."
msgstr "expire-generations attend un argument, a obtenu %d." msgstr "Le fichier %s existe déjà, il sera laissé inchangé..."
#: home-manager/home-manager:730 #: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Unknown command: %s" msgid "Creating %s..."
msgstr "Commande inconnue : %s" msgstr "Création de %s ..."
#: home-manager/install.nix:22 #: home-manager/home-manager:455
msgid "Creating initial Home Manager configuration..."
msgstr "Création de la configuration initiale de Home Manager..."
#: home-manager/install.nix:66
msgid "Creating initial Home Manager generation..." msgid "Creating initial Home Manager generation..."
msgstr "Création de la génération initiale de Home Manager..." msgstr "Création de la génération initiale de Home Manager..."
#. translators: The "%s" specifier will be replaced by a file path. #. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/install.nix:71 #: home-manager/home-manager:460
msgid "" msgid ""
"All done! The home-manager tool should now be installed and you can edit\n" "All done! The home-manager tool should now be installed and you can edit\n"
"\n" "\n"
@ -171,7 +122,7 @@ msgstr ""
"essayez 'man home-configuration.nix'." "essayez 'man home-configuration.nix'."
#. translators: The "%s" specifier will be replaced by a URL. #. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/install.nix:76 #: home-manager/home-manager:465
msgid "" msgid ""
"Uh oh, the installation failed! Please create an issue at\n" "Uh oh, the installation failed! Please create an issue at\n"
"\n" "\n"
@ -186,6 +137,115 @@ msgstr ""
"\n" "\n"
"si l'erreur semble être liée à Home Manager." "si l'erreur semble être liée à Home Manager."
#: home-manager/install.nix:83 #. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:476
msgid "Can't instantiate a flake configuration"
msgstr "Impossible d'instancier une configuration flake"
#: home-manager/home-manager:552
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] ""
"Il y a %d nouvel élément non lu et pertinent.\n"
"Vous pouvez le lire en exécutant la commande \"%s news\"."
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:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Configuration \"news.display\" iconnue \"%s\"."
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Veuillez définir la variable d'environnement $EDITOR"
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr "Impossible de lancer une compilation dans un dossier en écriture seule"
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr "Aucune génération avec l'identifiant %s"
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr "Impossible de supprimer la génération courante %s"
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr "Suppression de la génération %s"
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr "Aucune génération expirée"
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr "Aucun paquet home-manager ne semble être installé."
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr "Aucun argument %s"
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr "Cela va supprimer Home Manager de votre système."
#: home-manager/home-manager:808
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:812
msgid "Really uninstall Home Manager?"
msgstr "Voulez-vous vraiment désinstaller Home Manager ?"
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr "Changement vers une configuration vierge de Home Manager..."
#: home-manager/home-manager:846
msgid "Yay!"
msgstr "Yay !"
#: home-manager/home-manager:851
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:1063
msgid "expire-generations expects one argument, got %d."
msgstr "expire-generations attend un argument, a obtenu %d."
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr "Commande inconnue : %s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."
msgstr "Cette dérivation ne peut être construite, essayez avec nix-shell." msgstr "Cette dérivation ne peut être construite, essayez avec nix-shell."
#~ 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 "
#~ "configuration du flake"
#~ msgid "Creating initial Home Manager configuration..."
#~ msgstr "Création de la configuration initiale de Home Manager..."
#~ msgid "Remove all Home Manager generations?"
#~ msgstr "Supprimer toutes les générations de Home Manager ?"
#~ msgid "All generations are now eligible for garbage collection."
#~ msgstr ""
#~ "Toutes les générations sont maintenant éligibles pour la collecte des "
#~ "ordures."
#~ msgid "Leaving generations but they may still be garbage collected."
#~ msgstr ""
#~ "Les générations sortantes mais elles peuvent encore être collectées par "
#~ "les ordures."

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2022-03-26 15:08+0100\n" "POT-Creation-Date: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,131 +18,88 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
#: home-manager/home-manager:60 #: home-manager/home-manager:71
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
msgstr "" msgstr ""
#: home-manager/home-manager:79 #. 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:182
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" msgid "No configuration file found. Please create one at %s"
msgstr "" 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 #: 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 fallowing.\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:164
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:219
msgid "Can't inspect options of a flake configuration" msgid "Can't inspect options of a flake configuration"
msgstr "" msgstr ""
#: home-manager/home-manager:162 #: home-manager/home-manager:281 home-manager/home-manager:304
msgid "Can't instantiate a flake configuration" #: home-manager/home-manager:1023
msgstr ""
#: home-manager/home-manager:237
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:251
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr ""
#: home-manager/home-manager:258
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr ""
#: home-manager/home-manager:273
msgid "Cannot run build in read-only directory"
msgstr ""
#: home-manager/home-manager:355
msgid "No generation with ID %s"
msgstr ""
#: home-manager/home-manager:357
msgid "Cannot remove the current generation %s"
msgstr ""
#: home-manager/home-manager:359
msgid "Removing generation %s"
msgstr ""
#: home-manager/home-manager:385
msgid "No generations to expire"
msgstr ""
#: home-manager/home-manager:396
msgid "No home-manager packages seem to be installed."
msgstr ""
#: home-manager/home-manager:453
msgid "Unknown argument %s"
msgstr ""
#: home-manager/home-manager:469
msgid "This will remove Home Manager from your system."
msgstr ""
#: home-manager/home-manager:472
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr ""
#: home-manager/home-manager:476
msgid "Really uninstall Home Manager?"
msgstr ""
#: home-manager/home-manager:481
msgid "Switching to empty Home Manager configuration..."
msgstr ""
#: home-manager/home-manager:493
msgid "Yay!"
msgstr ""
#: home-manager/home-manager:500
msgid "Remove all Home Manager generations?"
msgstr ""
#: home-manager/home-manager:507
msgid "All generations are now eligible for garbage collection."
msgstr ""
#: home-manager/home-manager:510
msgid "Leaving generations but they may still be garbage collected."
msgstr ""
#: home-manager/home-manager:514
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr ""
#: home-manager/home-manager:673
msgid "%s: unknown option '%s'" msgid "%s: unknown option '%s'"
msgstr "" msgstr ""
#: home-manager/home-manager:674 #: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help" msgid "Run '%s --help' for usage help"
msgstr "" msgstr ""
#: home-manager/home-manager:708 #: home-manager/home-manager:312 home-manager/home-manager:411
msgid "expire-generations expects one argument, got %d." msgid "The file %s already exists, leaving it unchanged..."
msgstr "" msgstr ""
#: home-manager/home-manager:730 #: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Unknown command: %s" msgid "Creating %s..."
msgstr "" msgstr ""
#: home-manager/install.nix:22 #: home-manager/home-manager:455
msgid "Creating initial Home Manager configuration..."
msgstr ""
#: home-manager/install.nix:66
msgid "Creating initial Home Manager generation..." msgid "Creating initial Home Manager generation..."
msgstr "" msgstr ""
#. translators: The "%s" specifier will be replaced by a file path. #. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/install.nix:71 #: home-manager/home-manager:460
msgid "" msgid ""
"All done! The home-manager tool should now be installed and you can edit\n" "All done! The home-manager tool should now be installed and you can edit\n"
"\n" "\n"
@ -153,7 +110,7 @@ msgid ""
msgstr "" msgstr ""
#. translators: The "%s" specifier will be replaced by a URL. #. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/install.nix:76 #: home-manager/home-manager:465
msgid "" msgid ""
"Uh oh, the installation failed! Please create an issue at\n" "Uh oh, the installation failed! Please create an issue at\n"
"\n" "\n"
@ -162,6 +119,90 @@ msgid ""
"if the error seems to be the fault of Home Manager." "if the error seems to be the fault of Home Manager."
msgstr "" msgstr ""
#: home-manager/install.nix:83 #. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:476
msgid "Can't instantiate a flake configuration"
msgstr ""
#: home-manager/home-manager:552
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:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr ""
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr ""
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr ""
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr ""
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr ""
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr ""
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr ""
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr ""
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr ""
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr ""
#: home-manager/home-manager:808
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr ""
#: home-manager/home-manager:812
msgid "Really uninstall Home Manager?"
msgstr ""
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr ""
#: home-manager/home-manager:846
msgid "Yay!"
msgstr ""
#: home-manager/home-manager:851
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr ""
#: home-manager/home-manager:1063
msgid "expire-generations expects one argument, got %d."
msgstr ""
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr ""
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."
msgstr "" msgstr ""

View file

@ -0,0 +1,215 @@
# 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: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2023-07-17 10:03+0000\n"
"Last-Translator: Reza Almanda <rezaalmanda27@gmail.com>\n"
"Language-Team: Indonesian <https://hosted.weblate.org/projects/home-manager/"
"cli/id/>\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.0-dev\n"
#: home-manager/home-manager:71
msgid "No configuration file found at %s"
msgstr "Tidak ada file konfigurasi yang ditemukan di %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:182
msgid ""
"Keeping your Home Manager %s in %s is deprecated,\n"
"please move it to %s"
msgstr ""
"Mempertahankan Pengelola Beranda Anda %s di %s tidak digunakan lagi,\n"
"tolong pindahkan ke %s"
#: home-manager/home-manager:99
msgid "No configuration file found. Please create one at %s"
msgstr "Tidak ada file konfigurasi yang ditemukan. Silakan buat di %s"
#: home-manager/home-manager:114
msgid "Home Manager not found at %s."
msgstr "Home Manager tidak ditemukan di %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 ""
"Path fallback Home Manager %s sudah tidak digunakan lagi dan file/direktori "
"ditemukan di sana."
#. 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 fallowing.\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:164
msgid "Could not find suitable profile directory, tried %s and %s"
msgstr "Tidak dapat menemukan direktori profil yang sesuai, mencoba %s dan %s"
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:219
msgid "Can't inspect options of a flake configuration"
msgstr "Tidak dapat memeriksa opsi konfigurasi flake"
#: home-manager/home-manager:281 home-manager/home-manager:304
#: home-manager/home-manager:1023
msgid "%s: unknown option '%s'"
msgstr "%s: opsi tidak diketahui '%s'"
#: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help"
msgstr "Jalankan '%s --help' untuk bantuan penggunaan"
#: home-manager/home-manager:312 home-manager/home-manager:411
msgid "The file %s already exists, leaving it unchanged..."
msgstr ""
#: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Creating %s..."
msgstr "Membuat %s..."
#: home-manager/home-manager:455
msgid "Creating initial Home Manager generation..."
msgstr ""
#. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/home-manager:460
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:465
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:476
msgid "Can't instantiate a flake configuration"
msgstr ""
#: home-manager/home-manager:552
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:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr ""
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr ""
#: home-manager/home-manager:588
#, fuzzy
msgid "Cannot run build in read-only directory"
msgstr "Tidak dapat menjalankan build di direktori read-only"
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr "Tidak ada generasi dengan ID %s"
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr ""
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr "Menghapus generasi %s"
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr ""
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr ""
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr ""
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr ""
#: home-manager/home-manager:808
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr ""
#: home-manager/home-manager:812
msgid "Really uninstall Home Manager?"
msgstr ""
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr ""
#: home-manager/home-manager:846
msgid "Yay!"
msgstr "Yey!"
#: home-manager/home-manager:851
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr ""
#: home-manager/home-manager:1063
msgid "expire-generations expects one argument, got %d."
msgstr ""
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr ""
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell."
msgstr ""
"Derivasi ini tidak dapat dibangun, silakan jalankan menggunakan nix-shell."

View file

@ -7,9 +7,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2022-03-26 15:08+0100\n" "POT-Creation-Date: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2022-04-20 18:18+0000\n" "PO-Revision-Date: 2023-04-11 20:41+0000\n"
"Last-Translator: Frankie McEyes <mceyes@protonmail.com>\n" "Last-Translator: Robert Helgesson <robert@rycee.net>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/home-manager/cli/" "Language-Team: Italian <https://hosted.weblate.org/projects/home-manager/cli/"
"it/>\n" "it/>\n"
"Language: it\n" "Language: it\n"
@ -17,137 +17,90 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.12-dev\n" "X-Generator: Weblate 4.17-dev\n"
#: home-manager/home-manager:60 #: home-manager/home-manager:71
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
msgstr "Nessun file di configurazione trovato in %s" msgstr "Nessun file di configurazione trovato in %s"
#: home-manager/home-manager:79 #. 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:182
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" msgid "No configuration file found. Please create one at %s"
msgstr "Nessun file di configurazione trovato. Per favore crearne uno in %s" msgstr "Nessun file di configurazione trovato. Per favore crearne uno in %s"
#: 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 #: 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 fallowing.\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:164
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:219
msgid "Can't inspect options of a flake configuration" msgid "Can't inspect options of a flake configuration"
msgstr "Impossibile ispezionare le opzioni di configurazione flake" msgstr "Impossibile ispezionare le opzioni di configurazione flake"
#: home-manager/home-manager:162 #: home-manager/home-manager:281 home-manager/home-manager:304
msgid "Can't instantiate a flake configuration" #: home-manager/home-manager:1023
msgstr "Impossibile istanziare una configurazione flake"
#: home-manager/home-manager:237
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] ""
"C'è %d novità di elementi non letta.\n"
"Leggila con il comando \"%s news\"."
msgstr[1] ""
"Ci sono %d novità di elementi non letti\n"
"Leggile con il comando \"%s news\"."
#: home-manager/home-manager:251
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Opzione \"news.display\" sconosciuta \"%s\"."
#: home-manager/home-manager:258
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Per favore impostare la variabile d'ambient $EDITOR"
#: home-manager/home-manager:273
msgid "Cannot run build in read-only directory"
msgstr "Impossibile eseguire la build in una cartella in sola lettura"
#: home-manager/home-manager:355
msgid "No generation with ID %s"
msgstr "Nessuna generazione con ID %s"
#: home-manager/home-manager:357
msgid "Cannot remove the current generation %s"
msgstr "Impossibile rimuovere la generazione corrente %s"
#: home-manager/home-manager:359
msgid "Removing generation %s"
msgstr "Rimuovo la generazione %s"
#: home-manager/home-manager:385
msgid "No generations to expire"
msgstr "Nessuna generazione in scadenza"
#: home-manager/home-manager:396
msgid "No home-manager packages seem to be installed."
msgstr "Nessun pacchetto home-manager sembra essere installato."
#: home-manager/home-manager:453
msgid "Unknown argument %s"
msgstr "Argomento sconosciuto: %s"
#: home-manager/home-manager:469
msgid "This will remove Home Manager from your system."
msgstr "Questo rimuoverà Home Manger dal tuo sistema."
#: home-manager/home-manager:472
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "Questo è un avvio a secco, nulla verrà realmente disinstallato."
#: home-manager/home-manager:476
msgid "Really uninstall Home Manager?"
msgstr "Vuoi davvero disinstallare Home Manager?"
#: home-manager/home-manager:481
msgid "Switching to empty Home Manager configuration..."
msgstr "Cambio ad una configurazione Home Manager vuota..."
#: home-manager/home-manager:493
msgid "Yay!"
msgstr "Urrà!"
#: home-manager/home-manager:500
msgid "Remove all Home Manager generations?"
msgstr "Rimuovere tutte le generazioni Home Manager?"
#: home-manager/home-manager:507
msgid "All generations are now eligible for garbage collection."
msgstr "Tutte le generazioni sono ora pronte per essere cestinate."
#: home-manager/home-manager:510
msgid "Leaving generations but they may still be garbage collected."
msgstr "Abbandono le generazioni, ma possono essere ancora cestinate."
#: home-manager/home-manager:514
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager è disinstallato ma la tua home.Nix non è stata toccata."
#: home-manager/home-manager:673
msgid "%s: unknown option '%s'" msgid "%s: unknown option '%s'"
msgstr "%s: opzione sconosciuta '%s'" msgstr "%s: opzione sconosciuta '%s'"
#: home-manager/home-manager:674 #: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help" msgid "Run '%s --help' for usage help"
msgstr "Esegui '%s --help' per ottenere aiuto" msgstr "Esegui '%s --help' per ottenere aiuto"
#: home-manager/home-manager:708 #: home-manager/home-manager:312 home-manager/home-manager:411
msgid "expire-generations expects one argument, got %d." msgid "The file %s already exists, leaving it unchanged..."
msgstr "expire-generations si aspetta un solo argomento, invece di %d." msgstr "Il file %s è già esistente, non verrà modificato..."
#: home-manager/home-manager:730 #: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Unknown command: %s" msgid "Creating %s..."
msgstr "Comando sconosciuto: %s" msgstr ""
#: home-manager/install.nix:22 #: home-manager/home-manager:455
msgid "Creating initial Home Manager configuration..."
msgstr "Creando la configurazione iniziale di Home Manager..."
#: home-manager/install.nix:66
msgid "Creating initial Home Manager generation..." msgid "Creating initial Home Manager generation..."
msgstr "Creando la generazione iniziale di Home Manager..." msgstr "Creando la generazione iniziale di Home Manager..."
#. translators: The "%s" specifier will be replaced by a file path. #. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/install.nix:71 #: home-manager/home-manager:460
msgid "" msgid ""
"All done! The home-manager tool should now be installed and you can edit\n" "All done! The home-manager tool should now be installed and you can edit\n"
"\n" "\n"
@ -164,7 +117,7 @@ msgstr ""
"consultare tutte le opzioni disponibili." "consultare tutte le opzioni disponibili."
#. translators: The "%s" specifier will be replaced by a URL. #. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/install.nix:76 #: home-manager/home-manager:465
msgid "" msgid ""
"Uh oh, the installation failed! Please create an issue at\n" "Uh oh, the installation failed! Please create an issue at\n"
"\n" "\n"
@ -179,7 +132,107 @@ msgstr ""
"\n" "\n"
"se l'errore sembra essere causato da Home Manager." "se l'errore sembra essere causato da Home Manager."
#: home-manager/install.nix:83 #. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:476
msgid "Can't instantiate a flake configuration"
msgstr "Impossibile istanziare una configurazione flake"
#: home-manager/home-manager:552
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] ""
"C'è %d novità di elementi non letta.\n"
"Leggila con il comando \"%s news\"."
msgstr[1] ""
"Ci sono %d novità di elementi non letti\n"
"Leggile con il comando \"%s news\"."
#: home-manager/home-manager:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Opzione \"news.display\" sconosciuta \"%s\"."
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Per favore impostare la variabile d'ambient $EDITOR"
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr "Impossibile eseguire la build in una cartella in sola lettura"
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr "Nessuna generazione con ID %s"
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr "Impossibile rimuovere la generazione corrente %s"
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr "Rimuovo la generazione %s"
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr "Nessuna generazione in scadenza"
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr "Nessun pacchetto home-manager sembra essere installato."
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr "Argomento sconosciuto: %s"
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr "Questo rimuoverà Home Manger dal tuo sistema."
#: home-manager/home-manager:808
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "Questo è un avvio a secco, nulla verrà realmente disinstallato."
#: home-manager/home-manager:812
msgid "Really uninstall Home Manager?"
msgstr "Vuoi davvero disinstallare Home Manager?"
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr "Cambio ad una configurazione Home Manager vuota..."
#: home-manager/home-manager:846
msgid "Yay!"
msgstr "Urrà!"
#: home-manager/home-manager:851
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager è disinstallato ma la tua home.Nix non è stata toccata."
#: home-manager/home-manager:1063
msgid "expire-generations expects one argument, got %d."
msgstr "expire-generations si aspetta un solo argomento, invece di %d."
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr "Comando sconosciuto: %s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."
msgstr "" msgstr ""
"Questa derivazione non è compilabile, prova ad eseguila usando nix-shell." "Questa derivazione non è compilabile, prova ad eseguila usando nix-shell."
#~ msgid "Creating initial Home Manager configuration..."
#~ msgstr "Creando la configurazione iniziale di Home Manager..."
#~ msgid "Remove all Home Manager generations?"
#~ msgstr "Rimuovere tutte le generazioni Home Manager?"
#~ msgid "All generations are now eligible for garbage collection."
#~ msgstr "Tutte le generazioni sono ora pronte per essere cestinate."
#~ msgid "Leaving generations but they may still be garbage collected."
#~ msgstr "Abbandono le generazioni, ma possono essere ancora cestinate."

View file

@ -7,10 +7,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2022-03-26 15:08+0100\n" "POT-Creation-Date: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2022-07-02 02:18+0000\n" "PO-Revision-Date: 2023-06-12 10:49+0000\n"
"Last-Translator: OKA, NETSURFER AND OBSERVER, FRONTEND, DEVELOPER " "Last-Translator: Jeff Ames <jeff@anjefu.com>\n"
"(DOTFILES,OSINT,OSS), KEYBASE: (3B0E8E0895DAC8B8) <tetrapasta02@gmail.com>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/home-manager/" "Language-Team: Japanese <https://hosted.weblate.org/projects/home-manager/"
"cli/ja/>\n" "cli/ja/>\n"
"Language: ja\n" "Language: ja\n"
@ -18,25 +17,131 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.13.1-dev\n" "X-Generator: Weblate 4.18-dev\n"
#: home-manager/home-manager:60 #: home-manager/home-manager:71
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
msgstr "%s に設定ファイルが見つかりません" msgstr "%s に設定ファイルが見つかりません"
#: home-manager/home-manager:79 #. 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:182
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" msgid "No configuration file found. Please create one at %s"
msgstr "設定ファイルがありません。ファイルを %s に作ってください" msgstr "設定ファイルがありません。ファイルを %s に作ってください"
#: 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 #: 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 fallowing.\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:164
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:219
msgid "Can't inspect options of a flake configuration" msgid "Can't inspect options of a flake configuration"
msgstr "flake設定のオプションを検査できません" msgstr "flake設定のオプションを検査できません"
#: home-manager/home-manager:162 #: home-manager/home-manager:281 home-manager/home-manager:304
msgid "Can't instantiate a flake configuration" #: home-manager/home-manager:1023
msgstr "flake設定をインスタンス化できません" msgid "%s: unknown option '%s'"
msgstr "%s: 不明なオプション '%s'"
#: home-manager/home-manager:237 #: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help"
msgstr "'%s --help' でヘルプを参照することができます"
#: home-manager/home-manager:312 home-manager/home-manager:411
msgid "The file %s already exists, leaving it unchanged..."
msgstr "%s は既に存在します。変更せずに続行しています..."
#: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Creating %s..."
msgstr "%s を作成中です..."
#: home-manager/home-manager:455
msgid "Creating initial Home Manager generation..."
msgstr "Home Managerの世代を初期化しています..."
#. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/home-manager:460
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の設定を編集することができるはずです。利用可能なオプションを参"
"照するには\n"
"'man home-configuration.nix' を実行してください。"
#. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/home-manager:465
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 ""
"おっと、インストールに失敗しましたこのエラーがHome Managerの欠陥によって生"
"じたと考えられる場合は、\n"
"\n"
" %s\n"
"\n"
"というissueを立ててください。"
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:476
msgid "Can't instantiate a flake configuration"
msgstr "flake設定を初期化できません"
#: home-manager/home-manager:552
msgid "" msgid ""
"There is %d unread and relevant news item.\n" "There is %d unread and relevant news item.\n"
"Read it by running the command \"%s news\"." "Read it by running the command \"%s news\"."
@ -47,141 +152,96 @@ msgstr[0] ""
"未読のお知らせが%d件あります。\n" "未読のお知らせが%d件あります。\n"
"\"%s news\"コマンドで確認できます。" "\"%s news\"コマンドで確認できます。"
#: home-manager/home-manager:251 #: home-manager/home-manager:566
msgid "Unknown \"news.display\" setting \"%s\"." msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "知らない\"news.display\"設定\"%s\"." msgstr "\"news.display\"に\"%s\"という設定は存在しません。"
#: home-manager/home-manager:258 #: home-manager/home-manager:573
#, sh-format #, sh-format
msgid "Please set the $EDITOR environment variable" msgid "Please set the $EDITOR environment variable"
msgstr "$EDITOR環境変数を設定してください" msgstr "$EDITOR環境変数を設定してください"
#: home-manager/home-manager:273 #: home-manager/home-manager:588
msgid "Cannot run build in read-only directory" msgid "Cannot run build in read-only directory"
msgstr "読み込み専用ディレクトリ内ではbuild作成できません" msgstr "読み込み専用ディレクトリ内ではbuild作成できません"
#: home-manager/home-manager:355 #: home-manager/home-manager:666
msgid "No generation with ID %s" msgid "No generation with ID %s"
msgstr "ID %s を持つ世代はありません" msgstr "ID %s を持つ世代はありません"
#: home-manager/home-manager:357 #: home-manager/home-manager:668
msgid "Cannot remove the current generation %s" msgid "Cannot remove the current generation %s"
msgstr "現在使用中の世代 %s は削除できません" msgstr "現在使用中の世代 %s は削除できません"
#: home-manager/home-manager:359 #: home-manager/home-manager:670
msgid "Removing generation %s" msgid "Removing generation %s"
msgstr "世代 %s を削除中です" msgstr "世代 %s を削除中です"
#: home-manager/home-manager:385 #: home-manager/home-manager:689
msgid "No generations to expire" msgid "No generations to expire"
msgstr "期限切れで削除る世代はありません" msgstr "期限切れで削除される世代はありません"
#: home-manager/home-manager:396 #: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed." msgid "No home-manager packages seem to be installed."
msgstr "home-managerパッケージインストールされていないようです。" msgstr "home-managerパッケージインストールされていないようです。"
#: home-manager/home-manager:453 #: home-manager/home-manager:781
msgid "Unknown argument %s" msgid "Unknown argument %s"
msgstr "不明な引数 %s" msgstr "不明な引数 %s"
#: home-manager/home-manager:469 #: home-manager/home-manager:805
msgid "This will remove Home Manager from your system." msgid "This will remove Home Manager from your system."
msgstr "これはシステムからHome Managerを削除します。" msgstr "この操作によってHome Managerはシステムから削除されます。"
#: home-manager/home-manager:472 #: home-manager/home-manager:808
msgid "This is a dry run, nothing will actually be uninstalled." msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "これはdry run (予行練習)で、実際にはアンインストールは行われません。" msgstr "これはdry run (予行練習)で、実際にはアンインストールは行われません。"
#: home-manager/home-manager:476 #: home-manager/home-manager:812
msgid "Really uninstall Home Manager?" msgid "Really uninstall Home Manager?"
msgstr "本当にHome Managerをアンインストールしますか" msgstr "本当にHome Managerをアンインストールしますか"
#: home-manager/home-manager:481 #: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..." msgid "Switching to empty Home Manager configuration..."
msgstr "空のHome Managerの設定に切り替え中です..." msgstr "空のHome Managerの設定に切り替えています..."
#: home-manager/home-manager:493 #: home-manager/home-manager:846
msgid "Yay!" msgid "Yay!"
msgstr "イェイ!" msgstr "イェイ!"
#: home-manager/home-manager:500 #: home-manager/home-manager:851
msgid "Remove all Home Manager generations?"
msgstr "Home-managerの全ての世代を削除しますか"
#: home-manager/home-manager:507
msgid "All generations are now eligible for garbage collection."
msgstr "全ての世代がガベージコレクションの対象になりました。"
#: home-manager/home-manager:510
msgid "Leaving generations but they may still be garbage collected."
msgstr ""
"世代を残していますが、それらはガベージコレクションで回収されるかもしれませ"
"ん。"
#: home-manager/home-manager:514
msgid "Home Manager is uninstalled but your home.nix is left untouched." msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "" msgstr ""
"Home Managerはアンインストールされましたが、home.nixはそのまま残してありま" "Home Managerはアンインストールされましたが、home.nixはそのまま残してありま"
"す。" "す。"
#: home-manager/home-manager:673 #: home-manager/home-manager:1063
msgid "%s: unknown option '%s'"
msgstr "%s: 不明なオプション '%s'"
#: home-manager/home-manager:674
msgid "Run '%s --help' for usage help"
msgstr "利用方法のヘルプは'%s --help' を実行してください"
#: home-manager/home-manager:708
msgid "expire-generations expects one argument, got %d." msgid "expire-generations expects one argument, got %d."
msgstr "expire-generations は一つの引数を期待しますが、%d が与えられました。" msgstr ""
"expire-generations は一つしか引数を取らないところ、%d 個が与えられました。"
#: home-manager/home-manager:730 #: home-manager/home-manager:1085
msgid "Unknown command: %s" msgid "Unknown command: %s"
msgstr "不明なコマンド: %s" msgstr "不明なコマンド: %s"
#: home-manager/install.nix:22 #: home-manager/install.nix:18
msgid "Creating initial Home Manager configuration..."
msgstr "Home Managerの初期設定を生成しています..."
#: home-manager/install.nix:66
msgid "Creating initial Home Manager generation..."
msgstr "Home Managerの最初の世代を生成しています..."
#. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/install.nix:71
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の設定を編集することができます。利用可能なオプションを見るに"
"は\n"
"'man home-configuration.nix' を実行してください。"
#. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/install.nix:76
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 ""
"うあ、インストールに失敗しましたもしこのエラーがHome Managerの欠陥のせいで"
"生じたようなら、\n"
"\n"
" %s\n"
"\n"
"というissueを立ててください。"
#: home-manager/install.nix:83
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."
msgstr "この派生はビルドできませんので、nix-shellを使って実行してください。" msgstr "この派生はビルドできません。nix-shellを使って実行してください。"
#~ msgid "Sorry, this command is not yet supported in flake setup"
#~ msgstr ""
#~ "申し訳ありませんが、このコマンドはflake設定ではまだ対応されていません"
#~ msgid "Creating initial Home Manager configuration..."
#~ msgstr "Home Managerの設定を初期化しています..."
#~ msgid "Remove all Home Manager generations?"
#~ msgstr "Home-managerの全ての世代を削除しますか"
#~ msgid "All generations are now eligible for garbage collection."
#~ msgstr "全ての世代がガベージコレクションの対象になりました。"
#~ msgid "Leaving generations but they may still be garbage collected."
#~ msgstr ""
#~ "世代を残すようにしますが、やはりガベージコレクションで回収されるかもしれま"
#~ "せん。"

View file

@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2022-03-26 15:08+0100\n" "POT-Creation-Date: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2022-01-30 21:50+0000\n" "PO-Revision-Date: 2023-08-03 05:07+0000\n"
"Last-Translator: 박수원 <bboxone@gmail.com>\n" "Last-Translator: 박수원 <bboxone@gmail.com>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/home-manager/cli/" "Language-Team: Korean <https://hosted.weblate.org/projects/home-manager/cli/"
"ko/>\n" "ko/>\n"
@ -17,138 +17,111 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.11-dev\n" "X-Generator: Weblate 5.0-dev\n"
#: home-manager/home-manager:60 #: home-manager/home-manager:71
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
msgstr "%s에서 설정 파일을 찾을 수 없음" msgstr "%s에서 설정 파일을 찾을 수 없음"
#: home-manager/home-manager:79 #. 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:182
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" msgid "No configuration file found. Please create one at %s"
msgstr "설정 파일을 찾을 수 없음. %s에 설정 파일을 생성하십시오" msgstr "설정 파일을 찾을 수 없음. %s에 설정 파일을 생성하십시오"
#: home-manager/home-manager:114
msgid "Home Manager not found at %s."
msgstr "%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:122
msgid ""
"The fallback Home Manager path %s has been deprecated and a file/directory "
"was found there."
msgstr "대체 홈 매니저 경로 %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 fallowing.\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. 홈 매니저에게 명시적으로 경로를 사용하도록 설정합니다.\n"
"\n"
"예를들어, 다음을 설정에 추가하십시오.\n"
"\n"
" { programs.home-manager.path = \"%s\"; }\n"
"\n"
"\n"
" 만약 직접 홈 매니저를 import하면, 홈 매니저 패키지를 호출할 때 다음과 "
"같이 `path` 파라미터를 사용할 수 있습니다. \n"
"\n"
" pkgs.callPackage /path/to/home-manager-package { path = \"%s\"; }\n"
"\n"
" \n"
"2. 더이상 사용하지 않는 경로를 지우십시오.\n"
"\n"
" $ rm -r \"%s\""
#: home-manager/home-manager:164
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:219
msgid "Can't inspect options of a flake configuration" msgid "Can't inspect options of a flake configuration"
msgstr "flake 설정의 옵션들을 검사할 수 없음" msgstr "flake 설정의 옵션들을 검사할 수 없음"
#: home-manager/home-manager:162 #: home-manager/home-manager:281 home-manager/home-manager:304
msgid "Can't instantiate a flake configuration" #: home-manager/home-manager:1023
msgstr "flake 설정을 인스턴스화 할 수 없음"
#: home-manager/home-manager:237
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\" 명령어를 실행해 읽어보십시오."
#: home-manager/home-manager:251
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "알 수 없는 \"news.display\"의 설정 \"%s\"."
#: home-manager/home-manager:258
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "환경변수 $EDITOR를 설정하십시오"
#: home-manager/home-manager:273
msgid "Cannot run build in read-only directory"
msgstr "읽기전용 폴더에서 빌드를 실행할 수 없습니다"
#: home-manager/home-manager:355
msgid "No generation with ID %s"
msgstr "ID %s를 갖는 세대가 존재하지 않음"
#: home-manager/home-manager:357
msgid "Cannot remove the current generation %s"
msgstr "현재 세대인 %s를 삭제할 수 없음"
#: home-manager/home-manager:359
msgid "Removing generation %s"
msgstr "%s 세대를 삭제하는 중"
#: home-manager/home-manager:385
msgid "No generations to expire"
msgstr "유효 기간이 지난 세대가 없음"
#: home-manager/home-manager:396
msgid "No home-manager packages seem to be installed."
msgstr "홈 매니저 패키지들이 설치되지 않은 것으로 보입니다."
#: home-manager/home-manager:453
msgid "Unknown argument %s"
msgstr "알 수 없는 매개변수 %s"
#: home-manager/home-manager:469
msgid "This will remove Home Manager from your system."
msgstr "시스템에서 홈 매니저를 삭제할 것입니다."
#: home-manager/home-manager:472
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "모의 실행 중으로, 아무것도 실제로 설치되지 않습니다."
#: home-manager/home-manager:476
msgid "Really uninstall Home Manager?"
msgstr "정말로 홈 매니저를 삭제할까요?"
#: home-manager/home-manager:481
msgid "Switching to empty Home Manager configuration..."
msgstr "빈 홈 매니저 설정으로 바꾸는 중..."
#: home-manager/home-manager:493
msgid "Yay!"
msgstr "야호!"
#: home-manager/home-manager:500
msgid "Remove all Home Manager generations?"
msgstr "모든 홈 매니저 세대를 지울까요?"
#: home-manager/home-manager:507
msgid "All generations are now eligible for garbage collection."
msgstr "이제 모든 세대가 쓰레기 수집(가비지 컬렉션)의 대상이 됩니다."
#: home-manager/home-manager:510
msgid "Leaving generations but they may still be garbage collected."
msgstr ""
"세대들을 그대로 놔두지만 그들은 여전히 쓰레기 수집(가비지 컬렉션) 될 수 있습"
"니다."
#: home-manager/home-manager:514
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "홈 매니저는 삭제되지만 home.nix 파일은 남겨집니다."
#: home-manager/home-manager:673
msgid "%s: unknown option '%s'" msgid "%s: unknown option '%s'"
msgstr "%s: 알 수 없는 옵션 '%s'" msgstr "%s: 알 수 없는 옵션 '%s'"
#: home-manager/home-manager:674 #: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help" msgid "Run '%s --help' for usage help"
msgstr "도움말을 보려면 '%s --help'를 실행하십시오" msgstr "도움말을 보려면 '%s --help'를 실행하십시오"
#: home-manager/home-manager:708 #: home-manager/home-manager:312 home-manager/home-manager:411
msgid "expire-generations expects one argument, got %d." msgid "The file %s already exists, leaving it unchanged..."
msgstr "" msgstr "%s 파일은 이미 존재하므로, 수정하지 않음..."
"expire-generations 명령어는 매개변수가 한 개 필요한데, %d 개가 입력되었습니"
"다."
#: home-manager/home-manager:730 #: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Unknown command: %s" msgid "Creating %s..."
msgstr "알 수 없는 명령어: %s" msgstr "%s를 생성하는 중..."
#: home-manager/install.nix:22 #: home-manager/home-manager:455
msgid "Creating initial Home Manager configuration..."
msgstr "최초의 홈 매니저 설정을 생성하는 중..."
#: home-manager/install.nix:66
msgid "Creating initial Home Manager generation..." msgid "Creating initial Home Manager generation..."
msgstr "최초의 홈 매니저 세대를 생성하는 중..." msgstr "최초의 홈 매니저 세대를 생성하는 중..."
#. translators: The "%s" specifier will be replaced by a file path. #. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/install.nix:71 #: home-manager/home-manager:460
msgid "" msgid ""
"All done! The home-manager tool should now be installed and you can edit\n" "All done! The home-manager tool should now be installed and you can edit\n"
"\n" "\n"
@ -166,7 +139,7 @@ msgstr ""
"실행해서 가능한 모든 옵션을 살펴보십시오." "실행해서 가능한 모든 옵션을 살펴보십시오."
#. translators: The "%s" specifier will be replaced by a URL. #. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/install.nix:76 #: home-manager/home-manager:465
msgid "" msgid ""
"Uh oh, the installation failed! Please create an issue at\n" "Uh oh, the installation failed! Please create an issue at\n"
"\n" "\n"
@ -180,7 +153,111 @@ msgstr ""
"\n" "\n"
"위 사이트에서 이슈를 생성하십시오." "위 사이트에서 이슈를 생성하십시오."
#: home-manager/install.nix:83 #. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:476
msgid "Can't instantiate a flake configuration"
msgstr "flake 설정을 인스턴스화 할 수 없음"
#: home-manager/home-manager:552
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\" 명령어를 실행해 읽어보십시오."
#: home-manager/home-manager:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "알 수 없는 \"news.display\"의 설정 \"%s\"."
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "환경변수 $EDITOR를 설정하십시오"
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr "읽기전용 폴더에서 빌드를 실행할 수 없습니다"
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr "ID %s를 갖는 세대가 존재하지 않음"
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr "현재 세대인 %s를 삭제할 수 없음"
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr "%s 세대를 삭제하는 중"
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr "유효 기간이 지난 세대가 없음"
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr "홈 매니저 패키지들이 설치되지 않은 것으로 보입니다."
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr "알 수 없는 매개변수 %s"
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr "시스템에서 홈 매니저를 삭제할 것입니다."
#: home-manager/home-manager:808
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "모의 실행 중으로, 아무것도 실제로 설치되지 않습니다."
#: home-manager/home-manager:812
msgid "Really uninstall Home Manager?"
msgstr "정말로 홈 매니저를 삭제할까요?"
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr "빈 홈 매니저 설정으로 바꾸는 중..."
#: home-manager/home-manager:846
msgid "Yay!"
msgstr "야호!"
#: home-manager/home-manager:851
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "홈 매니저는 삭제되지만 home.nix 파일은 남겨집니다."
#: home-manager/home-manager:1063
msgid "expire-generations expects one argument, got %d."
msgstr ""
"expire-generations 명령어는 매개변수가 한 개 필요한데, %d 개가 입력되었습니"
"다."
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr "알 수 없는 명령어: %s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."
msgstr "" msgstr ""
"이 derivation은 빌드 할 수 없습니다. nix-shell을 이용해서 실행해 주십시오." "이 derivation은 빌드 할 수 없습니다. nix-shell을 이용해서 실행해 주십시오."
#~ msgid "Sorry, this command is not yet supported in flake setup"
#~ msgstr "죄송합니다만, 이 명령어는 아직 flake 환경에서 지원되지 않습니다"
#~ msgid "Creating initial Home Manager configuration..."
#~ msgstr "최초의 홈 매니저 설정을 생성하는 중..."
#~ msgid "Remove all Home Manager generations?"
#~ msgstr "모든 홈 매니저 세대를 지울까요?"
#~ msgid "All generations are now eligible for garbage collection."
#~ msgstr "이제 모든 세대가 쓰레기 수집(가비지 컬렉션)의 대상이 됩니다."
#~ msgid "Leaving generations but they may still be garbage collected."
#~ msgstr ""
#~ "세대들을 그대로 놔두지만 그들은 여전히 쓰레기 수집(가비지 컬렉션) 될 수 있"
#~ "습니다."

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2022-03-26 15:08+0100\n" "POT-Creation-Date: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2023-01-09 11:33+0000\n" "PO-Revision-Date: 2023-01-09 11:33+0000\n"
"Last-Translator: Kornelijus Tvarijanavičius <kornelijus@tvaria.com>\n" "Last-Translator: Kornelijus Tvarijanavičius <kornelijus@tvaria.com>\n"
"Language-Team: Lithuanian <https://hosted.weblate.org/projects/home-manager/" "Language-Team: Lithuanian <https://hosted.weblate.org/projects/home-manager/"
@ -21,23 +21,121 @@ msgstr ""
"1 : 2);\n" "1 : 2);\n"
"X-Generator: Weblate 4.15.1-dev\n" "X-Generator: Weblate 4.15.1-dev\n"
#: home-manager/home-manager:60 #: home-manager/home-manager:71
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
msgstr "Nerastas konfigūracijos failas %s" msgstr "Nerastas konfigūracijos failas %s"
#: home-manager/home-manager:79 #. 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:182
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" msgid "No configuration file found. Please create one at %s"
msgstr "Nerastas konfigūracijos failas. Sukurkite jį adresu %s" msgstr "Nerastas konfigūracijos failas. Sukurkite jį adresu %s"
#: 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 #: 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 fallowing.\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:164
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:219
msgid "Can't inspect options of a flake configuration" msgid "Can't inspect options of a flake configuration"
msgstr "Negalima patikrinti flake konfigūracijos pasirinkimų" msgstr "Negalima patikrinti flake konfigūracijos pasirinkimų"
#: home-manager/home-manager:162 #: home-manager/home-manager:281 home-manager/home-manager:304
#: home-manager/home-manager:1023
msgid "%s: unknown option '%s'"
msgstr "%s: nežinomas pasirinkimas „%s“"
#: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help"
msgstr "Paleiskite „%s --help“, kad gautumėte naudojimosi instrukcijas"
#: home-manager/home-manager:312 home-manager/home-manager:411
msgid "The file %s already exists, leaving it unchanged..."
msgstr ""
#: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Creating %s..."
msgstr ""
#: home-manager/home-manager:455
msgid "Creating initial Home Manager generation..."
msgstr "Kuriama pradinė Home Manager generacija..."
#. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/home-manager:460
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 ""
"Viskas baigta! Įrankis home-manager turėtų būti įdiegtas ir dabar galite "
"redaguoti\n"
"\n"
". . . .%s\n"
"\n"
", kad konfigūruotumėte Home Manager. Paleiskite „man home-configuration."
"nix“,\n"
"jei norite pamatyti visus pasirinkimus."
#. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/home-manager:465
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:476
msgid "Can't instantiate a flake configuration" msgid "Can't instantiate a flake configuration"
msgstr "Negalima sukurti pradinės flake konfigūracijos" msgstr "Negalima sukurti pradinės flake konfigūracijos"
#: home-manager/home-manager:237 #: home-manager/home-manager:552
msgid "" msgid ""
"There is %d unread and relevant news item.\n" "There is %d unread and relevant news item.\n"
"Read it by running the command \"%s news\"." "Read it by running the command \"%s news\"."
@ -54,133 +152,85 @@ msgstr[2] ""
"Yra %d neperskaitytų ir aktualių naujienų.\n" "Yra %d neperskaitytų ir aktualių naujienų.\n"
"Perskaitykite jas paleidus komandą \"%s news\"." "Perskaitykite jas paleidus komandą \"%s news\"."
#: home-manager/home-manager:251 #: home-manager/home-manager:566
msgid "Unknown \"news.display\" setting \"%s\"." msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Nežinomas \"news.display\" nustatymas \"%s\"." msgstr "Nežinomas \"news.display\" nustatymas \"%s\"."
#: home-manager/home-manager:258 #: home-manager/home-manager:573
#, sh-format #, sh-format
msgid "Please set the $EDITOR environment variable" msgid "Please set the $EDITOR environment variable"
msgstr "Prašome nustatyti $EDITOR aplinkos kintamąjį" msgstr "Prašome nustatyti $EDITOR aplinkos kintamąjį"
#: home-manager/home-manager:273 #: home-manager/home-manager:588
msgid "Cannot run build in read-only directory" msgid "Cannot run build in read-only directory"
msgstr "" msgstr ""
#: home-manager/home-manager:355 #: home-manager/home-manager:666
msgid "No generation with ID %s" msgid "No generation with ID %s"
msgstr "Nėra generacijos su ID %s" msgstr "Nėra generacijos su ID %s"
#: home-manager/home-manager:357 #: home-manager/home-manager:668
msgid "Cannot remove the current generation %s" msgid "Cannot remove the current generation %s"
msgstr "Negalima pašalinti esamos generacijos %s" msgstr "Negalima pašalinti esamos generacijos %s"
#: home-manager/home-manager:359 #: home-manager/home-manager:670
msgid "Removing generation %s" msgid "Removing generation %s"
msgstr "Pašalinama generacija %s" msgstr "Pašalinama generacija %s"
#: home-manager/home-manager:385 #: home-manager/home-manager:689
msgid "No generations to expire" msgid "No generations to expire"
msgstr "" msgstr ""
#: home-manager/home-manager:396 #: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed." msgid "No home-manager packages seem to be installed."
msgstr "Nėra instaliuotų home-manager paketų." msgstr "Nėra instaliuotų home-manager paketų."
#: home-manager/home-manager:453 #: home-manager/home-manager:781
msgid "Unknown argument %s" msgid "Unknown argument %s"
msgstr "Nežinomas argumentas %s" msgstr "Nežinomas argumentas %s"
#: home-manager/home-manager:469 #: home-manager/home-manager:805
msgid "This will remove Home Manager from your system." msgid "This will remove Home Manager from your system."
msgstr "Tai pašalins Home Manager iš jūsų sistemos." msgstr "Tai pašalins Home Manager iš jūsų sistemos."
#: home-manager/home-manager:472 #: home-manager/home-manager:808
msgid "This is a dry run, nothing will actually be uninstalled." msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "Tai bandomasis paleidimas, niekas nebus ištrinta." msgstr "Tai bandomasis paleidimas, niekas nebus ištrinta."
#: home-manager/home-manager:476 #: home-manager/home-manager:812
msgid "Really uninstall Home Manager?" msgid "Really uninstall Home Manager?"
msgstr "Tikrai išdiegti Home Manager?" msgstr "Tikrai išdiegti Home Manager?"
#: home-manager/home-manager:481 #: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..." msgid "Switching to empty Home Manager configuration..."
msgstr "Perjungiama į tuščią Home Manager konfigūraciją..." msgstr "Perjungiama į tuščią Home Manager konfigūraciją..."
#: home-manager/home-manager:493 #: home-manager/home-manager:846
msgid "Yay!" msgid "Yay!"
msgstr "Valio!" msgstr "Valio!"
#: home-manager/home-manager:500 #: home-manager/home-manager:851
msgid "Remove all Home Manager generations?"
msgstr "Pašalinti visas Home Manager generacijas?"
#: home-manager/home-manager:507
msgid "All generations are now eligible for garbage collection."
msgstr ""
"Visos generacijos jau tinkamos šiukšlių surinkimui (garbage collection)."
#: home-manager/home-manager:510
msgid "Leaving generations but they may still be garbage collected."
msgstr ""
#: home-manager/home-manager:514
msgid "Home Manager is uninstalled but your home.nix is left untouched." msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager yra išdiegtas, bet jūsų home.nix liko nepaliestas." msgstr "Home Manager yra išdiegtas, bet jūsų home.nix liko nepaliestas."
#: home-manager/home-manager:673 #: home-manager/home-manager:1063
msgid "%s: unknown option '%s'"
msgstr "%s: nežinomas pasirinkimas „%s“"
#: home-manager/home-manager:674
msgid "Run '%s --help' for usage help"
msgstr "Paleiskite „%s --help“, kad gautumėte naudojimosi instrukcijas"
#: home-manager/home-manager:708
msgid "expire-generations expects one argument, got %d." msgid "expire-generations expects one argument, got %d."
msgstr "expire-generations tikisi vieno argumento, gauta %d." msgstr "expire-generations tikisi vieno argumento, gauta %d."
#: home-manager/home-manager:730 #: home-manager/home-manager:1085
msgid "Unknown command: %s" msgid "Unknown command: %s"
msgstr "Nežinoma komanda: %s" msgstr "Nežinoma komanda: %s"
#: home-manager/install.nix:22 #: home-manager/install.nix:18
msgid "Creating initial Home Manager configuration..."
msgstr "Kuriama pradinė Home Manager konfigūracija..."
#: home-manager/install.nix:66
msgid "Creating initial Home Manager generation..."
msgstr "Kuriama pradinė Home Manager generacija..."
#. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/install.nix:71
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 ""
"Viskas baigta! Įrankis home-manager turėtų būti įdiegtas ir dabar galite "
"redaguoti\n"
"\n"
". . . .%s\n"
"\n"
", kad konfigūruotumėte Home Manager. Paleiskite „man home-configuration.nix“,"
"\n"
"jei norite pamatyti visus pasirinkimus."
#. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/install.nix:76
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 ""
#: home-manager/install.nix:83
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."
msgstr "" msgstr ""
#~ msgid "Creating initial Home Manager configuration..."
#~ msgstr "Kuriama pradinė Home Manager konfigūracija..."
#~ msgid "Remove all Home Manager generations?"
#~ msgstr "Pašalinti visas Home Manager generacijas?"
#~ msgid "All generations are now eligible for garbage collection."
#~ msgstr ""
#~ "Visos generacijos jau tinkamos šiukšlių surinkimui (garbage collection)."

View file

@ -7,148 +7,100 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2022-03-26 15:08+0100\n" "POT-Creation-Date: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2023-01-08 11:50+0000\n" "PO-Revision-Date: 2023-03-08 07:22+0000\n"
"Last-Translator: Petter K <petterkarlsrud@me.com>\n" "Last-Translator: \"Kim A. Ødegaard\" <kim@dyktig.no>\n"
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/" "Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/home-"
"home-manager/cli/nb_NO/>\n" "manager/cli/nb_NO/>\n"
"Language: nb_NO\n" "Language: nb_NO\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.15.1-dev\n" "X-Generator: Weblate 4.16.2-dev\n"
#: home-manager/home-manager:60 #: home-manager/home-manager:71
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
msgstr "Fant ingen oppsettsfil i %s" msgstr "Fant ingen oppsettsfil i %s"
#: home-manager/home-manager:79 #. 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:182
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" msgid "No configuration file found. Please create one at %s"
msgstr "Fant ikke noen oppsettsfil. Opprett en i %s" msgstr "Fant ikke noen oppsettsfil. Opprett en i %s"
#: 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 #: 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 fallowing.\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:164
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:219
msgid "Can't inspect options of a flake configuration" msgid "Can't inspect options of a flake configuration"
msgstr "Kan ikke inspisere alternativer for et flake-oppsett" msgstr "Kan ikke inspisere alternativer for et flake-oppsett"
#: home-manager/home-manager:162 #: home-manager/home-manager:281 home-manager/home-manager:304
msgid "Can't instantiate a flake configuration" #: home-manager/home-manager:1023
msgstr "Kan ikke igangsette flak-oppsett"
#: home-manager/home-manager:237
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] ""
"Det er %d ulest og relevant nyhetselement.\n"
"Les det ved å kjøre kommandoen «%s news»."
msgstr[1] ""
"Det er %d uleste og relevant nyhetselementer.\n"
"Les det ved å kjøre kommandoen «%s news»."
#: home-manager/home-manager:251
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Ukjent «news.display»-innstilling «%s»."
#: home-manager/home-manager:258
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Sett «$EDITOR»-miljøvariabelen"
#: home-manager/home-manager:273
msgid "Cannot run build in read-only directory"
msgstr "Kan ikke kjøre bygg i skrivebeskyttet mappe"
#: home-manager/home-manager:355
msgid "No generation with ID %s"
msgstr "Ingen generering med ID-en %s"
#: home-manager/home-manager:357
msgid "Cannot remove the current generation %s"
msgstr "Kan ikke fjerne nåværende generering %s"
#: home-manager/home-manager:359
msgid "Removing generation %s"
msgstr "Fjerner generering %s"
#: home-manager/home-manager:385
msgid "No generations to expire"
msgstr "Ingen genereringer til utløp"
#: home-manager/home-manager:396
msgid "No home-manager packages seem to be installed."
msgstr "Ingen «home-manager»-pakker ser ut til å være installert."
#: home-manager/home-manager:453
msgid "Unknown argument %s"
msgstr "Ukjent argument %s"
#: home-manager/home-manager:469
msgid "This will remove Home Manager from your system."
msgstr "Dette vil fjerne Home Manager fra systemet ditt."
#: home-manager/home-manager:472
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "Dette er en testkjøring. Ingenting vil bli avinstallert."
#: home-manager/home-manager:476
msgid "Really uninstall Home Manager?"
msgstr "Vil du avinstallere Home Manager?"
#: home-manager/home-manager:481
msgid "Switching to empty Home Manager configuration..."
msgstr "Bytter til tomt Home Manager-oppsett …"
#: home-manager/home-manager:493
msgid "Yay!"
msgstr "Hurra."
#: home-manager/home-manager:500
msgid "Remove all Home Manager generations?"
msgstr "Fjern alle Home Manager-genereringer?"
#: home-manager/home-manager:507
msgid "All generations are now eligible for garbage collection."
msgstr "Alle genereringer kan nå hentes av søppelinnsamling."
#: home-manager/home-manager:510
msgid "Leaving generations but they may still be garbage collected."
msgstr "Levner genereringer, men de kan fremdeles hentes av søppelinnsamling."
#: home-manager/home-manager:514
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager er avinstallert, men din home.nix er levnet uforandret."
#: home-manager/home-manager:673
msgid "%s: unknown option '%s'" msgid "%s: unknown option '%s'"
msgstr "%s: ukjent alternativ «%s»" msgstr "%s: ukjent alternativ «%s»"
#: home-manager/home-manager:674 #: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help" msgid "Run '%s --help' for usage help"
msgstr "Kjør «%s --help» for brukshjelp" msgstr "Kjør «%s --help» for brukshjelp"
#: home-manager/home-manager:708 #: home-manager/home-manager:312 home-manager/home-manager:411
msgid "expire-generations expects one argument, got %d." msgid "The file %s already exists, leaving it unchanged..."
msgstr "«expire-generations» forventet ett argument, mottok %d." msgstr ""
#: home-manager/home-manager:730 #: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Unknown command: %s" msgid "Creating %s..."
msgstr "Ukjent kommando: %s" msgstr ""
#: home-manager/install.nix:22 #: home-manager/home-manager:455
#, fuzzy
msgid "Creating initial Home Manager configuration..."
msgstr "Oppretter ny Home Manager-konfigurasjon..."
#: home-manager/install.nix:66
msgid "Creating initial Home Manager generation..." msgid "Creating initial Home Manager generation..."
msgstr "Oppretter ny Home Manager-generasjon..." msgstr "Oppretter ny Home Manager-generasjon..."
#. translators: The "%s" specifier will be replaced by a file path. #. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/install.nix:71 #: home-manager/home-manager:460
msgid "" msgid ""
"All done! The home-manager tool should now be installed and you can edit\n" "All done! The home-manager tool should now be installed and you can edit\n"
"\n" "\n"
@ -157,9 +109,15 @@ msgid ""
"to configure Home Manager. Run 'man home-configuration.nix' to\n" "to configure Home Manager. Run 'man home-configuration.nix' to\n"
"see all available options." "see all available options."
msgstr "" msgstr ""
"Ferdig! `home-manager`-verktøyet skal nå være installert og du kan redigere\n"
"\n"
" %s\n"
"\n"
"for å konfigurere Home Manager. Kjør 'man home-configuration.nix' for å\n"
"se alle tilgjengelige innstillinger."
#. translators: The "%s" specifier will be replaced by a URL. #. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/install.nix:76 #: home-manager/home-manager:465
msgid "" msgid ""
"Uh oh, the installation failed! Please create an issue at\n" "Uh oh, the installation failed! Please create an issue at\n"
"\n" "\n"
@ -167,7 +125,113 @@ msgid ""
"\n" "\n"
"if the error seems to be the fault of Home Manager." "if the error seems to be the fault of Home Manager."
msgstr "" msgstr ""
"Oops, installasjonen feilet! Vennligst opprett en sak på\n"
"\n"
" %s\n"
"\n"
"hvis du tror feilen er forårsaket av Home Manager."
#: home-manager/install.nix:83 #. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:476
msgid "Can't instantiate a flake configuration"
msgstr "Kan ikke igangsette flak-oppsett"
#: home-manager/home-manager:552
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] ""
"Det er %d ulest og relevant nyhetssak.\n"
"Les den ved å kjøre kommandoen «%s news»."
msgstr[1] ""
"Det er %d uleste og relevante nyhetssaker.\n"
"Les dem ved å kjøre kommandoen «%s news»."
#: home-manager/home-manager:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Ukjent «news.display»-innstilling «%s»."
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Sett «$EDITOR»-miljøvariabelen"
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr "Kan ikke kjøre bygg i skrivebeskyttet mappe"
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr "Ingen generering med ID-en %s"
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr "Kan ikke fjerne nåværende generering %s"
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr "Fjerner generering %s"
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr "Ingen genereringer til utløp"
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr "Ingen «home-manager»-pakker ser ut til å være installert."
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr "Ukjent parameter %s"
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr "Dette vil fjerne Home Manager fra systemet ditt."
#: home-manager/home-manager:808
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "Dette er en testkjøring. Ingenting vil bli avinstallert."
#: home-manager/home-manager:812
msgid "Really uninstall Home Manager?"
msgstr "Vil du avinstallere Home Manager?"
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr "Bytter til tomt Home Manager-oppsett …"
#: home-manager/home-manager:846
msgid "Yay!"
msgstr "Hurra!"
#: home-manager/home-manager:851
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager er avinstallert, men din home.nix er levnet uforandret."
#: home-manager/home-manager:1063
msgid "expire-generations expects one argument, got %d."
msgstr "«expire-generations» forventet ett argument, mottok %d."
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr "Ukjent kommando: %s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."
msgstr "" msgstr "Denne avledningen kan ikke bygges, vennligst kjør den i nix-shell."
#~ msgid "Creating initial Home Manager configuration..."
#~ msgstr "Oppretter ny Home Manager-konfigurasjon..."
#~ msgid "Remove all Home Manager generations?"
#~ msgstr "Fjern alle Home Manager-genereringer?"
#~ msgid "All generations are now eligible for garbage collection."
#~ msgstr "Alle genereringer er nå satt ut til søppelhenting."
#~ msgid "Leaving generations but they may still be garbage collected."
#~ msgstr ""
#~ "Levner genereringer, men de kan fremdeles ryddes opp av søppelinnsamleren."

View file

@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2022-03-26 15:08+0100\n" "POT-Creation-Date: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2022-11-16 13:47+0000\n" "PO-Revision-Date: 2023-04-10 11:48+0000\n"
"Last-Translator: Pablo Bollansee <pablo.bollansee@gmail.com>\n" "Last-Translator: Pablo Bollansee <pablo.bollansee@gmail.com>\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/home-manager/cli/" "Language-Team: Dutch <https://hosted.weblate.org/projects/home-manager/cli/"
"nl/>\n" "nl/>\n"
@ -17,137 +17,92 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.15-dev\n" "X-Generator: Weblate 4.17-dev\n"
#: home-manager/home-manager:60 #: home-manager/home-manager:71
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
msgstr "Geen configuratiebestand gevonden op %s" msgstr "Geen configuratiebestand gevonden op %s"
#: home-manager/home-manager:79 #. 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:182
msgid ""
"Keeping your Home Manager %s in %s is deprecated,\n"
"please move it to %s"
msgstr ""
"Je Home Manager %s bestand opslaan in %s is niet langer ondersteund,\n"
"gelieve het te verplaatsen naar %s"
#: home-manager/home-manager:99
msgid "No configuration file found. Please create one at %s" msgid "No configuration file found. Please create one at %s"
msgstr "Geen configuratiebestand gevonden, maak er alstublieft een aan op %s" msgstr "Geen configuratiebestand gevonden, maak er alstublieft een aan op %s"
#: 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 #: 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 fallowing.\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:164
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:219
msgid "Can't inspect options of a flake configuration" msgid "Can't inspect options of a flake configuration"
msgstr "Kan de opties van een flake configuratie niet inspecteren" msgstr "Kan de opties van een flake configuratie niet inspecteren"
#: home-manager/home-manager:162 #: home-manager/home-manager:281 home-manager/home-manager:304
msgid "Can't instantiate a flake configuration" #: home-manager/home-manager:1023
msgstr "Het is niet gelukt om de vlok-configuratie te creëren"
#: home-manager/home-manager:237
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] ""
"Er is %d ongelezen and relevant nieuws artikel.\n"
"Lees het door het commando \"%s news\" uit te voeren."
msgstr[1] ""
"Er zijn %d ongelezen and relevante nieuws artikelen.\n"
"Lees ze door het commando \"%s news\" uit te voeren."
#: home-manager/home-manager:251
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Onbekende \"new.display\" instelling \"%s\"."
#: home-manager/home-manager:258
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Gelieve de $EDITOR omgevingsvariabele in te stellen"
#: home-manager/home-manager:273
msgid "Cannot run build in read-only directory"
msgstr "Het is niet mogelijk om te bouwen in een read-only map"
#: home-manager/home-manager:355
msgid "No generation with ID %s"
msgstr "Geen generatie met de ID %s"
#: home-manager/home-manager:357
msgid "Cannot remove the current generation %s"
msgstr "Het is niet mogelijk om de huidige generatie %s te verwijderen"
#: home-manager/home-manager:359
msgid "Removing generation %s"
msgstr "Generatie %s aan het verwijderen"
#: home-manager/home-manager:385
msgid "No generations to expire"
msgstr "Geen generatie om te beëindigen"
#: home-manager/home-manager:396
msgid "No home-manager packages seem to be installed."
msgstr "Er lijkt geen home-manager pakket geïnstalleerd te zijn."
#: home-manager/home-manager:453
msgid "Unknown argument %s"
msgstr "Onbekend argument %s"
#: home-manager/home-manager:469
msgid "This will remove Home Manager from your system."
msgstr "Dit zal Home Manager van jouw systeem verwijderen."
#: home-manager/home-manager:472
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "Dit is een oefening, niets wordt werkelijk geïnstalleerd."
#: home-manager/home-manager:476
msgid "Really uninstall Home Manager?"
msgstr "Wilt u zeker Home Manager verwijderen?"
#: home-manager/home-manager:481
msgid "Switching to empty Home Manager configuration..."
msgstr "Naar een lege Home Manager configuratie aan het veranderen..."
#: home-manager/home-manager:493
msgid "Yay!"
msgstr "Joepie!"
#: home-manager/home-manager:500
msgid "Remove all Home Manager generations?"
msgstr "Alle Home Manager generaties verwijderen?"
#: home-manager/home-manager:507
msgid "All generations are now eligible for garbage collection."
msgstr "Alle generaties zijn nu in aanmerking voor afvalinzameling."
#: home-manager/home-manager:510
msgid "Leaving generations but they may still be garbage collected."
msgstr "Generaties blijven momenteel bestaan maar worden later opgekuist."
#: home-manager/home-manager:514
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager is verwijdert maar jouw home.nix is onaangeraakt."
#: home-manager/home-manager:673
msgid "%s: unknown option '%s'" msgid "%s: unknown option '%s'"
msgstr "%s: onbekende keuze '%s'" msgstr "%s: onbekende keuze '%s'"
#: home-manager/home-manager:674 #: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help" msgid "Run '%s --help' for usage help"
msgstr "Voer '%s --help' in om gebruiksinfo te zien" msgstr "Voer '%s --help' in om gebruiksinfo te zien"
#: home-manager/home-manager:708 #: home-manager/home-manager:312 home-manager/home-manager:411
msgid "expire-generations expects one argument, got %d." msgid "The file %s already exists, leaving it unchanged..."
msgstr "expire-generations verwacht één argument, maar kreeg er %d." msgstr "Het bestand %s bestaat al, het zal niet aangepast worden..."
#: home-manager/home-manager:730 #: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Unknown command: %s" msgid "Creating %s..."
msgstr "Onbekende opdracht: %s" msgstr "%s aan het aanmaken..."
#: home-manager/install.nix:22 #: home-manager/home-manager:455
msgid "Creating initial Home Manager configuration..."
msgstr "Initiële Home Manager configuratie aan het maken..."
#: home-manager/install.nix:66
msgid "Creating initial Home Manager generation..." msgid "Creating initial Home Manager generation..."
msgstr "Initiële Home Manager generatie aan het maken..." msgstr "Initiële Home Manager generatie aan het maken..."
#. translators: The "%s" specifier will be replaced by a file path. #. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/install.nix:71 #: home-manager/home-manager:460
msgid "" msgid ""
"All done! The home-manager tool should now be installed and you can edit\n" "All done! The home-manager tool should now be installed and you can edit\n"
"\n" "\n"
@ -161,12 +116,12 @@ msgstr ""
"\n" "\n"
" %s\n" " %s\n"
"\n" "\n"
"aanpassen om Home Manager te configureren. Draai 'man home-" "aanpassen om Home Manager te configureren. Draai 'man home-configuration."
"configuration.nix' om\n" "nix' om\n"
"alle opties te zien." "alle opties te zien."
#. translators: The "%s" specifier will be replaced by a URL. #. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/install.nix:76 #: home-manager/home-manager:465
msgid "" msgid ""
"Uh oh, the installation failed! Please create an issue at\n" "Uh oh, the installation failed! Please create an issue at\n"
"\n" "\n"
@ -180,8 +135,108 @@ msgstr ""
"\n" "\n"
"als de error de schuld van Home Manager lijkt te zijn." "als de error de schuld van Home Manager lijkt te zijn."
#: home-manager/install.nix:83 #. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:476
msgid "Can't instantiate a flake configuration"
msgstr "Het is niet gelukt om de flake-configuratie te creëren"
#: home-manager/home-manager:552
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] ""
"Er is %d ongelezen and relevant nieuws artikel.\n"
"Lees het door het commando \"%s news\" uit te voeren."
msgstr[1] ""
"Er zijn %d ongelezen and relevante nieuws artikelen.\n"
"Lees ze door het commando \"%s news\" uit te voeren."
#: home-manager/home-manager:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Onbekende \"new.display\" instelling \"%s\"."
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Gelieve de $EDITOR omgevingsvariabele in te stellen"
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr "Het is niet mogelijk om te bouwen in een read-only map"
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr "Geen generatie met de ID %s"
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr "Het is niet mogelijk om de huidige generatie %s te verwijderen"
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr "Generatie %s aan het verwijderen"
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr "Geen generatie om te beëindigen"
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr "Er lijkt geen home-manager pakket geïnstalleerd te zijn."
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr "Onbekend argument %s"
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr "Dit zal Home Manager van jouw systeem verwijderen."
#: home-manager/home-manager:808
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "Dit is een oefening, niets wordt werkelijk geïnstalleerd."
#: home-manager/home-manager:812
msgid "Really uninstall Home Manager?"
msgstr "Wilt u zeker Home Manager verwijderen?"
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr "Naar een lege Home Manager configuratie aan het veranderen..."
#: home-manager/home-manager:846
msgid "Yay!"
msgstr "Joepie!"
#: home-manager/home-manager:851
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager is verwijdert maar jouw home.nix is onaangeraakt."
#: home-manager/home-manager:1063
msgid "expire-generations expects one argument, got %d."
msgstr "expire-generations verwacht één argument, maar kreeg er %d."
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr "Onbekende opdracht: %s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."
msgstr "" msgstr ""
"Deze afleiding kan niet gebouwd worden, voer het alstublieft uit met nix-" "Deze afleiding kan niet gebouwd worden, voer het alstublieft uit met nix-"
"shell." "shell."
#~ msgid "Creating initial Home Manager configuration..."
#~ msgstr "Initiële Home Manager configuratie aan het maken..."
#~ msgid "Remove all Home Manager generations?"
#~ msgstr "Alle Home Manager generaties verwijderen?"
#~ msgid "All generations are now eligible for garbage collection."
#~ msgstr "Alle generaties zijn nu in aanmerking voor afvalinzameling."
#~ msgid "Leaving generations but they may still be garbage collected."
#~ msgstr "Generaties blijven momenteel bestaan maar worden later opgekuist."

View file

@ -7,9 +7,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2022-03-26 15:08+0100\n" "POT-Creation-Date: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2021-12-29 08:48+0000\n" "PO-Revision-Date: 2023-05-03 19:48+0000\n"
"Last-Translator: Tomasz Czyż <tomasz.czyz@eskapizm.pl>\n" "Last-Translator: Eryk Michalak <gnu.ewm@protonmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/home-manager/cli/" "Language-Team: Polish <https://hosted.weblate.org/projects/home-manager/cli/"
"pl/>\n" "pl/>\n"
"Language: pl\n" "Language: pl\n"
@ -18,143 +18,92 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n" "|| n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.10.1\n" "X-Generator: Weblate 4.18-dev\n"
#: home-manager/home-manager:60 #: home-manager/home-manager:71
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
msgstr "Nie znaleziono pliku konfiguracyjnego %s" msgstr "Nie znaleziono pliku konfiguracyjnego %s"
#: home-manager/home-manager:79 #. 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:182
msgid ""
"Keeping your Home Manager %s in %s is deprecated,\n"
"please move it to %s"
msgstr ""
"Przechowywanie Home Manager %s w %s jest przestarzałe,\n"
"proszę przenieść go do %s"
#: home-manager/home-manager:99
msgid "No configuration file found. Please create one at %s" msgid "No configuration file found. Please create one at %s"
msgstr "Nie znaleziono pliku konfiguracyjnego. Proszę utworzyć plik %s" msgstr "Nie znaleziono pliku konfiguracyjnego. Proszę utworzyć plik %s"
#: 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 #: 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 fallowing.\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:164
msgid "Could not find suitable profile directory, tried %s and %s"
msgstr "Nie można znaleźć odpowiedniego katalogu profilu, próbowano %s i %s"
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:219
msgid "Can't inspect options of a flake configuration" msgid "Can't inspect options of a flake configuration"
msgstr "Nie mogę sprawdzić konfiguracji flake'a" msgstr "Nie mogę sprawdzić konfiguracji flake'a"
#: home-manager/home-manager:162 #: home-manager/home-manager:281 home-manager/home-manager:304
msgid "Can't instantiate a flake configuration" #: home-manager/home-manager:1023
msgstr "Nie mogę zinstancjować konfiguracji flake'a"
#: home-manager/home-manager:237
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] ""
"Jest %d nieodczytana wiadomość.\n"
"Możesz ją odczytać uruchamiając „%s news”."
msgstr[1] ""
"Jest %d nieodczytanych wiadomości.\n"
"Możesz je odczytać uruchamiając „%s news”."
msgstr[2] ""
"Jest %d nieodczytanych wiadomości.\n"
"Możesz je odczytać uruchamiając „%s news”."
#: home-manager/home-manager:251
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Nieznane ustawienie „%s” „news.display”."
#: home-manager/home-manager:258
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Proszę ustawić zmienną środowiskową $EDITOR"
#: home-manager/home-manager:273
msgid "Cannot run build in read-only directory"
msgstr "Nie mogę uruchomić budowania w katalogu tylko-do-odczytu"
#: home-manager/home-manager:355
msgid "No generation with ID %s"
msgstr "Brak generacji z ID %s"
#: home-manager/home-manager:357
msgid "Cannot remove the current generation %s"
msgstr "Nie mogę usunąć bieżącej generacji %s"
#: home-manager/home-manager:359
msgid "Removing generation %s"
msgstr "Usuwanie generacji %s"
#: home-manager/home-manager:385
msgid "No generations to expire"
msgstr "Brak wygasających generacji"
#: home-manager/home-manager:396
msgid "No home-manager packages seem to be installed."
msgstr "Pakiety home-manager nie wydają się być zainstalowane."
#: home-manager/home-manager:453
msgid "Unknown argument %s"
msgstr "Nieznany argument %s"
#: home-manager/home-manager:469
msgid "This will remove Home Manager from your system."
msgstr "To usunie Home Managera z twojego systemu."
#: home-manager/home-manager:472
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "To jest próba, faktycznie nic nie będzie usunięte."
#: home-manager/home-manager:476
msgid "Really uninstall Home Manager?"
msgstr "Jesteś pewien usunięcia Home Managera?"
#: home-manager/home-manager:481
msgid "Switching to empty Home Manager configuration..."
msgstr "Przełączanie do pustej konfiguracji Home Managera..."
#: home-manager/home-manager:493
msgid "Yay!"
msgstr "Jej!"
#: home-manager/home-manager:500
msgid "Remove all Home Manager generations?"
msgstr "Usunąć wszystkie generacje Home Managera?"
#: home-manager/home-manager:507
msgid "All generations are now eligible for garbage collection."
msgstr ""
"Wszystkie generacje są uwzględnione przy oczyszczaniu (garbage collection)."
#: home-manager/home-manager:510
msgid "Leaving generations but they may still be garbage collected."
msgstr ""
"Zostawiam generacje ale wciąż mogą zostać usunięte (garbage collection)."
#: home-manager/home-manager:514
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr ""
"Home Manager jest usunięty ale twój home.nix jest pozostawiony nietknięty."
#: home-manager/home-manager:673
msgid "%s: unknown option '%s'" msgid "%s: unknown option '%s'"
msgstr "%s: nieznana opcja „%s”" msgstr "%s: nieznana opcja „%s”"
#: home-manager/home-manager:674 #: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help" msgid "Run '%s --help' for usage help"
msgstr "Uruchom „%s --help” by otrzymać pomoc" msgstr "Uruchom „%s --help” by otrzymać pomoc"
#: home-manager/home-manager:708 #: home-manager/home-manager:312 home-manager/home-manager:411
msgid "expire-generations expects one argument, got %d." msgid "The file %s already exists, leaving it unchanged..."
msgstr "expire-generations oczekuje jednego argumentu, otrzymane %d." msgstr "Plik %s już istnieje, pozostawianie go bez zmian..."
#: home-manager/home-manager:730 #: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Unknown command: %s" msgid "Creating %s..."
msgstr "Nieznana komenda: %s" msgstr "Tworzenie %s..."
#: home-manager/install.nix:22 #: home-manager/home-manager:455
msgid "Creating initial Home Manager configuration..."
msgstr "Tworzenie pierwotnej konfiguracji Home Managera..."
#: home-manager/install.nix:66
msgid "Creating initial Home Manager generation..." msgid "Creating initial Home Manager generation..."
msgstr "Tworzenie pierwotnej generacji Home Managera..." msgstr "Tworzenie pierwotnej generacji Home Managera..."
#. translators: The "%s" specifier will be replaced by a file path. #. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/install.nix:71 #: home-manager/home-manager:460
msgid "" msgid ""
"All done! The home-manager tool should now be installed and you can edit\n" "All done! The home-manager tool should now be installed and you can edit\n"
"\n" "\n"
@ -171,7 +120,7 @@ msgstr ""
"sprawdzić wszystkie możliwe opcje konfiguracyjne." "sprawdzić wszystkie możliwe opcje konfiguracyjne."
#. translators: The "%s" specifier will be replaced by a URL. #. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/install.nix:76 #: home-manager/home-manager:465
msgid "" msgid ""
"Uh oh, the installation failed! Please create an issue at\n" "Uh oh, the installation failed! Please create an issue at\n"
"\n" "\n"
@ -185,7 +134,118 @@ msgstr ""
"\n" "\n"
"jeśli myślisz, że problem spowodowany jest przez błąd Home Managera." "jeśli myślisz, że problem spowodowany jest przez błąd Home Managera."
#: home-manager/install.nix:83 #. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:476
msgid "Can't instantiate a flake configuration"
msgstr "Nie mogę zinstancjować konfiguracji flake'a"
#: home-manager/home-manager:552
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] ""
"Jest %d nieodczytana wiadomość.\n"
"Możesz ją odczytać uruchamiając „%s news”."
msgstr[1] ""
"Jest %d nieodczytanych wiadomości.\n"
"Możesz je odczytać uruchamiając „%s news”."
msgstr[2] ""
"Jest %d nieodczytanych wiadomości.\n"
"Możesz je odczytać uruchamiając „%s news”."
#: home-manager/home-manager:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Nieznane ustawienie „%s” „news.display”."
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Proszę ustawić zmienną środowiskową $EDITOR"
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr "Nie mogę uruchomić budowania w katalogu tylko-do-odczytu"
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr "Brak generacji z ID %s"
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr "Nie mogę usunąć bieżącej generacji %s"
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr "Usuwanie generacji %s"
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr "Brak wygasających generacji"
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr "Pakiety home-manager nie wydają się być zainstalowane."
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr "Nieznany argument %s"
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr "To usunie Home Managera z twojego systemu."
#: home-manager/home-manager:808
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "To jest próba, faktycznie nic nie będzie usunięte."
#: home-manager/home-manager:812
msgid "Really uninstall Home Manager?"
msgstr "Jesteś pewien usunięcia Home Managera?"
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr "Przełączanie do pustej konfiguracji Home Managera..."
#: home-manager/home-manager:846
msgid "Yay!"
msgstr "Jej!"
#: home-manager/home-manager:851
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr ""
"Home Manager jest usunięty ale twój home.nix jest pozostawiony nietknięty."
#: home-manager/home-manager:1063
msgid "expire-generations expects one argument, got %d."
msgstr "expire-generations oczekuje jednego argumentu, otrzymane %d."
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr "Nieznana komenda: %s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."
msgstr "" msgstr ""
"Ta paczka (derivation) nie da się budować, proszę uruchom używając nix-shell." "Ta paczka (derivation) nie da się budować, proszę uruchom używając nix-shell."
#~ msgid "Sorry, this command is not yet supported in flake setup"
#~ msgstr ""
#~ "Przepraszamy, ta komenda nie jest jeszcze obsługiwana w konfiguracji flake"
#~ msgid "Creating initial Home Manager configuration..."
#~ msgstr "Tworzenie pierwotnej konfiguracji Home Managera..."
#~ msgid "Remove all Home Manager generations?"
#~ msgstr "Usunąć wszystkie generacje Home Managera?"
#~ msgid "All generations are now eligible for garbage collection."
#~ msgstr ""
#~ "Wszystkie generacje są uwzględnione przy oczyszczaniu (garbage "
#~ "collection)."
#~ msgid "Leaving generations but they may still be garbage collected."
#~ msgstr ""
#~ "Zostawiam generacje ale wciąż mogą zostać usunięte (garbage collection)."

View file

@ -0,0 +1,241 @@
# 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: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2023-02-19 10:19+0000\n"
"Last-Translator: ssantos <ssantos@web.de>\n"
"Language-Team: Portuguese <https://hosted.weblate.org/projects/home-manager/"
"cli/pt/>\n"
"Language: pt\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 4.16-dev\n"
#: home-manager/home-manager:71
msgid "No configuration file found at %s"
msgstr "Nenhum ficheiro de configuração encontrado no %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:182
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 "Ficheiro de configuração não encontrado. Por favor crie um em %s"
#: 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 fallowing.\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:164
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:219
msgid "Can't inspect options of a flake configuration"
msgstr "Não é possivel inspecionar a opção de configuração do flake"
#: home-manager/home-manager:281 home-manager/home-manager:304
#: home-manager/home-manager:1023
msgid "%s: unknown option '%s'"
msgstr "%s: opção não reconhecida '%s'"
#: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help"
msgstr "Execute '%s --help' para instruções de uso"
#: home-manager/home-manager:312 home-manager/home-manager:411
msgid "The file %s already exists, leaving it unchanged..."
msgstr ""
#: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Creating %s..."
msgstr ""
#: home-manager/home-manager:455
msgid "Creating initial Home Manager generation..."
msgstr "Criando a geração inicial do Home Manager..."
#. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/home-manager:460
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 ""
"Pronto! O home-manager agora deve ser instalado e poderá editar o ficheiro\n"
"\n"
" %s\n"
"\n"
"para configurar o Home Manager. Execute 'man home-configuration.nix' para\n"
"ver todas as opções disponíveis."
#. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/home-manager:465
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 ""
"Ixi, a instalação falhou! Por favor crie um issue no\n"
"\n"
" %s\n"
"\n"
"se o erro lhe parecer ser um problema do Home Manager."
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:476
msgid "Can't instantiate a flake configuration"
msgstr "Não foi possível instanciar a configuração de flake"
#: home-manager/home-manager:552
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] ""
"Há %d novo item relevante não lido\n"
"Leia executando o comando \"%s news\"."
msgstr[1] ""
"Há %d novos itens relevants não lidos\n"
"Leia executando o comando \"%s news\"."
#: home-manager/home-manager:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Valor \"%s\" para configuração \"news.display\" não reconhecido."
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Por favor defina a variável de ambiente $EDITOR"
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr "Não é possível fazer o build num diretório somente leitura"
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr "Nenhuma geração com ID %s"
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr "Não foi possível remover a geração atual %s"
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr "A remover a geração %s"
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr "Nenhuma geração a expirar"
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr "Nenhum pacote parece instalado com home-manager."
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr "Argumento desconhecido %s"
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr "Isto irá remover o Home Manager do seu sistema."
#: home-manager/home-manager:808
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "Essa é uma execução de teste, nada de fato será desinstalado."
#: home-manager/home-manager:812
msgid "Really uninstall Home Manager?"
msgstr "Confirma a desinstalação do Home Manager?"
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr "Trocando para configuração vazia do Home Manager..."
#: home-manager/home-manager:846
msgid "Yay!"
msgstr "Boa!"
#: home-manager/home-manager:851
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager foi desinstalado, mas o seu home.nix foi deixado intacto."
#: home-manager/home-manager:1063
msgid "expire-generations expects one argument, got %d."
msgstr "expire-generations espera um argumento, recebeu %d."
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr "Comando não reconhecido: %s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell."
msgstr ""
"O build dessa derivation não pode ser feito, por favor rode usando o nix-"
"shell."
#~ msgid "Creating initial Home Manager configuration..."
#~ msgstr "Criando a configuração inicial do Home Manager..."
#~ msgid "Remove all Home Manager generations?"
#~ msgstr "Remover todas as gerações do Home Manager?"
#~ msgid "All generations are now eligible for garbage collection."
#~ msgstr ""
#~ "Todas gerações agora são elegíveis para coleta do garbage collector."
#~ msgid "Leaving generations but they may still be garbage collected."
#~ msgstr ""
#~ "Deixando gerações, entretanto elas ainda poderão ser limpas pelo garbage "
#~ "collector."

View file

@ -7,11 +7,11 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2022-03-26 15:08+0100\n" "POT-Creation-Date: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2022-04-04 11:11+0000\n" "PO-Revision-Date: 2022-04-04 11:11+0000\n"
"Last-Translator: Alex Miranda <alexmirandamoraes@gmail.com>\n" "Last-Translator: Alex Miranda <alexmirandamoraes@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/" "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/home-"
"home-manager/cli/pt_BR/>\n" "manager/cli/pt_BR/>\n"
"Language: pt_BR\n" "Language: pt_BR\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -19,137 +19,88 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n" "Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.12-dev\n" "X-Generator: Weblate 4.12-dev\n"
#: home-manager/home-manager:60 #: home-manager/home-manager:71
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
msgstr "Nenhum arquivo de configuração encontrado no %s" msgstr "Nenhum arquivo de configuração encontrado no %s"
#: home-manager/home-manager:79 #. 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:182
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" msgid "No configuration file found. Please create one at %s"
msgstr "Arquivo de configuração não encontrado. Por favor crie um em %s" msgstr "Arquivo de configuração não encontrado. Por favor crie um em %s"
#: 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 #: 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 fallowing.\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:164
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:219
msgid "Can't inspect options of a flake configuration" msgid "Can't inspect options of a flake configuration"
msgstr "Não é possivel inspecionar a opção de configuração do flake" msgstr "Não é possivel inspecionar a opção de configuração do flake"
#: home-manager/home-manager:162 #: home-manager/home-manager:281 home-manager/home-manager:304
msgid "Can't instantiate a flake configuration" #: home-manager/home-manager:1023
msgstr "Não foi possível instanciar a configuração de flake"
#: home-manager/home-manager:237
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] ""
"Há %d novo item relevante não lido\n"
"Leia executando o comando \"%s news\"."
msgstr[1] ""
"Há %d novos itens relevants não lidos\n"
"Leia executando o comando \"%s news\"."
#: home-manager/home-manager:251
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Valor \"%s\" para configuração \"news.display\" não reconhecido."
#: home-manager/home-manager:258
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Por favor defina a variável de ambiente $EDITOR"
#: home-manager/home-manager:273
msgid "Cannot run build in read-only directory"
msgstr "Não é possível fazer o build em um diretório somente leitura"
#: home-manager/home-manager:355
msgid "No generation with ID %s"
msgstr "Nenhuma geração com ID %s"
#: home-manager/home-manager:357
msgid "Cannot remove the current generation %s"
msgstr "Não foi possível remover a geração atual %s"
#: home-manager/home-manager:359
msgid "Removing generation %s"
msgstr "Removendo geração %s"
#: home-manager/home-manager:385
msgid "No generations to expire"
msgstr "Nenhuma geração a expirar"
#: home-manager/home-manager:396
msgid "No home-manager packages seem to be installed."
msgstr "Nenhum pacote parece instalado com home-manager."
#: home-manager/home-manager:453
msgid "Unknown argument %s"
msgstr "Argumento desconhecido %s"
#: home-manager/home-manager:469
msgid "This will remove Home Manager from your system."
msgstr "Isso irá remover o Home Manager do seu sistema."
#: home-manager/home-manager:472
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "Essa é uma execução de teste, nada de fato será desinstalado."
#: home-manager/home-manager:476
msgid "Really uninstall Home Manager?"
msgstr "Confirma a desinstalação do Home Manager?"
#: home-manager/home-manager:481
msgid "Switching to empty Home Manager configuration..."
msgstr "Trocando para configuração vazia do Home Manager..."
#: home-manager/home-manager:493
msgid "Yay!"
msgstr "Boa!"
#: home-manager/home-manager:500
msgid "Remove all Home Manager generations?"
msgstr "Remover todas as gerações do Home Manager?"
#: home-manager/home-manager:507
msgid "All generations are now eligible for garbage collection."
msgstr "Todas gerações agora são elegíveis para coleta do garbage collector."
#: home-manager/home-manager:510
msgid "Leaving generations but they may still be garbage collected."
msgstr ""
"Deixando gerações, entretanto elas ainda poderão ser limpas pelo garbage "
"collector."
#: home-manager/home-manager:514
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager foi desinstalado, mas o seu home.nix foi deixado intacto."
#: home-manager/home-manager:673
msgid "%s: unknown option '%s'" msgid "%s: unknown option '%s'"
msgstr "%s: opção não reconhecida '%s'" msgstr "%s: opção não reconhecida '%s'"
#: home-manager/home-manager:674 #: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help" msgid "Run '%s --help' for usage help"
msgstr "Execute '%s --help' para instruções de uso" msgstr "Execute '%s --help' para instruções de uso"
#: home-manager/home-manager:708 #: home-manager/home-manager:312 home-manager/home-manager:411
msgid "expire-generations expects one argument, got %d." msgid "The file %s already exists, leaving it unchanged..."
msgstr "expire-generations espera um argumento, recebeu %d." msgstr ""
#: home-manager/home-manager:730 #: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Unknown command: %s" msgid "Creating %s..."
msgstr "Comando não reconhecido: %s" msgstr ""
#: home-manager/install.nix:22 #: home-manager/home-manager:455
msgid "Creating initial Home Manager configuration..."
msgstr "Criando a configuração inicial do Home Manager..."
#: home-manager/install.nix:66
msgid "Creating initial Home Manager generation..." msgid "Creating initial Home Manager generation..."
msgstr "Criando a geração inicial do Home Manager..." msgstr "Criando a geração inicial do Home Manager..."
#. translators: The "%s" specifier will be replaced by a file path. #. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/install.nix:71 #: home-manager/home-manager:460
msgid "" msgid ""
"All done! The home-manager tool should now be installed and you can edit\n" "All done! The home-manager tool should now be installed and you can edit\n"
"\n" "\n"
@ -167,7 +118,7 @@ msgstr ""
"ver todas as opções disponíveis." "ver todas as opções disponíveis."
#. translators: The "%s" specifier will be replaced by a URL. #. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/install.nix:76 #: home-manager/home-manager:465
msgid "" msgid ""
"Uh oh, the installation failed! Please create an issue at\n" "Uh oh, the installation failed! Please create an issue at\n"
"\n" "\n"
@ -181,8 +132,111 @@ msgstr ""
"\n" "\n"
"se o erro lhe parecer ser um problema do Home Manager." "se o erro lhe parecer ser um problema do Home Manager."
#: home-manager/install.nix:83 #. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:476
msgid "Can't instantiate a flake configuration"
msgstr "Não foi possível instanciar a configuração de flake"
#: home-manager/home-manager:552
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] ""
"Há %d novo item relevante não lido\n"
"Leia executando o comando \"%s news\"."
msgstr[1] ""
"Há %d novos itens relevants não lidos\n"
"Leia executando o comando \"%s news\"."
#: home-manager/home-manager:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Valor \"%s\" para configuração \"news.display\" não reconhecido."
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Por favor defina a variável de ambiente $EDITOR"
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr "Não é possível fazer o build em um diretório somente leitura"
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr "Nenhuma geração com ID %s"
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr "Não foi possível remover a geração atual %s"
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr "Removendo geração %s"
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr "Nenhuma geração a expirar"
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr "Nenhum pacote parece instalado com home-manager."
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr "Argumento desconhecido %s"
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr "Isso irá remover o Home Manager do seu sistema."
#: home-manager/home-manager:808
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "Essa é uma execução de teste, nada de fato será desinstalado."
#: home-manager/home-manager:812
msgid "Really uninstall Home Manager?"
msgstr "Confirma a desinstalação do Home Manager?"
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr "Trocando para configuração vazia do Home Manager..."
#: home-manager/home-manager:846
msgid "Yay!"
msgstr "Boa!"
#: home-manager/home-manager:851
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager foi desinstalado, mas o seu home.nix foi deixado intacto."
#: home-manager/home-manager:1063
msgid "expire-generations expects one argument, got %d."
msgstr "expire-generations espera um argumento, recebeu %d."
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr "Comando não reconhecido: %s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."
msgstr "" msgstr ""
"O build dessa derivation não pode ser feito, por favor rode usando o nix-" "O build dessa derivation não pode ser feito, por favor rode usando o nix-"
"shell." "shell."
#~ msgid "Creating initial Home Manager configuration..."
#~ msgstr "Criando a configuração inicial do Home Manager..."
#~ msgid "Remove all Home Manager generations?"
#~ msgstr "Remover todas as gerações do Home Manager?"
#~ msgid "All generations are now eligible for garbage collection."
#~ msgstr ""
#~ "Todas gerações agora são elegíveis para coleta do garbage collector."
#~ msgid "Leaving generations but they may still be garbage collected."
#~ msgstr ""
#~ "Deixando gerações, entretanto elas ainda poderão ser limpas pelo garbage "
#~ "collector."

View file

@ -0,0 +1,210 @@
# 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: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2023-08-02 20:04+0000\n"
"Last-Translator: HeartBlin913861820c094e37 <heartblin@proton.me>\n"
"Language-Team: Romanian <https://hosted.weblate.org/projects/home-manager/"
"cli/ro/>\n"
"Language: ro\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==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n"
"X-Generator: Weblate 5.0-dev\n"
#: home-manager/home-manager:71
msgid "No configuration file found at %s"
msgstr "Nu s-a găsit niciun fișier de configurare la locația %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:182
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 fallowing.\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:164
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:219
msgid "Can't inspect options of a flake configuration"
msgstr ""
#: home-manager/home-manager:281 home-manager/home-manager:304
#: home-manager/home-manager:1023
msgid "%s: unknown option '%s'"
msgstr ""
#: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help"
msgstr ""
#: home-manager/home-manager:312 home-manager/home-manager:411
msgid "The file %s already exists, leaving it unchanged..."
msgstr ""
#: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Creating %s..."
msgstr ""
#: home-manager/home-manager:455
msgid "Creating initial Home Manager generation..."
msgstr ""
#. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/home-manager:460
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:465
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:476
msgid "Can't instantiate a flake configuration"
msgstr ""
#: home-manager/home-manager:552
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:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr ""
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr ""
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr ""
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr ""
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr ""
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr ""
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr ""
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr ""
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr ""
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr ""
#: home-manager/home-manager:808
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr ""
#: home-manager/home-manager:812
msgid "Really uninstall Home Manager?"
msgstr ""
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr ""
#: home-manager/home-manager:846
msgid "Yay!"
msgstr ""
#: home-manager/home-manager:851
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr ""
#: home-manager/home-manager:1063
msgid "expire-generations expects one argument, got %d."
msgstr ""
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr ""
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell."
msgstr ""

View file

@ -7,9 +7,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2022-03-26 15:08+0100\n" "POT-Creation-Date: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2021-12-21 19:55+0000\n" "PO-Revision-Date: 2023-06-07 12:51+0000\n"
"Last-Translator: Mikhail Chekan <chekoopa@mail.ru>\n" "Last-Translator: Nikolay Mokrinsky <me@mokrinsky.ru>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/home-manager/cli/" "Language-Team: Russian <https://hosted.weblate.org/projects/home-manager/cli/"
"ru/>\n" "ru/>\n"
"Language: ru\n" "Language: ru\n"
@ -18,140 +18,90 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.10\n" "X-Generator: Weblate 4.18-dev\n"
#: home-manager/home-manager:60 #: home-manager/home-manager:71
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
msgstr "Не найден файл конфигурации в %s" msgstr "Не найден файл конфигурации в %s"
#: home-manager/home-manager:79 #. 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:182
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" msgid "No configuration file found. Please create one at %s"
msgstr "Не найден файл конфигурации. Пожалуйста, создайте его в %s" msgstr "Не найден файл конфигурации. Пожалуйста, создайте его в %s"
#: 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 #: 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 fallowing.\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:164
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:219
msgid "Can't inspect options of a flake configuration" msgid "Can't inspect options of a flake configuration"
msgstr "Не могу получить опции для flake-конфигурации" msgstr "Не могу получить опции для flake-конфигурации"
#: home-manager/home-manager:162 #: home-manager/home-manager:281 home-manager/home-manager:304
msgid "Can't instantiate a flake configuration" #: home-manager/home-manager:1023
msgstr "Не могу создать экземляр для flake-конфигурации"
#: home-manager/home-manager:237
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\"."
#: home-manager/home-manager:251
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Неизвестное значение \"news.display\": \"%s\"."
#: home-manager/home-manager:258
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Пожалуйста, определите переменную среды $EDITOR"
#: home-manager/home-manager:273
msgid "Cannot run build in read-only directory"
msgstr "Не могу начать сборку в директории, защищённой от записи"
#: home-manager/home-manager:355
msgid "No generation with ID %s"
msgstr "Поколение под номером %s не существует"
#: home-manager/home-manager:357
msgid "Cannot remove the current generation %s"
msgstr "Не могу удалить текущее поколение %s"
#: home-manager/home-manager:359
msgid "Removing generation %s"
msgstr "Удаляю поколение %s"
#: home-manager/home-manager:385
msgid "No generations to expire"
msgstr "Нет поколений, которые можно просрочить"
#: home-manager/home-manager:396
msgid "No home-manager packages seem to be installed."
msgstr "Не обнаружено пакетов, установленных через home-manager."
#: home-manager/home-manager:453
msgid "Unknown argument %s"
msgstr "Неизвестный аргумент %s"
#: home-manager/home-manager:469
msgid "This will remove Home Manager from your system."
msgstr "Это удалит Home Manager из вашей системы."
#: home-manager/home-manager:472
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "Это пробный запуск, на самом деле ничего не удаляется."
#: home-manager/home-manager:476
msgid "Really uninstall Home Manager?"
msgstr "Действительно хотите удалить Home Manager?"
#: home-manager/home-manager:481
msgid "Switching to empty Home Manager configuration..."
msgstr "Переключаюсь на пустую конфигурацию Home Manager..."
#: home-manager/home-manager:493
msgid "Yay!"
msgstr "Ура!"
#: home-manager/home-manager:500
msgid "Remove all Home Manager generations?"
msgstr "Удалить все поколения Home Manager?"
#: home-manager/home-manager:507
msgid "All generations are now eligible for garbage collection."
msgstr "Теперь все поколения готовы к удалению сборщиком мусора."
#: home-manager/home-manager:510
msgid "Leaving generations but they may still be garbage collected."
msgstr "Поколения остаются, но их ещё можно удалить сборщиком мусора."
#: home-manager/home-manager:514
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager удалён, но ваш home.nix остался нетронутым."
#: home-manager/home-manager:673
msgid "%s: unknown option '%s'" msgid "%s: unknown option '%s'"
msgstr "%s: неизвестная опция '%s'" msgstr "%s: неизвестная опция '%s'"
#: home-manager/home-manager:674 #: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help" msgid "Run '%s --help' for usage help"
msgstr "Выполните '%s --help', чтобы получить справку" msgstr "Выполните '%s --help', чтобы получить справку"
#: home-manager/home-manager:708 #: home-manager/home-manager:312 home-manager/home-manager:411
msgid "expire-generations expects one argument, got %d." msgid "The file %s already exists, leaving it unchanged..."
msgstr "expire-generations требует один аргумент, но передано %d." msgstr ""
#: home-manager/home-manager:730 #: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Unknown command: %s" msgid "Creating %s..."
msgstr "Неизвестная команда: %s" msgstr ""
#: home-manager/install.nix:22 #: home-manager/home-manager:455
msgid "Creating initial Home Manager configuration..."
msgstr "Создаю начальную конфигурацию Home Manager..."
#: home-manager/install.nix:66
msgid "Creating initial Home Manager generation..." msgid "Creating initial Home Manager generation..."
msgstr "Создаю начальное поколение Home Manager..." msgstr "Создаю начальное поколение Home Manager..."
#. translators: The "%s" specifier will be replaced by a file path. #. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/install.nix:71 #: home-manager/home-manager:460
msgid "" msgid ""
"All done! The home-manager tool should now be installed and you can edit\n" "All done! The home-manager tool should now be installed and you can edit\n"
"\n" "\n"
@ -168,7 +118,7 @@ msgstr ""
"Выполните 'man home-configuration.nix', чтобы увидеть доступные опции." "Выполните 'man home-configuration.nix', чтобы увидеть доступные опции."
#. translators: The "%s" specifier will be replaced by a URL. #. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/install.nix:76 #: home-manager/home-manager:465
msgid "" msgid ""
"Uh oh, the installation failed! Please create an issue at\n" "Uh oh, the installation failed! Please create an issue at\n"
"\n" "\n"
@ -182,7 +132,110 @@ msgstr ""
"\n" "\n"
"если считаете, что в ошибке виноват Home Manager." "если считаете, что в ошибке виноват Home Manager."
#: home-manager/install.nix:83 #. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:476
msgid "Can't instantiate a flake configuration"
msgstr "Не могу создать экземляр для flake-конфигурации"
#: home-manager/home-manager:552
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\"."
#: home-manager/home-manager:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Неизвестное значение \"news.display\": \"%s\"."
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Пожалуйста, определите переменную среды $EDITOR"
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr "Не могу начать сборку в директории, защищённой от записи"
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr "Поколение под номером %s не существует"
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr "Не могу удалить текущее поколение %s"
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr "Удаляю поколение %s"
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr "Нет поколений, которые можно просрочить"
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr "Не обнаружено пакетов, установленных через home-manager."
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr "Неизвестный аргумент %s"
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr "Это удалит Home Manager из вашей системы."
#: home-manager/home-manager:808
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "Это пробный запуск, на самом деле ничего не удаляется."
#: home-manager/home-manager:812
msgid "Really uninstall Home Manager?"
msgstr "Действительно хотите удалить Home Manager?"
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr "Переключаюсь на пустую конфигурацию Home Manager..."
#: home-manager/home-manager:846
msgid "Yay!"
msgstr "Ура!"
#: home-manager/home-manager:851
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager удалён, но ваш home.nix остался нетронутым."
#: home-manager/home-manager:1063
msgid "expire-generations expects one argument, got %d."
msgstr "expire-generations требует один аргумент, но передано %d."
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr "Неизвестная команда: %s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."
msgstr "" msgstr ""
"Это определение нельзя собрать. Пожалуйста, запустите его через nix-shell." "Это определение нельзя собрать. Пожалуйста, запустите его через nix-shell."
#~ msgid "Creating initial Home Manager configuration..."
#~ msgstr "Создаю начальную конфигурацию Home Manager..."
#~ msgid "Remove all Home Manager generations?"
#~ msgstr "Удалить все поколения Home Manager?"
#~ msgid "All generations are now eligible for garbage collection."
#~ msgstr "Теперь все поколения готовы к удалению сборщиком мусора."
#~ msgid "Leaving generations but they may still be garbage collected."
#~ msgstr "Поколения остаются, но их ещё можно удалить сборщиком мусора."

View file

@ -7,9 +7,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2022-03-26 15:08+0100\n" "POT-Creation-Date: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2021-12-17 20:50+0000\n" "PO-Revision-Date: 2023-07-17 10:03+0000\n"
"Last-Translator: Robert Helgesson <robert@rycee.net>\n" "Last-Translator: Luna Jernberg <droidbittin@gmail.com>\n"
"Language-Team: Swedish <https://hosted.weblate.org/projects/home-manager/cli/" "Language-Team: Swedish <https://hosted.weblate.org/projects/home-manager/cli/"
"sv/>\n" "sv/>\n"
"Language: sv\n" "Language: sv\n"
@ -17,137 +17,112 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.10\n" "X-Generator: Weblate 5.0-dev\n"
#: home-manager/home-manager:60 #: home-manager/home-manager:71
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
msgstr "Det finns ingen konfigurationsfil i %s" msgstr "Det finns ingen konfigurationsfil i %s"
#: home-manager/home-manager:79 #. 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:182
msgid ""
"Keeping your Home Manager %s in %s is deprecated,\n"
"please move it to %s"
msgstr ""
"Att behålla din Home Manager %s i %s är föråldrat,\n"
"snälla flytta den till %s"
#: home-manager/home-manager:99
msgid "No configuration file found. Please create one at %s" msgid "No configuration file found. Please create one at %s"
msgstr "Hittade ingen konfigurationsfil. Skapa en i %s" msgstr "Hittade ingen konfigurationsfil. Skapa en i %s"
#: home-manager/home-manager:114
msgid "Home Manager not found at %s."
msgstr "Home Manager hittades inte på %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:122
msgid ""
"The fallback Home Manager path %s has been deprecated and a file/directory "
"was found there."
msgstr ""
"Reservsökvägen för Home Manager %s har fasats ut och en fil/katalog hittades "
"där."
#. 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 fallowing.\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 ""
"För att ta bort denna varning, gör något av följande.\n"
"\n"
"1. Berätta uttryckligen för Home Manager att använda sökvägen, till exempel "
"genom att lägga till\n"
"\n"
" { programs.home-manager.path = \"%s\"; }\n"
"\n"
" till din konfiguration.\n"
"\n"
" Om du importerar Home Manager direkt kan du använda parametern `path`\n"
"\n"
" pkgs.callPackage /path/to/home-manager-package { path = \"%s\"; }\n"
"\n"
" när du kallar på Home Manager-paketet.\n"
"\n"
"2. Ta bort den föråldrade sökvägen.\n"
"\n"
" $ rm -r \"%s\""
#: home-manager/home-manager:164
msgid "Could not find suitable profile directory, tried %s and %s"
msgstr "Kunde inte hitta lämplig profil-katalog, försökte med %s och %s"
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:219
msgid "Can't inspect options of a flake configuration" msgid "Can't inspect options of a flake configuration"
msgstr "Kan inte granska alternativ i en flake-konfiguration" msgstr "Kan inte granska alternativ i en flake-konfiguration"
#: home-manager/home-manager:162 #: home-manager/home-manager:281 home-manager/home-manager:304
msgid "Can't instantiate a flake configuration" #: home-manager/home-manager:1023
msgstr "Kan inte instansera en flake-konfiguration"
#: home-manager/home-manager:237
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] ""
"Det finns %d oläst och relevant nyhet.\n"
"Läs den genom att köra kommandot \"%s news\"."
msgstr[1] ""
"Det finns %d olästa och relevanta nyheter.\n"
"Läs dem genom att köra kommandot \"%s news\"."
#: home-manager/home-manager:251
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Okänt \"news.display\"-värde \"%s\"."
#: home-manager/home-manager:258
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Vänligen tilldela miljövariablen $EDITOR"
#: home-manager/home-manager:273
msgid "Cannot run build in read-only directory"
msgstr "Kan inte bygga i katalog med bara läsrättigheter"
#: home-manager/home-manager:355
msgid "No generation with ID %s"
msgstr "Ingen generation med ID %s"
#: home-manager/home-manager:357
msgid "Cannot remove the current generation %s"
msgstr "Kan inte ta bort nuvarande generation %s"
#: home-manager/home-manager:359
msgid "Removing generation %s"
msgstr "Tar bort generation %s"
#: home-manager/home-manager:385
msgid "No generations to expire"
msgstr "Ingen generation att förfalla"
#: home-manager/home-manager:396
msgid "No home-manager packages seem to be installed."
msgstr "Paketet home-manager verkar inte vara installerat."
#: home-manager/home-manager:453
msgid "Unknown argument %s"
msgstr "Okänt argument %s"
#: home-manager/home-manager:469
msgid "This will remove Home Manager from your system."
msgstr "Detta kommer att ta bort Home Manager från ditt system."
#: home-manager/home-manager:472
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "Detta är en testkörning, inget kommer att bli avinstallerat."
#: home-manager/home-manager:476
msgid "Really uninstall Home Manager?"
msgstr "Verkligen avinstallera Home Manager?"
#: home-manager/home-manager:481
msgid "Switching to empty Home Manager configuration..."
msgstr "Byter till tom Home Manager-konfiguration..."
#: home-manager/home-manager:493
msgid "Yay!"
msgstr "Hurra!"
#: home-manager/home-manager:500
msgid "Remove all Home Manager generations?"
msgstr "Ta bort alla Home Manager-generationer?"
#: home-manager/home-manager:507
msgid "All generations are now eligible for garbage collection."
msgstr "Alla generationer kan nu skräpsamlas."
#: home-manager/home-manager:510
msgid "Leaving generations but they may still be garbage collected."
msgstr "Låter generationer vara kvar men de kan fortfarande skräpsamlas."
#: home-manager/home-manager:514
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager är avinstallerad men din home.nix är orörd."
#: home-manager/home-manager:673
msgid "%s: unknown option '%s'" msgid "%s: unknown option '%s'"
msgstr "%s: okänt val '%s'" msgstr "%s: okänt val '%s'"
#: home-manager/home-manager:674 #: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help" msgid "Run '%s --help' for usage help"
msgstr "Kör '%s --help' för användarhjälp" msgstr "Kör '%s --help' för användarhjälp"
#: home-manager/home-manager:708 #: home-manager/home-manager:312 home-manager/home-manager:411
msgid "expire-generations expects one argument, got %d." msgid "The file %s already exists, leaving it unchanged..."
msgstr "expect-generations förväntar sig ett argument, fick %d." msgstr "Filen %s finns redan, lämnar den orörd..."
#: home-manager/home-manager:730 #: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Unknown command: %s" msgid "Creating %s..."
msgstr "Okänt kommando: %s" msgstr "Skapar %s..."
#: home-manager/install.nix:22 #: home-manager/home-manager:455
msgid "Creating initial Home Manager configuration..."
msgstr "Skapar initial Home Manager-konfiguration..."
#: home-manager/install.nix:66
msgid "Creating initial Home Manager generation..." msgid "Creating initial Home Manager generation..."
msgstr "Skapar initial Home Manager-generation..." msgstr "Skapar initial Home Manager-generation..."
#. translators: The "%s" specifier will be replaced by a file path. #. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/install.nix:71 #: home-manager/home-manager:460
msgid "" msgid ""
"All done! The home-manager tool should now be installed and you can edit\n" "All done! The home-manager tool should now be installed and you can edit\n"
"\n" "\n"
@ -164,7 +139,7 @@ msgstr ""
"att se alla tillgängliga alternativ." "att se alla tillgängliga alternativ."
#. translators: The "%s" specifier will be replaced by a URL. #. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/install.nix:76 #: home-manager/home-manager:465
msgid "" msgid ""
"Uh oh, the installation failed! Please create an issue at\n" "Uh oh, the installation failed! Please create an issue at\n"
"\n" "\n"
@ -178,6 +153,110 @@ msgstr ""
"\n" "\n"
"om problemet verkar bero på något Home Manager gör fel." "om problemet verkar bero på något Home Manager gör fel."
#: home-manager/install.nix:83 #. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:476
msgid "Can't instantiate a flake configuration"
msgstr "Kan inte instansera en flake-konfiguration"
#: home-manager/home-manager:552
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] ""
"Det finns %d oläst och relevant nyhet.\n"
"Läs den genom att köra kommandot \"%s news\"."
msgstr[1] ""
"Det finns %d olästa och relevanta nyheter.\n"
"Läs dem genom att köra kommandot \"%s news\"."
#: home-manager/home-manager:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Okänt \"news.display\"-värde \"%s\"."
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Vänligen tilldela miljövariablen $EDITOR"
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr "Kan inte bygga i katalog med bara läsrättigheter"
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr "Ingen generation med ID %s"
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr "Kan inte ta bort nuvarande generation %s"
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr "Tar bort generation %s"
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr "Ingen generation att förfalla"
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr "Paketet home-manager verkar inte vara installerat."
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr "Okänt argument %s"
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr "Detta kommer att ta bort Home Manager från ditt system."
#: home-manager/home-manager:808
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "Detta är en testkörning, inget kommer att bli avinstallerat."
#: home-manager/home-manager:812
msgid "Really uninstall Home Manager?"
msgstr "Verkligen avinstallera Home Manager?"
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr "Byter till tom Home Manager-konfiguration..."
#: home-manager/home-manager:846
msgid "Yay!"
msgstr "Hurra!"
#: home-manager/home-manager:851
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager är avinstallerad men din home.nix är orörd."
#: home-manager/home-manager:1063
msgid "expire-generations expects one argument, got %d."
msgstr "expect-generations förväntar sig ett argument, fick %d."
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr "Okänt kommando: %s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."
msgstr "Denna derivation är inte byggbar, kör den med nix-shell istället." msgstr "Denna derivation är inte byggbar, kör den med nix-shell istället."
#~ msgid "Sorry, this command is not yet supported in flake setup"
#~ msgstr ""
#~ "Ursäkta, för tillfället stödjs detta kommando inte när Nix flakes används"
#~ msgid "Creating initial Home Manager configuration..."
#~ msgstr "Skapar initial Home Manager-konfiguration..."
#~ msgid "Remove all Home Manager generations?"
#~ msgstr "Ta bort alla Home Manager-generationer?"
#~ msgid "All generations are now eligible for garbage collection."
#~ msgstr "Alla generationer kan nu skräpsamlas."
#~ msgid "Leaving generations but they may still be garbage collected."
#~ msgstr "Låter generationer vara kvar men de kan fortfarande skräpsamlas."

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2022-03-26 15:08+0100\n" "POT-Creation-Date: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2022-03-26 23:57+0000\n" "PO-Revision-Date: 2022-03-26 23:57+0000\n"
"Last-Translator: Oğuz Ersen <oguz@ersen.moe>\n" "Last-Translator: Oğuz Ersen <oguz@ersen.moe>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/home-manager/cli/" "Language-Team: Turkish <https://hosted.weblate.org/projects/home-manager/cli/"
@ -19,136 +19,89 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.12-dev\n" "X-Generator: Weblate 4.12-dev\n"
#: home-manager/home-manager:60 #: home-manager/home-manager:71
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
msgstr "%s konumunda yapılandırma dosyası bulunamadı" msgstr "%s konumunda yapılandırma dosyası bulunamadı"
#: home-manager/home-manager:79 #. 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:182
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" msgid "No configuration file found. Please create one at %s"
msgstr "" msgstr ""
"Yapılandırma dosyası bulunamadı. Lütfen %s konumunda bir tane oluşturun" "Yapılandırma dosyası bulunamadı. Lütfen %s konumunda bir tane oluşturun"
#: 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 #: 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 fallowing.\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:164
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:219
msgid "Can't inspect options of a flake configuration" msgid "Can't inspect options of a flake configuration"
msgstr "Flake yapılandırmasının ayarları incelenemiyor" msgstr "Flake yapılandırmasının ayarları incelenemiyor"
#: home-manager/home-manager:162 #: home-manager/home-manager:281 home-manager/home-manager:304
msgid "Can't instantiate a flake configuration" #: home-manager/home-manager:1023
msgstr "Flake yapılandırması örneklendirilemiyor"
#: home-manager/home-manager:237
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 tane okunmamış ilgili haber bulunmakta.\n"
"Okumak için \"%s news\"."
msgstr[1] ""
"%d tane okunmamış ilgili haberler bulunmakta.\n"
"Okumak için \"%s news\"."
#: home-manager/home-manager:251
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Bilinmeyen \"news.display\" seçeneği \"%s\"."
#: home-manager/home-manager:258
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Lütfen $EDITOR ortam değişkenini tanımlayın"
#: home-manager/home-manager:273
msgid "Cannot run build in read-only directory"
msgstr "İnşa, sadece okunabilir bir klasörde çalıştırılamaz"
#: home-manager/home-manager:355
msgid "No generation with ID %s"
msgstr "%s ID'sine sahip inşa bulunamadı"
#: home-manager/home-manager:357
msgid "Cannot remove the current generation %s"
msgstr "Kullanımda olan %s inşası silinemez"
#: home-manager/home-manager:359
msgid "Removing generation %s"
msgstr "İnşa siliniyor %s"
#: home-manager/home-manager:385
msgid "No generations to expire"
msgstr "Süresi dolacak inşa yok"
#: home-manager/home-manager:396
msgid "No home-manager packages seem to be installed."
msgstr "Galiba home-manager paketi kurulu değil."
#: home-manager/home-manager:453
msgid "Unknown argument %s"
msgstr "Bilinmeyen argüman %s"
#: home-manager/home-manager:469
msgid "This will remove Home Manager from your system."
msgstr "Bu, sisteminizden Home Manager'ı kaldıracak."
#: home-manager/home-manager:472
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "Bu sadece bir inşa denemesi, hiçbir şey silinmeyecek."
#: home-manager/home-manager:476
msgid "Really uninstall Home Manager?"
msgstr "Home Manager'ı silmek istediğinize emin misiniz?"
#: home-manager/home-manager:481
msgid "Switching to empty Home Manager configuration..."
msgstr "Boş Home Manager yapılandırmasına geçiliyor..."
#: home-manager/home-manager:493
msgid "Yay!"
msgstr "Güzel!"
#: home-manager/home-manager:500
msgid "Remove all Home Manager generations?"
msgstr "Tüm Home Manager inşaları kaldırılsın mı?"
#: home-manager/home-manager:507
msgid "All generations are now eligible for garbage collection."
msgstr "Artık tüm inşalar çöp olarak toplanabilir."
#: home-manager/home-manager:510
msgid "Leaving generations but they may still be garbage collected."
msgstr "İnşalar yine de çöp olarak toplanabilir."
#: home-manager/home-manager:514
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager kaldırıldı ama home.nix dosyasına dokunulmadı."
#: home-manager/home-manager:673
msgid "%s: unknown option '%s'" msgid "%s: unknown option '%s'"
msgstr "%s: Bilinmeyen komut '%s'" msgstr "%s: Bilinmeyen komut '%s'"
#: home-manager/home-manager:674 #: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help" msgid "Run '%s --help' for usage help"
msgstr "Yardım için '%s --help'" msgstr "Yardım için '%s --help'"
#: home-manager/home-manager:708 #: home-manager/home-manager:312 home-manager/home-manager:411
msgid "expire-generations expects one argument, got %d." msgid "The file %s already exists, leaving it unchanged..."
msgstr "expire-generations bir argüman istiyor, %d tane girildi." msgstr ""
#: home-manager/home-manager:730 #: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Unknown command: %s" msgid "Creating %s..."
msgstr "Bilinmeyen komut: %s" msgstr ""
#: home-manager/install.nix:22 #: home-manager/home-manager:455
msgid "Creating initial Home Manager configuration..."
msgstr "İlk Home Manager yapılandırması oluşturuluyor..."
#: home-manager/install.nix:66
msgid "Creating initial Home Manager generation..." msgid "Creating initial Home Manager generation..."
msgstr "İlk Home Manager inşası oluşturuluyor..." msgstr "İlk Home Manager inşası oluşturuluyor..."
#. translators: The "%s" specifier will be replaced by a file path. #. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/install.nix:71 #: home-manager/home-manager:460
msgid "" msgid ""
"All done! The home-manager tool should now be installed and you can edit\n" "All done! The home-manager tool should now be installed and you can edit\n"
"\n" "\n"
@ -165,7 +118,7 @@ msgstr ""
"'man home-configuration.nix'." "'man home-configuration.nix'."
#. translators: The "%s" specifier will be replaced by a URL. #. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/install.nix:76 #: home-manager/home-manager:465
msgid "" msgid ""
"Uh oh, the installation failed! Please create an issue at\n" "Uh oh, the installation failed! Please create an issue at\n"
"\n" "\n"
@ -180,7 +133,107 @@ msgstr ""
"\n" "\n"
"adresinden bildirin." "adresinden bildirin."
#: home-manager/install.nix:83 #. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:476
msgid "Can't instantiate a flake configuration"
msgstr "Flake yapılandırması örneklendirilemiyor"
#: home-manager/home-manager:552
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 tane okunmamış ilgili haber bulunmakta.\n"
"Okumak için \"%s news\"."
msgstr[1] ""
"%d tane okunmamış ilgili haberler bulunmakta.\n"
"Okumak için \"%s news\"."
#: home-manager/home-manager:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Bilinmeyen \"news.display\" seçeneği \"%s\"."
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Lütfen $EDITOR ortam değişkenini tanımlayın"
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr "İnşa, sadece okunabilir bir klasörde çalıştırılamaz"
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr "%s ID'sine sahip inşa bulunamadı"
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr "Kullanımda olan %s inşası silinemez"
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr "İnşa siliniyor %s"
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr "Süresi dolacak inşa yok"
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr "Galiba home-manager paketi kurulu değil."
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr "Bilinmeyen argüman %s"
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr "Bu, sisteminizden Home Manager'ı kaldıracak."
#: home-manager/home-manager:808
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "Bu sadece bir inşa denemesi, hiçbir şey silinmeyecek."
#: home-manager/home-manager:812
msgid "Really uninstall Home Manager?"
msgstr "Home Manager'ı silmek istediğinize emin misiniz?"
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr "Boş Home Manager yapılandırmasına geçiliyor..."
#: home-manager/home-manager:846
msgid "Yay!"
msgstr "Güzel!"
#: home-manager/home-manager:851
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager kaldırıldı ama home.nix dosyasına dokunulmadı."
#: home-manager/home-manager:1063
msgid "expire-generations expects one argument, got %d."
msgstr "expire-generations bir argüman istiyor, %d tane girildi."
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr "Bilinmeyen komut: %s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."
msgstr "" msgstr ""
"Bu türetim inşa edilebilir değil, lütfen onu nix-shell kullanarak çalıştırın." "Bu türetim inşa edilebilir değil, lütfen onu nix-shell kullanarak çalıştırın."
#~ msgid "Creating initial Home Manager configuration..."
#~ msgstr "İlk Home Manager yapılandırması oluşturuluyor..."
#~ msgid "Remove all Home Manager generations?"
#~ msgstr "Tüm Home Manager inşaları kaldırılsın mı?"
#~ msgid "All generations are now eligible for garbage collection."
#~ msgstr "Artık tüm inşalar çöp olarak toplanabilir."
#~ msgid "Leaving generations but they may still be garbage collected."
#~ msgstr "İnşalar yine de çöp olarak toplanabilir."

View file

@ -0,0 +1,257 @@
# 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: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2023-07-17 10:03+0000\n"
"Last-Translator: Dan <jonweblin2205@protonmail.com>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/home-manager/"
"cli/uk/>\n"
"Language: uk\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%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 5.0-dev\n"
#: 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:182
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 fallowing.\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:164
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:219
msgid "Can't inspect options of a flake configuration"
msgstr "Неможливо перевірити параметри flake-конфігурації"
#: home-manager/home-manager:281 home-manager/home-manager:304
#: home-manager/home-manager:1023
msgid "%s: unknown option '%s'"
msgstr "%s: невідомий параметр '%s'"
#: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help"
msgstr "Запустіть '%s --help' для отримання довідки про використання"
#: home-manager/home-manager:312 home-manager/home-manager:411
msgid "The file %s already exists, leaving it unchanged..."
msgstr "Файл %s вже існує, залишаючи його незмінним..."
#: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Creating %s..."
msgstr "Створення %s..."
#: home-manager/home-manager:455
msgid "Creating initial Home Manager generation..."
msgstr "Створення початкової генерації Home Manager..."
#. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/home-manager:460
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:465
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:476
msgid "Can't instantiate a flake configuration"
msgstr "Не вдається створити екземпляр flake-конфігурації"
#: home-manager/home-manager:552
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\"."
#: home-manager/home-manager:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "Невідоме налаштування \"news.display\" \"%s\"."
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "Будь ласка, встановіть змінну середовища $EDITOR"
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr "Неможливо запустити збірку в каталозі, доступному лише для читання"
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr "Немає генерації з ID %s"
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr "Не вдається видалити поточну генерацію %s"
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr "Видалення генерації %s"
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr "Немає генерацій, термін дії яких закінчується"
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr "Здається, не встановлено жодних пакунків home-manager."
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr "Невідомий аргумент %s"
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr "Це призведе до видалення Home Manager з вашої системи."
#: home-manager/home-manager:808
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "Це пробний запуск, насправді нічого не буде видалено."
#: home-manager/home-manager:812
msgid "Really uninstall Home Manager?"
msgstr "Дійсно видаліть Home Manager?"
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr "Перехід до порожньої конфігурації Home Manager..."
#: home-manager/home-manager:846
msgid "Yay!"
msgstr "Ура!"
#: home-manager/home-manager:851
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager буде видалено, але ваш home.nix залишиться недоторканим."
#: home-manager/home-manager:1063
msgid "expire-generations expects one argument, got %d."
msgstr "expire-generation очікує один аргумент, отримав %d."
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr "Невідома команда: %s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell."
msgstr ""
"Цю похідну не можна зібрати, будь ласка, запустіть її за допомогою nix-shell."
#~ msgid "Sorry, this command is not yet supported in flake setup"
#~ msgstr "На жаль, ця команда ще не підтримується в налаштуваннях flake"
#~ msgid "Creating initial Home Manager configuration..."
#~ msgstr "Створення початкової конфігурації Home Manager..."

View file

@ -7,9 +7,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2022-03-26 15:08+0100\n" "POT-Creation-Date: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2021-12-28 12:41+0000\n" "PO-Revision-Date: 2023-07-31 21:25+0000\n"
"Last-Translator: WhiredPlanck <fungdaat31@outlook.com>\n" "Last-Translator: Vollow <muffinslog@proton.me>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/" "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"home-manager/cli/zh_Hans/>\n" "home-manager/cli/zh_Hans/>\n"
"Language: zh_Hans\n" "Language: zh_Hans\n"
@ -17,134 +17,108 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.10.1\n" "X-Generator: Weblate 5.0-dev\n"
#: home-manager/home-manager:60 #: home-manager/home-manager:71
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
msgstr "未在 %s 找到配置文件" msgstr "未在 %s 找到配置文件"
#: home-manager/home-manager:79 #. 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:182
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" msgid "No configuration file found. Please create one at %s"
msgstr "未找到配置文件。请在 %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 #: 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 fallowing.\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则可以在使用 Home Manager 包时使用 `path` 参"
"数,如下。\n"
"\n"
" pkgs.callPackage /path/to/home-manager-package { path = \"%s\"; }\n"
"\n"
"2. 移除被弃用的路径。\n"
"\n"
" $ rm -r \"%s\""
#: home-manager/home-manager:164
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:219
msgid "Can't inspect options of a flake configuration" msgid "Can't inspect options of a flake configuration"
msgstr "无法检查 flake 配置中的选项" msgstr "无法检查 flake 配置中的选项"
#: home-manager/home-manager:162 #: home-manager/home-manager:281 home-manager/home-manager:304
msgid "Can't instantiate a flake configuration" #: home-manager/home-manager:1023
msgstr "无法创建 flake 配置实例"
#: home-manager/home-manager:237
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” 命令进行阅读。"
#: home-manager/home-manager:251
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "未知的 “news.display” 设置项 “%s”。"
#: home-manager/home-manager:258
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "请设定 $EDITOR 环境变量"
#: home-manager/home-manager:273
msgid "Cannot run build in read-only directory"
msgstr "无法在只读目录中运行构建"
#: home-manager/home-manager:355
msgid "No generation with ID %s"
msgstr "没有 ID 为 %s 的世代"
#: home-manager/home-manager:357
msgid "Cannot remove the current generation %s"
msgstr "无法移除当前世代 %s"
#: home-manager/home-manager:359
msgid "Removing generation %s"
msgstr "正在移除世代 %s"
#: home-manager/home-manager:385
msgid "No generations to expire"
msgstr "没有即将过期的世代"
#: home-manager/home-manager:396
msgid "No home-manager packages seem to be installed."
msgstr "似乎没有安装 home-manager 软件包。"
#: home-manager/home-manager:453
msgid "Unknown argument %s"
msgstr "未知参数 %s"
#: home-manager/home-manager:469
msgid "This will remove Home Manager from your system."
msgstr "这将会从系统中移除 Home Manager。"
#: home-manager/home-manager:472
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "这是试运行结果,没有实际卸载任何软件包。"
#: home-manager/home-manager:476
msgid "Really uninstall Home Manager?"
msgstr "确定要卸载 Home Manager 吗?"
#: home-manager/home-manager:481
msgid "Switching to empty Home Manager configuration..."
msgstr "正在切换至空的 Home Manager 配置 ..."
#: home-manager/home-manager:493
msgid "Yay!"
msgstr "好耶!"
#: home-manager/home-manager:500
msgid "Remove all Home Manager generations?"
msgstr "要移除所有 Home Manager 配置世代吗?"
#: home-manager/home-manager:507
msgid "All generations are now eligible for garbage collection."
msgstr "所有世代现在均符合垃圾回收的条件。"
#: home-manager/home-manager:510
msgid "Leaving generations but they may still be garbage collected."
msgstr "保留世代,但它们仍然可能被垃圾回收。"
#: home-manager/home-manager:514
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager 已卸载,但未改动您的 home.nix 配置文件。"
#: home-manager/home-manager:673
msgid "%s: unknown option '%s'" msgid "%s: unknown option '%s'"
msgstr "%s未知选项 %s" msgstr "%s未知选项 %s"
#: home-manager/home-manager:674 #: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help" msgid "Run '%s --help' for usage help"
msgstr "运行 %s --help 获取用法帮助" msgstr "运行 %s --help 获取用法帮助"
#: home-manager/home-manager:708 #: home-manager/home-manager:312 home-manager/home-manager:411
msgid "expire-generations expects one argument, got %d." msgid "The file %s already exists, leaving it unchanged..."
msgstr "expire-generations 须要一个参数,但获取到了 %d 个。" msgstr "文件 %s 已存在,未对其更改 ..."
#: home-manager/home-manager:730 #: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Unknown command: %s" msgid "Creating %s..."
msgstr "未知命令:%s" msgstr "正在创建 %s ..."
#: home-manager/install.nix:22 #: home-manager/home-manager:455
msgid "Creating initial Home Manager configuration..."
msgstr "正在创建初始 Home Manager 配置 ..."
#: home-manager/install.nix:66
msgid "Creating initial Home Manager generation..." msgid "Creating initial Home Manager generation..."
msgstr "正在创建初始 Home Manager 世代 ..." msgstr "正在创建 Home Manager 初始化配置生成 ..."
#. translators: The "%s" specifier will be replaced by a file path. #. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/install.nix:71 #: home-manager/home-manager:460
msgid "" msgid ""
"All done! The home-manager tool should now be installed and you can edit\n" "All done! The home-manager tool should now be installed and you can edit\n"
"\n" "\n"
@ -161,7 +135,7 @@ msgstr ""
"来查看所有可用选项。" "来查看所有可用选项。"
#. translators: The "%s" specifier will be replaced by a URL. #. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/install.nix:76 #: home-manager/home-manager:465
msgid "" msgid ""
"Uh oh, the installation failed! Please create an issue at\n" "Uh oh, the installation failed! Please create an issue at\n"
"\n" "\n"
@ -175,6 +149,106 @@ msgstr ""
"\n" "\n"
"处创建 Issue 告知我们。" "处创建 Issue 告知我们。"
#: home-manager/install.nix:83 #. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:476
msgid "Can't instantiate a flake configuration"
msgstr "无法创建 flake 配置实例"
#: home-manager/home-manager:552
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” 命令进行阅读。"
#: home-manager/home-manager:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "未知的 “news.display” 设置项 “%s”。"
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "请设定 $EDITOR 环境变量"
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr "无法在只读目录中运行构建"
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr "没有 ID 为 %s 的生成结果"
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr "无法移除当前生成结果 %s"
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr "正在移除生成结果 %s"
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr "没有即将过期的生成结果"
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr "似乎没有安装 home-manager 软件包。"
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr "未知参数 %s"
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr "这将会从系统中移除 Home Manager。"
#: home-manager/home-manager:808
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "这是试运行结果,没有实际卸载任何软件包。"
#: home-manager/home-manager:812
msgid "Really uninstall Home Manager?"
msgstr "确定要卸载 Home Manager 吗?"
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr "正在切换至空的 Home Manager 配置 ..."
#: home-manager/home-manager:846
msgid "Yay!"
msgstr "好耶!"
#: home-manager/home-manager:851
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager 已卸载,但未改动您的 home.nix 配置文件。"
#: home-manager/home-manager:1063
msgid "expire-generations expects one argument, got %d."
msgstr "expire-generations 须要一个参数,但获取到了 %d 个。"
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr "未知命令:%s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."
msgstr "此配置文件/变体不可构建,请在 nix-shell 中运行它。" msgstr "此配置文件/变体不可构建,请使用 nix-shell 运行它。"
#~ msgid "Sorry, this command is not yet supported in flake setup"
#~ msgstr "抱歉,当前命令暂不支持在 flake 配置中使用"
#~ msgid "Creating initial Home Manager configuration..."
#~ msgstr "正在创建初始 Home Manager 配置 ..."
#~ msgid "Remove all Home Manager generations?"
#~ msgstr "要移除所有 Home Manager 配置世代吗?"
#~ msgid "All generations are now eligible for garbage collection."
#~ msgstr "所有世代现在均符合垃圾回收的条件。"
#~ msgid "Leaving generations but they may still be garbage collected."
#~ msgstr "保留世代,但它们仍然可能被垃圾回收。"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Home Manager\n" "Project-Id-Version: Home Manager\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n" "Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2022-03-26 15:08+0100\n" "POT-Creation-Date: 2023-07-30 09:08+0200\n"
"PO-Revision-Date: 2021-12-29 08:48+0000\n" "PO-Revision-Date: 2021-12-29 08:48+0000\n"
"Last-Translator: WhiredPlanck <fungdaat31@outlook.com>\n" "Last-Translator: WhiredPlanck <fungdaat31@outlook.com>\n"
"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/" "Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
@ -19,132 +19,88 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.10.1\n" "X-Generator: Weblate 4.10.1\n"
#: home-manager/home-manager:60 #: home-manager/home-manager:71
msgid "No configuration file found at %s" msgid "No configuration file found at %s"
msgstr "未在 %s 處找到配置檔案" msgstr "未在 %s 處找到配置檔案"
#: home-manager/home-manager:79 #. 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:182
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" msgid "No configuration file found. Please create one at %s"
msgstr "未找到配置檔案。請在 %s 處建立一份" msgstr "未找到配置檔案。請在 %s 處建立一份"
#: 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 #: 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 fallowing.\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:164
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:219
msgid "Can't inspect options of a flake configuration" msgid "Can't inspect options of a flake configuration"
msgstr "無法檢查 flake 配置中的選項" msgstr "無法檢查 flake 配置中的選項"
#: home-manager/home-manager:162 #: home-manager/home-manager:281 home-manager/home-manager:304
msgid "Can't instantiate a flake configuration" #: home-manager/home-manager:1023
msgstr "無法建立 flake 配置例項"
#: home-manager/home-manager:237
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” 命令進行閱讀。"
#: home-manager/home-manager:251
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "未知的 “news.display” 設定項 “%s”。"
#: home-manager/home-manager:258
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "請設定 $EDITOR 環境變數"
#: home-manager/home-manager:273
msgid "Cannot run build in read-only directory"
msgstr "無法在只讀目錄中執行構建"
#: home-manager/home-manager:355
msgid "No generation with ID %s"
msgstr "沒有 ID 為 %s 的世代"
#: home-manager/home-manager:357
msgid "Cannot remove the current generation %s"
msgstr "無法移除當前世代 %s"
#: home-manager/home-manager:359
msgid "Removing generation %s"
msgstr "正在移除世代 %s"
#: home-manager/home-manager:385
msgid "No generations to expire"
msgstr "沒有即將過期的世代"
#: home-manager/home-manager:396
msgid "No home-manager packages seem to be installed."
msgstr "似乎沒有安裝 home-manager 軟體包。"
#: home-manager/home-manager:453
msgid "Unknown argument %s"
msgstr "未知引數 %s"
#: home-manager/home-manager:469
msgid "This will remove Home Manager from your system."
msgstr "這將會從系統中移除 Home Manager。"
#: home-manager/home-manager:472
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "這是試執行結果,沒有實際解除安裝任何軟體包。"
#: home-manager/home-manager:476
msgid "Really uninstall Home Manager?"
msgstr "確定要解除安裝 Home Manager 嗎?"
#: home-manager/home-manager:481
msgid "Switching to empty Home Manager configuration..."
msgstr "正在切換至空的 Home Manager 配置 ..."
#: home-manager/home-manager:493
msgid "Yay!"
msgstr "好耶!"
#: home-manager/home-manager:500
msgid "Remove all Home Manager generations?"
msgstr "要移除所有 Home Manager 配置世代嗎?"
#: home-manager/home-manager:507
msgid "All generations are now eligible for garbage collection."
msgstr "所有世代現在均符合垃圾回收的條件。"
#: home-manager/home-manager:510
msgid "Leaving generations but they may still be garbage collected."
msgstr "保留世代,但它們仍然可能被垃圾回收。"
#: home-manager/home-manager:514
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager 已解除安裝,但未改動您的 home.nix 配置檔案。"
#: home-manager/home-manager:673
msgid "%s: unknown option '%s'" msgid "%s: unknown option '%s'"
msgstr "%s未知選項 %s" msgstr "%s未知選項 %s"
#: home-manager/home-manager:674 #: home-manager/home-manager:286 home-manager/home-manager:1024
msgid "Run '%s --help' for usage help" msgid "Run '%s --help' for usage help"
msgstr "執行 %s --help 獲取用法幫助" msgstr "執行 %s --help 獲取用法幫助"
#: home-manager/home-manager:708 #: home-manager/home-manager:312 home-manager/home-manager:411
msgid "expire-generations expects one argument, got %d." msgid "The file %s already exists, leaving it unchanged..."
msgstr "expire-generations 須要一個引數,但獲取到了 %d 個。" msgstr ""
#: home-manager/home-manager:730 #: home-manager/home-manager:314 home-manager/home-manager:413
msgid "Unknown command: %s" msgid "Creating %s..."
msgstr "未知命令:%s" msgstr ""
#: home-manager/install.nix:22 #: home-manager/home-manager:455
msgid "Creating initial Home Manager configuration..."
msgstr "正在建立初始 Home Manager 配置 ..."
#: home-manager/install.nix:66
msgid "Creating initial Home Manager generation..." msgid "Creating initial Home Manager generation..."
msgstr "正在建立初始 Home Manager 世代 ..." msgstr "正在建立初始 Home Manager 世代 ..."
#. translators: The "%s" specifier will be replaced by a file path. #. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/install.nix:71 #: home-manager/home-manager:460
msgid "" msgid ""
"All done! The home-manager tool should now be installed and you can edit\n" "All done! The home-manager tool should now be installed and you can edit\n"
"\n" "\n"
@ -161,7 +117,7 @@ msgstr ""
"來檢視所有可用選項。" "來檢視所有可用選項。"
#. translators: The "%s" specifier will be replaced by a URL. #. translators: The "%s" specifier will be replaced by a URL.
#: home-manager/install.nix:76 #: home-manager/home-manager:465
msgid "" msgid ""
"Uh oh, the installation failed! Please create an issue at\n" "Uh oh, the installation failed! Please create an issue at\n"
"\n" "\n"
@ -175,6 +131,103 @@ msgstr ""
"\n" "\n"
"處建立 Issue 告知我們。" "處建立 Issue 告知我們。"
#: home-manager/install.nix:83 #. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:476
msgid "Can't instantiate a flake configuration"
msgstr "無法建立 flake 配置例項"
#: home-manager/home-manager:552
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” 命令進行閱讀。"
#: home-manager/home-manager:566
msgid "Unknown \"news.display\" setting \"%s\"."
msgstr "未知的 “news.display” 設定項 “%s”。"
#: home-manager/home-manager:573
#, sh-format
msgid "Please set the $EDITOR environment variable"
msgstr "請設定 $EDITOR 環境變數"
#: home-manager/home-manager:588
msgid "Cannot run build in read-only directory"
msgstr "無法在只讀目錄中執行構建"
#: home-manager/home-manager:666
msgid "No generation with ID %s"
msgstr "沒有 ID 為 %s 的世代"
#: home-manager/home-manager:668
msgid "Cannot remove the current generation %s"
msgstr "無法移除當前世代 %s"
#: home-manager/home-manager:670
msgid "Removing generation %s"
msgstr "正在移除世代 %s"
#: home-manager/home-manager:689
msgid "No generations to expire"
msgstr "沒有即將過期的世代"
#: home-manager/home-manager:700
msgid "No home-manager packages seem to be installed."
msgstr "似乎沒有安裝 home-manager 軟體包。"
#: home-manager/home-manager:781
msgid "Unknown argument %s"
msgstr "未知引數 %s"
#: home-manager/home-manager:805
msgid "This will remove Home Manager from your system."
msgstr "這將會從系統中移除 Home Manager。"
#: home-manager/home-manager:808
msgid "This is a dry run, nothing will actually be uninstalled."
msgstr "這是試執行結果,沒有實際解除安裝任何軟體包。"
#: home-manager/home-manager:812
msgid "Really uninstall Home Manager?"
msgstr "確定要解除安裝 Home Manager 嗎?"
#: home-manager/home-manager:818
msgid "Switching to empty Home Manager configuration..."
msgstr "正在切換至空的 Home Manager 配置 ..."
#: home-manager/home-manager:846
msgid "Yay!"
msgstr "好耶!"
#: home-manager/home-manager:851
msgid "Home Manager is uninstalled but your home.nix is left untouched."
msgstr "Home Manager 已解除安裝,但未改動您的 home.nix 配置檔案。"
#: home-manager/home-manager:1063
msgid "expire-generations expects one argument, got %d."
msgstr "expire-generations 須要一個引數,但獲取到了 %d 個。"
#: home-manager/home-manager:1085
msgid "Unknown command: %s"
msgstr "未知命令:%s"
#: home-manager/install.nix:18
msgid "This derivation is not buildable, please run it using nix-shell." msgid "This derivation is not buildable, please run it using nix-shell."
msgstr "此配置檔案/變體不可構建,請在 nix-shell 中執行它。" msgstr "此配置檔案/變體不可構建,請在 nix-shell 中執行它。"
#~ msgid "Creating initial Home Manager configuration..."
#~ msgstr "正在建立初始 Home Manager 配置 ..."
#~ msgid "Remove all Home Manager generations?"
#~ msgstr "要移除所有 Home Manager 配置世代嗎?"
#~ msgid "All generations are now eligible for garbage collection."
#~ msgstr "所有世代現在均符合垃圾回收的條件。"
#~ msgid "Leaving generations but they may still be garbage collected."
#~ msgstr "保留世代,但它們仍然可能被垃圾回收。"

View file

@ -0,0 +1,163 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.accounts.calendar;
localModule = name:
types.submodule {
options = {
path = mkOption {
type = types.str;
default = "${cfg.basePath}/${name}";
defaultText = "accounts.calendar.basePath/name";
description = "The path of the storage.";
};
type = mkOption {
type = types.enum [ "filesystem" "singlefile" ];
description = "The type of the storage.";
};
fileExt = mkOption {
type = types.nullOr types.str;
default = null;
description = "The file extension to use.";
};
encoding = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
File encoding for items, both content and file name.
Defaults to UTF-8.
'';
};
};
};
remoteModule = types.submodule {
options = {
type = mkOption {
type = types.enum [ "caldav" "http" "google_calendar" ];
description = "The type of the storage.";
};
url = mkOption {
type = types.nullOr types.str;
default = null;
description = "The URL of the storage.";
};
userName = mkOption {
type = types.nullOr types.str;
default = null;
description = "User name for authentication.";
};
# userNameCommand = mkOption {
# type = types.nullOr (types.listOf types.str);
# default = null;
# example = [ "~/get-username.sh" ];
# description = ''
# A command that prints the user name to standard output.
# '';
# };
passwordCommand = mkOption {
type = types.nullOr (types.listOf types.str);
default = null;
example = [ "pass" "caldav" ];
description = ''
A command that prints the password to standard output.
'';
};
};
};
calendarOpts = { name, config, ... }: {
options = {
name = mkOption {
type = types.str;
readOnly = true;
description = ''
Unique identifier of the calendar. This is set to the
attribute name of the calendar configuration.
'';
};
primary = mkOption {
type = types.bool;
default = false;
description = ''
Whether this is the primary account. Only one account may be
set as primary.
'';
};
primaryCollection = mkOption {
type = types.str;
description = ''
The primary collection of the account. Required when an
account has multiple collections.
'';
};
local = mkOption {
type = types.nullOr (localModule name);
default = null;
description = ''
Local configuration for the calendar.
'';
};
remote = mkOption {
type = types.nullOr remoteModule;
default = null;
description = ''
Remote configuration for the calendar.
'';
};
};
config = { name = name; };
};
in {
options.accounts.calendar = {
basePath = mkOption {
type = types.str;
apply = p:
if hasPrefix "/" p then p else "${config.home.homeDirectory}/${p}";
description = ''
The base directory in which to save calendars. May be a
relative path, in which case it is relative the home
directory.
'';
};
accounts = mkOption {
type = types.attrsOf (types.submodule [
calendarOpts
(import ../programs/vdirsyncer-accounts.nix)
(import ../programs/khal-accounts.nix)
(import ../programs/khal-calendar-accounts.nix)
]);
default = { };
description = "List of calendars.";
};
};
config = mkIf (cfg.accounts != { }) {
assertions = let
primaries =
catAttrs "name" (filter (a: a.primary) (attrValues cfg.accounts));
in [{
assertion = length primaries <= 1;
message = "Must have at most one primary calendar account but found "
+ toString (length primaries) + ", namely "
+ concatStringsSep ", " primaries;
}];
};
}

View file

@ -0,0 +1,134 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.accounts.contact;
localModule = name:
types.submodule {
options = {
path = mkOption {
type = types.str;
default = "${cfg.basePath}/${name}";
defaultText = "accounts.contact.basePath/name";
description = "The path of the storage.";
};
type = mkOption {
type = types.enum [ "filesystem" "singlefile" ];
description = "The type of the storage.";
};
fileExt = mkOption {
type = types.nullOr types.str;
default = null;
description = "The file extension to use.";
};
encoding = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
File encoding for items, both content and file name.
Defaults to UTF-8.
'';
};
};
};
remoteModule = types.submodule {
options = {
type = mkOption {
type = types.enum [ "carddav" "http" "google_contacts" ];
description = "The type of the storage.";
};
url = mkOption {
type = types.nullOr types.str;
default = null;
description = "The URL of the storage.";
};
userName = mkOption {
type = types.nullOr types.str;
default = null;
description = "User name for authentication.";
};
# userNameCommand = mkOption {
# type = types.nullOr (types.listOf types.str);
# default = null;
# example = [ "~/get-username.sh" ];
# description = ''
# A command that prints the user name to standard output.
# '';
# };
passwordCommand = mkOption {
type = types.nullOr (types.listOf types.str);
default = null;
example = [ "pass" "caldav" ];
description = ''
A command that prints the password to standard output.
'';
};
};
};
contactOpts = { name, config, ... }: {
options = {
name = mkOption {
type = types.str;
readOnly = true;
description = ''
Unique identifier of the contact account. This is set to the
attribute name of the contact configuration.
'';
};
local = mkOption {
type = types.nullOr (localModule name);
default = null;
description = ''
Local configuration for the contacts.
'';
};
remote = mkOption {
type = types.nullOr remoteModule;
default = null;
description = ''
Remote configuration for the contacts.
'';
};
};
config = { name = name; };
};
in {
options.accounts.contact = {
basePath = mkOption {
type = types.str;
apply = p:
if hasPrefix "/" p then p else "${config.home.homeDirectory}/${p}";
description = ''
The base directory in which to save contacts. May be a
relative path, in which case it is relative the home
directory.
'';
};
accounts = mkOption {
type = types.attrsOf (types.submodule [
contactOpts
(import ../programs/vdirsyncer-accounts.nix)
(import ../programs/khal-accounts.nix)
]);
default = { };
description = "List of contacts.";
};
};
}

View file

@ -11,7 +11,7 @@ let
key = mkOption { key = mkOption {
type = types.str; type = types.str;
description = '' description = ''
The key to use as listed in <command>gpg --list-keys</command>. The key to use as listed in {command}`gpg --list-keys`.
''; '';
}; };
@ -99,7 +99,7 @@ let
description = '' description = ''
Path to file containing certificate authorities that should Path to file containing certificate authorities that should
be used to validate the connection authenticity. If be used to validate the connection authenticity. If
<literal>null</literal> then the system default is used. `null` then the system default is used.
Note, if set then the system default may still be accepted. Note, if set then the system default may still be accepted.
''; '';
}; };
@ -122,7 +122,7 @@ let
example = 993; example = 993;
description = '' description = ''
The port on which the IMAP server listens. If The port on which the IMAP server listens. If
<literal>null</literal> then the default port is used. `null` then the default port is used.
''; '';
}; };
@ -144,10 +144,9 @@ let
example = "jmap.example.org"; example = "jmap.example.org";
description = '' description = ''
Hostname of JMAP server. Hostname of JMAP server.
</para><para>
If both this option and <xref If both this option and [](#opt-accounts.email.accounts._name_.jmap.sessionUrl) are specified,
linkend="opt-accounts.email.accounts._name_.jmap.sessionUrl"/> are specified, `host` is preferred by applications when establishing a
<code>host</code> is preferred by applications when establishing a
session. session.
''; '';
}; };
@ -158,10 +157,9 @@ let
example = "https://jmap.example.org:443/.well-known/jmap"; example = "https://jmap.example.org:443/.well-known/jmap";
description = '' description = ''
URL for the JMAP Session resource. URL for the JMAP Session resource.
</para><para>
If both this option and <xref If both this option and [](#opt-accounts.email.accounts._name_.jmap.host) are specified,
linkend="opt-accounts.email.accounts._name_.jmap.host"/> are specified, `host` is preferred by applications when establishing a
<code>host</code> is preferred by applications when establishing a
session. session.
''; '';
}; };
@ -184,7 +182,7 @@ let
example = 465; example = 465;
description = '' description = ''
The port on which the SMTP server listens. If The port on which the SMTP server listens. If
<literal>null</literal> then the default port is used. `null` then the default port is used.
''; '';
}; };
@ -255,7 +253,7 @@ let
Some email providers have peculiar behavior that require Some email providers have peculiar behavior that require
special treatment. This option is therefore intended to special treatment. This option is therefore intended to
indicate the nature of the provider. indicate the nature of the provider.
</para><para>
When this indicates a specific provider then, for example, When this indicates a specific provider then, for example,
the IMAP, SMTP, and JMAP server configuration may be set the IMAP, SMTP, and JMAP server configuration may be set
automatically. automatically.
@ -321,7 +319,7 @@ let
}; };
drafts = mkOption { drafts = mkOption {
type = types.str; type = types.nullOr types.str;
default = "Drafts"; default = "Drafts";
description = '' description = ''
Relative path of the drafts mail folder. Relative path of the drafts mail folder.

View file

@ -29,7 +29,7 @@ let
x11 = { x11 = {
enable = mkEnableOption '' enable = mkEnableOption ''
x11 config generation for <option>home.pointerCursor</option> x11 config generation for {option}`home.pointerCursor`
''; '';
defaultCursor = mkOption { defaultCursor = mkOption {
@ -42,7 +42,7 @@ let
gtk = { gtk = {
enable = mkEnableOption '' enable = mkEnableOption ''
gtk config generation for <option>home.pointerCursor</option> gtk config generation for {option}`home.pointerCursor`
''; '';
}; };
}; };
@ -95,15 +95,21 @@ in {
type = types.nullOr pointerCursorModule; type = types.nullOr pointerCursorModule;
default = null; default = null;
description = '' description = ''
Cursor configuration. Set to <literal>null</literal> to disable. Cursor configuration. Set to `null` to disable.
</para><para>
Top-level options declared under this submodule are backend indepedent Top-level options declared under this submodule are backend independent
options. Options declared under namespaces such as <literal>x11</literal> options. Options declared under namespaces such as `x11`
are backend specific options. By default, only backend independent cursor are backend specific options. By default, only backend independent cursor
configurations are generated. If you need configurations for specific configurations are generated. If you need configurations for specific
backends, you can toggle them via the enable option. For example, backends, you can toggle them via the enable option. For example,
<xref linkend="opt-home.pointerCursor.x11.enable"/> [](#opt-home.pointerCursor.x11.enable)
will enable x11 cursor configurations. will enable x11 cursor configurations.
Note that this will merely generate the cursor configurations.
To apply the configurations, the relevant subsytems must also be configured.
For example, [](#opt-home.pointerCursor.gtk.enable) will generate
the gtk cursor configuration, but [](#opt-gtk.enable) needs
to be set for it to be applied.
''; '';
}; };
}; };
@ -119,7 +125,7 @@ in {
# Set name in icons theme, for compatibility with AwesomeWM etc. See: # Set name in icons theme, for compatibility with AwesomeWM etc. See:
# https://github.com/nix-community/home-manager/issues/2081 # https://github.com/nix-community/home-manager/issues/2081
# https://wiki.archlinux.org/title/Cursor_themes#XDG_specification # https://wiki.archlinux.org/title/Cursor_themes#XDG_specification
home.file.".icons/default/index.theme".text = '' xdg.dataFile."icons/default/index.theme".text = ''
[icon theme] [icon theme]
Name=Default Name=Default
Comment=Default Cursor Theme Comment=Default Cursor Theme
@ -133,6 +139,8 @@ in {
home.sessionVariables = { home.sessionVariables = {
XCURSOR_PATH = mkDefault ("$XCURSOR_PATH\${XCURSOR_PATH:+:}" XCURSOR_PATH = mkDefault ("$XCURSOR_PATH\${XCURSOR_PATH:+:}"
+ "${config.home.profileDirectory}/share/icons"); + "${config.home.profileDirectory}/share/icons");
XCURSOR_SIZE = mkDefault cfg.size;
XCURSOR_THEME = mkDefault cfg.name;
}; };
} }

View file

@ -15,15 +15,16 @@
# below for changes: # below for changes:
# https://github.com/NixOS/nixpkgs/blob/nixpkgs-unstable/pkgs/development/libraries/glibc/nix-locale-archive.patch # https://github.com/NixOS/nixpkgs/blob/nixpkgs-unstable/pkgs/development/libraries/glibc/nix-locale-archive.patch
{ lib, pkgs, ... }: { lib, pkgs, config, ... }:
with lib; with lib;
let let
inherit (config.i18n) glibcLocales;
inherit (pkgs.glibcLocales) version; inherit (glibcLocales) version;
archivePath = "${pkgs.glibcLocales}/lib/locale/locale-archive"; archivePath = "${glibcLocales}/lib/locale/locale-archive";
# lookup the version of glibcLocales and set the appropriate environment vars # lookup the version of glibcLocales and set the appropriate environment vars
localeVars = if versionAtLeast version "2.27" then { localeVars = if versionAtLeast version "2.27" then {
@ -36,6 +37,31 @@ let
in { in {
meta.maintainers = with maintainers; [ midchildan ]; meta.maintainers = with maintainers; [ midchildan ];
options = {
i18n.glibcLocales = mkOption {
type = types.path;
description = ''
Customized `glibcLocales` package providing
the `LOCALE_ARCHIVE_*` environment variable.
This option only applies to the Linux platform.
When Home Manager is configured with NixOS, the default value
will be set to {var}`i18n.glibcLocales` from the
system configuration.
'';
example = literalExpression ''
pkgs.glibcLocales.override {
allLocales = false;
locales = [ "en_US.UTF-8/UTF-8" ];
}
'';
# NB. See nixos/default.nix for NixOS default.
default = pkgs.glibcLocales;
defaultText = literalExpression "pkgs.glibcLocales";
};
};
config = mkIf pkgs.stdenv.hostPlatform.isLinux { config = mkIf pkgs.stdenv.hostPlatform.isLinux {
# For shell sessions. # For shell sessions.
home.sessionVariables = localeVars; home.sessionVariables = localeVars;

View file

@ -4,7 +4,7 @@ with lib;
let let
cfg = config.home.file; cfg = filterAttrs (n: f: f.enable) config.home.file;
homeDirectory = config.home.homeDirectory; homeDirectory = config.home.homeDirectory;
@ -28,7 +28,7 @@ in
home.file = mkOption { home.file = mkOption {
description = "Attribute set of files to link into the user home."; description = "Attribute set of files to link into the user home.";
default = {}; default = {};
type = fileType "<envar>HOME</envar>" homeDirectory; type = fileType "home.file" "{env}`HOME`" homeDirectory;
}; };
home-files = mkOption { home-files = mkOption {
@ -272,7 +272,10 @@ in
$DRY_RUN_CMD nix-env $VERBOSE_ARG --profile "$genProfilePath" --set "$newGenPath" $DRY_RUN_CMD nix-env $VERBOSE_ARG --profile "$genProfilePath" --set "$newGenPath"
fi fi
$DRY_RUN_CMD ln -Tsf $VERBOSE_ARG "$newGenPath" "$newGenGcPath" $DRY_RUN_CMD nix-store --realise "$newGenPath" --add-root "$newGenGcPath" > "$DRY_RUN_NULL"
if [[ -e "$legacyGenGcPath" ]]; then
$DRY_RUN_CMD rm $VERBOSE_ARG "$legacyGenGcPath"
fi
else else
_i "No change so reusing latest profile generation %s" "$oldGenNum" _i "No change so reusing latest profile generation %s" "$oldGenNum"
fi fi

View file

@ -119,11 +119,11 @@ let
else "us"; else "us";
defaultText = literalExpression "null"; defaultText = literalExpression "null";
description = '' description = ''
Keyboard layout. If <literal>null</literal>, then the system Keyboard layout. If `null`, then the system
configuration will be used. configuration will be used.
</para><para>
This defaults to <literal>null</literal> for state This defaults to `null` for state
version  19.09 and <literal>"us"</literal> otherwise. version  19.09 and `"us"` otherwise.
''; '';
}; };
@ -154,11 +154,11 @@ let
defaultText = literalExpression "null"; defaultText = literalExpression "null";
example = "colemak"; example = "colemak";
description = '' description = ''
X keyboard variant. If <literal>null</literal>, then the X keyboard variant. If `null`, then the
system configuration will be used. system configuration will be used.
</para><para>
This defaults to <literal>null</literal> for state This defaults to `null` for state
version  19.09 and <literal>""</literal> otherwise. version  19.09 and `""` otherwise.
''; '';
}; };
}; };
@ -229,7 +229,7 @@ in
"null" for state version 21.11 "null" for state version 21.11
''; '';
description = '' description = ''
Keyboard configuration. Set to <literal>null</literal> to Keyboard configuration. Set to `null` to
disable Home Manager keyboard management. disable Home Manager keyboard management.
''; '';
}; };
@ -246,11 +246,11 @@ in
description = '' description = ''
An attribute set that maps aliases (the top level attribute names An attribute set that maps aliases (the top level attribute names
in this option) to command strings or directly to build outputs. in this option) to command strings or directly to build outputs.
</para><para>
This option should only be used to manage simple aliases that are This option should only be used to manage simple aliases that are
compatible across all shells. If you need to use a shell specific compatible across all shells. If you need to use a shell specific
feature then make sure to use a shell specific option, for example feature then make sure to use a shell specific option, for example
<xref linkend="opt-programs.bash.shellAliases"/> for Bash. [](#opt-programs.bash.shellAliases) for Bash.
''; '';
}; };
@ -260,34 +260,43 @@ in
example = { EDITOR = "emacs"; GS_OPTIONS = "-sPAPERSIZE=a4"; }; example = { EDITOR = "emacs"; GS_OPTIONS = "-sPAPERSIZE=a4"; };
description = '' description = ''
Environment variables to always set at login. Environment variables to always set at login.
</para><para>
The values may refer to other environment variables using The values may refer to other environment variables using
POSIX.2 style variable references. For example, a variable POSIX.2 style variable references. For example, a variable
<varname>parameter</varname> may be referenced as {var}`parameter` may be referenced as
<code>$parameter</code> or <code>''${parameter}</code>. A `$parameter` or `''${parameter}`. A
default value <literal>foo</literal> may be given as per default value `foo` may be given as per
<code>''${parameter:-foo}</code> and, similarly, an alternate `''${parameter:-foo}` and, similarly, an alternate
value <literal>bar</literal> can be given as per value `bar` can be given as per
<code>''${parameter:+bar}</code>. `''${parameter:+bar}`.
</para><para>
Note, these variables may be set in any order so no session Note, these variables may be set in any order so no session
variable may have a runtime dependency on another session variable may have a runtime dependency on another session
variable. In particular code like variable. In particular code like
<programlisting language="nix"> ```nix
home.sessionVariables = { home.sessionVariables = {
FOO = "Hello"; FOO = "Hello";
BAR = "$FOO World!"; BAR = "$FOO World!";
}; };
</programlisting> ```
may not work as expected. If you need to reference another may not work as expected. If you need to reference another
session variable, then do so inside Nix instead. The above session variable, then do so inside Nix instead. The above
example then becomes example then becomes
<programlisting language="nix"> ```nix
home.sessionVariables = { home.sessionVariables = {
FOO = "Hello"; FOO = "Hello";
BAR = "''${config.home.sessionVariables.FOO} World!"; BAR = "''${config.home.sessionVariables.FOO} World!";
}; };
</programlisting> ```
'';
};
home.sessionVariablesPackage = mkOption {
type = types.package;
internal = true;
description = ''
The package containing the
{file}`hm-session-vars.sh` file.
''; '';
}; };
@ -300,14 +309,12 @@ in
".git/safe/../../bin" ".git/safe/../../bin"
]; ];
description = '' description = ''
Extra directories to add to <envar>PATH</envar>. Extra directories to add to {env}`PATH`.
</para><para> These directories are added to the {env}`PATH` variable in a
double-quoted context, so expressions like `$HOME` are
These directories are added to the <envar>PATH</envar> variable in a expanded by the shell. However, since expressions like `~` or
double-quoted context, so expressions like <code>$HOME</code> are `*` are escaped, they will end up in the {env}`PATH`
expanded by the shell. However, since expressions like <code>~</code> or
<code>*</code> are escaped, they will end up in the <envar>PATH</envar>
verbatim. verbatim.
''; '';
}; };
@ -318,7 +325,7 @@ in
internal = true; internal = true;
description = '' description = ''
Extra configuration to add to the Extra configuration to add to the
<filename>hm-session-vars.sh</filename> file. {file}`hm-session-vars.sh` file.
''; '';
}; };
@ -334,7 +341,7 @@ in
example = [ "doc" "info" "devdoc" ]; example = [ "doc" "info" "devdoc" ];
description = '' description = ''
List of additional package outputs of the packages List of additional package outputs of the packages
<varname>home.packages</varname> that should be installed into {var}`home.packages` that should be installed into
the user environment. the user environment.
''; '';
}; };
@ -354,9 +361,9 @@ in
''; '';
description = '' description = ''
Whether the activation script should start with an empty Whether the activation script should start with an empty
<envar>PATH</envar> variable. When <literal>false</literal> then the {env}`PATH` variable. When `false` then the
user's <envar>PATH</envar> will be accessible in the script. It is user's {env}`PATH` will be accessible in the script. It is
recommended to keep this at <literal>true</literal> to avoid recommended to keep this at `true` to avoid
uncontrolled use of tools found in PATH. uncontrolled use of tools found in PATH.
''; '';
}; };
@ -378,35 +385,29 @@ in
meaning running twice or more times produces the same result meaning running twice or more times produces the same result
as running it once. as running it once.
</para><para>
If the script block produces any observable side effect, such If the script block produces any observable side effect, such
as writing or deleting files, then it as writing or deleting files, then it
<emphasis>must</emphasis> be placed after the special *must* be placed after the special
<literal>writeBoundary</literal> script block. Prior to the `writeBoundary` script block. Prior to the
write boundary one can place script blocks that verifies, but write boundary one can place script blocks that verifies, but
does not modify, the state of the system and exits if an does not modify, the state of the system and exits if an
unexpected state is found. For example, the unexpected state is found. For example, the
<literal>checkLinkTargets</literal> script block checks for `checkLinkTargets` script block checks for
collisions between non-managed files and files defined in collisions between non-managed files and files defined in
<xref linkend="opt-home.file"/>. [](#opt-home.file).
</para><para> A script block should respect the {var}`DRY_RUN`
A script block should respect the <varname>DRY_RUN</varname>
variable, if it is set then the actions taken by the script variable, if it is set then the actions taken by the script
should be logged to standard out and not actually performed. should be logged to standard out and not actually performed.
The variable <varname>DRY_RUN_CMD</varname> is set to The variable {var}`DRY_RUN_CMD` is set to
<command>echo</command> if dry run is enabled. {command}`echo` if dry run is enabled.
</para><para>
A script block should also respect the A script block should also respect the
<varname>VERBOSE</varname> variable, and if set print {var}`VERBOSE` variable, and if set print
information on standard out that may be useful for debugging information on standard out that may be useful for debugging
any issue that may arise. The variable any issue that may arise. The variable
<varname>VERBOSE_ARG</varname> is set to {var}`VERBOSE_ARG` is set to
<option>--verbose</option> if verbose output is enabled. {option}`--verbose` if verbose output is enabled.
''; '';
}; };
@ -421,7 +422,7 @@ in
type = types.listOf types.package; type = types.listOf types.package;
default = [ ]; default = [ ];
description = '' description = ''
Extra packages to add to <envar>PATH</envar> within the activation Extra packages to add to {env}`PATH` within the activation
script. script.
''; '';
}; };
@ -446,14 +447,14 @@ in
home.enableNixpkgsReleaseCheck = mkOption { home.enableNixpkgsReleaseCheck = mkOption {
type = types.bool; type = types.bool;
default = false; # Temporarily disabled until release stabilizes. default = true;
description = '' description = ''
Determines whether to check for release version mismatch between Home Determines whether to check for release version mismatch between Home
Manager and Nixpkgs. Using mismatched versions is likely to cause errors Manager and Nixpkgs. Using mismatched versions is likely to cause errors
and unexpected behavior. It is therefore highly recommended to use a and unexpected behavior. It is therefore highly recommended to use a
release of Home Manager than corresponds with your chosen release of release of Home Manager that corresponds with your chosen release of
Nixpkgs. Nixpkgs.
</para><para>
When this option is enabled and a mismatch is detected then a warning When this option is enabled and a mismatch is detected then a warning
will be printed when the user configuration is being built. will be printed when the user configuration is being built.
''; '';
@ -474,8 +475,8 @@ in
warnings = warnings =
let let
hmRelease = fileContents ../.release; hmRelease = config.home.version.release;
nixpkgsRelease = pkgs.lib.trivial.release; nixpkgsRelease = lib.trivial.release;
releaseMismatch = releaseMismatch =
config.home.enableNixpkgsReleaseCheck config.home.enableNixpkgsReleaseCheck
&& hmRelease != nixpkgsRelease; && hmRelease != nixpkgsRelease;
@ -488,7 +489,7 @@ in
Using mismatched versions is likely to cause errors and unexpected Using mismatched versions is likely to cause errors and unexpected
behavior. It is therefore highly recommended to use a release of Home behavior. It is therefore highly recommended to use a release of Home
Manager than corresponds with your chosen release of Nixpkgs. Manager that corresponds with your chosen release of Nixpkgs.
If you insist then you can disable this warning by adding If you insist then you can disable this warning by adding
@ -508,6 +509,8 @@ in
if config.submoduleSupport.enable if config.submoduleSupport.enable
&& config.submoduleSupport.externalPackageInstall && config.submoduleSupport.externalPackageInstall
then "/etc/profiles/per-user/${cfg.username}" then "/etc/profiles/per-user/${cfg.username}"
else if config.nix.enable && (config.nix.settings.use-xdg-base-directories or false)
then "${config.xdg.stateHome}/nix/profile"
else cfg.homeDirectory + "/.nix-profile"; else cfg.homeDirectory + "/.nix-profile";
programs.bash.shellAliases = cfg.shellAliases; programs.bash.shellAliases = cfg.shellAliases;
@ -542,10 +545,8 @@ in
// //
(maybeSet "LC_MEASUREMENT" cfg.language.measurement); (maybeSet "LC_MEASUREMENT" cfg.language.measurement);
home.packages = [
# Provide a file holding all session variables. # Provide a file holding all session variables.
( home.sessionVariablesPackage = pkgs.writeTextFile {
pkgs.writeTextFile {
name = "hm-session-vars.sh"; name = "hm-session-vars.sh";
destination = "/etc/profile.d/hm-session-vars.sh"; destination = "/etc/profile.d/hm-session-vars.sh";
text = '' text = ''
@ -557,9 +558,9 @@ in
'' + lib.optionalString (cfg.sessionPath != [ ]) '' '' + lib.optionalString (cfg.sessionPath != [ ]) ''
export PATH="$PATH''${PATH:+:}${concatStringsSep ":" cfg.sessionPath}" export PATH="$PATH''${PATH:+:}${concatStringsSep ":" cfg.sessionPath}"
'' + cfg.sessionVariablesExtra; '' + cfg.sessionVariablesExtra;
} };
)
]; home.packages = [ config.home.sessionVariablesPackage ];
# A dummy entry acting as a boundary between the activation # A dummy entry acting as a boundary between the activation
# script's "check" and the "write" phases. # script's "check" and the "write" phases.
@ -584,7 +585,7 @@ in
if config.submoduleSupport.externalPackageInstall if config.submoduleSupport.externalPackageInstall
then then
'' ''
if [[ -e "$nixProfilePath"/manifest.json ]] ; then if [[ -e $HOME/.nix-profile/manifest.json ]] ; then
nix profile list \ nix profile list \
| { grep 'home-manager-path$' || test $? = 1; } \ | { grep 'home-manager-path$' || test $? = 1; } \
| cut -d ' ' -f 4 \ | cut -d ' ' -f 4 \
@ -597,18 +598,32 @@ in
'' ''
else else
'' ''
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 nixRemoveProfileByName() {
nixProfileList "$1" | xargs -t $DRY_RUN_CMD nix profile remove $VERBOSE_ARG
}
function nixReplaceProfile() { function nixReplaceProfile() {
local oldNix="$(command -v nix)" local oldNix="$(command -v nix)"
nix profile list \ nixRemoveProfileByName 'home-manager-path'
| { grep 'home-manager-path$' || test $? = 1; } \
| cut -d ' ' -f 4 \
| xargs -t $DRY_RUN_CMD nix profile remove $VERBOSE_ARG
$DRY_RUN_CMD $oldNix profile install $1 $DRY_RUN_CMD $oldNix profile install $1
} }
if [[ -e "$nixProfilePath"/manifest.json ]] ; then if [[ -e $HOME/.nix-profile/manifest.json ]] ; then
INSTALL_CMD="nix profile install" INSTALL_CMD="nix profile install"
INSTALL_CMD_ACTUAL="nixReplaceProfile" INSTALL_CMD_ACTUAL="nixReplaceProfile"
LIST_CMD="nix profile list" LIST_CMD="nix profile list"
@ -625,7 +640,7 @@ in
_iError $'Oops, Nix failed to install your new Home Manager profile!\n\nPerhaps there is a conflict with a package that was installed using\n"%s"? Try running\n\n %s\n\nand if there is a conflicting package you can remove it with\n\n %s\n\nThen try activating your Home Manager configuration again.' "$INSTALL_CMD" "$LIST_CMD" "$REMOVE_CMD_SYNTAX" _iError $'Oops, Nix failed to install your new Home Manager profile!\n\nPerhaps there is a conflict with a package that was installed using\n"%s"? Try running\n\n %s\n\nand if there is a conflicting package you can remove it with\n\n %s\n\nThen try activating your Home Manager configuration again.' "$INSTALL_CMD" "$LIST_CMD" "$REMOVE_CMD_SYNTAX"
exit 1 exit 1
fi fi
unset -f nixReplaceProfile unset -f nixProfileList nixRemoveProfileByName nixReplaceProfile
unset INSTALL_CMD INSTALL_CMD_ACTUAL LIST_CMD REMOVE_CMD_SYNTAX unset INSTALL_CMD INSTALL_CMD_ACTUAL LIST_CMD REMOVE_CMD_SYNTAX
'' ''
); );
@ -677,6 +692,7 @@ in
gettext gettext
gnugrep gnugrep
gnused gnused
jq
ncurses # For `tput`. ncurses # For `tput`.
] ]
++ config.home.extraActivationPath ++ config.home.extraActivationPath
@ -702,6 +718,11 @@ in
${builtins.readFile ./lib-bash/activation-init.sh} ${builtins.readFile ./lib-bash/activation-init.sh}
if [[ ! -v SKIP_SANITY_CHECKS ]]; then
checkUsername ${escapeShellArg config.home.username}
checkHomeDirectory ${escapeShellArg config.home.homeDirectory}
fi
${activationCmds} ${activationCmds}
''; '';
in in

View file

@ -22,8 +22,7 @@ let
''; '';
in { in {
imports = imports = [ ./fcitx5.nix ./hime.nix ./kime.nix ./nabi.nix ./uim.nix ];
[ ./fcitx.nix ./fcitx5.nix ./hime.nix ./kime.nix ./nabi.nix ./uim.nix ];
options.i18n = { options.i18n = {
inputMethod = { inputMethod = {
@ -31,55 +30,34 @@ in {
type = types.nullOr type = types.nullOr
(types.enum [ "fcitx" "fcitx5" "nabi" "uim" "hime" "kime" ]); (types.enum [ "fcitx" "fcitx5" "nabi" "uim" "hime" "kime" ]);
default = null; default = null;
example = "fcitx"; example = "fcitx5";
description = '' description = ''
Select the enabled input method. Input methods is a software to input Select the enabled input method. Input methods are software to input
symbols that are not available on standard input devices. symbols that are not available on standard input devices.
</para><para>
Input methods are specially used to input Chinese, Japanese and Korean Input methods are especially used to input Chinese, Japanese and
characters. Korean characters.
</para><para>
Currently the following input methods are available in Home Manager: Currently the following input methods are available in Home Manager:
<variablelist> `fcitx5`
<varlistentry> : A customizable lightweight input method.
<term><literal>fcitx</literal></term> The next generation of fcitx.
<listitem><para> Addons (including engines, dictionaries, skins) can be added using
A customizable lightweight input method [](#opt-i18n.inputMethod.fcitx5.addons).
extra input engines can be added using
<literal>i18n.inputMethod.fcitx.engines</literal>. `nabi`
</para></listitem> : A Korean input method based on XIM. Nabi doesn't support Qt 5.
</varlistentry>
<varlistentry> `uim`
<term><literal>fcitx5</literal></term> : The "universal input method" is a library with an XIM bridge.
<listitem><para> uim mainly supports Chinese, Japanese and Korean.
The next generation of fcitx,
addons (including engines, dictionaries, skins) can be added using `hime`
<literal>i18n.inputMethod.fcitx5.addons</literal>. : An extremely easy-to-use input method framework.
</para></listitem>
</varlistentry> `kime`
<varlistentry> : A Korean IME.
<term><literal>nabi</literal></term>
<listitem><para>
A Korean input method based on XIM. Nabi doesn't support Qt 5.
</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>uim</literal></term>
<listitem><para>
The universal input method, is a library with a XIM bridge.
uim mainly support Chinese, Japanese and Korean.
</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>hime</literal></term>
<listitem><para>An extremely easy-to-use input method framework.</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>kime</literal></term>
<listitem><para>A Korean IME.</para></listitem>
</varlistentry>
</variablelist>
''; '';
}; };
@ -97,6 +75,10 @@ in {
config = mkIf (cfg.enabled != null) { config = mkIf (cfg.enabled != null) {
assertions = [ assertions = [
(hm.assertions.assertPlatform "i18n.inputMethod" pkgs platforms.linux) (hm.assertions.assertPlatform "i18n.inputMethod" pkgs platforms.linux)
{
assertion = cfg.enabled != "fcitx";
message = "fcitx has been removed, please use fcitx5 instead";
}
]; ];
home.packages = [ cfg.package gtk2Cache gtk3Cache ]; home.packages = [ cfg.package gtk2Cache gtk3Cache ];

View file

@ -1,50 +0,0 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.i18n.inputMethod.fcitx;
fcitxPackage = pkgs.fcitx.override { plugins = cfg.engines; };
fcitxEngine = types.package // {
name = "fcitx-engine";
check = x:
types.package.check x && attrByPath [ "meta" "isFcitxEngine" ] false x;
};
in {
options = {
i18n.inputMethod.fcitx = {
engines = mkOption {
type = with types; listOf fcitxEngine;
default = [ ];
example = literalExpression "with pkgs.fcitx-engines; [ mozc hangul ]";
description = let
enginesDrv = filterAttrs (const isDerivation) pkgs.fcitx-engines;
engines = concatStringsSep ", "
(map (name: "<literal>${name}</literal>") (attrNames enginesDrv));
in "Enabled Fcitx engines. Available engines are: ${engines}.";
};
};
};
config = mkIf (config.i18n.inputMethod.enabled == "fcitx") {
i18n.inputMethod.package = fcitxPackage;
home.sessionVariables = {
GTK_IM_MODULE = "fcitx";
QT_IM_MODULE = "fcitx";
XMODIFIERS = "@im=fcitx";
};
systemd.user.services.fcitx-daemon = {
Unit = {
Description = "Fcitx input method editor";
PartOf = [ "graphical-session.desktop" ];
};
Service.ExecStart = "${fcitxPackage}/bin/fcitx";
Install.WantedBy = [ "graphical-session.target" ];
};
};
}

View file

@ -28,7 +28,7 @@ in {
''; '';
description = '' description = ''
kime configuration. Refer to kime configuration. Refer to
<link xlink:href="https://github.com/Riey/kime/blob/develop/docs/CONFIGURATION.md"/> <https://github.com/Riey/kime/blob/develop/docs/CONFIGURATION.md>
for details on supported values. for details on supported values.
''; '';
}; };

View file

@ -19,16 +19,16 @@ let
example = literalExpression '' example = literalExpression ''
{ {
ProgramArguments = [ "/usr/bin/say" "Good afternoon" ]; ProgramArguments = [ "/usr/bin/say" "Good afternoon" ];
StartCalendarInterval = { StartCalendarInterval = [
{
Hour = 12; Hour = 12;
Minute = 0; Minute = 0;
}; }
];
} }
''; '';
description = '' description = ''
Define a launchd job. See <citerefentry> Define a launchd job. See {manpage}`launchd.plist(5)` for details.
<refentrytitle>launchd.plist</refentrytitle><manvolnum>5</manvolnum>
</citerefentry> for details.
''; '';
}; };
}; };

View file

@ -1,7 +1,7 @@
# launchd option type from nix-darwin # launchd option type from nix-darwin
# #
# Original Source: # Original Source:
# https://github.com/LnL7/nix-darwin/blob/a34dea2/modules/launchd/launchd.nix # https://github.com/LnL7/nix-darwin/blob/14a12e9/modules/launchd/launchd.nix
# Copyright 2017 Daiderd Jordan # Copyright 2017 Daiderd Jordan
# #
@ -28,6 +28,8 @@
with lib; with lib;
{ {
freeformType = with types; attrsOf anything; # added by Home Manager
options = { options = {
Label = mkOption { Label = mkOption {
type = types.str; type = types.str;
@ -38,17 +40,17 @@ with lib;
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = ''
This optional key is used as a hint to <literal>launchctl(1)</literal> that it should not submit this job to launchd when This optional key is used as a hint to `launchctl(1)` that it should not submit this job to launchd when
loading a job or jobs. The value of this key does NOT reflect the current state of the job on the running loading a job or jobs. The value of this key does NOT reflect the current state of the job on the running
system. If you wish to know whether a job is loaded in launchd, reading this key from a configuration system. If you wish to know whether a job is loaded in launchd, reading this key from a configuration
file yourself is not a sufficient test. You should query launchd for the presence of the job using file yourself is not a sufficient test. You should query launchd for the presence of the job using
the <literal>launchctl(1)</literal> list subcommand or use the ServiceManagement framework's the `launchctl(1)` list subcommand or use the ServiceManagement framework's
<literal>SMJobCopyDictionary()</literal> method. `SMJobCopyDictionary()` method.
Note that as of Mac OS X v10.6, this key's value in a configuration file conveys a default value, which Note that as of Mac OS X v10.6, this key's value in a configuration file conveys a default value, which
is changed with the [-w] option of the <literal>launchctl(1)</literal> load and unload subcommands. These subcommands no is changed with the [-w] option of the `launchctl(1)` load and unload subcommands. These subcommands no
longer modify the configuration file, so the value displayed in the configuration file is not necessarily longer modify the configuration file, so the value displayed in the configuration file is not necessarily
the value that <literal>launchctl(1)</literal> will apply. See <literal>launchctl(1)</literal> for more information. the value that `launchctl(1)` will apply. See `launchctl(1)` for more information.
Please also be mindful that you should only use this key if the provided on-demand and KeepAlive criteria Please also be mindful that you should only use this key if the provided on-demand and KeepAlive criteria
are insufficient to describe the conditions under which your job needs to run. The cost to have a are insufficient to describe the conditions under which your job needs to run. The cost to have a
@ -89,7 +91,7 @@ with lib;
default = null; default = null;
description = '' description = ''
This flag corresponds to the "wait" or "nowait" option of inetd. If true, then the listening This flag corresponds to the "wait" or "nowait" option of inetd. If true, then the listening
socket is passed via the standard in/out/error file descriptors. If false, then <literal>accept(2)</literal> is socket is passed via the standard in/out/error file descriptors. If false, then `accept(2)` is
called on behalf of the job, and the result is passed via the standard in/out/error descriptors. called on behalf of the job, and the result is passed via the standard in/out/error descriptors.
''; '';
}; };
@ -101,8 +103,8 @@ with lib;
type = types.nullOr (types.listOf types.str); type = types.nullOr (types.listOf types.str);
default = null; default = null;
description = '' description = ''
This configuration file only applies to the hosts listed with this key. Note: One should set kern.host-name kern.hostname This configuration file only applies to the hosts listed with this key. Note: One should set kern.hostname
name in <literal>sysctl.conf(5)</literal> for this feature to work reliably. in `sysctl.conf(5)` for this feature to work reliably.
''; '';
}; };
@ -110,8 +112,8 @@ with lib;
type = types.nullOr (types.listOf types.str); type = types.nullOr (types.listOf types.str);
default = null; default = null;
description = '' description = ''
This configuration file only applies to hosts NOT listed with this key. Note: One should set kern.host-name kern.hostname This configuration file only applies to hosts NOT listed with this key. Note: One should set kern.hostname
name in <literal>sysctl.conf(5)</literal> for this feature to work reliably. in `sysctl.conf(5)` for this feature to work reliably.
''; '';
}; };
@ -120,7 +122,7 @@ with lib;
default = null; default = null;
description = '' description = ''
This configuration file only applies to sessions of the type specified. This key is used in concert This configuration file only applies to sessions of the type specified. This key is used in concert
with the -S flag to <command>launchctl</command>. with the -S flag to {command}`launchctl`.
''; '';
}; };
@ -128,7 +130,7 @@ with lib;
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = '' description = ''
This key maps to the first argument of <literal>execvp(3)</literal>. If this key is missing, then the first element of This key maps to the first argument of `execvp(3)`. If this key is missing, then the first element of
the array of strings provided to the ProgramArguments will be used instead. This key is required in the array of strings provided to the ProgramArguments will be used instead. This key is required in
the absence of the ProgramArguments key. the absence of the ProgramArguments key.
''; '';
@ -138,8 +140,8 @@ with lib;
type = types.nullOr (types.listOf types.str); type = types.nullOr (types.listOf types.str);
default = null; default = null;
description = '' description = ''
This key maps to the second argument of <literal>execvp(3)</literal>. This key is required in the absence of the Program This key maps to the second argument of `execvp(3)`. This key is required in the absence of the Program
key. Please note: many people are confused by this key. Please read <literal>execvp(3)</literal> very carefully! key. Please note: many people are confused by this key. Please read `execvp(3)` very carefully!
''; '';
}; };
@ -147,7 +149,7 @@ with lib;
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = ''
This flag causes launchd to use the <literal>glob(3)</literal> mechanism to update the program arguments before invocation. This flag causes launchd to use the `glob(3)` mechanism to update the program arguments before invocation.
''; '';
}; };
@ -155,8 +157,8 @@ with lib;
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = ''
This flag instructs launchd that the job promises to use <literal>vproc_transaction_begin(3)</literal> and This flag instructs launchd that the job promises to use `vproc_transaction_begin(3)` and
<literal>vproc_transaction_end(3)</literal> to track outstanding transactions that need to be reconciled before the `vproc_transaction_end(3)` to track outstanding transactions that need to be reconciled before the
process can safely terminate. If no outstanding transactions are in progress, then launchd is free to process can safely terminate. If no outstanding transactions are in progress, then launchd is free to
send the SIGKILL signal. send the SIGKILL signal.
''; '';
@ -218,17 +220,21 @@ with lib;
''; '';
}; };
# NOTE: this was missing in the original source at the time of writing
Crashed = mkOption { Crashed = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = ''
If true, the the job will be restarted as long as it exited due to a signal which is typically If true, the the job will be restarted as long as it exited due to a signal which is typically
associated with a crash (SIGILL, SIGSEGV, etc.). If false, the job will be restarted in the inverse associated with a crash (SIGILL, SIGSEGV, etc.). If false, the job will be restarted in the
condition. inverse condition.
''; '';
}; };
AfterInitialDemand = mkOption {
type = types.nullOr types.bool;
default = null;
};
}; };
})); }));
default = null; default = null;
@ -240,7 +246,7 @@ with lib;
multiple keys are provided, launchd ORs them, thus providing maximum flexibility to the job to refine multiple keys are provided, launchd ORs them, thus providing maximum flexibility to the job to refine
the logic and stall if necessary. If launchd finds no reason to restart the job, it falls back on the logic and stall if necessary. If launchd finds no reason to restart the job, it falls back on
demand based invocation. Jobs that exit quickly and frequently when configured to be kept alive will demand based invocation. Jobs that exit quickly and frequently when configured to be kept alive will
be throttled to conserve system resources. be throttled to converve system resources.
''; '';
}; };
@ -257,7 +263,7 @@ with lib;
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = ''
This optional key is used to specify a directory to <literal>chroot(2)</literal> to before running the job. This optional key is used to specify a directory to `chroot(2)` to before running the job.
''; '';
}; };
@ -265,7 +271,7 @@ with lib;
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = ''
This optional key is used to specify a directory to <literal>chdir(2)</literal> to before running the job. This optional key is used to specify a directory to `chdir(2)` to before running the job.
''; '';
}; };
@ -282,7 +288,7 @@ with lib;
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = ''
This optional key specifies what value should be passed to <literal>umask(2)</literal> before running the job. Known bug: This optional key specifies what value should be passed to `umask(2)` before running the job. Known bug:
Property lists don't support octal, so please convert the value to decimal. Property lists don't support octal, so please convert the value to decimal.
''; '';
}; };
@ -321,7 +327,7 @@ with lib;
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = ''
This optional key specifies whether <literal>initgroups(3)</literal> should be called before running the job. The default This optional key specifies whether `initgroups(3)` should be called before running the job. The default
is true in 10.5 and false in 10.4. This key will be ignored if the UserName key is not set. is true in 10.5 and false in 10.4. This key will be ignored if the UserName key is not set.
''; '';
}; };
@ -369,7 +375,7 @@ with lib;
}; };
description = '' description = ''
This optional key causes the job to be started every calendar interval as specified. Missing arguments This optional key causes the job to be started every calendar interval as specified. Missing arguments
are considered to be wildcard. The semantics are much like <literal>crontab(5)</literal>. Unlike cron which skips job are considered to be wildcard. The semantics are much like `crontab(5)`. Unlike cron which skips job
invocations when the computer is asleep, launchd will start the job the next time the computer wakes invocations when the computer is asleep, launchd will start the job the next time the computer wakes
up. If multiple intervals transpire before the computer is woken, those events will be coalesced into up. If multiple intervals transpire before the computer is woken, those events will be coalesced into
one event upon wake from sleep. one event upon wake from sleep.
@ -424,7 +430,7 @@ with lib;
default = null; default = null;
description = '' description = ''
This optional key specifies what file should be used for data being supplied to stdin when using This optional key specifies what file should be used for data being supplied to stdin when using
<literal>stdio(3)</literal>. `stdio(3)`.
''; '';
}; };
@ -432,7 +438,7 @@ with lib;
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = '' description = ''
This optional key specifies what file should be used for data being sent to stdout when using <literal>stdio(3)</literal>. This optional key specifies what file should be used for data being sent to stdout when using `stdio(3)`.
''; '';
}; };
@ -440,7 +446,7 @@ with lib;
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = '' description = ''
This optional key specifies what file should be used for data being sent to stderr when using <literal>stdio(3)</literal>. This optional key specifies what file should be used for data being sent to stderr when using `stdio(3)`.
''; '';
}; };
@ -465,7 +471,7 @@ with lib;
SoftResourceLimits = mkOption { SoftResourceLimits = mkOption {
default = null; default = null;
description = '' description = ''
Resource limits to be imposed on the job. These adjust variables set with <literal>setrlimit(2)</literal>. The following Resource limits to be imposed on the job. These adjust variables set with `setrlimit(2)`. The following
keys apply: keys apply:
''; '';
type = types.nullOr (types.submodule { type = types.nullOr (types.submodule {
@ -491,7 +497,7 @@ with lib;
default = null; default = null;
description = '' description = ''
The maximum size (in bytes) of the data segment for a process; this defines how far a program may The maximum size (in bytes) of the data segment for a process; this defines how far a program may
extend its break with the <literal>sbrk(2)</literal> system call. extend its break with the `sbrk(2)` system call.
''; '';
}; };
@ -516,8 +522,8 @@ with lib;
default = null; default = null;
description = '' description = ''
The maximum number of open files for this process. Setting this value in a system wide daemon The maximum number of open files for this process. Setting this value in a system wide daemon
will set the <literal>sysctl(3)</literal> kern.maxfiles (SoftResourceLimits) or kern.maxfilesperproc (HardResource-Limits) (HardResourceLimits) will set the `sysctl(3)` kern.maxfiles (SoftResourceLimits) or kern.maxfilesperproc (HardResourceLimits)
Limits) value in addition to the <literal>setrlimit(2)</literal> values. value in addition to the `setrlimit(2)` values.
''; '';
}; };
@ -526,8 +532,8 @@ with lib;
default = null; default = null;
description = '' description = ''
The maximum number of simultaneous processes for this user id. Setting this value in a system The maximum number of simultaneous processes for this user id. Setting this value in a system
wide daemon will set the <literal>sysctl(3)</literal> kern.maxproc (SoftResourceLimits) or kern.maxprocperuid wide daemon will set the `sysctl(3)` kern.maxproc (SoftResourceLimits) or kern.maxprocperuid
(HardResourceLimits) value in addition to the <literal>setrlimit(2)</literal> values. (HardResourceLimits) value in addition to the `setrlimit(2)` values.
''; '';
}; };
@ -557,7 +563,7 @@ with lib;
default = null; default = null;
example = { NumberOfFiles = 4096; }; example = { NumberOfFiles = 4096; };
description = '' description = ''
Resource limits to be imposed on the job. These adjust variables set with <literal>setrlimit(2)</literal>. The following Resource limits to be imposed on the job. These adjust variables set with `setrlimit(2)`. The following
keys apply: keys apply:
''; '';
type = types.nullOr (types.submodule { type = types.nullOr (types.submodule {
@ -583,7 +589,7 @@ with lib;
default = null; default = null;
description = '' description = ''
The maximum size (in bytes) of the data segment for a process; this defines how far a program may The maximum size (in bytes) of the data segment for a process; this defines how far a program may
extend its break with the <literal>sbrk(2)</literal> system call. extend its break with the `sbrk(2)` system call.
''; '';
}; };
@ -599,7 +605,7 @@ with lib;
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = ''
The maximum size (in bytes) which a process may lock into memory using the <literal>mlock(2)</literal> function. The maximum size (in bytes) which a process may lock into memory using the `mlock(2)` function.
''; '';
}; };
@ -608,8 +614,8 @@ with lib;
default = null; default = null;
description = '' description = ''
The maximum number of open files for this process. Setting this value in a system wide daemon The maximum number of open files for this process. Setting this value in a system wide daemon
will set the <literal>sysctl(3)</literal> kern.maxfiles (SoftResourceLimits) or kern.maxfilesperproc (HardResource-Limits) (HardResourceLimits) will set the `sysctl(3)` kern.maxfiles (SoftResourceLimits) or kern.maxfilesperproc (HardResourceLimits)
Limits) value in addition to the <literal>setrlimit(2)</literal> values. value in addition to the `setrlimit(2)` values.
''; '';
}; };
@ -618,8 +624,8 @@ with lib;
default = null; default = null;
description = '' description = ''
The maximum number of simultaneous processes for this user id. Setting this value in a system The maximum number of simultaneous processes for this user id. Setting this value in a system
wide daemon will set the <literal>sysctl(3)</literal> kern.maxproc (SoftResourceLimits) or kern.maxprocperuid wide daemon will set the `sysctl(3)` kern.maxproc (SoftResourceLimits) or kern.maxprocperuid
(HardResourceLimits) value in addition to the <literal>setrlimit(2)</literal> values. (HardResourceLimits) value in addition to the `setrlimit(2)` values.
''; '';
}; };
@ -664,19 +670,19 @@ with lib;
resource limits to the job, throttling its CPU usage and I/O bandwidth. The following are valid values: resource limits to the job, throttling its CPU usage and I/O bandwidth. The following are valid values:
Background Background
Background jobs are generally processes that do work that was not directly requested by the user. : Background jobs are generally processes that do work that was not directly requested by the user.
The resource limits applied to Background jobs are intended to prevent them from disrupting the The resource limits applied to Background jobs are intended to prevent them from disrupting the
user experience. user experience.
Standard Standard
Standard jobs are equivalent to no ProcessType being set. : Standard jobs are equivalent to no ProcessType being set.
Adaptive Adaptive
Adaptive jobs move between the Background and Interactive classifications based on activity over : Adaptive jobs move between the Background and Interactive classifications based on activity over
XPC connections. See <literal>xpc_transaction_begin(3)</literal> for details. XPC connections. See {manpage}`xpc_transaction_begin(3)` for details.
Interactive Interactive
Interactive jobs run with the same resource limitations as apps, that is to say, none. Interactive : Interactive jobs run with the same resource limitations as apps, that is to say, none. Interactive
jobs are critical to maintaining a responsive user experience, and this key should only be jobs are critical to maintaining a responsive user experience, and this key should only be
used if an app's ability to be responsive depends on it, and cannot be made Adaptive. used if an app's ability to be responsive depends on it, and cannot be made Adaptive.
''; '';
@ -728,8 +734,8 @@ with lib;
description = '' description = ''
If this boolean is false, the port is recycled, thus leaving clients to remain oblivious to the If this boolean is false, the port is recycled, thus leaving clients to remain oblivious to the
demand nature of job. If the value is set to true, clients receive port death notifications when demand nature of job. If the value is set to true, clients receive port death notifications when
the job lets go of the receive right. The port will be recreated atomically with respect to boot-strap_look_up() bootstrap_look_up() the job lets go of the receive right. The port will be recreated atomically with respect to bootstrap_look_up()
strap_look_up() calls, so that clients can trust that after receiving a port death notification, calls, so that clients can trust that after receiving a port death notification,
the new port will have already been recreated. Setting the value to true should be done with the new port will have already been recreated. Setting the value to true should be done with
care. Not all clients may be able to handle this behavior. The default value is false. care. Not all clients may be able to handle this behavior. The default value is false.
''; '';
@ -747,6 +753,31 @@ with lib;
}); });
}; };
LaunchEvents = mkOption {
type = types.nullOr (types.attrs);
default = null;
description = ''
Specifies higher-level event types to be used as launch-on-demand event
sources. Each sub-dictionary defines events for a particular event
subsystem, such as "com.apple.iokit.matching", which can be used to
launch jobs based on the appearance of nodes in the IORegistry. Each
dictionary within the sub-dictionary specifies an event descriptor that
is specified to each event subsystem. With this key, the job promises to
use the xpc_set_event_stream_handler(3) API to consume events. See
xpc_events(3) for more details on event sources.
'';
example = {
"com.apple.iokit.matching" = {
"com.apple.usb.device" = {
IOMatchLaunchStream = true;
IOProviderClass = "IOUSBDevice";
idProduct = "*";
idVendor = "*";
};
};
};
};
Sockets = mkOption { Sockets = mkOption {
default = null; default = null;
description = '' description = ''
@ -759,7 +790,7 @@ with lib;
to be effectively equivalent, even though each file descriptor likely represents a different networking to be effectively equivalent, even though each file descriptor likely represents a different networking
protocol which conforms to the criteria specified in the job configuration file. protocol which conforms to the criteria specified in the job configuration file.
The parameters below are used as inputs to call <literal>getaddrinfo(3)</literal>. The parameters below are used as inputs to call `getaddrinfo(3)`.
''; '';
type = types.nullOr (types.attrsOf (types.submodule { type = types.nullOr (types.attrsOf (types.submodule {
options = { options = {
@ -776,7 +807,7 @@ with lib;
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = ''
This optional key specifies whether <literal>listen(2)</literal> or <literal>connect(2)</literal> should be called on the created file This optional key specifies whether `listen(2)` or `connect(2)` should be called on the created file
descriptor. The default is true ("to listen"). descriptor. The default is true ("to listen").
''; '';
}; };
@ -785,7 +816,7 @@ with lib;
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = ''
This optional key specifies the node to <literal>connect(2)</literal> or <literal>bind(2)</literal> to. This optional key specifies the node to `connect(2)` or `bind(2)` to.
''; '';
}; };
@ -793,7 +824,7 @@ with lib;
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = ''
This optional key specifies the service on the node to <literal>connect(2)</literal> or <literal>bind(2)</literal> to. This optional key specifies the service on the node to `connect(2)` or `bind(2)` to.
''; '';
}; };
@ -809,7 +840,7 @@ with lib;
type = types.nullOr (types.enum [ "TCP" ]); type = types.nullOr (types.enum [ "TCP" ]);
default = null; default = null;
description = '' description = ''
This optional key specifies the protocol to be passed to <literal>socket(2)</literal>. The only value understood by This optional key specifies the protocol to be passed to `socket(2)`. The only value understood by
this key at the moment is "TCP". this key at the moment is "TCP".
''; '';
}; };
@ -818,8 +849,8 @@ with lib;
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = '' description = ''
This optional key implies SockFamily is set to "Unix". It specifies the path to <literal>connect(2)</literal> or This optional key implies SockFamily is set to "Unix". It specifies the path to `connect(2)` or
<literal>bind(2)</literal> to. `bind(2)` to.
''; '';
}; };
@ -848,8 +879,7 @@ with lib;
default = null; default = null;
description = '' description = ''
This optional key can be used to request that the service be registered with the This optional key can be used to request that the service be registered with the
<literal>mDNSResponder(8)</literal>. If the value is boolean, the service name is inferred from the SockService-Name. SockServiceName. `mDNSResponder(8)`. If the value is boolean, the service name is inferred from the SockServiceName.
Name.
''; '';
}; };
@ -858,9 +888,9 @@ with lib;
default = null; default = null;
description = '' description = ''
This optional key can be used to request that the datagram socket join a multicast group. If the This optional key can be used to request that the datagram socket join a multicast group. If the
value is a hostname, then <literal>getaddrinfo(3)</literal> will be used to join the correct multicast address for a value is a hostname, then `getaddrinfo(3)` will be used to join the correct multicast address for a
given socket family. If an explicit IPv4 or IPv6 address is given, it is required that the Sock-Family SockFamily given socket family. If an explicit IPv4 or IPv6 address is given, it is required that the SockFamily
Family family also be set, otherwise the results are undefined. family also be set, otherwise the results are undefined.
''; '';
}; };
}; };

View file

@ -1,16 +1,66 @@
#!/usr/bin/env bash # Moves the existing profile from /nix or $XDG_STATE_HOME/home-manager to
# $XDG_STATE_HOME/nix to match changed behavior in Nix 2.14. See
# https://github.com/NixOS/nix/pull/5226.
function migrateProfile() {
declare -r stateHome="${XDG_STATE_HOME:-$HOME/.local/state}"
declare -r userNixStateDir="$stateHome/nix"
declare -r hmStateDir="$stateHome/home-manager"
declare -r globalNixStateDir="${NIX_STATE_DIR:-/nix/var/nix}"
declare -r globalProfilesDir="$globalNixStateDir/profiles/per-user/$USER"
if [[ -e $globalProfilesDir/home-manager ]]; then
declare -r oldProfilesDir="$globalProfilesDir"
elif [[ -e $hmStateDir/profiles/home-manager ]]; then
declare -r oldProfilesDir="$hmStateDir/profiles"
fi
declare -r newProfilesDir="$userNixStateDir/profiles"
if [[ -v oldProfilesDir && -e $newProfilesDir ]]; then
if [[ ! -e $newProfilesDir/home-manager ]]; then
_i 'Migrating profile from %s to %s' "$oldProfilesDir" "$newProfilesDir"
for p in "$oldProfilesDir"/home-manager-*; do
declare name="${p##*/}"
nix-store --realise "$p" --add-root "$newProfilesDir/$name" > /dev/null
done
cp -P "$oldProfilesDir/home-manager" "$newProfilesDir"
fi
rm "$oldProfilesDir/home-manager" "$oldProfilesDir"/home-manager-*
fi
}
function setupVars() { function setupVars() {
local nixStateDir="${NIX_STATE_DIR:-/nix/var/nix}" declare -r stateHome="${XDG_STATE_HOME:-$HOME/.local/state}"
local profilesPath="$nixStateDir/profiles/per-user/$USER" declare -r userNixStateDir="$stateHome/nix"
local gcPath="$nixStateDir/gcroots/per-user/$USER" declare -r hmGcrootsDir="$stateHome/home-manager/gcroots"
declare -gr nixProfilePath="$profilesPath/profile" declare -r globalNixStateDir="${NIX_STATE_DIR:-/nix/var/nix}"
declare -gr genProfilePath="$profilesPath/home-manager" declare -r globalProfilesDir="$globalNixStateDir/profiles/per-user/$USER"
declare -r globalGcrootsDir="$globalNixStateDir/gcroots/per-user/$USER"
# If the user Nix profiles path exists, then place the HM profile there.
# Otherwise, if the global Nix per-user state directory exists then use
# that. If neither exists, then we give up.
#
# shellcheck disable=2174
if [[ -d $userNixStateDir/profiles ]]; then
declare -r profilesDir="$userNixStateDir/profiles"
elif [[ -d $globalProfilesDir ]]; then
declare -r profilesDir="$globalProfilesDir"
else
_iError 'Could not find suitable profile directory, tried %s and %s' \
"$userNixStateDir/profiles" "$globalProfilesDir" >&2
exit 1
fi
declare -gr genProfilePath="$profilesDir/home-manager"
declare -gr newGenPath="@GENERATION_DIR@"; declare -gr newGenPath="@GENERATION_DIR@";
declare -gr newGenGcPath="$gcPath/current-home" declare -gr newGenGcPath="$hmGcrootsDir/current-home"
declare -gr legacyGenGcPath="$globalGcrootsDir/current-home"
local greatestGenNum declare greatestGenNum
greatestGenNum=$( \ greatestGenNum=$( \
nix-env --list-generations --profile "$genProfilePath" \ nix-env --list-generations --profile "$genProfilePath" \
| tail -1 \ | tail -1 \
@ -23,9 +73,9 @@ function setupVars() {
declare -gr newGenNum=1 declare -gr newGenNum=1
fi fi
if [[ -e $profilesPath/home-manager ]] ; then if [[ -e $genProfilePath ]] ; then
oldGenPath="$(readlink -e "$profilesPath/home-manager")" declare -g oldGenPath
declare -gr oldGenPath oldGenPath="$(readlink -e "$genProfilePath")"
fi fi
$VERBOSE_RUN _i "Sanity checking oldGenNum and oldGenPath" $VERBOSE_RUN _i "Sanity checking oldGenNum and oldGenPath"
@ -33,7 +83,25 @@ function setupVars() {
|| ! -v oldGenNum && -v oldGenPath ]]; then || ! -v oldGenNum && -v oldGenPath ]]; then
_i $'The previous generation number and path are in conflict! These\nmust be either both empty or both set but are now set to\n\n \'%s\' and \'%s\'\n\nIf you don\'t mind losing previous profile generations then\nthe easiest solution is probably to run\n\n rm %s/home-manager*\n rm %s/current-home\n\nand trying home-manager switch again. Good luck!' \ _i $'The previous generation number and path are in conflict! These\nmust be either both empty or both set but are now set to\n\n \'%s\' and \'%s\'\n\nIf you don\'t mind losing previous profile generations then\nthe easiest solution is probably to run\n\n rm %s/home-manager*\n rm %s/current-home\n\nand trying home-manager switch again. Good luck!' \
"${oldGenNum:-}" "${oldGenPath:-}" \ "${oldGenNum:-}" "${oldGenPath:-}" \
"$profilesPath" "$gcPath" "$profilesDir" "$hmGcrootsDir"
exit 1
fi
}
function checkUsername() {
local expectedUser="$1"
if [[ "$USER" != "$expectedUser" ]]; then
_iError 'Error: USER is set to "%s" but we expect "%s"' "$USER" "$expectedUser"
exit 1
fi
}
function checkHomeDirectory() {
local expectedHome="$1"
if ! [[ $HOME -ef $expectedHome ]]; then
_iError 'Error: HOME is set to "%s" but we expect "%s"' "$HOME" "$expectedHome"
exit 1 exit 1
fi fi
} }
@ -55,14 +123,20 @@ _i "Starting Home Manager activation"
$VERBOSE_RUN _i "Sanity checking Nix" $VERBOSE_RUN _i "Sanity checking Nix"
nix-build --expr '{}' --no-out-link nix-build --expr '{}' --no-out-link
# Also make sure that the Nix profiles path is created.
nix-env -q > /dev/null 2>&1 || true
migrateProfile
setupVars setupVars
if [[ -v DRY_RUN ]] ; then if [[ -v DRY_RUN ]] ; then
_i "This is a dry run" _i "This is a dry run"
export DRY_RUN_CMD=echo export DRY_RUN_CMD=echo
export DRY_RUN_NULL=/dev/stdout
else else
$VERBOSE_RUN _i "This is a live run" $VERBOSE_RUN _i "This is a live run"
export DRY_RUN_CMD="" export DRY_RUN_CMD=""
export DRY_RUN_NULL=/dev/null
fi fi
if [[ -v VERBOSE ]]; then if [[ -v VERBOSE ]]; then
@ -79,5 +153,6 @@ else
fi fi
$VERBOSE_ECHO " newGenPath=$newGenPath" $VERBOSE_ECHO " newGenPath=$newGenPath"
$VERBOSE_ECHO " newGenNum=$newGenNum" $VERBOSE_ECHO " newGenNum=$newGenNum"
$VERBOSE_ECHO " newGenGcPath=$newGenGcPath"
$VERBOSE_ECHO " genProfilePath=$genProfilePath" $VERBOSE_ECHO " genProfilePath=$genProfilePath"
$VERBOSE_ECHO " newGenGcPath=$newGenGcPath"
$VERBOSE_ECHO " legacyGenGcPath=$legacyGenGcPath"

View file

@ -9,7 +9,7 @@
{ lib }: { lib }:
let inherit (lib) all filterAttrs hm mapAttrs toposort; let inherit (lib) all filterAttrs head hm mapAttrs length tail toposort;
in { in {
empty = { }; empty = { };
@ -100,4 +100,30 @@ in {
entryAfter = hm.dag.entryBetween [ ]; entryAfter = hm.dag.entryBetween [ ];
entryBefore = before: hm.dag.entryBetween before [ ]; entryBefore = before: hm.dag.entryBetween before [ ];
# Given a list of entries, this function places them in order within the DAG.
# Each entry is labeled "${tag}-${entry index}" and other DAG entries can be
# added with 'before' or 'after' referring these indexed entries.
#
# The entries as a whole can be given a relation to other DAG nodes. All
# generated nodes are then placed before or after those dependencies.
entriesBetween = tag:
let
go = i: before: after: entries:
let
name = "${tag}-${toString i}";
i' = i + 1;
in if entries == [ ] then
hm.dag.empty
else if length entries == 1 then {
"${name}" = hm.dag.entryBetween before after (head entries);
} else
{
"${name}" = hm.dag.entryAfter after (head entries);
} // go (i + 1) before [ name ] (tail entries);
in go 0;
entriesAnywhere = tag: hm.dag.entriesBetween tag [ ] [ ];
entriesAfter = tag: hm.dag.entriesBetween tag [ ];
entriesBefore = tag: before: hm.dag.entriesBetween tag before [ ];
} }

View file

@ -6,6 +6,7 @@ rec {
assertions = import ./assertions.nix { inherit lib; }; assertions = import ./assertions.nix { inherit lib; };
booleans = import ./booleans.nix { inherit lib; }; booleans = import ./booleans.nix { inherit lib; };
generators = import ./generators.nix { inherit lib; };
gvariant = import ./gvariant.nix { inherit lib; }; gvariant = import ./gvariant.nix { inherit lib; };
maintainers = import ./maintainers.nix; maintainers = import ./maintainers.nix;
strings = import ./strings.nix { inherit lib; }; strings = import ./strings.nix { inherit lib; };

View file

@ -10,11 +10,20 @@ in
# absolute path). # absolute path).
# #
# Arguments: # Arguments:
# - opt the name of the option, for self-references
# - basePathDesc docbook compatible description of the base path # - basePathDesc docbook compatible description of the base path
# - basePath the file base path # - basePath the file base path
fileType = basePathDesc: basePath: types.attrsOf (types.submodule ( fileType = opt: basePathDesc: basePath: types.attrsOf (types.submodule (
{ name, config, ... }: { { name, config, ... }: {
options = { options = {
enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether this file should be generated. This option allows specific
files to be disabled.
'';
};
target = mkOption { target = mkOption {
type = types.str; type = types.str;
apply = p: apply = p:
@ -22,7 +31,7 @@ in
absPath = if hasPrefix "/" p then p else "${basePath}/${p}"; absPath = if hasPrefix "/" p then p else "${basePath}/${p}";
in in
removePrefix (homeDirectory + "/") absPath; removePrefix (homeDirectory + "/") absPath;
defaultText = literalExpression "<name>"; defaultText = literalExpression "name";
description = '' description = ''
Path to target file relative to ${basePathDesc}. Path to target file relative to ${basePathDesc}.
''; '';
@ -33,7 +42,7 @@ in
type = types.nullOr types.lines; type = types.nullOr types.lines;
description = '' description = ''
Text of the file. If this option is null then Text of the file. If this option is null then
<xref linkend="opt-home.file._name_.source"/> [](#opt-${opt}._name_.source)
must be set. must be set.
''; '';
}; };
@ -42,7 +51,7 @@ in
type = types.path; type = types.path;
description = '' description = ''
Path of the source file or directory. If Path of the source file or directory. If
<xref linkend="opt-home.file._name_.text"/> [](#opt-${opt}._name_.text)
is non-null then this option will automatically point to a file is non-null then this option will automatically point to a file
containing that text. containing that text.
''; '';
@ -52,9 +61,9 @@ in
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = ''
Set the execute bit. If <literal>null</literal>, defaults to the mode Set the execute bit. If `null`, defaults to the mode
of the <varname>source</varname> file or to <literal>false</literal> of the {var}`source` file or to `false`
for files created through the <varname>text</varname> option. for files created through the {var}`text` option.
''; '';
}; };
@ -66,10 +75,10 @@ in
determines whether the directory should be recursively determines whether the directory should be recursively
linked to the target location. This option has no effect linked to the target location. This option has no effect
if the source is a file. if the source is a file.
</para><para>
If <literal>false</literal> (the default) then the target If `false` (the default) then the target
will be a symbolic link to the source directory. If will be a symbolic link to the source directory. If
<literal>true</literal> then the target will be a `true` then the target will be a
directory structure matching the source's but whose leafs directory structure matching the source's but whose leafs
are symbolic links to the files of the source directory. are symbolic links to the files of the source directory.
''; '';
@ -81,10 +90,10 @@ in
description = '' description = ''
Shell commands to run when file has changed between Shell commands to run when file has changed between
generations. The script will be run generations. The script will be run
<emphasis>after</emphasis> the new files have been linked *after* the new files have been linked
into place. into place.
</para><para>
Note, this code is always run when <literal>recursive</literal> is Note, this code is always run when `recursive` is
enabled. enabled.
''; '';
}; };
@ -107,7 +116,7 @@ in
source = mkIf (config.text != null) ( source = mkIf (config.text != null) (
mkDefault (pkgs.writeTextFile { mkDefault (pkgs.writeTextFile {
inherit (config) text; inherit (config) text;
executable = if isNull config.executable then false else config.executable; executable = config.executable == true; # can be null
name = hm.strings.storeFileName name; name = hm.strings.storeFileName name;
}) })
); );

View file

@ -0,0 +1,102 @@
{ lib }:
{
toKDL = { }:
let
inherit (lib) concatStringsSep splitString mapAttrsToList any;
inherit (builtins) typeOf replaceStrings elem;
# ListOf String -> String
indentStrings = let
# Although the input of this function is a list of strings,
# the strings themselves *will* contain newlines, so you need
# to normalize the list by joining and resplitting them.
unlines = lib.splitString "\n";
lines = lib.concatStringsSep "\n";
indentAll = lines: concatStringsSep "\n" (map (x: " " + x) lines);
in stringsWithNewlines: indentAll (unlines (lines stringsWithNewlines));
# String -> String
sanitizeString = replaceStrings [ "\n" ''"'' ] [ "\\n" ''\"'' ];
# OneOf [Int Float String Bool Null] -> String
literalValueToString = element:
lib.throwIfNot
(elem (typeOf element) [ "int" "float" "string" "bool" "null" ])
"Cannot convert value of type ${typeOf element} to KDL literal."
(if typeOf element == "null" then
"null"
else if element == false then
"false"
else if element == true then
"true"
else if typeOf element == "string" then
''"${sanitizeString element}"''
else
toString element);
# Attrset Conversion
# String -> AttrsOf Anything -> String
convertAttrsToKDL = name: attrs:
let
optArgsString = lib.optionalString (attrs ? "_args")
(lib.pipe attrs._args [
(map literalValueToString)
(lib.concatStringsSep " ")
(s: s + " ")
]);
optPropsString = lib.optionalString (attrs ? "_props")
(lib.pipe attrs._props [
(lib.mapAttrsToList
(name: value: "${name}=${literalValueToString value}"))
(lib.concatStringsSep " ")
(s: s + " ")
]);
children =
lib.filterAttrs (name: _: !(elem name [ "_args" "_props" ])) attrs;
in ''
${name} ${optArgsString}${optPropsString}{
${indentStrings (mapAttrsToList convertAttributeToKDL children)}
}'';
# List Conversion
# String -> ListOf (OneOf [Int Float String Bool Null]) -> String
convertListOfFlatAttrsToKDL = name: list:
let flatElements = map literalValueToString list;
in "${name} ${concatStringsSep " " flatElements}";
# String -> ListOf Anything -> String
convertListOfNonFlatAttrsToKDL = name: list: ''
${name} {
${indentStrings (map (x: convertAttributeToKDL "-" x) list)}
}'';
# String -> ListOf Anything -> String
convertListToKDL = name: list:
let elementsAreFlat = !any (el: elem (typeOf el) [ "list" "set" ]) list;
in if elementsAreFlat then
convertListOfFlatAttrsToKDL name list
else
convertListOfNonFlatAttrsToKDL name list;
# Combined Conversion
# String -> Anything -> String
convertAttributeToKDL = name: value:
let vType = typeOf value;
in if elem vType [ "int" "float" "bool" "null" "string" ] then
"${name} ${literalValueToString value}"
else if vType == "set" then
convertAttrsToKDL name value
else if vType == "list" then
convertListToKDL name value
else
throw ''
Cannot convert type `(${typeOf value})` to KDL:
${name} = ${toString value}
'';
in attrs: ''
${concatStringsSep "\n" (mapAttrsToList convertAttributeToKDL attrs)}
'';
}

View file

@ -37,6 +37,12 @@
github = "CarlosLoboxyz"; github = "CarlosLoboxyz";
githubId = 86011416; githubId = 86011416;
}; };
cvoges12 = {
name = "Clayton Voges";
email = "38054771+cvoges12@users.noreply.github.com";
github = "cvoges12";
githubId = 38054771;
};
d-dervishi = { d-dervishi = {
email = "david.dervishi@epfl.ch"; email = "david.dervishi@epfl.ch";
github = "d-dervishi"; github = "d-dervishi";
@ -47,6 +53,12 @@
fingerprint = "4C92 E3B0 21B5 5562 A1E0 CE3D B1C0 12F0 E769 7195"; fingerprint = "4C92 E3B0 21B5 5562 A1E0 CE3D B1C0 12F0 E769 7195";
}]; }];
}; };
Dines97 = {
name = "Denis Kaynar";
email = "19364873+Dines97@users.noreply.github.com";
github = "Dines97";
githubId = 19364873;
};
dwagenk = { dwagenk = {
email = "dwagenk@mailbox.org"; email = "dwagenk@mailbox.org";
github = "dwagenk"; github = "dwagenk";
@ -153,6 +165,18 @@
github = "mifom"; github = "mifom";
githubId = 23462908; githubId = 23462908;
}; };
nikp123 = {
name = "nikp123";
email = "nikp123@users.noreply.github.com";
github = "nikp123";
githubId = 4696350;
};
nilp0inter = {
name = "Roberto Abdelkader Martínez Pérez";
email = "robertomartinezp@gmail.com";
github = "nilp0inter";
githubId = 1224006;
};
seylerius = { seylerius = {
email = "sable@seyleri.us"; email = "sable@seyleri.us";
name = "Sable Seyler"; name = "Sable Seyler";
@ -317,6 +341,12 @@
github = "sebtm"; github = "sebtm";
githubId = 17243347; githubId = 17243347;
}; };
rasmus-kirk = {
name = "Rasmus Kirk";
email = "mail@rasmuskirk.com";
github = "rasmus-kirk";
githubId = 57323869;
};
rosuavio = { rosuavio = {
name = "Rosario Pulella"; name = "Rosario Pulella";
email = "RosarioPulella@gmail.com"; email = "RosarioPulella@gmail.com";
@ -351,6 +381,15 @@
github = "lukasngl"; github = "lukasngl";
githubId = 69244516; githubId = 69244516;
}; };
soywod = {
name = "Clément DOUIN";
email = "clement.douin@posteo.net";
matrix = "@soywod:matrix.org";
github = "soywod";
githubId = 10437171;
keys =
[{ fingerprint = "75F0 AB7C FE01 D077 AEE6 CAFD 353E 4A18 EE0F AB72"; }];
};
toastal = { toastal = {
email = "toastal+nix@posteo.net"; email = "toastal+nix@posteo.net";
matrix = "@toastal:matrix.org"; matrix = "@toastal:matrix.org";
@ -360,4 +399,29 @@
keys = keys =
[{ fingerprint = "7944 74B7 D236 DAB9 C9EF E7F9 5CCE 6F14 66D4 7C9E"; }]; [{ fingerprint = "7944 74B7 D236 DAB9 C9EF E7F9 5CCE 6F14 66D4 7C9E"; }];
}; };
tomodachi94 = {
email = "tomodachi94+nixpkgs@protonmail.com";
matrix = "@tomodachi94:matrix.org";
github = "tomodachi94";
githubId = 68489118;
name = "tomodachi94";
};
NateCox = {
name = "Nate Cox";
email = "nate@natecox.dev";
github = "natecox";
githubId = 2782695;
};
pedorich-n = {
name = "Mykyta Pedorich";
email = "pedorich.n@gmail.com";
github = "pedorich-n";
githubId = 15573098;
};
liyangau = {
name = "Li Yang";
email = "d@aufomm.com";
github = "liyangau";
githubId = 71299093;
};
} }

View file

@ -57,57 +57,4 @@ in rec {
functor = (defaultFunctor name) // { wrapped = elemType; }; functor = (defaultFunctor name) // { wrapped = elemType; };
nestedTypes.elemType = elemType; nestedTypes.elemType = elemType;
}; };
# A directed acyclic graph of some inner type OR a list of that
# inner type. This is a temporary hack for use by the
# `programs.ssh.matchBlocks` and is only guaranteed to be vaguely
# correct!
#
# In particular, adding a dependency on one of the "unnamed-N-M"
# entries generated by a list value is almost guaranteed to destroy
# the list's order.
#
# This function will be removed in version 20.09.
listOrDagOf = elemType:
let
paddedIndexStr = list: i:
let padWidth = stringLength (toString (length list));
in fixedWidthNumber padWidth i;
convertAll = loc: defs:
let
convertListValue = namePrefix: def:
let
vs = def.value;
pad = paddedIndexStr vs;
makeEntry = i: v: nameValuePair "${namePrefix}.${pad i}" v;
warning = ''
In file ${def.file}
a list is being assigned to the option '${
concatStringsSep "." loc
}'.
This will soon be an error due to the list form being deprecated.
Please use the attribute set form instead with DAG functions to
express the desired order of entries.
'';
in warn warning (listToAttrs (imap1 makeEntry vs));
convertValue = i: def:
if isList def.value then
convertListValue "unnamed-${paddedIndexStr defs i}" def
else
def.value;
in imap1 (i: def: def // { value = convertValue i def; }) defs;
dagType = dagOf elemType;
in mkOptionType rec {
name = "listOrDagOf";
description = "list or DAG of ${elemType.description}s";
check = x: isList x || dagType.check x;
merge = loc: defs: dagType.merge loc (convertAll loc defs);
getSubOptions = dagType.getSubOptions;
getSubModules = dagType.getSubModules;
substSubModules = m: listOrDagOf (elemType.substSubModules m);
functor = (defaultFunctor name) // { wrapped = elemType; };
};
} }

View file

@ -14,7 +14,7 @@ let
in rec { in rec {
inherit (typesDag) dagOf listOrDagOf; inherit (typesDag) dagOf;
selectorFunction = mkOptionType { selectorFunction = mkOptionType {
name = "selectorFunction"; name = "selectorFunction";
@ -41,7 +41,7 @@ in rec {
example = literalExpression "pkgs.dejavu_fonts"; example = literalExpression "pkgs.dejavu_fonts";
description = '' description = ''
Package providing the font. This package will be installed Package providing the font. This package will be installed
to your profile. If <literal>null</literal> then the font to your profile. If `null` then the font
is assumed to already be available in your profile. is assumed to already be available in your profile.
''; '';
}; };

View file

@ -6,7 +6,10 @@ let
cfg = config.manual; cfg = config.manual;
docs = import ../docs { inherit lib pkgs; }; docs = import ../docs {
inherit pkgs lib;
inherit (config.home.version) release isReleaseBranch;
};
in { in {
options = { options = {
@ -15,7 +18,7 @@ in {
default = false; default = false;
description = '' description = ''
Whether to install the HTML manual. This also installs the Whether to install the HTML manual. This also installs the
<command>home-manager-help</command> tool, which opens a local {command}`home-manager-help` tool, which opens a local
copy of the Home Manager manual in the system web browser. copy of the Home Manager manual in the system web browser.
''; '';
}; };
@ -26,8 +29,8 @@ in {
example = false; example = false;
description = '' description = ''
Whether to install the configuration manual page. The manual can Whether to install the configuration manual page. The manual can
be reached by <command>man home-configuration.nix</command>. be reached by {command}`man home-configuration.nix`.
</para><para>
When looking at the manual page pretend that all references to When looking at the manual page pretend that all references to
NixOS stuff are actually references to Home Manager stuff. NixOS stuff are actually references to Home Manager stuff.
Thanks! Thanks!
@ -41,7 +44,7 @@ in {
description = '' description = ''
Whether to install a JSON formatted list of all Home Manager Whether to install a JSON formatted list of all Home Manager
options. This can be located at options. This can be located at
<filename>&lt;profile directory&gt;/share/doc/home-manager/options.json</filename>, {file}`<profile directory>/share/doc/home-manager/options.json`,
and may be used for navigating definitions, auto-completing, and may be used for navigating definitions, auto-completing,
and other miscellaneous tasks. and other miscellaneous tasks.
''; '';

View file

@ -25,13 +25,19 @@ in {
dconf = { dconf = {
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = true; # While technically dconf on darwin could work, our activation step
# requires dbus, which only *lightly* supports Darwin in general, and
# not at all in the way it's packaged in nixpkgs. Because of this, we
# just disable dconf for darwin hosts by default.
# In the future, if someone gets dbus working, this _could_ be
# re-enabled, unclear whether there's actual value in it though.
default = !pkgs.stdenv.hostPlatform.isDarwin;
visible = false; visible = false;
description = '' description = ''
Whether to enable dconf settings. Whether to enable dconf settings.
</para><para>
Note, if you use NixOS then you must add Note, if you use NixOS then you must add
<code>programs.dconf.enable = true</code> `programs.dconf.enable = true`
to your system configuration. Otherwise you will see a systemd error to your system configuration. Otherwise you will see a systemd error
message when your configuration is activated. message when your configuration is activated.
''; '';
@ -53,6 +59,17 @@ in {
''; '';
description = '' description = ''
Settings to write to the dconf configuration system. Settings to write to the dconf configuration system.
Note that the database is strongly-typed so you need to use the same types
as described in the GSettings schema. For example, if an option is of type
`uint32` (`u`), you need to wrap the number
using the `lib.hm.gvariant.mkUint32` constructor.
Otherwise, since Nix integers are implicitly coerced to `int32`
(`i`), it would get stored in the database as such, and GSettings
might be confused when loading the setting.
You might want to use [dconf2nix](https://github.com/gvolpe/dconf2nix)
to convert dconf database dumps into compatible Nix expression.
''; '';
}; };
}; };

View file

@ -6,10 +6,10 @@ with lib;
options.home = { options.home = {
enableDebugInfo = mkEnableOption "" // { enableDebugInfo = mkEnableOption "" // {
description = '' description = ''
Some Nix-packages provide debug symbols for Some Nix packages provide debug symbols for
<command>gdb</command> in the <literal>debug</literal>-output. {command}`gdb` in the `debug` output.
This option ensures that those are automatically fetched from This option ensures that those are automatically fetched from
the binary cache if available and <command>gdb</command> is the binary cache if available and {command}`gdb` is
configured to find those symbols. configured to find those symbols.
''; '';
}; };

View file

@ -18,10 +18,10 @@ in {
type = iniFormat.type; type = iniFormat.type;
default = { }; default = { };
description = '' description = ''
Configuration written to <filename>$HOME/.editorconfig</filename>. Configuration written to {file}`$HOME/.editorconfig`.
<code>root = true</code> is automatically added to the file, `root = true` is automatically added to the file,
it must not be added here. it must not be added here.
See <link xlink:href="https://editorconfig.org"/> for documentation. See <https://editorconfig.org> for documentation.
''; '';
example = literalExpression '' example = literalExpression ''
{ {

View file

@ -28,8 +28,8 @@ in {
Whether to enable fontconfig configuration. This will, for Whether to enable fontconfig configuration. This will, for
example, allow fontconfig to discover fonts and example, allow fontconfig to discover fonts and
configurations installed through configurations installed through
<varname>home.packages</varname> and {var}`home.packages` and
<command>nix-env</command>. {command}`nix-env`.
''; '';
}; };
}; };
@ -77,8 +77,10 @@ in {
<!-- Generated by Home Manager. --> <!-- Generated by Home Manager. -->
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> <!DOCTYPE fontconfig SYSTEM 'urn:fontconfig:fonts.dtd'>
<fontconfig> <fontconfig>
<description>Add fonts in the Nix user profile</description>
<include ignore_missing="yes">${config.home.path}/etc/fonts/conf.d</include> <include ignore_missing="yes">${config.home.path}/etc/fonts/conf.d</include>
<include ignore_missing="yes">${config.home.path}/etc/fonts/fonts.conf</include> <include ignore_missing="yes">${config.home.path}/etc/fonts/fonts.conf</include>

View file

@ -33,7 +33,7 @@ let
example = literalExpression "pkgs.gnome.gnome-themes-extra"; example = literalExpression "pkgs.gnome.gnome-themes-extra";
description = '' description = ''
Package providing the theme. This package will be installed Package providing the theme. This package will be installed
to your profile. If <literal>null</literal> then the theme to your profile. If `null` then the theme
is assumed to already be available in your profile. is assumed to already be available in your profile.
''; '';
}; };
@ -54,7 +54,7 @@ let
example = literalExpression "pkgs.gnome.adwaita-icon-theme"; example = literalExpression "pkgs.gnome.adwaita-icon-theme";
description = '' description = ''
Package providing the icon theme. This package will be installed Package providing the icon theme. This package will be installed
to your profile. If <literal>null</literal> then the theme to your profile. If `null` then the theme
is assumed to already be available in your profile. is assumed to already be available in your profile.
''; '';
}; };
@ -75,7 +75,7 @@ let
example = literalExpression "pkgs.vanilla-dmz"; example = literalExpression "pkgs.vanilla-dmz";
description = '' description = ''
Package providing the cursor theme. This package will be installed Package providing the cursor theme. This package will be installed
to your profile. If <literal>null</literal> then the theme to your profile. If `null` then the theme
is assumed to already be available in your profile. is assumed to already be available in your profile.
''; '';
}; };
@ -143,7 +143,7 @@ in {
example = "gtk-can-change-accels = 1"; example = "gtk-can-change-accels = 1";
description = '' description = ''
Extra configuration lines to add verbatim to Extra configuration lines to add verbatim to
<filename>~/.gtkrc-2.0</filename>. {file}`~/.gtkrc-2.0`.
''; '';
}; };
@ -177,7 +177,7 @@ in {
}; };
description = '' description = ''
Extra configuration options to add to Extra configuration options to add to
<filename>$XDG_CONFIG_HOME/gtk-3.0/settings.ini</filename>. {file}`$XDG_CONFIG_HOME/gtk-3.0/settings.ini`.
''; '';
}; };
@ -186,7 +186,7 @@ in {
default = ""; default = "";
description = '' description = ''
Extra configuration lines to add verbatim to Extra configuration lines to add verbatim to
<filename>$XDG_CONFIG_HOME/gtk-3.0/gtk.css</filename>. {file}`$XDG_CONFIG_HOME/gtk-3.0/gtk.css`.
''; '';
}; };
}; };
@ -201,7 +201,16 @@ in {
}; };
description = '' description = ''
Extra configuration options to add to Extra configuration options to add to
<filename>$XDG_CONFIG_HOME/gtk-4.0/settings.ini</filename>. {file}`$XDG_CONFIG_HOME/gtk-4.0/settings.ini`.
'';
};
extraCss = mkOption {
type = types.lines;
default = "";
description = ''
Extra configuration lines to add verbatim to
{file}`$XDG_CONFIG_HOME/gtk-4.0/gtk.css`.
''; '';
}; };
}; };
@ -268,6 +277,9 @@ in {
xdg.configFile."gtk-4.0/settings.ini".text = xdg.configFile."gtk-4.0/settings.ini".text =
toGtk3Ini { Settings = gtkIni // cfg4.extraConfig; }; toGtk3Ini { Settings = gtkIni // cfg4.extraConfig; };
xdg.configFile."gtk-4.0/gtk.css" =
mkIf (cfg4.extraCss != "") { text = cfg4.extraCss; };
dconf.settings."org/gnome/desktop/interface" = dconfIni; dconf.settings."org/gnome/desktop/interface" = dconfIni;
}); });
} }

View file

@ -59,44 +59,23 @@ in
default = "notify"; default = "notify";
description = '' description = ''
How unread and relevant news should be presented when How unread and relevant news should be presented when
running <command>home-manager build</command> and running {command}`home-manager build` and
<command>home-manager switch</command>. {command}`home-manager switch`.
</para><para>
The options are The options are
<variablelist> `silent`
<varlistentry> : Do not print anything during build or switch. The
<term><literal>silent</literal></term> {command}`home-manager news` command still
<listitem>
<para>
Do not print anything during build or switch. The
<command>home-manager news</command> command still
works for viewing the entries. works for viewing the entries.
</para>
</listitem> `notify`
</varlistentry> : The number of unread and relevant news entries will be
<varlistentry> printed to standard output. The {command}`home-manager
<term><literal>notify</literal></term> news` command can later be used to view the entries.
<listitem>
<para> `show`
The number of unread and relevant news entries will be : A pager showing unread news entries is opened.
printed to standard output. The <command>home-manager
news</command> command can later be used to view the
entries.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>show</literal></term>
<listitem>
<para>
A pager showing unread news entries is opened.
</para>
</listitem>
</varlistentry>
</variablelist>
''; '';
}; };
@ -106,10 +85,22 @@ in
default = [ ]; default = [ ];
description = "News entries."; description = "News entries.";
}; };
json = {
output = mkOption {
internal = true;
type = types.package;
description = "The generated JSON file package.";
};
};
}; };
}; };
config = { config = {
news.json.output = pkgs.writeText "hm-news.json" (builtins.toJSON {
inherit (cfg) display entries;
});
# Add news entries in chronological order (i.e., latest time # Add news entries in chronological order (i.e., latest time
# should be at the bottom of the list). The time should be # should be at the bottom of the list). The time should be
# formatted as given in the output of # formatted as given in the output of
@ -886,6 +877,308 @@ in
'wayland.windowManager.sway.config.[window|floating].titlebar' now default to 'true'. 'wayland.windowManager.sway.config.[window|floating].titlebar' now default to 'true'.
''; '';
} }
{
time = "2023-01-28T17:35:49+00:00";
message = ''
A new module is available: 'programs.papis'.
'';
}
{
time = "2023-01-30T10:39:11+00:00";
message = ''
A new module is available: 'programs.wlogout'.
'';
}
{
time = "2023-01-31T22:08:41+00:00";
message = ''
A new module is available: 'programs.rbenv'.
'';
}
{
time = "2023-02-02T20:49:05+00:00";
condition = hostPlatform.isLinux;
message = ''
A new module is available: 'services.autorandr'.
'';
}
{
time = "2023-02-20T22:31:23+00:00";
condition = hostPlatform.isLinux;
message = ''
A new module is available: 'services.mpd-mpris'.
'';
}
{
time = "2023-02-22T22:16:37+00:00";
condition = hostPlatform.isLinux;
message = ''
A new module is available: 'services.avizo'.
'';
}
{
time = "2023-03-16:12:00+00:00";
condition = config.programs.i3status-rust.enable;
message = ''
Module 'i3status-rust' was updated to support the new configuration
format from 0.30.x releases, that introduces many breaking changes.
The documentation was updated with examples from 0.30.x to help
the transition.
See https://github.com/greshake/i3status-rust/blob/v0.30.0/NEWS.md
for instructions on how to migrate.
Users that don't want to migrate yet can set
'programs.i3status-rust.package' to an older version.
'';
}
{
time = "2023-03-22T07:20:00+00:00";
condition = hostPlatform.isLinux;
message = ''
A new module is available: 'services.listenbrainz-mpd'.
'';
}
{
time = "2023-03-22T07:31:38+00:00";
condition = hostPlatform.isLinux;
message = ''
A new module is available: 'services.copyq'.
'';
}
{
time = "2023-03-25T11:03:24+00:00";
condition = hostPlatform.isDarwin;
message = ''
A new module is available: 'services.syncthing'.
'';
}
{
time = "2023-03-25T14:53:57+00:00";
message = ''
A new module is available: 'programs.hstr'.
'';
}
{
time = "2023-04-18T06:28:31+00:00";
condition = hostPlatform.isLinux;
message = ''
A new module is available: 'services.batsignal'.
'';
}
{
time = "2023-04-19T15:33:07+00:00";
message = ''
A new module is available: 'programs.mr'.
'';
}
{
time = "2023-04-28T19:59:23+00:00";
message = ''
A new module is available: 'programs.jujutsu'.
'';
}
{
time = "2023-05-09T16:06:56+00:00";
message = ''
A new module is available: 'programs.git-cliff'.
'';
}
{
time = "2023-05-12T21:31:05+00:00";
message = ''
A new module is available: 'programs.translate-shell'.
'';
}
{
time = "2023-05-13T13:51:18+00:00";
condition = hostPlatform.isLinux;
message = ''
A new module is available: 'programs.fuzzel'.
'';
}
{
time = "2023-05-13T14:34:21+00:00";
condition = config.programs.ssh.enable;
message = ''
The module 'programs.ssh' can now install an SSH client. The installed
client is controlled by the 'programs.ssh.package` option, which
defaults to 'null'.
'';
}
{
time = "2023-05-18T21:03:30+00:00";
message = ''
A new module is available: 'programs.script-directory'.
'';
}
{
time = "2023-06-03T22:19:32+00:00";
message = ''
A new module is available: 'programs.ripgrep'.
'';
}
{
time = "2023-06-07T06:01:16+00:00";
message = ''
A new module is available: 'programs.rtx'.
'';
}
{
time = "2023-06-07T12:16:55+00:00";
condition = hostPlatform.isLinux;
message = ''
A new module is available: 'programs.imv'.
'';
}
{
time = "2023-06-09T19:13:39+00:00";
condition = hostPlatform.isLinux;
message = ''
A new module is available: 'programs.boxxy'.
'';
}
{
time = "2020-04-26T13:32:17+00:00";
message = ''
A number of new modules are available:
- 'accounts.calendar',
- 'accounts.contact',
- 'programs.khal',
- 'programs.vdirsyncer', and
- 'services.vdirsyncer' (Linux only).
The two first modules offer a number of options for
configuring calendar and contact accounts. This includes,
for example, information about carddav and caldav servers.
The khal and vdirsyncer modules make use of this new account
infrastructure.
Note, these module are still somewhat experimental and their
structure should not be seen as final, some modifications
may be necessary as new modules are added.
'';
}
{
time = "2023-06-14T21:25:34+00:00";
message = ''
A new module is available: 'programs.git-credential-oauth'.
'';
}
{
time = "2023-06-14T21:41:22+00:00";
message = ''
Two new modules are available:
- 'programs.comodoro' and
- 'services.comodoro'
'';
}
{
time = "2023-06-15T16:30:00+00:00";
condition = config.qt.enable;
message = ''
Qt module now supports new platform themes and styles, and has partial
support for Qt6. For example, you can now use:
- `qt.platformTheme = "kde"`: set a theme using Plasma. You can
configure it by setting `~/.config/kdeglobals` file;
- `qt.platformTheme = "qtct"`: set a theme using qt5ct/qt6ct. You
can control it by using the `qt5ct` and `qt6ct` applications;
- `qt.style.name = "kvantum"`: override the style by using themes
written in SVG. Supports many popular themes.
'';
}
{
time = "2023-06-17T22:18:22+00:00";
condition = config.programs.zsh.enable;
message = ''
A new module is available: 'programs.zsh.antidote'
'';
}
{
time = "2023-06-30T14:46:22+00:00";
condition = hostPlatform.isLinux;
message = ''
A new module is available: 'services.ssh-agent'
'';
}
{
time = "2023-07-08T08:27:41+00:00";
message = ''
A new modules is available: 'programs.darcs'
'';
}
{
time = "2023-07-08T09:21:06+00:00";
message = ''
A new module is available: 'programs.pyenv'.
'';
}
{
time = "2023-07-08T09:44:56+00:00";
condition = hostPlatform.isLinux;
message = ''
A new module is available: 'services.swayosd'
'';
}
{
time = "2023-07-20T21:56:49+00:00";
condition = hostPlatform.isLinux;
message = ''
A new module is available: 'wayland.windowManager.hyprland'
'';
}
{
time = "2023-07-24T10:38:23+00:00";
message = ''
A new module is available: 'programs.gh-dash'
'';
}
{
time = "2023-07-25T07:16:09+00:00";
condition = hostPlatform.isDarwin;
message = ''
A new module is available: 'services.git-sync'.
'';
}
]; ];
}; };
} }

View file

@ -30,7 +30,7 @@ let
toString v toString v
else if isString v then else if isString v then
v v
else if isCoercibleToString v then else if isConvertibleWithToString v then
toString v toString v
else else
abort "The nix conf value: ${toPretty { } v} can not be encoded"; abort "The nix conf value: ${toPretty { } v} can not be encoded";
@ -120,23 +120,23 @@ in {
repo = "my-nixpkgs"; repo = "my-nixpkgs";
}; };
description = description =
"The flake reference to which <option>from></option> is to be rewritten."; "The flake reference to which {option}`from>` is to be rewritten.";
}; };
flake = mkOption { flake = mkOption {
type = types.nullOr types.attrs; type = types.nullOr types.attrs;
default = null; default = null;
example = literalExpression "nixpkgs"; example = literalExpression "nixpkgs";
description = '' description = ''
The flake input to which <option>from></option> is to be rewritten. The flake input to which {option}`from>` is to be rewritten.
''; '';
}; };
exact = mkOption { exact = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = '' description = ''
Whether the <option>from</option> reference needs to match exactly. If set, Whether the {option}`from` reference needs to match exactly. If set,
a <option>from</option> reference like <literal>nixpkgs</literal> does not a {option}`from` reference like `nixpkgs` does not
match with a reference like <literal>nixpkgs/nixos-20.03</literal>. match with a reference like `nixpkgs/nixos-20.03`.
''; '';
}; };
}; };
@ -182,8 +182,7 @@ in {
keep-outputs = true keep-outputs = true
keep-derivations = true keep-derivations = true
''; '';
description = description = "Additional text appended to {file}`nix.conf`.";
"Additional text appended to <filename>nix.conf</filename>.";
}; };
settings = mkOption { settings = mkOption {
@ -197,44 +196,37 @@ in {
} }
''; '';
description = '' description = ''
Configuration for Nix, see Configuration for Nix; see {manpage}`nix.conf(5)` for available options.
<link xlink:href="https://nixos.org/manual/nix/stable/#sec-conf-file"/> or
<citerefentry>
<refentrytitle>nix.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry> for available options.
The value declared here will be translated directly to the key-value pairs Nix expects. The value declared here will be translated directly to the key-value pairs Nix expects.
</para>
<para> Configuration specified in [](#opt-nix.extraOptions) will be appended
Configuration specified in <option>nix.extraOptions</option> which will be appended
verbatim to the resulting config file. verbatim to the resulting config file.
''; '';
}; };
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable (mkMerge [
(mkIf (cfg.registry != { }) {
xdg.configFile."nix/registry.json".source =
jsonFormat.generate "registry.json" {
version = cfg.registryVersion;
flakes =
mapAttrsToList (n: v: { inherit (v) from to exact; }) cfg.registry;
};
})
(mkIf (cfg.settings != { } || cfg.extraOptions != "") {
assertions = [{ assertions = [{
assertion = cfg.settings == { } || cfg.package != null; assertion = cfg.package != null;
message = '' message = ''
A corresponding Nix package must be specified via `nix.package` for generating A corresponding Nix package must be specified via `nix.package` for generating
nix.conf. nix.conf.
''; '';
}]; }];
xdg.configFile = { xdg.configFile."nix/nix.conf".source = nixConf;
"nix/registry.json" = mkIf (cfg.registry != { }) { })
source = jsonFormat.generate "registry.json" { ]);
version = cfg.registryVersion;
flakes =
mapAttrsToList (n: v: { inherit (v) from to exact; }) cfg.registry;
};
};
"nix/nix.conf" = mkIf (cfg.settings != { } || cfg.extraOptions != "") {
source = nixConf;
};
};
};
meta.maintainers = [ maintainers.polykernel ]; meta.maintainers = [ maintainers.polykernel ];
} }

View file

@ -53,24 +53,20 @@ in {
details, see the Nixpkgs documentation.) It allows you to set details, see the Nixpkgs documentation.) It allows you to set
package configuration options. package configuration options.
</para><para> If `null`, then configuration is taken from
If <literal>null</literal>, then configuration is taken from
the fallback location, for example, the fallback location, for example,
<filename>~/.config/nixpkgs/config.nix</filename>. {file}`~/.config/nixpkgs/config.nix`.
</para><para>
Note, this option will not apply outside your Home Manager Note, this option will not apply outside your Home Manager
configuration like when installing manually through configuration like when installing manually through
<command>nix-env</command>. If you want to apply it both {command}`nix-env`. If you want to apply it both
inside and outside Home Manager you can put it in a separate inside and outside Home Manager you can put it in a separate
file and include something like file and include something like
<programlisting language="nix"> ```nix
nixpkgs.config = import ./nixpkgs-config.nix; nixpkgs.config = import ./nixpkgs-config.nix;
xdg.configFile."nixpkgs/config.nix".source = ./nixpkgs-config.nix; xdg.configFile."nixpkgs/config.nix".source = ./nixpkgs-config.nix;
</programlisting> ```
in your Home Manager configuration. in your Home Manager configuration.
''; '';
@ -79,35 +75,32 @@ in {
overlays = mkOption { overlays = mkOption {
default = null; default = null;
example = literalExpression '' example = literalExpression ''
[ (self: super: { [
openssh = super.openssh.override { (final: prev: {
openssh = prev.openssh.override {
hpnSupport = true; hpnSupport = true;
withKerberos = true; withKerberos = true;
kerberos = self.libkrb5; kerberos = final.libkrb5;
}; };
}; })
) ] ]
''; '';
type = types.nullOr (types.listOf overlayType); type = types.nullOr (types.listOf overlayType);
description = '' description = ''
List of overlays to use with the Nix Packages collection. (For List of overlays to use with the Nix Packages collection. (For
details, see the Nixpkgs documentation.) It allows you to details, see the Nixpkgs documentation.) It allows you to
override packages globally. This is a function that takes as override packages globally. This is a function that takes as
an argument the <emphasis>original</emphasis> Nixpkgs. The an argument the *original* Nixpkgs. The
first argument should be used for finding dependencies, and first argument should be used for finding dependencies, and
the second should be used for overriding recipes. the second should be used for overriding recipes.
</para><para> If `null`, then the overlays are taken from
If <literal>null</literal>, then the overlays are taken from
the fallback location, for example, the fallback location, for example,
<filename>~/.config/nixpkgs/overlays</filename>. {file}`~/.config/nixpkgs/overlays`.
</para><para> Like {var}`nixpkgs.config` this option only
Like <varname>nixpkgs.config</varname> this option only
applies within the Home Manager configuration. See applies within the Home Manager configuration. See
<varname>nixpkgs.config</varname> for a suggested setup that {var}`nixpkgs.config` for a suggested setup that
works both internally and externally. works both internally and externally.
''; '';
}; };
@ -128,6 +121,8 @@ in {
config = { config = {
_module.args = { _module.args = {
# We use a no-op override to make sure that the option can be merged without evaluating
# `_pkgs`, see https://github.com/nix-community/home-manager/pull/993
pkgs = mkOverride modules.defaultOverridePriority _pkgs; pkgs = mkOverride modules.defaultOverridePriority _pkgs;
pkgs_i686 = pkgs_i686 =
if _pkgs.stdenv.isLinux && _pkgs.stdenv.hostPlatform.isx86 then if _pkgs.stdenv.isLinux && _pkgs.stdenv.hostPlatform.isx86 then

View file

@ -17,11 +17,8 @@ in {
description = '' description = ''
Environment variables that will be set for the PAM session. Environment variables that will be set for the PAM session.
The variable values must be as described in The variable values must be as described in
<citerefentry> {manpage}`pam_env.conf(5)`.
<refentrytitle>pam_env.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>.
</para><para>
Note, this option will become deprecated in the future and its use is Note, this option will become deprecated in the future and its use is
therefore discouraged. therefore discouraged.
''; '';
@ -39,7 +36,7 @@ in {
default = [ ]; default = [ ];
description = '' description = ''
List of authorized YubiKey token IDs. Refer to List of authorized YubiKey token IDs. Refer to
<link xlink:href="https://developers.yubico.com/yubico-pam"/> <https://developers.yubico.com/yubico-pam>
for details on how to obtain the token ID of a YubiKey. for details on how to obtain the token ID of a YubiKey.
''; '';
}; };
@ -49,7 +46,7 @@ in {
default = ".yubico/authorized_yubikeys"; default = ".yubico/authorized_yubikeys";
description = '' description = ''
File path to write the authorized YubiKeys, File path to write the authorized YubiKeys,
relative to <envar>HOME</envar>. relative to {env}`HOME`.
''; '';
}; };
}; };

View file

@ -6,8 +6,32 @@ let
cfg = config.qt; cfg = config.qt;
# Maps known lowercase style names to style packages. Non-exhaustive.
stylePackages = with pkgs; {
bb10bright = libsForQt5.qtstyleplugins;
bb10dark = libsForQt5.qtstyleplugins;
cleanlooks = libsForQt5.qtstyleplugins;
gtk2 = libsForQt5.qtstyleplugins;
motif = libsForQt5.qtstyleplugins;
cde = libsForQt5.qtstyleplugins;
plastique = libsForQt5.qtstyleplugins;
adwaita = adwaita-qt;
adwaita-dark = adwaita-qt;
adwaita-highcontrast = adwaita-qt;
adwaita-highcontrastinverse = adwaita-qt;
breeze = libsForQt5.breeze-qt5;
kvantum = [
qtstyleplugin-kvantum-qt4
libsForQt5.qtstyleplugin-kvantum
qt6Packages.qtstyleplugin-kvantum
];
};
in { in {
meta.maintainers = [ maintainers.rycee ]; meta.maintainers = with maintainers; [ rycee thiagokokada ];
imports = [ imports = [
(mkChangedOptionModule [ "qt" "useGtkTheme" ] [ "qt" "platformTheme" ] (mkChangedOptionModule [ "qt" "useGtkTheme" ] [ "qt" "platformTheme" ]
@ -17,31 +41,41 @@ in {
options = { options = {
qt = { qt = {
enable = mkEnableOption "Qt 4 and 5 configuration"; enable = mkEnableOption "Qt 4, 5 and 6 configuration";
platformTheme = mkOption { platformTheme = mkOption {
type = types.nullOr (types.enum [ "gtk" "gnome" ]); type = types.nullOr (types.enum [ "gtk" "gnome" "qtct" "kde" ]);
default = null; default = null;
example = "gnome"; example = "gnome";
relatedPackages = relatedPackages = [
[ "qgnomeplatform" [ "libsForQt5" "qtstyleplugins" ] ]; "qgnomeplatform"
[ "libsForQt5" "qtstyleplugins" ]
[ "libsForQt5" "qt5ct" ]
[ "qt6Packages" "qt6ct" ]
[ "libsForQt5" "plasma-integration" ]
[ "libsForQt5" "systemsettings" ]
];
description = '' description = ''
Selects the platform theme to use for Qt applications.</para> Platform theme to use for Qt applications.
<para>The options are
<variablelist> The options are
<varlistentry>
<term><literal>gtk</literal></term> `gtk`
<listitem><para>Use GTK theme with : Use GTK theme with
<link xlink:href="https://github.com/qt/qtstyleplugins">qtstyleplugins</link> [`qtstyleplugins`](https://github.com/qt/qtstyleplugins)
</para></listitem>
</varlistentry> `gnome`
<varlistentry> : Use GNOME theme with
<term><literal>gnome</literal></term> [`qgnomeplatform`](https://github.com/FedoraQt/QGnomePlatform)
<listitem><para>Use GNOME theme with
<link xlink:href="https://github.com/FedoraQt/QGnomePlatform">qgnomeplatform</link> `qtct`
</para></listitem> : Use Qt style set using
</varlistentry> [`qt5ct`](https://github.com/desktop-app/qt5ct)
</variablelist> and [`qt6ct`](https://github.com/trialuser02/qt6ct)
applications
`kde`
: Use Qt settings from Plasma
''; '';
}; };
@ -50,36 +84,45 @@ in {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
example = "adwaita-dark"; example = "adwaita-dark";
relatedPackages = [ "adwaita-qt" [ "libsForQt5" "qtstyleplugins" ] ]; relatedPackages = [
"adwaita-qt"
[ "libsForQt5" "breeze-qt5" ]
[ "libsForQt5" "qtstyleplugins" ]
"qtstyleplugin-kvantum-qt4"
[ "libsForQt5" "qtstyleplugin-kvantum" ]
[ "qt6Packages" "qtstyleplugin-kvantum" ]
];
description = '' description = ''
Selects the style to use for Qt5 applications.</para> Style to use for Qt5/Qt6 applications. Case-insensitive.
<para>The options are
<variablelist> Some examples are
<varlistentry>
<term><literal>adwaita</literal></term> `adwaita`, `adwaita-dark`, `adwaita-highcontrast`, `adwaita-highcontrastinverse`
<term><literal>adwaita-dark</literal></term> : Use the Adwaita style from
<listitem><para>Use Adwaita Qt style with [`adwaita-qt`](https://github.com/FedoraQt/adwaita-qt)
<link xlink:href="https://github.com/FedoraQt/adwaita-qt">adwaita</link>
</para></listitem> `breeze`
</varlistentry> : Use the Breeze style from
<varlistentry> [`breeze`](https://github.com/KDE/breeze)
<term><literal>cleanlooks</literal></term>
<term><literal>gtk2</literal></term> `bb10bright`, `bb10dark`, `cde`, `cleanlooks`, `gtk2`, `motif`, `plastique`
<term><literal>motif</literal></term> : Use styles from
<term><literal>plastique</literal></term> [`qtstyleplugins`](https://github.com/qt/qtstyleplugins)
<listitem><para>Use styles from
<link xlink:href="https://github.com/qt/qtstyleplugins">qtstyleplugins</link> `kvantum`
</para></listitem> : Use styles from
</varlistentry> [`kvantum`](https://github.com/tsujan/Kvantum)
</variablelist>
''; '';
}; };
package = mkOption { package = mkOption {
type = types.nullOr types.package; type = with types; nullOr (either package (listOf package));
default = null; default = null;
example = literalExpression "pkgs.adwaita-qt"; example = literalExpression "pkgs.adwaita-qt";
description = "Theme package to be used in Qt5 applications."; description = ''
Theme package to be used in Qt5/Qt6 applications.
Auto-detected from {option}`qt.style.name` if possible.
'';
}; };
}; };
}; };
@ -87,35 +130,51 @@ in {
config = mkIf (cfg.enable && cfg.platformTheme != null) { config = mkIf (cfg.enable && cfg.platformTheme != null) {
assertions = [{ assertions = [{
assertion = (cfg.platformTheme == "gnome") assertion = cfg.platformTheme == "gnome" -> cfg.style.name != null
-> ((cfg.style.name != null) && (cfg.style.package != null)); && cfg.style.package != null;
message = '' message = ''
`qt.platformTheme` "gnome" must have `qt.style` set to a theme that `qt.platformTheme` "gnome" must have `qt.style` set to a theme that
supports both Qt and Gtk, for example "adwaita" or "adwaita-dark". supports both Qt and Gtk, for example "adwaita", "adwaita-dark", or "breeze".
''; '';
}]; }];
# Necessary because home.sessionVariables is of types.attrs qt.style.package = mkIf (cfg.style.name != null)
home.sessionVariables = (filterAttrs (n: v: v != null) { (mkDefault (stylePackages.${toLower cfg.style.name} or null));
QT_QPA_PLATFORMTHEME =
if cfg.platformTheme == "gnome" then "gnome" else "gtk2";
QT_STYLE_OVERRIDE = cfg.style.name;
});
home.packages = if cfg.platformTheme == "gnome" then # Necessary because home.sessionVariables doesn't support mkIf
[ pkgs.qgnomeplatform ] home.sessionVariables = filterAttrs (n: v: v != null) {
++ lib.optionals (cfg.style.package != null) [ cfg.style.package ] QT_QPA_PLATFORMTHEME = if cfg.platformTheme == "gtk" then
"gtk2"
else if cfg.platformTheme == "qtct" then
"qt5ct"
else else
[ pkgs.libsForQt5.qtstyleplugins ]; cfg.platformTheme;
QT_STYLE_OVERRIDE = cfg.style.name;
};
home.packages = (if cfg.platformTheme == "gnome" then
[ pkgs.qgnomeplatform ]
else if cfg.platformTheme == "qtct" then [
pkgs.libsForQt5.qt5ct
pkgs.qt6Packages.qt6ct
] else if cfg.platformTheme == "kde" then [
pkgs.libsForQt5.plasma-integration
pkgs.libsForQt5.systemsettings
] else
[ pkgs.libsForQt5.qtstyleplugins ])
++ lib.optionals (cfg.style.package != null)
(lib.toList cfg.style.package);
xsession.importedVariables = [ "QT_QPA_PLATFORMTHEME" ] xsession.importedVariables = [ "QT_QPA_PLATFORMTHEME" ]
++ lib.optionals (cfg.style != null) [ "QT_STYLE_OVERRIDE" ]; ++ lib.optionals (cfg.style.name != null) [ "QT_STYLE_OVERRIDE" ];
# Enable GTK+ style for Qt4 in either case. # Enable GTK+ style for Qt4 in Gtk/GNOME.
# It doesnt support the platform theme packages. # It doesnt support the platform theme packages.
home.activation.useGtkThemeInQt4 = hm.dag.entryAfter [ "writeBoundary" ] '' home.activation.useGtkThemeInQt4 =
mkIf (cfg.platformTheme == "gtk" || cfg.platformTheme == "gnome")
(hm.dag.entryAfter [ "writeBoundary" ] ''
$DRY_RUN_CMD ${pkgs.crudini}/bin/crudini $VERBOSE_ARG \ $DRY_RUN_CMD ${pkgs.crudini}/bin/crudini $VERBOSE_ARG \
--set "${config.xdg.configHome}/Trolltech.conf" Qt style GTK+ --set "${config.xdg.configHome}/Trolltech.conf" Qt style GTK+
''; '');
}; };
} }

View file

@ -0,0 +1,83 @@
{ config, name, extendModules, lib, ... }:
with lib;
{
imports =
[ (mkRenamedOptionModule [ "specialization" ] [ "specialisation" ]) ];
options.specialisation = mkOption {
type = types.attrsOf (types.submodule {
options = {
configuration = mkOption {
type = let
extended = extendModules {
modules = [{
# Prevent infinite recursion
specialisation = mkOverride 0 { };
# If used inside the NixOS/nix-darwin module, we get conflicting definitions
# of `name` inside the specialisation: one is the user name coming from the
# NixOS module definition and the other is `configuration`, the name of this
# option. Thus we need to explicitly wire the former into the module arguments.
# See discussion at https://github.com/nix-community/home-manager/issues/3716
_module.args.name = mkForce name;
}];
};
in extended.type;
default = { };
visible = "shallow";
description = ''
Arbitrary Home Manager configuration settings.
'';
};
};
});
default = { };
description = ''
A set of named specialized configurations. These can be used to extend
your base configuration with additional settings. For example, you can
have specialisations named "light" and "dark"
that apply light and dark color theme configurations.
::: {.note}
This is an experimental option for now and you therefore have to
activate the specialisation by looking up and running the activation
script yourself. Running the activation script will create a new
Home Manager generation.
:::
For example, to activate the "dark" specialisation, you can
first look up your current Home Manager generation by running
```console
$ home-manager generations | head -1
2022-05-02 22:49 : id 1758 -> /nix/store/jyac-home-manager-generation
```
then run
```console
$ /nix/store/jyac-home-manager-generation/specialisation/dark/activate
Starting Home Manager activation
```
::: {.warning}
Since this option is experimental, the activation process may
change in backwards incompatible ways.
:::
'';
};
config = mkIf (config.specialisation != { }) {
home.extraBuilderCommands = let
link = n: v:
let pkg = v.configuration.home.activationPackage;
in "ln -s ${pkg} $out/specialisation/${n}";
in ''
mkdir $out/specialisation
${concatStringsSep "\n" (mapAttrsToList link config.specialisation)}
'';
};
}

View file

@ -1,71 +0,0 @@
{ config, extendModules, lib, ... }:
with lib;
{
options.specialization = mkOption {
type = types.attrsOf (types.submodule {
options = {
configuration = mkOption {
type = let
stopRecursion = { specialization = mkOverride 0 { }; };
extended = extendModules { modules = [ stopRecursion ]; };
in extended.type;
default = { };
visible = "shallow";
description = ''
Arbitrary Home Manager configuration settings.
'';
};
};
});
default = { };
description = ''
A set of named specialized configurations. These can be used to extend
your base configuration with additional settings. For example, you can
have specializations named <quote>light</quote> and <quote>dark</quote>
that applies light and dark color theme configurations.
</para><para>
Note, this is an experimental option for now and you therefore have to
activate the specialization by looking up and running the activation
script yourself. Note, running the activation script will create a new
Home Manager generation.
</para><para>
For example, to activate the <quote>dark</quote> specialization. You can
first look up your current Home Manager generation by running
<programlisting language="console">
$ home-manager generations | head -1
2022-05-02 22:49 : id 1758 -> /nix/store/jyac-home-manager-generation
</programlisting>
then run
<programlisting language="console">
$ /nix/store/jyac-home-manager-generation/specialization/dark/activate
Starting Home Manager activation
</programlisting>
</para><para>
WARNING! Since this option is experimental, the activation process may
change in backwards incompatible ways.
'';
};
config = mkIf (config.specialization != { }) {
home.extraBuilderCommands = let
link = n: v:
let pkg = v.configuration.home.activationPackage;
in "ln -s ${pkg} $out/specialization/${n}";
in ''
mkdir $out/specialization
${concatStringsSep "\n" (mapAttrsToList link config.specialization)}
'';
};
}

View file

@ -21,11 +21,11 @@ with lib;
default = false; default = false;
internal = true; internal = true;
description = '' description = ''
Whether the packages of <option>home.packages</option> are Whether the packages of {option}`home.packages` are
installed separately from the Home Manager activation script. installed separately from the Home Manager activation script.
In NixOS, for example, this may be accomplished by installing In NixOS, for example, this may be accomplished by installing
the packages through the packages through
<option>users.users.name?.packages</option>. {option}`users.users.name?.packages`.
''; '';
}; };
}; };

View file

@ -16,10 +16,7 @@ in {
description = '' description = ''
Rules for creating and cleaning up temporary files Rules for creating and cleaning up temporary files
automatically. See automatically. See
<citerefentry> {manpage}`tmpfiles.d(5)`
<refentrytitle>tmpfiles.d</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>
for the exact format. for the exact format.
''; '';
}; };

View file

@ -2,7 +2,9 @@
with lib; with lib;
{ let releaseInfo = lib.importJSON ../../release.json;
in {
options = { options = {
home.stateVersion = mkOption { home.stateVersion = mkOption {
type = types.enum [ type = types.enum [
@ -17,14 +19,15 @@ with lib;
"22.05" "22.05"
"22.11" "22.11"
"23.05" "23.05"
"23.11"
]; ];
description = '' description = ''
It is occasionally necessary for Home Manager to change It is occasionally necessary for Home Manager to change
configuration defaults in a way that is incompatible with configuration defaults in a way that is incompatible with
stateful data. This could, for example, include switching the stateful data. This could, for example, include switching the
default data format or location of a file. default data format or location of a file.
</para><para>
The <emphasis>state version</emphasis> indicates which default The *state version* indicates which default
settings are in effect and will therefore help avoid breaking settings are in effect and will therefore help avoid breaking
program configurations. Switching to a higher state version program configurations. Switching to a higher state version
typically requires performing some manual steps, such as data typically requires performing some manual steps, such as data
@ -50,11 +53,22 @@ with lib;
internal = true; internal = true;
readOnly = true; readOnly = true;
type = types.str; type = types.str;
default = fileContents ../../.release; default = releaseInfo.release;
example = "22.11"; example = "22.11";
description = "The Home Manager release."; description = "The Home Manager release.";
}; };
isReleaseBranch = mkOption {
internal = true;
readOnly = true;
type = types.bool;
default = releaseInfo.isReleaseBranch;
description = ''
Whether the Home Manager version is from a versioned
release branch.
'';
};
revision = mkOption { revision = mkOption {
internal = true; internal = true;
type = types.nullOr types.str; type = types.nullOr types.str;

View file

@ -34,6 +34,7 @@ let
exec = mkOption { exec = mkOption {
description = "Program to execute, possibly with arguments."; description = "Program to execute, possibly with arguments.";
type = types.nullOr types.str; type = types.nullOr types.str;
default = null;
}; };
icon = mkOption { icon = mkOption {
@ -81,7 +82,7 @@ let
startupNotify = mkOption { startupNotify = mkOption {
description = '' description = ''
If true, it is KNOWN that the application will send a "remove" If true, it is KNOWN that the application will send a "remove"
message when started with the <literal>DESKTOP_STARTUP_ID</literal> message when started with the `DESKTOP_STARTUP_ID`
environment variable set. If false, it is KNOWN that the application environment variable set. If false, it is KNOWN that the application
does not work with startup notification at all.''; does not work with startup notification at all.'';
type = types.nullOr types.bool; type = types.nullOr types.bool;
@ -106,9 +107,9 @@ let
}; };
settings = mkOption { settings = mkOption {
type = types.attrsOf types.string; type = types.attrsOf types.str;
description = '' description = ''
Extra key-value pairs to add to the <literal>[Desktop Entry]</literal> section. Extra key-value pairs to add to the `[Desktop Entry]` section.
This may override other values. This may override other values.
''; '';
default = { }; default = { };
@ -131,6 +132,7 @@ let
options.exec = mkOption { options.exec = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
description = "Program to execute, possibly with arguments."; description = "Program to execute, possibly with arguments.";
default = null;
}; };
options.icon = mkOption { options.icon = mkOption {
type = with types; nullOr (either str path); type = with types; nullOr (either str path);
@ -162,10 +164,6 @@ let
}; };
}; };
#formatting helpers
semicolonList = list:
(concatStringsSep ";" list) + ";"; # requires trailing semicolon
#passes config options to makeDesktopItem in expected format #passes config options to makeDesktopItem in expected format
makeFile = name: config: makeFile = name: config:
pkgs.makeDesktopItem { pkgs.makeDesktopItem {
@ -183,9 +181,11 @@ in {
options.xdg.desktopEntries = mkOption { options.xdg.desktopEntries = mkOption {
description = '' description = ''
Desktop Entries allow applications to be shown in your desktop environment's app launcher. </para><para> Desktop Entries allow applications to be shown in your desktop environment's app launcher.
You can define entries for programs without entries or override existing entries. </para><para>
See <link xlink:href="https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#recognized-keys" /> for more information on options. You can define entries for programs without entries or override existing entries.
See <https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#recognized-keys> for more information on options.
''; '';
default = { }; default = { };
type = types.attrsOf (types.submodule desktopEntry); type = types.attrsOf (types.submodule desktopEntry);

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