Compare commits

..

2591 Commits

Author SHA1 Message Date
home-manager-ci[bot]
9942c6091b maintainers: update all-maintainers.nix
Automated update of the master maintainers list combining:
- Home Manager specific maintainers from modules/lib/maintainers.nix
- Nixpkgs maintainers referenced in Home Manager modules

Changes: +6 -4 lines

Generated by: lib/python/generate-all-maintainers.py
2025-07-02 04:04:57 +00:00
Austin Horstman
29d717aab5 ci: tests fetch nixpkgs from flake.lock rev
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-01 23:03:57 -05:00
Austin Horstman
212f4a4fb2 ci: update-maintainers fetch nixpkgs from flake.lock rev
We need a nixpkgs on NIX_PATH. Right now we have been using the latest
from channel. But, we can actually just fetch the nixpkgs from our
flake.lock by parsing the flake.lock.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-01 23:03:57 -05:00
Austin Horstman
121b430df7 maintainers: fix incorrect entries (#7360)
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-01 23:01:12 -05:00
Austin Horstman
e96a8a325c ci: conditional test step runs (#7358)
Not every PR requires the overhead of spinning up runners and running
our entire test suite. Filter on paths affected and only run the
relevant steps.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-01 18:11:29 -05:00
Austin Horstman
5d2f3e3e7f ci: fix update-maintainers reference location (#7357)
Moved from scripts to lib/python and forgot to update action

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-01 16:59:53 -05:00
Austin Horstman
77bb9e033b ci: add update-maintainers.yml
Create workflow for updating maintainers list.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-01 16:30:06 -05:00
Austin Horstman
11db56137d all-maintainers.nix: initial creation
Create initial master maintainer list from the home manager and nixpkgs
maintainers that are referenced in the repository.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-01 16:30:06 -05:00
Austin Horstman
44a2308db9 scripts/generate-all-maintainers.py: add script
Create a script for generating the master maintainer list we will use
for inviting / pinging on changed files.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-01 16:30:06 -05:00
Austin Horstman
479f888967 bash: support path in sessionVariables again (#7354)
Upstream shell environment variables support paths.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-01 10:47:16 -05:00
Winter
96354906f5 files: show better error when file would be clobbered (#7348)
Before:

> Existing file '' would be clobbered by backing up '/home/winter/.config/fish/config.fish'

After:

> Existing file '/home/winter/.config/fish/config.fish' would be clobbered
2025-06-30 21:16:25 -05:00
Ali Jamadi
4074121796 nh: update maintainers 2025-06-30 21:12:20 -05:00
Ali Jamadi
e8a3e2c1e0 nh: fix clean option behaviour for Darwin 2025-06-30 21:12:20 -05:00
Kira
78fc50f1cf direnv: fix nushell cell-path handling (#7339)
After https://github.com/nushell/nushell/pull/15692, this integration breaks
$PATH conversions again as cell-paths are now case-sensitive.
2025-06-30 13:49:04 -05:00
Austin Horstman
ee2189cb2f gh: insert empty helper when using credential helper (#7347)
Resets previous helpers so the only one being used is the `gh` cli

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-30 12:12:19 -05:00
Matthieu Coudron
0f21ed5182 bash: change sessionVariables to attrsOf ... (#7300)
I had programs.bash.sessionVariables.CDPATH = ... defined in the
different nix files. One was taken into account and the other one
ignored.

Turns out plain "types.attrs" has the following merging strategy:

===
merge = loc: foldl' (res: def: res // def.value) { };
===

Changing it to "attrsOf", the module system warned me of the conflicting
values.
2025-06-30 17:19:07 +02:00
Devin Droddy
f6deff178c quickshell: add module (#7316) 2025-06-29 18:28:19 -05:00
Adam Dinwoodie
cab8104e92 home-manager: add repl subcommand (#5600)
Similar to the `nixos-rebuild repl` command, `home-manager repl` will
launch the Nix read-evaluate-print-loop environment with the Home
Manager configuration loaded.

To make that more useful, also add the pkgs and options attributes from
the generated Home Manager configuration to the environment.

This doesn't currently work with flakes, because I don't use them and
I'm not confident I could safely test that function.
2025-06-29 18:12:33 -05:00
Maximilian Dietrich
3faf4a1507 syncthing: add guiAddress to configuration (#7281)
We have a configuration option services.syncthing.guiAddress which is an explicit option because we need it in the syncthing-init service, but why not also set it in the actual syncthing config as well as (or instead of?) the current CLI override? This way other software that parses the config file / REST API like syncthingtray just works with it instead of erroring out and unexpectedly requesting user interaction.

I guess we could actually also scrap the explicit services.syncthing.guiAddress option in favor of the syncthing-native services.syncthing.settings.gui.address because these two (valid!) options conflict otherwise.

Also, a next PR (or addition to this one) could be to make sure the syncthing-init service treats services.syncthing.settings.gui differently by not PUTting but PATCHing the configuration as PUTting triggers an API key regeneration, again breaking REST API access for other tools.
2025-06-29 18:11:18 -05:00
winston
a4f9ab0005 sway: add wayland.windowManager.sway.systemd.dbusImplementation (#7271)
Allows the user to choose the dbus implementation for the environment
import.

See https://github.com/swaywm/sway/wiki#systemd-and-dbus-activation-environments
2025-06-29 18:09:58 -05:00
home-manager-ci[bot]
522c681ac2 flake.lock: Update (#7326)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/08f22084e6085d19bcfb4be30d1ca76ecb96fe54?narHash=sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50%3D' (2025-06-19)
  → 'github:NixOS/nixpkgs/30e2e2857ba47844aa71991daa6ed1fc678bcbb7?narHash=sha256-krGXKxvkBhnrSC/kGBmg5MyupUUT5R6IBCLEzx9jhMM%3D' (2025-06-27)

Co-authored-by: home-manager-ci[bot] <214323736+home-manager-ci[bot]@users.noreply.github.com>
2025-06-29 17:35:42 -05:00
jaredmontoya
2b3bb17e87 oh-my-posh: fix nushell with v26.0.0 (#7342) 2025-06-29 17:34:38 -05:00
awwpotato
76d0c31fce formatter: add deadnix (#7331) 2025-06-28 16:28:39 -05:00
Lucas Servén Marín
da077f20db fix(service/gpg-agent): ensure SSH_AUTH_SOCK is set on Darwin (#7117)
This commit addresses https://github.com/nix-community/home-manager/issues/5997
At the root, the gpg-agent SSH integration is not working on Darwin
because shells are started with `SSH_AUTH_SOCK` already set to something
like `/private/tmp/com.apple.launchd.ozLmoURHDC/Listeners`, which
prevents the hook from setting the variable to the gpg-agent's socket.

This commit fixes the issue using a different mechanism to detect if the
current shell has already had the `SSH_AUTH_SOCK` variable set to the
gpg-agent's socket, namely by checking for `gnupg_SSH_AUTH_SOCK_by` as
documented in
https://www.gnupg.org/documentation/manuals/gnupg/Agent-Examples.html#Agent-Examples.

This is essentially a simplified version of
https://github.com/nix-community/home-manager/pull/5901 that does not
attempt to migrate gpg-agent over to launchd.

Signed-off-by: squat <lserven@gmail.com>
2025-06-28 12:30:46 -05:00
Matthias Beyer
080e8b48b0 mako: "settings" is an attrset, so use that as example too (#7330)
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2025-06-26 16:36:45 -05:00
Jairo Llopis
ff31a4677c fix(zed): support preexisting JSON5 settings (#7317)
Zed uses JSON5 for settings files. JQ doesn't understand that format and
fails if found, when merging with preexisting settings.

Here I add a conversion step that converts JSON5 to JSON before handling
the contents to JQ.

Besides, I changed the arguments in the jq function, so instead of using
`[0]` and `[1]`, we now use `$dynamic` and `$static` respectively. This
should make scripts more readable.

Fixes https://github.com/nix-community/home-manager/issues/7247
Fixes https://github.com/nix-community/home-manager/issues/7226
2025-06-24 15:48:03 -05:00
Austin Horstman
951f0b30c5 ci: schedule release flake lock updates (#7325)
Currently only running on the master branch. But, we can schedule on the
release branch, as well.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-24 14:54:56 -05:00
Austin Horstman
d400c36166 tests/flake.lock: remove (#7324)
Accidentally checked in

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-24 14:09:59 -05:00
Jonathan Davies
a4bac2b9ba helix: fix configuration file creation logic (#7319)
without this change, an extraConfig file always gets created, even when
none is specified
2025-06-24 11:06:11 -05:00
Austin Horstman
d07e9cceb4 docs: add note about importing modules (#7315)
Help explain how we import for contributers.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-23 20:57:15 -05:00
Austin Horstman
c9d8158bc5 tests/aerospace: test launchd agent
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-23 20:30:43 -05:00
damidoug
d33444e63a aerospace: Add launchd agent and enhance configuration 2025-06-23 20:30:43 -05:00
Austin Horstman
86402a17b6 treewide: flatten single file modules
Some files don't need nesting and can be root level again to reduce
conflicts with other PRs.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-23 16:20:26 -05:00
Austin Horstman
bda9deb791 modules: allow root level nix files
More flexibility in allowing root level files to import, for those that
don't need nesting.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-23 16:20:26 -05:00
Perchun Pak
f5098b0740 programs/hyprpanel: init (#7303) 2025-06-23 15:48:27 -05:00
Johan Larsson
873c5b2dc5 way-displays: use mkOptionDefault in systemd.variables (#7306)
Closes #7296.
2025-06-23 13:50:37 -05:00
Austin Horstman
05b8c95064 ci: home-manager switch test aginst codebase
Right now, we grab the latest home-manager pushed to remote. We need to
test against the code we are pushing out.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-23 09:59:09 -05:00
Dan Xin
4a8f993c45 home-manager: fix broken path reference 2025-06-23 09:59:09 -05:00
Austin Horstman
4c9e99e8e8 ci: disable home-manager install tests on darwin
nix broken on latest channel update

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Austin Horstman
41a5f0a98a tests/nix-gc: reorganize darwin and linux
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Austin Horstman
7a64c02340 tests/imapnotify: reorganize darwin and linux
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Austin Horstman
5618e7a748 tests/home-manager-auto-expire: reorganize darwin and linux
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Austin Horstman
d2b2c72add tests/espanso: reorganize darwin and linux
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Austin Horstman
c283a23ef6 tests/emacs: reorganize darwin and linux
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Austin Horstman
e9bde7692e tests/git-sync: reorganize darwin and linux
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Austin Horstman
2c4f8cb7d6 tests/yubikey-agent: reorganize darwin and linux
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Austin Horstman
bbad45b7ea tests/jellyfin-mpv-shim: fix tests
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Austin Horstman
06c1392ca8 tests: implement auto importing for modules
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Austin Horstman
4fca600cb1 treewide: implement auto importing for modules
Reduce maintenance burden and increase efficiency by automatically
importing modules following a specific convention.

Co-authored-by: awwpotato <awwpotato@voidq.com>
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Austin Horstman
fefeb0e928 tests/redshift-gammastep: check file exists first
Just leads to less confusing output when we have a missing file.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Josef Hofer
520fc4b50a k9s: fix config files not generated correctly & improve options (#7262) 2025-06-22 22:55:09 -05:00
LesVu
6fa01d524b labwc: do not manage file when in default value(#7240) 2025-06-22 22:51:51 -05:00
LesVu
2fbd694fec labwc: Fix pipemenu(#7236) and icon in menu generation
Add the generation of icon and pipemenu
2025-06-22 22:51:51 -05:00
leiserfg
3bd646138a nushell: Make sure the plugins are not garbage-collected (#7295) 2025-06-22 22:42:38 -05:00
Austin Horstman
7c35504839 tests/neovim: fix expected config
Use normalized store paths to not have to maintain the hash

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 12:47:26 -05:00
Austin Horstman
a8e99a9608 tests/nix-init: fix expected config
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 12:47:26 -05:00
Austin Horstman
373531850c tests/uv: fix expected config
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 12:47:26 -05:00
Austin Horstman
fd41fc5fbf tests/numbat: fix expected config
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 12:47:26 -05:00
Austin Horstman
c8c30aa316 tests/meli: fix expected config
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 12:47:26 -05:00
Austin Horstman
3d045a92d6 tests/i3status-rust: fix expected config
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 12:47:26 -05:00
Austin Horstman
c32df52a2f tests/himalaya: fix expected config
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 12:47:26 -05:00
Austin Horstman
07e72705a1 tests/niriswitcher: fix expected config
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 12:47:26 -05:00
Austin Horstman
65db5b85d0 tests/spotify-player: fix expected config
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 12:47:26 -05:00
Austin Horstman
597d672e69 tests/neovide: fix expected config
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 12:47:26 -05:00
Austin Horstman
a2231992dd tests/helix: fix expected config
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 12:47:26 -05:00
Austin Horstman
975908d310 tests/clipcat: fix expected config
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 12:47:26 -05:00
Austin Horstman
19530b8d3c network-manager-applet: maintainer midirhee12 -> midischwarz12
https: //github.com/NixOS/nixpkgs/pull/418190
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 12:47:26 -05:00
home-manager-ci[bot]
2d9c66ee6d flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9e83b64f727c88a7711a2c463a7b16eedb69a84c?narHash=sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI%3D' (2025-06-17)
  → 'github:NixOS/nixpkgs/08f22084e6085d19bcfb4be30d1ca76ecb96fe54?narHash=sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50%3D' (2025-06-19)
2025-06-22 12:47:26 -05:00
crasm
39b7903eab helix: don't ignore extraConfig when no other settings (#7302)
Fix so that you can still generate `programs.helix.extraConfig` without
using `programs.helix.settings`. Useful particularly in the case of
`extraConfig = lib.readFile ./config.toml;`.
2025-06-22 10:03:39 -05:00
Florent Charpentier
8638426397 hyprland: update wiki domain name (#7293)
As I noticed in
<https://github.com/nix-community/home-manager/pull/7277#issuecomment-2985781610>,
it seems hyprland changed its domain name from `hyprland.org` to
`hypr.land`. (The old domain redirects to the new one)

These changes are made by the following:
find . \( -type d -name .git -prune \) -o -type f -print0 | xargs -0 sed -i 's/hyprland\.org/hypr.land/g'
2025-06-18 22:41:02 -05:00
Austin Horstman
0f355844e5 tests/firefox: fix bookmarks test (#7292)
Not run in CI so didn't notice. We had a shared file. But, now attrset
and list differ in what they can generate. Separate the expected test
files.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-18 14:39:32 -05:00
Austin Horstman
85e68c6a38 tests/neovim: stub meta.teams
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-18 11:12:29 -05:00
Austin Horstman
70c289b54d i3status-rust: farlion -> workflow
maintainer entry renamed

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-18 11:12:29 -05:00
home-manager-ci[bot]
df9fddf70c flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3e3afe5174c561dee0df6f2c2b2236990146329f?narHash=sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU%3D' (2025-06-07)
  → 'github:NixOS/nixpkgs/9e83b64f727c88a7711a2c463a7b16eedb69a84c?narHash=sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI%3D' (2025-06-17)
2025-06-18 11:12:29 -05:00
Austin Horstman
f754e377dc tests/yazi: manager -> mgr (#7289)
Forgot to update test when we updated examples.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-18 09:29:56 -05:00
Bryton Hall
28eef8722d vscode: fix version checks when using Windsurf (#7285) 2025-06-16 21:31:03 -05:00
xaltsc
0edffd088e firefox: allow separators in bookmarks (#7284)
Allow users to create separators in their Firefox bookmarks.

Co-authored-by: xaltsc <hey@xaltsc.dev>
2025-06-16 15:51:11 -05:00
Different
1db3cb415d lib/strings: add PascalCase support for toCaseWithSeperator (#7282) 2025-06-16 13:49:41 -05:00
DerRockWolf
66523b0efe thunderbird: support declaration of calendars (#5484)
Adds calendar support using the `accounts.calendar.accounts.*` options.
2025-06-15 19:21:02 -05:00
Aguirre Matteo
cef3e0adc0 maintainers: update aguirre-matteo email (#7279) 2025-06-15 18:45:17 -05:00
Austin Horstman
83030f0e4a ci: labeler issues permission (#7278)
Should resolve issue with needing to create labels.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-15 18:38:09 -05:00
Austin Horstman
676e40a246 sketchybar: inherit meta in finalPackage (#7276)
Since we're creating a new derivation, we drop the original package
attributes. Add our own meta.mainProgram to resolve those warnings.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-15 18:37:49 -05:00
MaeIsBad
30b6daf872 kakoune: implement a final package option (#7275) 2025-06-15 17:23:27 -05:00
Shahar "Dawn" Or
04672588c6 way-displays: support stateful configuration file (#7138)
This is good for when displays are not considered part of the home configuration and are instead considered ephemeral.
Great for laptops but I use it for my desktop as well.
2025-06-15 16:59:12 +02:00
awwpotato
dceefa87dc ncspot: make package nullable 2025-06-15 08:26:06 -05:00
awwpotato
6e36b1be0b ncspot: adopt 2025-06-15 08:26:06 -05:00
Paul Menhart
c5f3451533 atuin: fix docs url (#7252)
* atuin: fix docs url

Co-authored-by: Austin Horstman <khaneliman12@gmail.com>

---------

Co-authored-by: Paul Menhart <paul_menhart@genua.de>
Co-authored-by: Matthieu Coudron <886074+teto@users.noreply.github.com>
Co-authored-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-15 01:46:37 +02:00
Matthieu Coudron
8fabeb9c14 fix meli eval warning (#7267) 2025-06-14 23:06:00 +02:00
Matthieu Coudron
79dfd9aa29 meli: move freeformat settings to example (#7259)
these hardcoded freeformat settings dont add anything over the default,
worse they generate empty sections which can then clash with user included config (my usecase).
It's best to move those to example.
2025-06-13 15:25:19 +02:00
Robert Helgesson
f111393987 ashell: minor description improvements 2025-06-13 10:07:01 +02:00
Gliczy
18f3a0d21c opensnitch-ui: add package option (#7260) 2025-06-12 20:50:43 -05:00
Devin Droddy
0215073a70 ashell: add module 2025-06-12 20:49:28 -05:00
Devin Droddy
dd12be8603 maintainers: add justdeeevin 2025-06-12 20:49:28 -05:00
Kieran
09859234f8 zed-editor: don't add activation scripts if there is nothing to merge (#7254) 2025-06-12 20:47:44 -05:00
Sam
5ab15331c2 targets/darwin: fix ShowDate default description (#7256) 2025-06-12 20:46:23 -05:00
Austin Horstman
faeab32528 ci: fix bars labeler (#7253)
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-11 10:53:11 -05:00
home-manager-ci[bot]
02040b7777 flake.lock: Update (#7251)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d3d2d80a2191a73d1e86456a751b83aa13085d7d?narHash=sha256-QuUtALJpVrPnPeozlUG/y%2BoIMSLdptHxb3GK6cpSVhA%3D' (2025-06-05)
  → 'github:NixOS/nixpkgs/3e3afe5174c561dee0df6f2c2b2236990146329f?narHash=sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU%3D' (2025-06-07)

Co-authored-by: home-manager-ci[bot] <214323736+home-manager-ci[bot]@users.noreply.github.com>
2025-06-11 08:38:36 -05:00
Matthieu Coudron
450f06ec3c meli: support include statement (#7248)
so one can mix nix generated and manual configs

Instead of using `readFile` on the generated file, we included the generated config to avoid IFD. Because this approach makes ~/.config/meli/config.toml less readable (it referecens another generated file) I disabled it when the user does not "include" personal config. This feels a bit hackish but this is the best way I could find to keep the best of both worlds.
2025-06-11 09:57:32 +02:00
Thierry Delafontaine
427c96044f codex: init 2025-06-09 22:33:16 -05:00
Thierry Delafontaine
7e3d76e7f7 maintainers: add delafthi 2025-06-09 22:33:16 -05:00
Rishi Vora
e9763eb195 niriswitcher: add module (#7246) 2025-06-09 22:30:27 -05:00
Weblate (bot)
f26c378c3d Translations update from Hosted Weblate (#7244)
* Translate using Weblate (Basque)

Currently translated at 13.5% (5 of 37 strings)

Add translation using Weblate (Basque)

Co-authored-by: Muxutruk <benat.eigurenzu@elorrieta-errekamari.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/eu/
Translation: Home Manager/Home Manager CLI

* Add translation using Weblate (Basque)

Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>

* Translate using Weblate (Basque)

Currently translated at 50.0% (8 of 16 strings)

Translate using Weblate (Basque)

Currently translated at 21.6% (8 of 37 strings)

Translate using Weblate (Basque)

Currently translated at 25.0% (4 of 16 strings)

Co-authored-by: Muxutruk <benat.eigurenzu@elorrieta-errekamari.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/eu/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/eu/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules

---------

Co-authored-by: Muxutruk <benat.eigurenzu@elorrieta-errekamari.com>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
2025-06-09 22:29:31 -05:00
Evgeny Zislis
1df816c407 fix: ensure newline after vim.cmd[[source...]] in neovim init.lua (#7219)
Fix an issue where the generated ~/.config/nvim/init.lua lacks a newline after the vim.cmd [[source ...]] directive. Without this newline, subsequent lua configuration is concatenated onto the same line, breaking lua syntax.

init.lua Before:

vim.cmd [[source /nix/store/...]]vim.opt.rtp:prepend(...)

After:

vim.cmd [[source /nix/store/...]]
vim.opt.rtp:prepend(...)
2025-06-09 22:10:54 +02:00
octvs
74d196c994 papis: allow libraries to not to be defined (#7204)
papis allows setting configuration via local [1] or via a python file
[2]. A user can decide to define libraries via these methods, which
home-manager module won't allow. Shift where the check is done to allow
a config file with empty libraries.

Remove the previous assertion which is made unnecessary by this change.

[1]: https://papis.readthedocs.io/en/latest/configuration.html#local-configuration-files
[2]: https://papis.readthedocs.io/en/latest/configuration.html#python-configuration-file
2025-06-09 17:44:44 +02:00
Egor Konovalov
35e1f5a7c2 mc: add midnight commander module (#7225) 2025-06-09 09:25:11 -05:00
Robert Helgesson
eee140958a home-manager: fix integration tests 2025-06-09 16:08:02 +02:00
Aguirre Matteo
2835e8ba0a nyxt: add module (#7232) 2025-06-08 11:27:00 -05:00
NukDokPlex
f23b0935a3 hypridle: add systemdTarget option (#7237) 2025-06-08 17:20:52 +02:00
Kristoffer Plagborg Bak Sørensen
06451df423 ghostty: only source fish shell integration script when shell is interactive (#7228)
The ghostty script adds hooks that are only
relevant in an interactive shell session.
2025-06-07 23:57:48 -05:00
Keenan Weaver
627157cceb ludusavi: modernize and clean-up 2025-06-07 23:55:54 -05:00
Keenan Weaver
bc0012d036 ludusavi: add frequency option 2025-06-07 23:55:54 -05:00
Keenan Weaver
515ab1da57 ludusavi: fix icon on notification 2025-06-07 23:55:54 -05:00
Aguirre Matteo
bd8946c773 lazysql: add module (#7231) 2025-06-07 23:51:28 -05:00
home-manager-ci[bot]
980aece33a flake.lock: Update (#7235)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/910796cabe436259a29a72e8d3f5e180fc6dfacc?narHash=sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8%3D' (2025-05-31)
  → 'github:NixOS/nixpkgs/d3d2d80a2191a73d1e86456a751b83aa13085d7d?narHash=sha256-QuUtALJpVrPnPeozlUG/y%2BoIMSLdptHxb3GK6cpSVhA%3D' (2025-06-05)

Co-authored-by: home-manager-ci[bot] <214323736+home-manager-ci[bot]@users.noreply.github.com>
2025-06-07 23:47:28 -05:00
Mohamad Fikri
2d7d65f65b fish: fix the binds.*.erase option (#7186)
The `command` option is optional when the `erase` option is true,
because when in erase mode, bind does not require any other arguments
2025-06-06 15:57:26 -05:00
isabel
1d595a5b64 zed-editor: allow for nullable package (#7220) 2025-06-06 15:51:16 -05:00
Nikita Pedorich
96482a538e keychain: warn about deprecated options (#7196)
Options --agents and --inherit have been depracated in Keychain 2.9.0
See https://github.com/funtoo/keychain/releases/tag/2.9.0 for more information
2025-06-06 09:43:34 -05:00
André Silva
c18a767948 zed-editor: userKeymaps default to empty array (#7222) 2025-06-06 09:42:33 -05:00
Austin Horstman
812b43b45d tests/thefuck: explicit stubbing
Avoid the removal alias exception

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-06 09:11:58 -05:00
home-manager-ci[bot]
b2483b45e6 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/62b852f6c6742134ade1abdd2a21685fd617a291?narHash=sha256-R5HJFflOfsP5FBtk%2BzE8FpL8uqE7n62jqOsADvVshhE%3D' (2025-05-25)
  → 'github:NixOS/nixpkgs/910796cabe436259a29a72e8d3f5e180fc6dfacc?narHash=sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8%3D' (2025-05-31)

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-06 09:11:58 -05:00
Graham Christensen
76e9c6e14a lib/default.nix: remove inefficient second copy (#7221)
Using ./. forces Nix to copy the flake to the store a second time.
Using bulitins.path like this, forcing the name to be "source", reduces the extraneous copy.
2025-06-06 09:07:34 -05:00
Austin Horstman
91287a0e9d nixgl: remove alias (#7218)
https: //github.com/nix-community/home-manager/issues/6995

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-05 22:02:07 -05:00
Ladas552
355c7d09ed chawan: fix example for settings (#7210)
as per cha-config, keybindings should be under section `page` and not `pager`.

Also replaced the line with an example from man page because the current one wasn't working properly
2025-06-05 21:50:12 -05:00
Keenan Weaver
bbb31d8352 ludusavi: fix import (#7205) 2025-06-05 21:45:14 -05:00
Jairo Llopis
0ee810c839 zed-editor: respect user interactivity with settings and keymaps (#6993)
Merges frozen config from HM into dirty config.

Fixes https://github.com/nix-community/home-manager/issues/6835
2025-06-05 21:20:23 -05:00
Austin Horstman
de8463dd3e zsh: add plugins.*.completions paths to fpath (#7197)
Autocompletion scripts and additional plugin functions are located in
specific directories that might not match the plugin source script but
need to be included in fpath before calling compinit.

An option to provide a path to these scripts is added to add the paths
to fpath before calling completionInit.

Co-authored-by: @zimeg <zim@o526.net>
2025-06-05 21:11:35 -05:00
YTG1234
68cc9eeb38 jellyfin-mpv-shim: merge settings with existing config file
The Nix-defined settings take priority over the existing settings, but
any new keys added by the user are preserved.
2025-06-05 16:46:42 -05:00
YTG1234
7707ebb05c jellyfin-mpv-shim: make sure the config file is read properly
jellyfin-mpv-shim has a bug, that causes it to not be able to read the
configuration file if it's not writeable (even though it never writes
anything).

This commit works around that by storing the actual link to the Nix
store in a different file, and making a writable copy in `conf.json`.

Ideally, this should be fixed either with a patch in nixpkgs or (even
better) upstream.
2025-06-05 16:46:42 -05:00
Rosario Pulella
09b0a4b0da dconf: revert: dconf: Provide dconf (#7215)
Providing dconf via hm in this manner provided to be problematic for 
user with systems that were already providing dconf (like ubunut).

Revert ff73544e4a
2025-06-05 15:06:51 -05:00
jaredmontoya
13a45ede6c aichat: fix config example (#7212) 2025-06-05 08:45:29 -05:00
jaredmontoya
86b95fc1ed aichat: init (#7207)
aichat is an all in one CLI tool for AI interactions.
On first run it prompts you to create a config so I made a home manager module to do this declaratively.
2025-06-04 13:35:39 -05:00
octvs
ffab96a8b4 qutebrowser: null package support (#7203) 2025-06-04 16:57:32 +02:00
Anton Mosich
3830a21aa2 xdg.desktopEntries: Update outdated links in docs (#7201) 2025-06-04 14:05:41 +02:00
Piotr Lewandowski
34a1308614 doc: add a missing subcommand (#7199) 2025-06-03 14:33:17 -05:00
Gergő Gutyina
bb846c031b dwm-status: run with --quiet (#7144) 2025-06-03 07:58:09 -05:00
Norbert Melzer
593b0c667d doc: fix instructions for enabling flakes in NixOS (#7189) 2025-06-03 07:57:46 -05:00
Kenichi Kamiya
cb809ec1ff fzf: prefer source for Zsh integration (#7191)
fzf version 0.53.0 [1] and later now prefers using `source` for its Zsh
integration.

[1] 030428ba43
2025-06-02 23:30:27 -05:00
Austin Horstman
5adc1a51a2 ci: use flake lock for tests
Ensure we don't have surprise breakages and can test against a specific
lock file.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-02 22:58:05 -05:00
Austin Horstman
c3297d7721 tests: create no-big and ifd test outputs.
Allows flake access to override easier.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-02 22:58:05 -05:00
Austin Horstman
2ef52bcab5 tests: pass enableLegacyIfd arg
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-02 22:58:05 -05:00
Austin Horstman
c7fdb7e90b tests/mako: test extraConfig
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-01 21:10:38 -05:00
Austin Horstman
6861cfa165 mako: remove criteria
No longer serves a purpose, was short lived and most people are either
using `settings` or will use `extraConfig`

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-01 21:10:38 -05:00
Austin Horstman
654b686536 mako: add extraConfig back
Need ordered lines for some of mako config. Don't have time to update
generator to support it.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-01 21:10:38 -05:00
Matt Sturgeon
6abf27943b ci: set a more useful update PR body
The default body contains instructions for triggering GitHub Actions,
which aren't relevant when pushing the PR as a GitHub App.
2025-06-01 16:03:59 -05:00
Matt Sturgeon
9882f43f9b ci: switch to a GitHub App
This will do actions as a bot user, but will still trigger CI.

Its tokens are short lived, so more secure than a PAT that doesn't
expire.
2025-06-01 16:03:59 -05:00
eyJhb
5675a96868 home-cursor: sway depend on cfg.size instead of gtk.cursorTheme.size (#7176) 2025-05-31 19:31:59 -05:00
Austin Horstman
60e4624302 news: re-add dropped news entries (#7173)
During migration to new format and removing from the inline files. We
lost some entries.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-31 00:19:34 -05:00
Austin Horstman
6587238e40 lib: remove 22.11 deprecations
Several years since deprecation and removal.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-31 00:01:48 -05:00
Austin Horstman
cc8896c321 ci: remove literalExpression step
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-31 00:01:48 -05:00
Austin Horstman
765ceb93d1 lib: remove literalExpression and literalDocBook logic
3 years old, not needed anymore.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-31 00:01:48 -05:00
Austin Horstman
7ccda8574f ci: labels dedupe and reorganize
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-30 23:41:50 -05:00
Austin Horstman
5118087a15 ci: sort label categories
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-30 23:41:50 -05:00
Austin Horstman
b6bd7c629f ci: add more modules to labeler
Lots of missing modules from existing categories. Adding some more.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-30 23:41:50 -05:00
Matt Sturgeon
6d09fd37a7 ci: alternative fix for backport if condition (#7169)
Can't access secrets from if condition, so we'll explicitly check this
isn't a fork.
2025-05-30 20:28:34 -05:00
Austin Horstman
b65126fa71 ci: fix backport if condition (#7167)
Can't access secrets from if condition.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-30 19:26:52 -05:00
Matt Sturgeon
7c60ea0296 ci: add 'GitHub App' TODO to update workflow
Using a GitHub App is more secure and idiomatic than using a
Personal Access Token or SSH Deploy Key.

See https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#triggering-further-workflow-runs
and https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#authenticating-with-github-app-generated-tokens
2025-05-30 18:40:49 -05:00
Matt Sturgeon
9d2ae59579 ci: add backport workflow
Based on the workflow used by nixpkgs and others.
2025-05-30 18:40:49 -05:00
phucleeuwu
379c9fb858 yazi: use mgr instead of manager in example (#7160)
Recent deprecation, show updated example.
2025-05-30 12:46:37 -05:00
Weblate (bot)
6f0a6e7ba7 Update translation files (#7162)
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.


Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2025-05-30 12:45:20 -05:00
ckgxrg
214f9bd3a6 linux-wallpaperengine: fix evaluation error when passing null (#7161) 2025-05-30 10:26:35 -05:00
Nick Hassan
d800d198b8 podman: use quadlet source from file drv (#7102)
fixes potentially unwanted variable substitution
2025-05-30 10:25:03 -05:00
Alex Hamilton
d36ac1f0db hwatch: add module (#7158) 2025-05-30 10:16:26 -05:00
Robert Helgesson
482c306ef7 home-manager: update xgettext and PO files 2025-05-30 15:09:12 +02:00
Thomas Mühlbacher
d3a3aee558 dconf: Fix Gio module variable breakage (#7146)
In some setups, this would cause missing Gio modules that cause e.g.
Nautilus to not be able to view the XDG trash, and potentially other
issues.

Fixes: ec8205c3 ("dconf: set env var")
Fixes: #7143
2025-05-30 07:57:34 -05:00
nakoo
4e9efaa68b misc: add librewolf native messaging hosts (#7127) 2025-05-29 21:07:27 -05:00
Patrick N.
8a4b382627 kodi: make type for settings less restrictive (#5277)
Allow list of attrset in the kodi settings to be able to define path substitutions.
2025-05-29 19:13:10 -05:00
Mads Rumle Nordstrøm
2f4db1cd5b yambar: add systemd service (#5469) 2025-05-29 19:12:57 -05:00
Austin Horstman
da282034f4 darwinScrublist: update (#7157)
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-29 09:41:17 -05:00
He Zhenxing
95c988cf08 xsession: add xdg-desktop-autostart to requires of hm-graphical-session (#7108) 2025-05-28 22:39:21 -05:00
Mohamad Fikri
85a27991d5 fish: add binds option (#7121)
binds options is a wrapper of fish_user_key_bindings that contains
custom binds
2025-05-28 22:35:08 -05:00
MunsMan
13ed57aaa6 meli: adding the meli email client (#7111)
Meli email client integrated into the accounts.email.accouts settings.
2025-05-28 22:30:10 -05:00
Ivan Kirilov Dimitrov
7d2fcc864e pywal: make kitty config appear at start to not override user vals
if the kitty config is at the end then it overrides the user-defined
values and it's not great
2025-05-28 22:03:23 -05:00
Ivan Kirilov Dimitrov
ad88262f06 kitty: make extraConfig obey mkOrder
this change makes kitty.extraConfig obey the lib.mkOrder function so
that text can be inserted at the right place.
2025-05-28 22:03:23 -05:00
Hoang Nguyen
115344f32b chromium: allow nullable package (#7149) 2025-05-28 21:58:20 -05:00
home-manager-bot
02077149e2 flake.lock: Update (#7148)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/063f43f2dbdef86376cc29ad646c45c46e93234c?narHash=sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o%3D' (2025-05-23)
  → 'github:NixOS/nixpkgs/62b852f6c6742134ade1abdd2a21685fd617a291?narHash=sha256-R5HJFflOfsP5FBtk%2BzE8FpL8uqE7n62jqOsADvVshhE%3D' (2025-05-25)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-28 13:12:18 -05:00
Weblate (bot)
9bf9b1ae00 Translate using Weblate (Persian) (#7150)
Currently translated at 100.0% (16 of 16 strings)

Translate using Weblate (Persian)

Currently translated at 100.0% (37 of 37 strings)


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

Co-authored-by: Parsa Nobahari <89968726+ParsaNobahari@users.noreply.github.com>
2025-05-28 13:12:11 -05:00
Lyndon Sanche
f5b12be834 polkit-gnome: Change After target (#7137)
Before this change, I was getting `cannot open display:` errors
2025-05-27 19:14:03 -05:00
repparw
ad22169efa jellyfin-mpv-shim: add module (#7129)
Init of service jellyfin-mpv-shim, emulating plex-mpv-shim already provided.
2025-05-27 19:10:18 -05:00
Flameopathic
8cb8a04cb1 home-cursor: set hyprcursor size default (#7145) 2025-05-27 19:07:44 -05:00
Eldolfin
d23d20f55d sway: add bindswitches option (#7095)
Adds the bindswitches option to the sway module.

Bindswitches allows you to run a sway command when a state changes (when a certain event occurs).
See https://github.com/swaywm/sway/wiki#clamshell-mode and sway(5) for more information

It was already possible to configure this through sway.extraConfig but I find this approach dirty as described by the Nix RFC 42, and there is currently no settings as it describes.
2025-05-25 21:46:49 -05:00
Ryan Horiguchi
a45222c731 superfile: add exiftool when metadata enabled (#7118)
Metadata option requires `exiftool` to work
2025-05-25 21:16:19 -05:00
Rosario Pulella
03affdcbf2 dconf: Fix dconf config not apply correctly (#7130) 2025-05-25 20:39:22 -05:00
home-manager-bot
901f8fef7f flake.lock: Update (#7125)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2795c506fe8fb7b03c36ccb51f75b6df0ab2553f?narHash=sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q%3D' (2025-05-20)
  → 'github:NixOS/nixpkgs/063f43f2dbdef86376cc29ad646c45c46e93234c?narHash=sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o%3D' (2025-05-23)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-25 09:21:39 -05:00
Austin Horstman
c1e6710362 sketchybar: add includeSystemPath
allow accessing binaries from the system that might not be installable
through nixpkgs

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-24 19:54:43 -05:00
Austin Horstman
c096c39afc sketchybar: config sourceFileOrLines
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-24 19:54:43 -05:00
Jacob Birkett
abe66194b9 lib/types: add sourceFileOrLines
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-24 19:54:43 -05:00
Austin Horstman
e4b0102f69 sketchybar: use finalpackage wrapper
Use finalPackage pattern with wrapper so that people who don't use the
service can benefit from the other options.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-24 19:54:43 -05:00
Austin Horstman
5dc3bc3368 sketchybar: add module
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-24 19:54:43 -05:00
Nikolaos Karaolidis
c3d48a17aa obsidian: add module (#6487)
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2025-05-24 18:55:23 -05:00
Sefa Eyeoglu
cf9ff6d993 wayvnc: init (#7123)
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2025-05-24 18:38:54 -05:00
Sumner Evans
8fc1e46ab6 github: remove Sumner as automatic assignee on issues (#7122)
Signed-off-by: Sumner Evans <me@sumnerevans.com>
2025-05-24 15:42:23 -05:00
Austin Horstman
7419250703 treewide: convert package options to use mkPackageOption (#7116)
This commit converts `package = mkOption` declarations throughout the
codebase to use the more modern and consistent `lib.mkPackageOption`
function.

Key changes:
- Simple package options: `mkOption { type = types.package; default = pkgs.foo; }`
  becomes `lib.mkPackageOption pkgs "foo" { }`
- Package set options: Uses correct package set as first argument with
  `pkgsText` parameter (e.g., `lib.mkPackageOption pkgs.vimPlugins "plugin" { pkgsText = "pkgs.vimPlugins"; }`)
- Removes redundant descriptions that just restate the package name
- Preserves examples and extra context where meaningful
- Handles submodule plugin options properly with `null` defaults

This modernizes the option declarations and makes them more consistent
with current nixpkgs patterns while maintaining full backward compatibility.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-23 00:42:38 -05:00
Paul Meyer
a868570581 news: fix timestamp (#7109)
Signed-off-by: Paul Meyer <katexochen0@gmail.com>
2025-05-22 18:09:45 -05:00
Rosario Pulella
f9186c64fc Revert "fontconfig: Fix missing default fontconfig files (#7045)" (#7103)
This reverts commit 65d2282ff6.
2025-05-21 20:04:44 -05:00
Joaquín Triñanes
a69ebd9702 direnv: Fix default syntax for nushell integration (#7081)
After nushell/nushell#15654, the direnv integration fails due to default behaving differently when passing a closure.
2025-05-21 20:03:57 -05:00
home-manager-bot
6c2eb1e24c flake.lock: Update (#7101)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e06158e58f3adee28b139e9c2bcfcc41f8625b46?narHash=sha256-LSmTbiq/nqZR9B2t4MRnWG7cb0KVNU70dB7RT4%2BwYK4%3D' (2025-05-15)
  → 'github:NixOS/nixpkgs/2795c506fe8fb7b03c36ccb51f75b6df0ab2553f?narHash=sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q%3D' (2025-05-20)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-21 08:33:58 -05:00
Lin Xianyi
2468b2d355 files: show colliding files at bottom in checkLinkTargets (#5495)
Prevents the actual file collision errors from being
truncated in the systemd log
2025-05-20 21:11:16 -05:00
octvs
29dda415f5 qutebrowser: add support for per domain settings (#7078)
Add `programs.qutebrowser.perDomainSettings` which let's one to set
configuration options for specific URLs [1].

It option doesn't check if the options passed to it are valid, it
translates the config to python code to be written on the file as is.
Mimicking the behaviour of `programs.qutebrowser.settings`.

Added a new test case `test-qutebrowser-url-settings` for testing the
implementation.

[1]: bb7bbb6ead/doc/help/configuring.asciidoc (per-domain-settings)
2025-05-20 12:43:52 -05:00
awwpotato
3f591550a9 formatter: remove script, add treefmt.toml + keep-sorted (#7056)
currently ./format does a bunch of stuff with git that was only necessary for nixfmt but not nixfmt-tree, so I deleted it (just use treefmt command directly instead). I also added keep sorted to keep the really long module lists sorted (already used in nixpkgs).
2025-05-20 12:42:51 -05:00
Austin Horstman
559f6d36b3 news: add some more missing news items (#7097)
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-20 10:05:34 -05:00
xezo360hye
d3f5d870e3 home-manager: add force option for gtk-2 config (#7073)
This adds gtk.gtk2.force enable option which maps directly onto home.files.${cfg2.configLocation}.force to allow overwrite of the gtkrc-2.0 file (workaround for bug #6188).
2025-05-20 10:04:16 -05:00
Rosario Pulella
65d2282ff6 fontconfig: Fix missing default fontconfig files (#7045)
This adds the fontconfig's default files to
`home-path/etc/fonts/fonts.conf` and `home-path/etc/fonts/conf.d/*`
2025-05-20 08:22:08 -05:00
Damien Cassou
2097441633 services.home-manager.autoExpire: add support for darwin 2025-05-20 08:10:57 -05:00
Damien Cassou
04ebd2c422 services.home-manager.autoExpire: extract cleanup script to new variable 2025-05-20 08:10:57 -05:00
Damien Cassou
382b34f656 services.home-manager.autoExpire: wrap systemd configuration within a isLinux condition 2025-05-20 08:10:57 -05:00
dependabot[bot]
45c2985644 ci: bump DeterminateSystems/update-flake-lock from 24 to 25 (#7091)
Bumps [DeterminateSystems/update-flake-lock](https://github.com/determinatesystems/update-flake-lock) from 24 to 25.
- [Release notes](https://github.com/determinatesystems/update-flake-lock/releases)
- [Commits](https://github.com/determinatesystems/update-flake-lock/compare/v24...v25)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-19 16:07:18 -05:00
Joshua Park
97118a310e flake-module: use toString primop 2025-05-18 12:56:15 +02:00
Robert Helgesson
ee85cfc5c1 home-manager: add missing file 2025-05-18 11:07:58 +02:00
github-actions[bot]
10d13a62e3 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d89fc19e405cb2d55ce7cc114356846a0ee5e956?narHash=sha256-3e%2BAVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ%3D' (2025-05-10)
  → 'github:NixOS/nixpkgs/e06158e58f3adee28b139e9c2bcfcc41f8625b46?narHash=sha256-LSmTbiq/nqZR9B2t4MRnWG7cb0KVNU70dB7RT4%2BwYK4%3D' (2025-05-15)
2025-05-18 11:07:05 +02:00
Robert Helgesson
9a4a9f1d6e home-manager: prepare 25.11 2025-05-18 10:26:50 +02:00
Robert Helgesson
e08e6e2389 home-manager: set 25.05 as stable 2025-05-18 10:26:29 +02:00
Austin Horstman
ae75532909 templates/nix-darwin: nixpkgs track nixpkgs-unstable
Recommended to follow nixpks-unstable with darwin.
2025-05-16 18:47:17 -05:00
Austin Horstman
5d13260881 treewide: lnl7 -> nix-darwin
Renamed recently.
2025-05-16 18:47:17 -05:00
awwpotato
74d31e1165 ptyxis: init module (#7075) 2025-05-16 15:29:26 -05:00
Michael Hoang
d2263ce5f4 nix-darwin: use launchctl asuser now that activation runs as root (#7051)
https://github.com/nix-darwin/nix-darwin/pull/1341#discussion_r1989887502
2025-05-16 00:51:29 -05:00
Nick DeGroot
a1a72d18ee pgcli: init (#7072) 2025-05-15 22:50:09 -05:00
Damien Cassou
098e365dd8 borgmatic: add darwin-specific documentation to services.borgmatic.frequency 2025-05-15 15:16:49 -05:00
Damien Cassou
8ae36f8ea2 nix-gc: fix documentation 2025-05-15 15:16:49 -05:00
Jess
dbc90cc3ae rclone: declarative mounts (#7060) 2025-05-15 13:33:51 -05:00
Jonathan Bouchard
b022c9e3b8 vscode: allow specifying paths for VSCode JSON settings (#7055)
Enables users to provide paths to JSON files for VS Code settings,
tasks, and keybindings. This allows for more flexible configuration
management and reuse of existing configuration files instead of using inline configurations.
2025-05-15 13:32:46 -05:00
Timon Schelling
a99bddfe53 lapce: fix no argument hash for pluginFromRegistry (#7062)
The `hash` argument was mistakenly removed during dead code cleanup in #6985.

This argument is required by `fetchPluginTarballFromRegistry`, so `pluginFromRegistry` must pass it through.

To avoid future removals by `deadnix`, `pluginFromRegistry` now explicitly takes and forwards the `hash` argument.
2025-05-15 13:32:14 -05:00
Rosario Pulella
ec8205c3d7 dconf: set env var 2025-05-15 13:30:08 -05:00
Rosario Pulella
ff73544e4a dconf: Provide dconf package and dbus service file
With the dconf package and its dbus service file provided by 
home-manager, there is no need for it to be provided by the system.
2025-05-15 13:30:08 -05:00
Rosario Pulella
c310818dca mako: Fix missing dbus service file (#7065) 2025-05-15 13:28:43 -05:00
Damien Cassou
c09ccd7d39 services.borgmatic: add initial support for darwin 2025-05-15 13:07:13 -05:00
Damien Cassou
34d44d7f1b services.borgmatic: wrap systemd configuration within a isLinux condition 2025-05-15 13:07:13 -05:00
Damien Cassou
1c2fccef83 services.nix-gc: extract darwin agent interval code to new library file 2025-05-15 13:07:13 -05:00
Damien Cassou
3b930bb653 services.nix-gc: improve error message when nix.gc.frequency is invalid on darwin
Previously, if an invalid value was passed, the build would fail with:

       error: attribute '"00:02:03"' missing
       at /nix/store/sz92b5gqi0ma61d18fwbihi8p37mkvir-source/modules/services/nix-gc.nix:69:5:
           68|     in
           69|     freq.${frequency};
             |     ^
           70|

There was an assertion that should have prevented this from happening
but the crash would happen before the assertion gets a chance to stop
the build with a nice error message.

This commit both gives the assertion a chance to trigger and improves
the assertion's error message.
2025-05-15 13:07:13 -05:00
Rosario Pulella
ad1e8bb782 dbus: Create with pacakges options (#7064)
This adds a module for dbus with only one option, `packages`.
The `dbus.packages` options allows users to specify packages to have
their dbus service files (from `/share/dbus-1/services`) linked to the
users dbus services directory (`$XDG_DATA_HOME/dbus-1/services/`),
effectively enabling the services.
2025-05-15 12:59:12 -05:00
home-manager-bot
954615c510 flake.lock: Update (#7058)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/dda3dcd3fe03e991015e9a74b22d35950f264a54?narHash=sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ%2BTCkTRpRc%3D' (2025-05-08)
  → 'github:NixOS/nixpkgs/d89fc19e405cb2d55ce7cc114356846a0ee5e956?narHash=sha256-3e%2BAVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ%3D' (2025-05-10)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-14 22:28:34 -05:00
andre4ik3
02ea79853c emacs: respect defaultEditor on Darwin (#7063)
Currently on Darwin, services.emacs.defaultEditor = true isn't respected, as the variable is only configured on Linux.

This PR simply moves the variable out to a common block, so it's applied on all platforms.
2025-05-14 22:27:36 -05:00
Thiago Kenji Okada
6bf057fc83 zsh: do not duplicate zsh.{profile,login,logout,env}Extra in prezto (#7061)
In #7057 changed the definition of how the prezto files where loaded
(from using `.source` to `.text`) and also manually add the text from
`zsh.{profile,login,logout,env}Extra` files to the prezto definitions,
but the last part was unnecessary and now we have duplicates inside the
file.

This commit fixes it.
2025-05-14 07:30:51 -05:00
Thiago Kenji Okada
7c1cefb983 zsh: avoid IFD while sourcing prezto 2025-05-13 19:59:12 -05:00
Thiago Kenji Okada
5f36563a5c zsh: consider zsh.{profile,login,logout,env}Extra in prezto
Right now the `zsh.prezto` module ignores the contents of the
`zsh.{profile,login,logout,env}Extra` options, so it means that if you
try to set, e.g., `zsh.profileExtra = "something";` this option will be
(silently) ignored.

This commit fixes another issue: since the main `zsh` module sets
`home.file."${relToDotDir".zshenv"}".text` while `zsh.prezto` set the
same file using `.source`, `zsh.prezto` would have priority so the
environment variables from Home-Manager would not be loaded in non-NixOS
systems. Now that we are using `.text` for both, the issue is fixed.
2025-05-13 19:59:12 -05:00
awwpotato
b44c39cf46 foliate: fix theme settings example (#7053) 2025-05-13 19:06:18 -05:00
awwpotato
8d832ddfda foliate: init (#7049) 2025-05-13 12:05:32 -05:00
Austin Horstman
df556f2a17 tests/mako: add a original deprecation test
Make sure old options still work
2025-05-13 09:41:11 -05:00
Austin Horstman
78ad8e3c31 tests/mako: add a deprecation test
Make sure old criteria still works
2025-05-13 09:41:11 -05:00
Austin Horstman
0be2c246e3 mako: deprecate criteria option
This commit adds proper deprecation warnings and documentation for the 'criteria' option, guiding users to use the more flexible 'settings' option with nested attributes instead.

- Added warning message when users use the deprecated option

- Updated documentation with examples showing the new approach
2025-05-13 09:41:11 -05:00
Austin Horstman
dc5899978f services/mako: refactor settings to support INI sections
This commit refactors the mako module to properly handle mako INI-style
configuration with sections:

1. Enhanced the `settings` option to support both global settings and
nested sections

2. Update custom INI generator that:
   - Properly formats global settings and sections
   - Adds appropriate newlines between sections

This change allows users to define both global settings and criteria
sections
in a single `settings` attribute, resulting in cleaner and more
intuitive configuration.
2025-05-13 09:41:11 -05:00
awwpotato
535a541b42 halloy: fix themes example (#7046) 2025-05-12 22:18:52 -05:00
awwpotato
012cc9e166 halloy: add note about server being required (#7047)
halloy isn't functional if there aren't any servers configured
2025-05-12 22:18:20 -05:00
awwpotato
665c49e0c2 gnome-terminal: add package option (#7048) 2025-05-12 22:17:49 -05:00
Austin Horstman
628d8cfa54 news: migrate news entries to YYYY/MM directory structure
Move all inlined news entries from news.nix into separate files
organized
by year and month. This makes the news system more maintainable and
easier to navigate.

- Extract 202 inlined entries to individual files in YYYY/MM directory
structure
- Update news.nix to only contain the module definition
- Use recursive directory traversal to find all news entries
2025-05-12 22:14:03 -05:00
Austin Horstman
bc13c13ed7 news: reorganize news into YYYY/MM directory structure
- Update news.nix to recursively search for news entries in
subdirectories
- Update create-news-entry.sh to place new entries in YYYY/MM/
directories
- Move existing 2025 news entries to the new structure

This makes the news directory more organized and easier to navigate.
2025-05-12 22:14:03 -05:00
jaredmontoya
f0a7db5ec1 direnv: update nushell env conversion logic (#7015) 2025-05-12 15:28:52 -05:00
awwpotato
0b24658ec0 halloy: add themes option (#7043) 2025-05-12 13:08:49 -05:00
pancho horrillo
5879531462 wayprompt: tweak example (#7040)
Show that the hex values can be entered without the '0x' prefix.
2025-05-12 12:14:27 -05:00
Austin Horstman
fb061f555f misc: add news entries for March modules
Add detailed news entries for the following modules:
- services.skhd (macOS hotkey daemon) - Darwin-only
- services.jankyborders (macOS window borders) - Darwin-only
- programs.distrobox (container manager) - Linux-only
2025-05-11 22:49:04 -05:00
Austin Horstman
0083d901a3 misc: add news entries for April modules
Add detailed news entries for the following modules:
- programs.onedrive (cloud sync) - Linux-only
- programs.rmpc (MPD client)
- programs.kickoff (Wayland launcher) - Linux-only
- programs.mpvpaper (video wallpaper) - Linux-only
2025-05-11 22:49:04 -05:00
Austin Horstman
4a7311c235 misc: add news entries for May modules
Add detailed news entries for the following modules:
- programs.halloy (IRC client)
- programs.waveterm (terminal)
- programs.lutris (gaming platform)
- programs.sway-easyfocus (window selector)
- programs.i3bar-river (status bar)
- programs.onagre (app launcher)
- programs.visidata (data tool)
- services.clipcat (clipboard manager)
2025-05-11 22:49:04 -05:00
awwpotato
c74665abd6 bacon: add prefs location to settings decription (#7030) 2025-05-11 19:29:02 -05:00
jaredmontoya
7a3f3e5507 misc: fix mozilla native messaging hosts 2025-05-11 18:53:40 -05:00
jaredmontoya
a48fecda09 files: add home.file.<name>.ignorelinks 2025-05-11 18:53:40 -05:00
Aguirre Matteo
910292fe34 halloy: add module (#7034) 2025-05-11 18:52:09 -05:00
Alex Hamilton
ecb2162422 numbat: add module
Numbat is a scientific calculator with full support for physical units.
2025-05-11 18:51:14 -05:00
Alex Hamilton
563e1b6cb0 maintainers: add Aehmlo 2025-05-11 18:51:14 -05:00
awwpotato
5daf23a38f zellij: add themes option (#7031) 2025-05-11 18:47:55 -05:00
Adolfo Jayme Barrientos
ff915842e4 Translate using Weblate (Catalan)
Currently translated at 100.0% (37 of 37 strings)

Co-authored-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ca/
Translation: Home Manager/Home Manager CLI
2025-05-11 18:43:21 +02:00
github-actions[bot]
6991569cb7 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3730d8a308f94996a9ba7c7138ede69c1b9ac4ae?narHash=sha256-7%2BpG1I9jvxNlmln4YgnlW4o%2Bw0TZX24k688mibiFDUE%3D' (2025-05-05)
  → 'github:NixOS/nixpkgs/dda3dcd3fe03e991015e9a74b22d35950f264a54?narHash=sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ%2BTCkTRpRc%3D' (2025-05-08)
2025-05-11 10:04:40 +02:00
awwpotato
de496c9ccb television: add support for channels (#7026) 2025-05-10 20:08:10 -05:00
Robert Helgesson
9ef92f1c6b waveterm: fix markdown in description 2025-05-10 23:30:17 +02:00
Maya the bee
13289f0642 services.autorandr: improve systemd unit description 2025-05-10 16:16:08 -05:00
Maya the bee
1875b5a160 services.autorandr: improve configurability
Add `matchEdid` and `extraOptions` for configuration.
2025-05-10 16:16:08 -05:00
Maya the bee
555f88ad34 services.autorandr: add package option 2025-05-10 16:16:08 -05:00
Maya the bee
4f44221724 services.autorandr: add lowlevl to maintainers 2025-05-10 16:16:08 -05:00
Maya the bee
b96c332dce maintainers: add lowlevl 2025-05-10 16:16:08 -05:00
Austin Horstman
12e6738596 docs: remove recommendation to wait for maintainers for news
We dont have merge conflicts with new method of creating news entries.
2025-05-10 11:00:39 -05:00
Austin Horstman
6fd639dbe5 docs: update news.md to highlight create-news-entry command
Update the documentation to inform users they can create news entries
themselves using `nix run .#create-news-entry` without waiting for
maintainers. This makes the contribution process more self-service
and improves the documentation to match the recently exposed flake
package.
2025-05-10 11:00:39 -05:00
Austin Horstman
c4bd004d9d flake.nix: expose create-news-entry as a package
Easier to `nix run .#create-news-entry` instead of finding the location
to run.
2025-05-10 11:00:39 -05:00
Austin Horstman
e95a7c5b6f Revert "direnv: update nushell env conversion logic (#6999)" (#7014)
This reverts commit f2b5bf55aa.
2025-05-09 08:48:41 -05:00
Aguirre Matteo
b706037a60 distrobox: make systemd unit optional (#7007)
This PR adds an option enableSystemdUnit to the Distrobox module to make the Systemd Unit optional, and hard coded as is now.
2025-05-09 08:33:12 -05:00
Benjamin Tan
e9bd9568db jujutsu: store configuration in $XDG_CONFIG_HOME for all platforms (#6994)
Following https://github.com/jj-vcs/jj/pull/6300, Jujutsu has deprecated
support for configuration files in `~/Library/Application Support` for
darwin. The XDG-standard configuration location can be used instead, for
all platforms.
2025-05-09 08:27:49 -05:00
Kira
f2b5bf55aa direnv: update nushell env conversion logic (#6999)
Direnv exports PATH as a string, nu expects it to be a list and breaks
some functionality like external command completion. This requires
nushell 0.104.0, which is merged into nixpkgs-unstable.
2025-05-09 08:23:08 -05:00
pancho horrillo
3be7c80a11 wayprompt: add news entry for linux (#7009) 2025-05-09 08:22:25 -05:00
pancho horrillo
cbd8e8e9a0 PR_TEMPLATE: update example for module maintainer (#7011)
Update the permalink to show a version of the module that follows
current best practices (no `with lib;`, and nixfmt’d).
2025-05-09 08:21:59 -05:00
B1kku
8f723d6135 lutris: fix runners not working due to wrong config name (#7008) 2025-05-09 08:21:19 -05:00
Aguirre Matteo
9e10d73cea onlyoffice: use pkgs.formats and use mkIf in config file generation (#7006) 2025-05-09 08:20:05 -05:00
Aguirre Matteo
ce1ba0e9f3 neovide: fix error when no settings are declared (#7005) 2025-05-09 08:19:03 -05:00
Aguirre Matteo
8d2ee39915 waveterm: add module (#7004) 2025-05-09 08:17:40 -05:00
pancho horrillo
5d428b68dd docs: update filename of generated HTML manual (#7010)
Since 613dbb35db, the manual
produces an `index.xhtml` file, instead of a plain `index.html`.
2025-05-09 08:17:06 -05:00
B1kku
a51598236f lutris: add module (#6964)
Add any number of wine packages
    Add any number of proton packages
    Link runners directly from nix instead of using lutris.
    Specify the steam package lutris should use.
    Extra packages passed to lutris (mainly since it's often missing essential things, such as umu-launcher)
2025-05-08 13:01:35 -05:00
pancho horrillo
3c59c5132b wayprompt: init module (#7002)
A module for configuring Wayprompt¹, a password-prompter for
Wayland, that can be used as a pinentry program for GnuPG (and more).

Provides a 'programs.wayprompt.settings', following RFC 42².

¹: https://git.sr.ht/~leon_plickat/wayprompt
²: https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md
2025-05-08 10:45:24 -05:00
Austin Horstman
c84396bda0 rofi: modes optional (#7003)
Don't include the modes option if it hasn't been used.
2025-05-08 10:45:00 -05:00
Shahar "Dawn" Or
cea975d46d rofi: modes option (#6115)
Adds `programs.rofi.modes` option.
For the tiny convenience of supporting the custom mode syntax.
2025-05-08 08:16:34 -05:00
Plume
2ede089d11 git: configure patdiff through [patdiff] git section (#6978)
This adds the ability to enable the patdiff program as git differ.
Website of the project: https://opensource.janestreet.com/patdiff/
2025-05-08 08:15:51 -05:00
pancho horrillo
50894120e8 modules/modules.nix: drop duplicate entry (#7000)
This partially reverts a0461b67ff,
where a duplicate entry for `./programs/vim.nix` was erroneously added.
2025-05-08 06:23:20 -05:00
Darren Gibson
ec71b51628 sbt: Scoping credentials to ThisBuild (#6026)
In Sbt (prior to 2.0) a sbt key not scoped to `ThisBuild` will always be at the project level, rather than at the build level.
In order to do some things, like use a private repository configured by sbt with sbt-scalafix, we need the credentials scope to the build, otherwise the credentials show as non-existent.
2025-05-07 18:40:35 -05:00
ScribblyBirb
a8e2d08ffd alot: allow commas in maildir path (#6989)
Previously, maildir path was not escaped in any way, so using a path with commas
lead to a TypeError:

```
TypeError: expected string or bytes-like object, got 'list'
```
2025-05-07 18:17:09 -05:00
Andrew Marshall
708074ae6d treewide: Prevent IFD by default
Import-from-derivation (IFD) has problematic performance, and is disabled in
Nixpkgs by policy. It is arguably good practice for libraries to avoid
it whenever possible, as it has poor ergonomics in some cases,
especially with dry builds, as it requires multiple eval+build phases.

As such, prevent its use in Home Manager by default by putting existing
tests that use IFD behind a config. In CI, run a first pass with IFD
disabled, skipping tests without the config. Then run a second pass with
IFD enabled and including tests with the config. This second pass will
also run tests without the config, but they should be cached from the
previous run, so the cost is not double (only eval time should be paid
twice). It’s necessary to change from using NMT’s `run` to `build` as
`run` itself uses IFD.

Of the tests that have the config:

- kitty/theme-to-themeFile: this is a test for deprecated config, and so
  should be removed eventually anyway
- podman: the implementation relies on IFD to create individual systemd
  units from the derivation output, and so it is not straightforward to
  remove the IFD; doing so would require rethinking how the module works
  to instead have the systemd unit files included as-is rather than as
  individually configured units in the Nix config.
2025-05-07 10:34:18 -05:00
Andrew Marshall
ae44268529 prezto: Remove unnecessary import-from-derivation 2025-05-07 10:34:18 -05:00
Ramses
f3384e688d tmpfiles: also remove files that need to be removed during activation (#6980)
Make sure that tmpfiles entries that ask for files/directories to be removed, are also executed
2025-05-07 10:27:02 -05:00
home-manager-bot
1d5fb9da10 flake.lock: Update (#6992)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7a2622e2c0dbad5c4493cb268aba12896e28b008?narHash=sha256-MHmBH2rS8KkRRdoU/feC/dKbdlMkcNkB5mwkuipVHeQ%3D' (2025-05-03)
  → 'github:NixOS/nixpkgs/3730d8a308f94996a9ba7c7138ede69c1b9ac4ae?narHash=sha256-7%2BpG1I9jvxNlmln4YgnlW4o%2Bw0TZX24k688mibiFDUE%3D' (2025-05-05)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-07 10:26:32 -05:00
awwpotato
5da6eafceb treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
Austin Horstman
76274a2130 tests/man: index.bt -> index.db
Looks like the generated cache is now using index.db
2025-05-07 10:02:56 -05:00
Austin Horstman
ba45438996 tests/darwinScrublist: add newsboat 2025-05-07 10:02:56 -05:00
Austin Horstman
f78a171fe4 mako: use toKebabCase for option transformation
Update mako module to pass lib.hm.strings.toKebabCase to the
mkSettingsRenamedOptionModules
function, which ensures option names are properly converted to
kebab-case format.
2025-05-07 10:02:56 -05:00
Austin Horstman
327885ceae lib/deprecations: add mkSettingsRenamedOptionModules with transform parameter
Add a new library module for deprecation utilities with a configurable
transformation function that allows specifying how option names should
be
converted (snake_case, kebab-case, etc.).
2025-05-07 10:02:56 -05:00
Austin Horstman
94d32062ca lib/strings: add toCaseWithSeparator
Utility function accepting a separator for converting camelCase settings
2025-05-07 10:02:56 -05:00
Austin Horstman
9cebc4cb8a lib/strings: add toKebabCase
Utility function for converting camelCase strings to kebab-case
2025-05-07 10:02:56 -05:00
Austin Horstman
e121442b65 lib/strings: add toSnakeCase
Utility function for converting camelCase strings to snake_case
2025-05-07 10:02:56 -05:00
awwpotato
35535345be television: add shell integrations (#6983) 2025-05-06 21:35:55 -05:00
Aguirre Matteo
60964ff845 mako: fix example config (#6987) 2025-05-06 21:06:15 -05:00
Aguirre Matteo
8a318641ac sway-easyfocus: add module (#6976) 2025-05-04 21:46:28 -05:00
Austin Horstman
5f1f472565 mako: use ini atom type (#6977)
Fix backwards compatibility
2025-05-04 21:44:38 -05:00
Nick K.
1a1793f6d9 ghostty: fix config syntax file location on darwin (#6970)
Home Manager creates broken link to the Ghostty config
syntax highlighting definition file, because it has different location
on Darwin. This commit updates path to the config for Darwin users.

Fixes #6961
2025-05-04 09:42:05 -05:00
awwpotato
8167af657c mako: fix criterias typo (#6968) 2025-05-04 09:17:09 -05:00
home-manager-bot
3a185176e4 flake.lock: Update (#6969)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/46e634be05ce9dc6d4db8e664515ba10b78151ae?narHash=sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ%2B5dck%3D' (2025-04-29)
  → 'github:NixOS/nixpkgs/7a2622e2c0dbad5c4493cb268aba12896e28b008?narHash=sha256-MHmBH2rS8KkRRdoU/feC/dKbdlMkcNkB5mwkuipVHeQ%3D' (2025-05-03)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-04 09:16:26 -05:00
Aguirre Matteo
621986fed3 i3bar-river: add module (#6967) 2025-05-03 19:12:02 -05:00
Aguirre Matteo
64f7d5e6b9 wofi: allow path to style.css (#6966) 2025-05-03 19:11:10 -05:00
Aguirre Matteo
d1bbab6b04 mako: refactor (#6948)
Refactors the services.mako module to replace all its configuration options with a freeform settings option and criterias. I also added a test for the configuration.
2025-05-03 19:09:56 -05:00
Austin Horstman
94f4c66660 tests/darwinScrublist: add more packages (#6965) 2025-05-03 19:08:12 -05:00
Ihar Hrachyshka
75268f6252 tests: enable all firefox tests on darwin (plus derivations) (#6960) 2025-05-03 10:51:18 -05:00
Ihar Hrachyshka
929f8ee836 thunderbird: deprecate darwinSetupWarning option (#6531)
nixpkgs support thunderbird for darwin now
2025-05-03 10:40:34 -05:00
MithicSpirit
c0962eeeab thunderbird: fix accounts being removed (#6959)
Even if no accounts were configured, it was defaulting to just account1,
which meant all other accounts were deleted every time thunderbird was
restarted. This fixes that by defaulting to the empty list (so it
remains unset in the user.js).
2025-05-02 22:32:45 -05:00
Aguirre Matteo
123297c57e onagre: add module (#6958) 2025-05-02 22:09:45 -05:00
Dawid Ciężarkiewicz
1e8c62c651 gpg-agent: avoid console output when using ssh
Without `--quiet` gpg-connect-agent sometimes prints

```
gpg-connect-agent: connection to the agent is in restricted mode
```
2025-05-02 18:56:14 +02:00
Aguirre Matteo
d6b0c05457 visidata: add module (#6956) 2025-05-02 11:14:19 -05:00
Joaquín Triñanes
355a6b937d nushell: throw instead of abort (#6870) 2025-05-02 08:45:16 -05:00
Jess
2eabb26d08 restic: allow the convenience script to source environmentFile (#6947) 2025-05-02 08:23:57 -05:00
Aguirre Matteo
f15be4feb6 clipcat: add module (#6946) 2025-05-02 08:22:35 -05:00
milanglacier
c5cad190ba zsh: update doc to show how to add initContent at multiple location. (#6945) 2025-05-02 08:18:11 -05:00
Aguirre Matteo
669e813c75 element-desktop: add module (#6935) 2025-05-02 08:17:24 -05:00
Marien Zwart
f045bd46b7 fish: keep all fish-completions packages around
...even empty ones.

For packages in `home.packages` with no Fish completions, we build an
empty directory that is not included in our runtime closure (because we
build a collection of symlinks to their contents: if there are no
contents, there is nothing to symlink). This means these empty
completion packages get garbage-collected by Nix. They are not that
expensive to rebuild but there can be enough of them it adds up, and any
change to any package in `home.packages` is enough to trigger a rebuild.

Fix this by forcing a dependency on all of them. Since we already
depended on them anyway if they were non-empty, this only adds
dependencies on empty directories (so should not significantly affect
storage space).

Fixes #6157.
2025-05-02 11:11:28 +02:00
Marien Zwart
361ab4484e home-environment: add home.extraDependencies
This should have the same effect `system.extraDependencies` has in
nixpkgs: adds paths to the runtime closure without installing them
anywhere.

This is useful for preventing garbage collection of packages that are
expensive to rebuild. For example:

- nixpkgs itself suggests using this for `factorio.src`, which requires
  a token to fetch.
- we can use it to address #6157: avoid needlessly rebuilding
  completions for packages that do not have any.

The implementation mirrors nixpkgs: add a file containing the store
paths we want to keep around to the home-manager-generation derivation.
2025-05-02 11:11:28 +02:00
Robert Helgesson
1298a3418b ci: remove release-24.05 from dependabot setup 2025-05-02 09:07:04 +02:00
Robert Helgesson
015f191310 ci: remove GitLab rycee/nur-expression update
This removes the automatic update of the Home Manager packaging in
<https://gitlab.com/rycee/nur-expressions/>. That setup is very old
and brittle, it should therefore not be used.
2025-05-01 23:17:55 +02:00
Robert Helgesson
4e7ee4d02c home-manager: new formatting of generated configuration
Makes the formatting of the generated initial `flake.nix` match the
RFC style format.
2025-05-01 23:13:47 +02:00
pancho horrillo
81431b6d6f gpg-agent: fix typo (#6950)
See 46e634be05/pkgs/by-name/wa/wayprompt/package.nix (L60)
2025-05-01 15:11:25 -05:00
Jess
5f217e5a31 restic: change service type from simple to oneshot
Fixes #6930
2025-04-30 14:19:59 -05:00
Jess
7f301a4d96 restic: fix certain integration tests 2025-04-30 14:19:59 -05:00
June Stepp
272eb00d13 fcitx5: ensure config doesn't get overwritten (#6940)
fcitx5 overwrites config files unless the entire folder is readonly. With this PR, a single fcitx5 symlink is made instead of multiple fcitx5/* ones. The link is only created when relevant options are set.
2025-04-30 14:19:29 -05:00
nakoo
c9c2c1a14e kime: fix systemd service (#6911) 2025-04-30 14:18:20 -05:00
home-manager-bot
d2b3e6c83d flake.lock: Update (#6937)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f771eb401a46846c1aebd20552521b233dd7e18b?narHash=sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA%3D' (2025-04-24)
  → 'github:NixOS/nixpkgs/46e634be05ce9dc6d4db8e664515ba10b78151ae?narHash=sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ%2B5dck%3D' (2025-04-29)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-04-29 23:25:35 -05:00
Bryn Edwards
ca39b34829 carapace: fix nushell PATH env var (#6936)
`carapace _carapace nushell` adds `/homeless-shelter/.config/carapace/bin`
to PATH, this changes it to ` $HOME/.config/carapace/bin`. Other shells
don't have this problem as they run the command and source on startup
whereas Nix writes the command output to a file as part of the build.
2025-04-29 23:15:32 -05:00
isabel
84d262115e nixos,darwin: add osClass (_class) as a specialArg (#6906) 2025-04-29 20:37:59 -05:00
Austin Horstman
9389f373be pls: enableAliases -> enableShellIntegration (#6932)
Allow granular control of alias creation utilizing our shell integration
options.
2025-04-29 20:37:20 -05:00
Austin Horstman
e9c80e277b tests/gpg-agent: add pinentry-program test
Add test that the code works to generate the correct pinentry-program
configuration when supplying both options.
2025-04-29 20:36:45 -05:00
Austin Horstman
a4c3ce44fc gpg-agent: pinentryPackage -> pinentry.package and add pinentry.program`
Alternative option for allowing a user to automatically configure what
binary to use from a `pinentry` package. Previously, we always used
`meta.mainProgram` but, there are packages that provide multiple
binaries and this would allow flexibility for a user to override the
default program used.
2025-04-29 20:36:45 -05:00
octvs
1ad1232399 rclone: make secret injection non-interactive (#6919)
Pass `--non-interactive` flag to `rclone config update` calls so that an
incomplete config is not used, resulting in failure on some remotes,
for example gdrive.
2025-04-28 21:38:55 -05:00
awwpotato
c803a38927 nh: add path option for flake (#6898) 2025-04-28 21:27:29 -05:00
zowoq
4d2baba75e espanso: fix alias in news (#6931) 2025-04-28 21:20:13 -05:00
Aguirre Matteo
d0d9d0a145 mpvpaper: add module (#6926)
Provides a module for configuring mpvpaper a video wallpaper program for wlroots based wayland compositors. It provides options for setting the 'pauselist' and 'stoplist'.
2025-04-28 11:49:19 -05:00
Thiago Kenji Okada
c54a8ab0d2 rofi: remove thiagokokada from maintainers (#6928)
I am not using `rofi` nowadays and people keep pinging me about issues in this module.
2025-04-28 10:13:12 -05:00
Benedikt M. Rips
6f974faa19 gh: add hosts option (#6925)
Add a programs.gh.hosts option that -- similar to programs.gh.settings -- gives structured access to $XDG_CONFIG_HOME/gh/hosts.yml.
2025-04-28 10:12:47 -05:00
Aguirre Matteo
69c60b035e kickoff: add module (#6918) 2025-04-28 09:47:38 -05:00
Austin Horstman
be7cf1709b lsd: add package option 2025-04-27 22:15:34 -05:00
Austin Horstman
77f849c114 lsd: refactor module 2025-04-27 22:15:34 -05:00
Austin Horstman
cf351071fb lsd: enableAliases -> enableShellIntegration
Allow granular control of alias creation utilizing our shell integration
options.
2025-04-27 22:15:34 -05:00
Austin Horstman
9c46dc881c mkFirefoxModule: support wrapped darwin derivations (#6913)
Wrapped firefox support was added for Darwin. We can now pass the extra parameters to wrap firefox on Darwin.
2025-04-27 20:15:17 -05:00
Austin Horstman
7b2aae3fb3 eza: add tests 2025-04-27 14:30:15 -05:00
Austin Horstman
edaeeda264 eza: default disable nushell integration again
Reverting default behavior for this module again since the nushell
integration causes a breaking behavior with the `ls` alias.
2025-04-27 14:30:15 -05:00
Gugu72
2a264c17d5 zsh: add type to zprof.enable option (#6916) 2025-04-27 14:29:57 -05:00
Patrick Stevens
adb3fbc584 neomutt: use correct neomutt in config file (#6915) 2025-04-27 14:27:52 -05:00
phanirithvij
0fbd8207e9 news: forward args to file news entries
Signed-off-by: phanirithvij <phanirithvij2000@gmail.com>
2025-04-27 11:36:10 -05:00
phanirithvij
9c3b33c2a7 espanso: add wayland test
Signed-off-by: phanirithvij <phanirithvij2000@gmail.com>
2025-04-27 11:36:10 -05:00
phanirithvij
6ed700bfe4 espanso: fix test
Signed-off-by: phanirithvij <phanirithvij2000@gmail.com>
2025-04-27 11:36:10 -05:00
phanirithvij
29fce40e13 espanso: add crossplatform support
Co-authored-by: Austin Horstman <khaneliman12@gmail.com>
Signed-off-by: phanirithvij <phanirithvij2000@gmail.com>
2025-04-27 11:36:10 -05:00
phanirithvij
1d2f0b3d4b espanso: add phanirithvij as maintainer
Signed-off-by: phanirithvij <phanirithvij2000@gmail.com>
2025-04-27 11:36:10 -05:00
Aguirre Matteo
50bb714a82 rmpc: add module (#6910) 2025-04-27 09:32:40 -05:00
home-manager-bot
ef47f36450 flake.lock: Update (#6912)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c11863f1e964833214b767f4a369c6e6a7aba141?narHash=sha256-GfpyMzxwkfgRVN0cTGQSkTC0OHhEkv3Jf6Tcjm//qZ0%3D' (2025-04-21)
  → 'github:NixOS/nixpkgs/f771eb401a46846c1aebd20552521b233dd7e18b?narHash=sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA%3D' (2025-04-24)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-04-27 08:54:27 -05:00
Aguirre Matteo
2f5819a962 onedrive: add module (#6907) 2025-04-26 16:40:10 -05:00
Coolio
4d2d322317 thefuck: Add alias option (#6909)
Added an alias option supported by bash, zsh, fish, and nushell integration
2025-04-25 19:39:49 -05:00
B1kku
542078066b wezterm: don't create config if extraConfig is empty, and don't create one by default (#6908)
Tests updated to check the file wasn't created when no config is
provided.
2025-04-25 10:11:18 -05:00
Andrew Marshall
98f4fef7fd format: Fix failing due to no cache access
We change `$HOME` to something not writable, but newer treefmt fails if
it cannot write. We could use a tmpdir, but there’s not much point to a
cache that will be removed, as just add the flag to not use the cache.
2025-04-24 23:33:54 -05:00
Andrew Marshall
dedfde15f6 format: Set {,XDG_CONFIG_}HOME to empty dir rather than empty string
As empty string might get interpreted as `/`, and thus probably has
things in it. This dir is always(?) present on *nix systems, empty, and
owned by root, so ideal and typical for this sort of usage.
2025-04-24 23:33:54 -05:00
K900
abfad3d295 treewide: substituteAll -> replaceVars/substitute
substituteAll is now officially deprecated.
2025-04-24 13:40:11 +02:00
awwpotato
d31710fb2c fcitx5: fix iniFormat usage (#6899) 2025-04-23 15:10:12 -05:00
awwpotato
6d1f834ca6 fcitx5: add upstream options (#6892) 2025-04-23 11:51:43 -05:00
awwpotato
59de2dfb0a workflows: only run conflicts and update flake on main repo (#6893) 2025-04-23 11:25:45 -05:00
Austin Horstman
b7527e2daf vesktop: only generate settings when configured (#6897)
Prevent generating empty settings files that prevent using the
application's writable settings files.
2025-04-23 10:21:41 -05:00
awwpotato
ff6adf83b9 input-method: fix enable condition (#6896) 2025-04-23 10:11:31 -05:00
Austin Horstman
6c132a098e tests/darwinScrublist: add more darwin stubs
Some more cache hits
2025-04-23 06:47:51 -07:00
Austin Horstman
a3e713cb82 tests/darwinScrublist: move darwin scrub list to new file
Getting larger, can move to new file to reduce clutter in default
2025-04-23 06:47:51 -07:00
Austin Horstman
b01a941184 tests/default: add more darwin stubs
Some more cache hits
2025-04-23 06:47:51 -07:00
home-manager-bot
814521fdc1 flake.lock: Update (#6891)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef?narHash=sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU%3D' (2025-04-17)
  → 'github:NixOS/nixpkgs/c11863f1e964833214b767f4a369c6e6a7aba141?narHash=sha256-GfpyMzxwkfgRVN0cTGQSkTC0OHhEkv3Jf6Tcjm//qZ0%3D' (2025-04-21)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-04-23 08:23:46 -05:00
awwpotato
1d0e13904b i18n.inputMethod: add awwpotato as maintainer 2025-04-22 20:48:01 -07:00
awwpotato
585bae4bbb i18n.inputMethod: align enable option with nixos
see: https://github.com/NixOS/nixpkgs/pull/310708
2025-04-22 20:48:01 -07:00
awwpotato
7ef3137035 vesktop: fix config path on darwin (#6889) 2025-04-22 22:41:31 -05:00
Austin Horstman
97a62d8eef tests/default: add zoxide darwin stub (#6888) 2025-04-22 21:37:14 -05:00
awwpotato
68bc080cdf fcitx5: refactor logic (#6886)
* fcitx5: use mapAttrsToList instead of mapAttrs + attrValues

* fcitx5: refactor xdg dataFile logic
2025-04-22 21:20:08 -05:00
Austin Horstman
f1aabf1deb zsh: deprecate initLocation options in favor of initContent (#6841)
https://github.com/nix-community/home-manager/pull/6479 introduced a
more comprehensive option that allows fine tuning location of zsh
config. Encourage using that over the predetermined locations.
2025-04-22 20:45:44 -05:00
Austin Horstman
c42f04c83f mkFirefoxModule: revert userChrome changes (#6887)
Reverting all the recent userChrome changes because of too many issues
and bikeshedding.
2025-04-22 20:44:48 -05:00
Matthieu Coudron
b99e3e46b8 ci: fixed redundant rule (#6883) 2025-04-22 17:52:24 -05:00
Flameopathic
6899001a76 fcitx5: add themes and classicUiConfig options (#6876) 2025-04-22 14:30:45 -05:00
Benedikt M. Rips
c9433ae62f keepassxc: register as native messaging host (#6879)
Register KeepassXC as a native messaging host in supported browsers to integrate with KeepassXC's browser extension.  See https://discourse.nixos.org/t/keepassxc-browser-extension-integration/39553 for more information.
2025-04-22 11:42:04 -05:00
Matthieu Coudron
b925865c74 ci: label msmtp changes with "mail" (#6881) 2025-04-22 18:32:11 +02:00
zincentimeter
342b3e3e6d msmtp: rename environment variables (#6839)
I've started seeing $HOME/log $HOME/.msmtp.queue.log populated after using
msmtp via neomutt. Although the latter is not, the former is a bit
annoying. Home-manager already tries to avoids this 1, so I was curious to why
this occured.

Interestingly this didn't happen until a month ago, so I've tried to git blame my way out of the problem both on my configuration and on upstream
home-manager however I didn't find a fitting change on the suspected dates.

Home-manager uses2 msmtpq script3 to send emails through which manages
also the queue of mails to be sent. As stated on upstream source of the script
4, it looks for MSMTPQ_Q and MSMTPQ_LOG variables to decide where to

https://git.marlam.de/gitweb/?p=msmtp.git;a=blob_plain;f=scripts/msmtpq/msmtpq;hb=HEAD
2025-04-22 17:22:16 +02:00
Benedikt M. Rips
cf0c5e0105 xdg-autostart: fix runCommandNoCCLocal deprecation (#6880) 2025-04-22 09:05:27 -05:00
Johan Eklund
ce8dc1f77a xsettingsd: Remove erroneous lib. insertion (#6877) 2025-04-22 07:34:49 -05:00
Austin Horstman
81541ea36d lorri: fix missing makeSearchPath (#6875) 2025-04-21 14:55:32 -07:00
Josh Heinrichs
42d90297b3 git: support maintenance on darwin (#6868) 2025-04-21 14:25:57 -07:00
awwpotato
22b326b42b television: add module (#6866) 2025-04-21 12:26:20 -05:00
awwpotato
be4e5ec62c nix-init: add module (#6864)
Co-authored-by: uncenter <47499684+uncenter@users.noreply.github.com>
2025-04-21 12:25:56 -05:00
awwpotato
08b85bd000 vesktop: add support for multiple themes (#6860) 2025-04-21 12:25:22 -05:00
Joaquín Triñanes
ca8367117a atuin: Fix deprecated string type warning (#6861) 2025-04-21 12:23:08 -05:00
Austin Horstman
ddda2b1f20 direnv: only set sessionVariable for old version (#6842)
Discussion and retesting in
https://github.com/NixOS/nixpkgs/pull/398717. The env variable is
actually not needed when you use the config.
2025-04-21 11:19:27 -05:00
Austin Horstman
82ee14ff60 treewide: remove with lib (#6871)
Remove from services.
2025-04-21 11:00:59 -05:00
alois31
6695b1d477 kconfig: escape arguments properly (#6867)
Previously shell arguments were not escaped properly, leading to breakage on
group names containing characters with special meaning to the shell (in
particular spaces); theoretically keys containing single quotes would be
affected too. Escape all arguments passed to the shell properly instead.
2025-04-21 17:20:07 +02:00
Austin Horstman
3fbe9a2b76 tests/ranger: null package
Stubbing not working with the default cfg.finalPackage. Pass null to
reduce closure size
2025-04-20 20:10:07 -07:00
Austin Horstman
63bfbf55b6 ranger: nullable package support 2025-04-20 20:10:07 -07:00
Oughie
14eda3db4e clock-rs: add module
clock-rs is a modern, digital clock that effortlessly runs in your terminal
2025-04-20 20:02:06 -07:00
Austin Horstman
ac21ae3716 maintainers: add Oughie 2025-04-20 20:02:06 -07:00
Rouven Seifert
b0cc092405 shikane: init module (#4096) 2025-04-20 20:21:46 -05:00
awwpotato
496fa9c054 PR_TEMPLATE: mention nix fmt (#6859) 2025-04-20 18:05:56 -05:00
Austin Horstman
b71ca26961 uv: nullable package support 2025-04-20 14:32:29 -07:00
Mirko Lenz
1d2d6b9568 uv: init module 2025-04-20 14:32:29 -07:00
LilleAila
a0461b67ff vesktop: created module
Added a home-manager module for vesktop that allows for configuring both
vesktop and vencord, and creating a custom theme.
2025-04-20 13:47:45 -07:00
LilleAila
3cecde80a5 maintainers: added lilleaila 2025-04-20 13:47:45 -07:00
awwpotato
642d3e3bad atuin: add support for str + path themes (#6849) 2025-04-20 15:20:59 -05:00
Austin Horstman
6a676ee476 wallust: null package support 2025-04-20 13:16:28 -07:00
Kiara Grouwstra
aa2c7ac404 wallust: add module
closes #6566
2025-04-20 13:16:28 -07:00
Kiara Grouwstra
48bbe7bc48 maintainers: add kiara 2025-04-20 13:16:28 -07:00
Jess
f98314bb06 restic: init module (#6729) 2025-04-19 22:53:06 -07:00
awwpotato
bb8d286649 zed-editor: add themes option (#6832) 2025-04-20 00:29:44 -05:00
awwpotato
e8b68f99c6 eza: add theme option (#6850) 2025-04-20 00:24:26 -05:00
home-manager-bot
f6d295cee3 flake.lock: Update (#6854)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2631b0b7abcea6e640ce31cd78ea58910d31e650?narHash=sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR%2BXhw3kr/3Xd0GPTM%3D' (2025-04-12)
  → 'github:NixOS/nixpkgs/b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef?narHash=sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU%3D' (2025-04-17)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-04-20 00:23:20 -05:00
Karun Sandhu
b8d186abf8 fish: allow multiple commands for command option in abbreviations (#6851) 2025-04-20 00:23:07 -05:00
Austin Horstman
20705949f1 kitty: add git diff integration (#6855)
Kitty supports a diff tool integration. This allows enabling it easily
for a user.
2025-04-20 00:11:57 -05:00
Miku B
9676e8a52a inori: init module (#6289) 2025-04-19 09:05:58 -05:00
Austin Horstman
ae84885d9b workflows/conflicts: init (#6845)
Add labeler for merge conflicts
2025-04-18 22:23:32 -05:00
Austin Horstman
307281bfda labeler: expand labels (#6846)
Add rules, fill in missing files for existing rules.
2025-04-18 22:23:21 -05:00
Austin Horstman
991a480472 mkFirefoxModule: userchrome support derivations (#6844) 2025-04-18 19:57:48 -05:00
Austin Horstman
67f60ebce8 tests/home-cursor: don't use realPkgs 2025-04-18 15:56:09 -07:00
Austin Horstman
4bc9b08c33 tests/broot: stub broot 2025-04-18 15:56:09 -07:00
Austin Horstman
39037b08f1 tests: darwin stub hjson-go 2025-04-18 15:56:09 -07:00
Austin Horstman
412eb166eb tests/thunderbird: dont use realPkgs
Not relevant for testing.
2025-04-18 15:56:09 -07:00
Austin Horstman
fc09cb7aaa tests/labwc: fix autostart
Wasn't using a normalized store path, didn't notice in review.
2025-04-18 11:35:36 -07:00
Austin Horstman
4d6a8f590e keepassxc: nullable package support 2025-04-18 11:35:36 -07:00
d-brasher
54b494a77f keepassxc: add module 2025-04-18 11:35:36 -07:00
octvs
5e6a8203ce khard: add option to set mutiple subdirs (#6823)
Add new option `accounts.contact.accounts.<name>.khard.addressbooks`.

Remove the previous soln,
`accounts.contact.accounts.<name>.khard.defaultCollection`, which is
superseded with the new option.

Add a new test to check the new `addressbooks` option. Modify an
existing test which was checking the removed `defaultCollection`.

Previous commit a38f88 allowed a hardcoded path to be set for khard if
the path set for its local storage is not the actual `vdir`. This was
accomplished via adding the `defaultCollection` option. However this
accepted only a single sub-directory, and when one has more than a
single collection on the same dir this would require repetition on
configuration to set [1].

This is a continuation of the soln given to
nix-community/home-manager#4531, refer to there and the previous PR [2]
for reference.

[1]: https://github.com/nix-community/home-manager/issues/4531#issuecomment-2701156246
[2]: https://github.com/nix-community/home-manager/pull/5220
2025-04-18 09:38:13 -05:00
Austin Horstman
72526a5f7c tests/firefox: fix test commands (#6840)
Tests passed, but looks like `nmt` was swallowing the command not found
errors.
2025-04-17 14:45:55 -05:00
isabel
e72178b84e tests/atuin: add theme test 2025-04-17 11:03:18 -07:00
isabel
88e6187364 atuin: add support for themes 2025-04-17 11:03:18 -07:00
Austin Horstman
2c71aae678 tests/firefox: validate folder linking
Make sure we're linking all folder contents when a directory is
provided.
2025-04-17 08:01:20 -07:00
Austin Horstman
baa2a0b3bd tests/firefox: consolidate userChrome.css test files
Not sure why I had two of them..
2025-04-17 08:01:20 -07:00
Austin Horstman
c3c91dd8b4 mkFirefoxModule: fix userChrome with leading comment (#6836)
userChrome lines that started with a leading comment would cause an eval failure.
2025-04-17 09:31:27 -05:00
Austin Horstman
c6b75d69b6 tests/firefox: add userchrome test cases 2025-04-16 12:57:22 -07:00
Austin Horstman
1827e84344 mkFirefoxModule: fix userChrome 2025-04-16 12:57:22 -07:00
Nathaniel Barragan
cb65c81403 chawan: init module (#6768)
This is a super cool TUI browser capable of CSS and other cool stuff.
Reminiscent of ELinks but modern and better.

More info here: https://sr.ht/~bptato/chawan/
2025-04-16 14:41:17 -05:00
S1rDev10us
b35bccc32d home-manager-auto-expire: fix spelling error (#6829) 2025-04-16 13:41:23 -05:00
Jacob Birkett
7ede02c32a progs: firefox: *.userChrome may be path or drv (#6761)
This allows `programs.firefox.profiles.*.userChrome` to be set to a:
derivation, path/path-like string to directory or file, or multiline
text to be used as content verbatim.

This allows setting, for example(s):
```nix
programs.firefox.profiles."jacob.default".userChrome = pkgs.wavefox;
programs.firefox.profiles."jacob.default".userChrome =
    "${pkgs.wavefox}/userChrome.css";
```
2025-04-16 11:28:18 -05:00
LesVu
d8263c0b84 labwc: Add module for Labwc (#6807)
Add a module for labwc compositor.
Add myself as labwc module maintainer
2025-04-16 11:15:07 -05:00
Ilise Leary
5d48f3ded3 mcfly: Fix mcfly-fzf initialization crash for fish and zsh (#6827) 2025-04-16 09:11:07 -05:00
Weblate (bot)
401e7b544e Translate using Weblate (Dutch) (#6828)
Currently translated at 100.0% (16 of 16 strings)

Translate using Weblate (Dutch)

Currently translated at 97.2% (36 of 37 strings)


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

Co-authored-by: Hylke de Vries <hylke94+weblate@gmail.com>
2025-04-16 08:00:29 -05:00
fazzi
db7738e67a nh: remove incorrect warning on gc conflicts (#6802)
From what I understand, the warning removed in this PR was incorrect.
There shouldn't be any conflict between osConfig.nix.gc and
programs.nh.clean as our home-manager service only cleans user profiles
(which nix-collect-garbage does not do).

In this scenario they should both work at the same time as they are
cleaning two different things.
2025-04-15 11:49:11 -05:00
Graham Christensen
85c513aa86 home-manager: Feature test for flake support (#6824)
Feature testing flakes / nix-command is more robust over configuration
sniffing. Ultimately, the deciding factor should be if flakes work --
not if the config looks like they will / won't work.

This alternative test both asserts that the `nix` command is enabled,
and that flakes are enabled, without depending on whether or not
flakes are emitted as an experimental feature.

This is both repairing support for Determinate Nix 3, and prepares for
a potential future where Nix itself considers Flakes stable.

Closes #6702
2025-04-15 11:48:20 -05:00
Marius Niveri
d5cdf55bd9 direnv: add tests for silent option 2025-04-14 13:51:24 -07:00
Marius Niveri
ae5fcad746 direnv: fix silent option after update to direnv v2.36.0
see https://github.com/direnv/direnv/issues/68 (bottom of thread)
2025-04-14 13:51:24 -07:00
Lucas Wagler
5a096a8822 superfile: initial support (#6610)
Add initial support for `superfile` file manager.
2025-04-14 14:36:40 -05:00
Austin Horstman
273ad32fbb tests/nh: init tests (#6819) 2025-04-14 12:07:02 -05:00
awwpotato
3375414477 helix: fix str + path theme (#6816) 2025-04-14 08:29:24 -05:00
Austin Horstman
85dd758c70 yazi: remove assertions (#6817)
Contains IFD and unnecessarily restricts user's configuration.
2025-04-14 10:18:50 +02:00
Austin Horstman
e980d0e0e2 nh: support 4.0 for flake option (#6818)
Recently switched from FLAKE to NH_FLAKE in 4.0
2025-04-13 22:22:31 -05:00
1adept
ac3c1f4fa4 foot: enable duplicate key-bindings (#6815)
closes #5873
2025-04-13 17:46:54 -05:00
Weblate (bot)
1422924908 Translate using Weblate (Czech) (#6813)
Currently translated at 100.0% (16 of 16 strings)


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

Co-authored-by: max <weblate@p2502.net>
2025-04-13 17:45:29 -05:00
home-manager-bot
cfa196c705 flake.lock: Update (#6812)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c8cd81426f45942bb2906d5ed2fe21d2f19d95b7?narHash=sha256-tzCdyIJj9AjysC3OuKA%2BtMD/kDEDAF9mICPDU7ix0JA%3D' (2025-04-08)
  → 'github:NixOS/nixpkgs/2631b0b7abcea6e640ce31cd78ea58910d31e650?narHash=sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR%2BXhw3kr/3Xd0GPTM%3D' (2025-04-12)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-04-13 14:00:07 -05:00
awwpotato
4f898f373d helix: add support for path and string themes (#6814) 2025-04-13 13:59:21 -05:00
Johan Larsson
db56335ca8 way-displays: fix failing use of lib.mkDefault (#6809)
The resulting YAML file is mangled by the use of `lib.mkDefault`,
causing the service to fail. But we can safely remove it anyway due to
the use of `mergeSets` here.
2025-04-12 17:57:05 -05:00
Austin Horstman
b74b22bb61 waybar: add debug option 2025-04-11 12:43:20 -07:00
Austin Horstman
d8e2fdc09c .git-blame-ignore-revs: fix fmt hash
Must have forgotten to update after a squash/rebase.
2025-04-11 12:43:20 -07:00
Austin Horstman
cfd7df8a21 waybar: systemd cleanup
No reason to allow nullable and it was inconsistently applied
2025-04-11 12:43:20 -07:00
Austin Horstman
e43c6bcb10 anyrun: init module (#6804) 2025-04-11 09:06:03 -05:00
andre4ik3
6bccb54a4f aerospace: revert flattening on-window-detected rules (#6803)
This reverts commits 95861b5d9f and
d2c014e1c7 (PR #6778), as they broke
Aerospace configuration loading. Whilst the generated TOML configuration
wasn't the best, it was completely valid, whereas after the
aforementioned PR it was no longer valid.
2025-04-11 08:17:15 -05:00
Johan Larsson
f0c69ede70 way-displays: init module (#6791) 2025-04-11 08:15:26 -05:00
Amadej Kastelic
e15c4203ea hyprland: plugins use hyprctl from path (#6801) 2025-04-11 07:59:55 -05:00
Matthieu Coudron
da624eaad0 jujutsu: evaluate the settings after merging with other options (#6775)
* jujutsu: evaluate the settings after merging with other options

* jujutsu: add ediff to the test
2025-04-11 10:34:17 +02:00
Austin Horstman
f1ffd097e7 hyprsunset: support multiple commands to IPC 2025-04-10 20:55:24 -07:00
Austin Horstman
cf6314f8e1 hyprsunset: init 2025-04-10 20:55:24 -07:00
Valentin Brandl
47eb2d80f9 accounts/contact: add sensible defaults to the localModule (#6799)
This adds defaults to the `localModule` that match the ones in
accounts/calendar. This way there is no need to explicitly define the
local part, only if the defaults should be changed.
2025-04-10 22:29:30 -05:00
Sorki
543caa313a xmonad: fix binary name lookup on armv7l when cross-compiled (#6795) 2025-04-10 15:28:09 -05:00
Bruno Bigras
8638a0b287 sesh: add icons option (#6794)
Display icons next to results ({option}`--icons` argument).
2025-04-10 15:02:01 -05:00
Matthieu Coudron
140a7df916 formatter: use a different treefmt root (#6792)
* formatter: use a different treefmt root

Problem: i use jujutsu as a VCS these days https://jj-vcs.github.io/jj/
and when using jujutsu workspaces, they dont contain the `.git`
file/folder that git worktrees have.

solution: use a different (unique) root file. I first tried with flake.nix for instnace but we have several in the tree while is only one "release.json"

* Update flake.nix

Co-authored-by: Austin Horstman <khaneliman12@gmail.com>

---------

Co-authored-by: Austin Horstman <khaneliman12@gmail.com>
2025-04-10 19:57:41 +02:00
Flameopathic
92266c9a6f btop: adjust themes option example (#6793) 2025-04-10 12:29:47 -05:00
Amadej Kastelic
7946193670 hyprland: load plugins using exec-once (#6789)
Should eliminate crashes / plugin version mismatches when updating hyprland.
2025-04-09 13:38:08 -05:00
home-manager-bot
542efdf2df flake.lock: Update (#6785)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/42a1c966be226125b48c384171c44c651c236c22?narHash=sha256-rpqepOZ8Eo1zg%2BKJeWoq1HAOgoMCDloqv5r2EAa9TSA%3D' (2025-04-05)
  → 'github:NixOS/nixpkgs/c8cd81426f45942bb2906d5ed2fe21d2f19d95b7?narHash=sha256-tzCdyIJj9AjysC3OuKA%2BtMD/kDEDAF9mICPDU7ix0JA%3D' (2025-04-08)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-04-09 09:22:45 -05:00
Nathan Felber
9864a2f421 thunderbird: add accountsOrder option (#6310)
Fixes #5031 and adds accountsOrder option for declarative account ordering in Thunderbird's folder pane as discussed in the issue.
2025-04-09 09:18:26 -05:00
Austin Horstman
a1036d4d3e tests: stub notmuch darwin (#6788)
Building causing massive CI delays
2025-04-09 08:59:49 -05:00
Gaétan Lepage
fcb8a2b62b swaylock: fix path values in config file (#6786) 2025-04-09 08:22:57 -05:00
Cole Mickens
4040c5779c modules/programs/ssh: support identityAgent (#6783) 2025-04-08 23:16:14 -05:00
Austin Horstman
760eed5959 flake.nix: remove treefmt-nix input (#6782)
Removing input until I have time to migrate usage to a dev flake for all
the dev dependencies.
2025-04-08 13:52:13 -05:00
Austin Horstman
fefb6ae1b3 .git-blame-ignore-revs: add treewide reformat 2025-04-08 08:50:05 -07:00
Austin Horstman
cba2f9ce95 treewide: reformat nixfmt-rfc-style
Reformat repository using new nixfmt-rfc-style.
2025-04-08 08:50:05 -07:00
Austin Horstman
5df48c4255 flake.nix: add formatter check 2025-04-08 08:50:05 -07:00
Austin Horstman
04a2e5cede format: use nixfmt-tree treefmt
Compatibility for non flake users with the new formatter.
2025-04-08 08:50:05 -07:00
Austin Horstman
74b681d665 flake.nix: nixfmt -> treefmt
Instead of managing our own formatter file, we can leverage a tool
specifically tailored for formatting a repository and allowing
configuration to be passed to formatters.
2025-04-08 08:50:05 -07:00
Alex Mason
7137c8ae4e tests/aerospace: include on-window-detected 2025-04-08 08:17:43 -07:00
Alex Mason
95861b5d9f aerospace: Add flattenOnWindowDetected function 2025-04-08 08:17:43 -07:00
Alex Epelde
80ae77eed3 kdeconnect: trigger indicator service after generic tray.target (#6711)
Each of `polybar.service`, `stalonetray.service` and `taffybar.service`
contains `WantedBy=tray.target`. So we can use a single `tray.target` in
`kdeconnect-indicator.service`'s `After=`.

This also makes the applet service tray implementation agnostic, so long
as it integrates with `tray.target`.
2025-04-08 09:51:20 -05:00
Axel Karjalainen
5966fc8bd1 xdg-portal: improve description of extraPortals (#6760)
- Specified more clearly how the extra portals affect the environment
2025-04-08 09:46:20 -05:00
Austin Horstman
df09fb5981 tests: stub more packages on darwin (#6780)
Try to reduce CI time and failure chances more.
2025-04-08 09:45:40 -05:00
Austin Horstman
05cd34203e kitty: fromJSON to importJSON 2025-04-08 07:43:54 -07:00
Austin Horstman
cbdf1c1e33 astroid: fromJSON to importJSON 2025-04-08 07:43:54 -07:00
Lyndon Sanche
e741f97967 astroid: Fix use of fromJSON
Module was rewritten to use it from `lib`, when it is actually in
`builtins`
2025-04-08 07:43:54 -07:00
Flameopathic
0daadc7784 btop: add themes option (#6777) 2025-04-08 09:08:40 -05:00
Austin Horstman
bd33ce4000 tests: stub neovim and vimPlugins and darwin (#6779) 2025-04-08 08:37:23 -05:00
Austin Horstman
a4d8020820 flake.nix: include more doc outputs
A couple of extra doc outputs we can pass through.
2025-04-07 08:15:20 -07:00
Austin Horstman
1a186efb48 default.nix: add htmlOpenTool output for docs 2025-04-07 08:15:20 -07:00
Austin Horstman
14269b06a0 docs/flake.nix: add flake outputs for docs
We have stuff that's referenced in CI but not available as flake outputs
to build. Adding default.nix outputs to flake.nix so flake users can
reference them easier.
2025-04-07 08:15:20 -07:00
Austin Horstman
f463902a3f .git-blame-ignore-revs: init (#6767) 2025-04-06 23:53:51 -07:00
Austin Horstman
c15ab0ce0d swayr: systemd.target default to wayland.systemd target 2025-04-06 21:06:22 -07:00
Austin Horstman
320e152d0b wlsunset: systemdTarget used for all targets 2025-04-06 21:06:22 -07:00
Austin Horstman
a90ab0ab5f wlsunset: systemdTarget default to wayland.systemd target 2025-04-06 21:06:22 -07:00
Austin Horstman
8871d0b1ef cliphist: systemdTargets default to wayland.systemd target 2025-04-06 21:06:22 -07:00
Austin Horstman
8c9b54504c swaync: use x-restart-triggers for reload (#6764)
Use x-restart-triggers to reload on file change, since users
with impermanence setups were running into issues with onChange and calling the `swaync-client` to handle the hot reload.
2025-04-06 20:36:01 -05:00
home-manager-bot
ef3b2a6b60 flake.lock: Update (#6762)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2c8d3f48d33929642c1c12cd243df4cc7d2ce434?narHash=sha256-F7n4%2BKOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE%3D' (2025-04-02)
  → 'github:NixOS/nixpkgs/42a1c966be226125b48c384171c44c651c236c22?narHash=sha256-rpqepOZ8Eo1zg%2BKJeWoq1HAOgoMCDloqv5r2EAa9TSA%3D' (2025-04-05)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-04-06 09:01:27 -05:00
Thiago Kenji Okada
d094c6763c news: create an individual file for each news entry (#6747)
The current way to define a news entry in Home-Manager is error prone
(since you need to type the date manually) and also it is common cause
of conflicts after merges because all entries are defined in the same
file.

This commit fixes this: we can now create individual news entries for
each new entry. A script `create-news-entry.sh` also helps to create it
in the correct format (with the correct filenames and structure).
2025-04-05 11:13:59 -05:00
Evyatar Stalinsky
b5e2956513 redshift/gammastep: add tray tests 2025-04-05 06:36:25 -07:00
Evyatar Stalinsky
46f93825af redshift/gammastep: fix tray.target dependency
Fix a missing dependency for `tray.target` in `redshift/gammastep` module when the tray feature is enabled.

This caused a race condition that could result in the redshift/gammastep systemd user unit failing because the tray provider (e.g. waybar) isn't ready yet.
2025-04-05 06:36:25 -07:00
jaredmontoya
0f5908daf8 home-environment: enable home aliases for nushell (#6754) 2025-04-04 12:49:34 -05:00
Austin Horstman
07547d29e1 swaync: use lib.getExe (#6755) 2025-04-04 12:30:26 -05:00
LemmusLemmus
bb036cb353 swaync: Add onChange (#6233)
Call swanyc-client with the argument reload-css/reload-config when config/CSS is changed.
2025-04-04 11:11:48 -05:00
Silence Tai
a802defb16 playerctld: add to $PATH (#6753) 2025-04-04 10:41:39 -05:00
Pim Snel
f3ac07f2f7 smug: init module (#6696)
This adds smug, a session manager and task runner for tmux, as module.
2025-04-04 10:41:02 -05:00
Austin Horstman
66a6ec65f8 cliphist: use configured systemdTargets throughout service (#6751)
Was running into issues with it not starting properly. This fixed my
issue.
2025-04-03 17:03:55 -05:00
Austin Horstman
107352dde4 treewide: add missing package option
Provide more customization to the binary to be installed.
2025-04-02 21:49:14 -05:00
Austin Horstman
fcdd04e0f9 astroid: only generate poll.sh when script provided
Don't need to generate the file if the user hasn't configured script.
2025-04-02 21:49:14 -05:00
Austin Horstman
a99c12d23e antidote: null package support 2025-04-02 21:49:14 -05:00
Austin Horstman
0bbc3fc5c6 alacritty: null package support 2025-04-02 21:49:14 -05:00
Austin Horstman
b24689a173 treewide: use mkPackageOption
Standardized interface to provide a consistent treewide experience.
2025-04-02 21:49:14 -05:00
home-manager-bot
579a71b948 flake.lock: Update (#6746)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5e5402ecbcb27af32284d4a62553c019a3a49ea6?narHash=sha256-gWd4urRoLRe8GLVC/3rYRae1h%2BxfQzt09xOfb0PaHSk%3D' (2025-03-27)
  → 'github:NixOS/nixpkgs/2c8d3f48d33929642c1c12cd243df4cc7d2ce434?narHash=sha256-F7n4%2BKOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE%3D' (2025-04-02)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-04-02 19:16:11 -05:00
Austin Horstman
49748c74cd tests/atuin: add nushell test 2025-04-02 10:26:07 -05:00
Austin Horstman
282739209a atuin: fix nushell config 2025-04-02 10:26:07 -05:00
Austin Horstman
53cacafd9b treewide: nushell build time configs suffixed
Add filetype suffix for LSP/tree-sitter support.
2025-04-02 10:26:07 -05:00
jaredmontoya
180fd43eea pay-respects: allow setting custom options 2025-04-02 09:28:45 -05:00
jaredmontoya
812a12d014 oh-my-posh: build-time nushell config generation 2025-04-02 09:28:45 -05:00
jaredmontoya
287cbbbf80 nix-your-shell: build-time nushell config generation 2025-04-02 09:28:45 -05:00
jaredmontoya
dde05a0b10 carapace: build-time nushell config generation 2025-04-02 09:28:45 -05:00
jaredmontoya
3722855a1c atuin: build-time nushell config generation 2025-04-02 09:28:45 -05:00
jaredmontoya
267f6ada1e zoxide: build-time nushell config generation 2025-04-02 09:28:45 -05:00
jaredmontoya
98d718b46d starship: build-time nushell config generation 2025-04-02 09:28:45 -05:00
krabodyan
81f38986a2 jq: add missing color option (#6734)
added "color for object keys" option
https://jqlang.org/manual/#colors
2025-04-02 09:26:34 -05:00
Thiago Kenji Okada
5ee44bc7c2 news: add services.home-manager.autoExpire entry 2025-04-01 20:14:26 -05:00
Thiago Kenji Okada
28242a60d3 home-manager-auto-expire: init
This commit introduces a new service that expires old Home-Manager
generations.
2025-04-01 20:14:26 -05:00
nicoo
938e802b70 alacritty: add theme option (#5238)
Co-authored-by: r-vdp <ramses@well-founded.dev>
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2025-04-01 18:18:23 -06:00
Rafael Ledo
e355ae93a3 docs: add docs for mkOutOfStoreSymlink (#6660) 2025-04-02 02:06:02 +02:00
Yiheng He
89279a66f4 fcitx5: set SDL_IM_MODULE (#6742)
Sets SDL_IM_MODULE to fcitxto make fcitx5 work with sdl2 programs.
See fcitx-im.org/wiki/Setup_Fcitx_5#SDL_IM_MODULE and wiki.archlinux.org/title/Fcitx5#IM_modules
2025-04-02 02:05:28 +02:00
Robin Stumm
f4d9d1e2ad broot: get rid of IFDs (#6723) 2025-04-01 12:07:51 -05:00
Austin Horstman
0afad8f080 Revert "nixos-module: Fix potential recursion between users.users and home-ma…" (#6745)
This reverts commit 216690777e.

Reverts #6622

Seems to be causing issues for other users, though. Will revert and we can try again with some tests in place.
2025-04-01 09:52:10 -05:00
Austin Horstman
55cf1f1632 firefox: fix missing lib (#6744) 2025-04-01 08:25:30 -05:00
Hoang Nguyen
c21383b556 streamlink: init module (#6031)
Streamlink is a CLI utility which pipes video streams from various
services into a video player.
2025-03-31 23:42:59 -05:00
Austin Horstman
5e193cdcab msmtp: fix missing inherits (#6741) 2025-03-31 23:28:55 -05:00
Austin Horstman
0b491b460f treewide: remove with lib (#6735)
Continuation of `with lib;` cleanup.
2025-03-31 22:32:16 -05:00
wyyllou
ccd7df836e mcfly: Fix fzf overriding mcfly's Ctrl+R bind on fish(#6736)
This commit moves both mcfly and mcfly-fzf into the main is-interactive block for fish, which is technically unneccesary as the checks are done internally (but mcfly-fzf is broken in this regard bnprks/mcfly-fzf#10)
2025-03-31 11:23:33 -05:00
Proesmans Bert
216690777e nixos-module: Fix potential recursion between users.users and home-manager.users (#6622)
Pushing users.users.<name>.packages from matching home-manager users leads to a circular dependency when
one attribute set is calculated from the other.
A configuration pull approach replaces the previous one to break up the circular dependency. This new approach
allows more flexibility in configuring both option sets, including calculating from each other.

EXAMPLE;

```nix
{lib, /* custom arg */ flake, config, ...}: {
    home-manager.useUserPackages = true;
    home-manager.users = builtins.intersectAttrs (lib.filterAttrs (_: v: v.isNormalUser) config.users.users) (flake.outputs.homeModules.users);
}
```

EXAMPLE;
```nix
{lib, /* custom arg */ flake, config, ...}: {
    home-manager.useUserPackages = true;
    home-manager.users = { inherit (flake.outputs.homeModules.users) demo-user; };
    users.users = lib.mapAttrs (_: _: { isNormalUser = true; }) (lib.filterAttrs (_: v: v.programs.git.enable) config.home-manager.users);
}
```

fixes #594

* options-manual: Remove `users` option set from documentation

The option declaration `users.users` is owned by the upstream
nixos modules and should not be documented by home-manager.

Home-manager declares an incomplete/partial option definition for
`users.users` that cannot be documented without the full definition from
the nixos modules. This partial definition is removed from the options
set while generating documentation for the home-manager nixos module.
2025-03-31 09:19:52 -05:00
Ilya Savitsky
b6fd653ef8 newsboat: add a package option to the module (#6717) 2025-03-30 13:40:01 -05:00
Olmo Kramer
09280e17bb xdg-autostart: Add readOnly option (#6629)
When `readOnly` is set to `true` the autostart entries are linked from
a readonly directory in the nix store and `XDG_CONFIG_HOME/autostart` is
a link to that directory, so that programs cannot install arbitrary
autostart services.
2025-03-30 11:22:16 -05:00
home-manager-bot
1d2ed9c503 flake.lock: Update (#6730)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1e5b653dff12029333a6546c11e108ede13052eb?narHash=sha256-G5n%2BFOXLXcRx%2B3hCJ6Rt6ZQyF1zqQ0DL0sWAMn2Nk0w%3D' (2025-03-22)
  → 'github:NixOS/nixpkgs/5e5402ecbcb27af32284d4a62553c019a3a49ea6?narHash=sha256-gWd4urRoLRe8GLVC/3rYRae1h%2BxfQzt09xOfb0PaHSk%3D' (2025-03-27)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-30 09:56:56 -05:00
Léo Gaspard
802653e5d1 auto-upgrade: unbreak on unattended, loginctl enable-linger systems (#6719)
Fixes https://github.com/nix-community/home-manager/issues/3127
2025-03-30 09:56:27 -05:00
Farid Zakaria
8ce8433743 granted: Add override for package (#6722)
I would like to use the unstable version in my home-manager so let's make it possible to override.
2025-03-30 09:55:24 -05:00
Tobor
2760046f34 docs: correct improper import of home.nix (#6732)
This change improves the module system's error messages.
2025-03-30 09:39:15 -05:00
Tarow
7170300119 podman: fix service name in generated manifest (#6710) 2025-03-29 19:50:46 -05:00
Austin Horstman
b431496538 launchd: refactor setupLaunchAgents 2025-03-29 11:51:08 -05:00
Austin Horstman
86d2e3b005 launchd: remove checkLaunchAgents
We don't care about conflicts, they are launch agents and need to
represent the latest changes. This check had more negatives than
benefits.
2025-03-29 11:51:08 -05:00
Austin Horstman
ef8f898727 launchd: add khaneliman maintainer 2025-03-29 11:51:08 -05:00
Austin Horstman
a710f337d6 launchd: remove with lib 2025-03-29 11:51:08 -05:00
Austin Horstman
f1d4acaa10 treewide: use mkPackageOption (#6727) 2025-03-29 11:48:55 -05:00
カワリミ人形
1f679ed2a2 zsh-abbr: Add global abbreviations (#6720)
zsh-abbr has a global abbreviations feature. The global abbreviations expand anywhere on the line and are defined by using the -g option.

https://zsh-abbr.olets.dev/types.html#global
2025-03-29 09:42:13 -05:00
Michael
3527c8c778 sesh: add module (#5789)
Sesh is a CLI that helps you create and manage tmux sessions quickly and easily
using zoxide. See https://github.com/joshmedeski/sesh for more.
2025-03-29 09:32:11 -05:00
home-manager-bot
1efd250317 flake.lock: Update (#6708)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a84ebe20c6bc2ecbcfb000a50776219f48d134cc?narHash=sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ%3D' (2025-03-19)
  → 'github:NixOS/nixpkgs/1e5b653dff12029333a6546c11e108ede13052eb?narHash=sha256-G5n%2BFOXLXcRx%2B3hCJ6Rt6ZQyF1zqQ0DL0sWAMn2Nk0w%3D' (2025-03-22)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-27 23:36:12 -05:00
Dominic Meyer
26ccff08df thunderbird: set additional gmail smtpserver settings (#6713)
To resolve issues when using gmail with thunderbird, added default smtpserver authMethod of oauth
2025-03-27 23:32:30 -05:00
Shogo Takata
13d68e9ac0 helix: avoid IFD (#6714)
Avoids IFD in the helix module which was introduced in #6575.
The helix module fails to build when --no-allow-import-from-derivation is enabled.
2025-03-27 23:31:30 -05:00
Clément B
b14a70c40f fzf: update zsh integration to be after plugins (#6716) 2025-03-27 12:49:40 -05:00
Clément B
171915bfce fzf: fix zsh integration (keybinds rewritten by omz) (#6712)
fzf history keybind (^R) was being rewritten by omz.
This PR moves the initialization of the fzf zsh integration just after omz integration (but sill before other history managers, eg: atuin)
2025-03-27 08:40:07 -05:00
Tim Steinbach
693840c01b vscode: Fix version checks when using Cursor (#6680)
The version check for VSCode fails when using Cursor.
Cursor has its own versioning and is currently at
0.45.14 (based on VSCode version 1.96.2).
The version checks for generating the `extensions.json` in the
module look at the package version,
which causes them not to be generated for Cursor.
2025-03-26 08:44:18 -05:00
Madeleine Sydney Ślaga
ce287a5cd3 mpdscribble: add module (#6259) 2025-03-25 21:44:04 -05:00
Aneesh Bhave
0ff53f6d33 helix: add extraConfig option (#6575)
The extraConfig option can be used to append
ordered lines to helix configuration. Helix
depends on order for rendering minor mode menus.
2025-03-25 18:55:51 -05:00
Joseph LaFreniere
2321c6889b ripgrep-all: Add module (#5459) 2025-03-25 18:48:21 -05:00
Alex Epelde
338b2eabdf waybar: integrate with tray.target (#6675)
Inspired by [#3432][0], but with a smaller footprint.

This change makes it so that services with `Requires=tray.target`
and `After=tray.target`, such as [`blueman-applet`][1] or
[`network-manager-applet`][2] get started *after* waybar is ready.

[0]: https://github.com/nix-community/home-manager/pull/3432
[1]: 6c2b79403e/modules/services/blueman-applet.nix
[2]: 6c2b79403e/modules/services/network-manager-applet.nix
2025-03-25 18:48:07 -05:00
Fea
b9da58d505 carapace: conditionally disable unnecessary fish completion workaround on fish 4.0 (#6694)
The disabled workaround stopped being necessary with fish 4.0,
as noted in https://carapace-sh.github.io/carapace-bin/setup.html#fish
2025-03-25 18:06:44 -05:00
Austin Horstman
f565da89e7 davmail: add package option (#6705) 2025-03-25 16:25:32 -05:00
Bob van der Linden
d8b4ba070f mergiraf: init module (#6633)
This adds git integration for mergiraf. It sets up git to use mergiraf
to automatically resolve merge conflicts.
2025-03-25 21:37:24 +01:00
royce-c
8bef8b7a0a direnv: fix typo 2025-03-25 13:15:08 -05:00
royce-c
529906d6a2 podman: fix typo 2025-03-25 13:15:08 -05:00
royce-c
5abb21dc10 distrobox: fix typo 2025-03-25 13:15:08 -05:00
Zhaofeng Li
e3dded7a85 fish: Fix manpage completion generation with paths containing spaces (#6703)
Manual pages with spaces in their paths can lead to argument injection.
2025-03-25 13:13:52 -05:00
royce-c
2980606556 distrobox: replace hardcoded path with config package's path (#6701) 2025-03-25 13:13:37 -05:00
Austin Horstman
869f2ec2ad zsh: fix concatenation of aliases and global aliases (#6698)
Accidentally bump the lines against each other. Adding a newline to move
global aliases to another line when you have both.
2025-03-24 21:56:51 -05:00
Matthieu Coudron
c4d5d72805 neomutt: remove empty lines (#6523)
* neomutt: remove empty lines

prettier + more readable
made some tests easier to update by printing full path
2025-03-24 22:18:52 +01:00
Austin Horstman
2d057cd9d4 zellij: use mkPackageOption 2025-03-24 13:48:39 -05:00
Austin Horstman
a9042b53c2 zellij: default integration disabled again
Surprises most users and various issues requesting default change.
2025-03-24 13:48:39 -05:00
Austin Horstman
82a3211477 zellij: add khaneliman maintainer 2025-03-24 13:48:39 -05:00
Austin Horstman
10dca990ae zellij: remove with lib 2025-03-24 13:48:39 -05:00
Austin Horstman
6d4148df8e zellij: refactor implementation 2025-03-24 13:48:39 -05:00
David Chocholatý
0394c71f2b zellij: Add additional options for integrating with shells 2025-03-24 13:48:39 -05:00
Manuel
908e055e15 git: option to use difftastic as difftool (#5335)
I want `git diff` to stay the same, but `git difftool` to use
difftastic, as described in the difftastic docs:
https://difftastic.wilfred.me.uk/git.html#regular-usage
2025-03-24 09:19:19 -05:00
Kira Bruneau
ad0614a1ec firefox: don't show migration warning when bookmarks isn't set (#6689) 2025-03-23 18:13:55 -05:00
Kira Bruneau
4f4538467f firefox: fix migrate search v7 test for all firefox forks (#6690) 2025-03-23 16:36:33 -05:00
Kira Bruneau
0e75a40458 firefox: fix assertion when missing force for extensions (#6688) 2025-03-23 14:04:29 -05:00
bricked
ecbcd792e1 firefox: check if bookmarks attrset is of correct type 2025-03-23 14:04:01 -05:00
bricked
d7f451d7b1 firefox: replace with-lib-expression with inherit-expression 2025-03-23 14:04:01 -05:00
bricked
62d6a8931e firefox: fix bookmarks backwards compatibility
The legacy attrset option type for `firefox.profiles.<name>.bookmarks`
was accidentally removed in 9d55428. This adds back support for this
type by refactoring the bookmarks submodule. This also adds a new test
ensuring this won't happen again.
2025-03-23 14:04:01 -05:00
awwpotato
5ff90f09d1 wofi: merge multiple style definitions (#6673) 2025-03-23 16:48:23 +01:00
home-manager-bot
b61ae3b677 flake.lock: Update (#6684)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b6eaf97c6960d97350c584de1b6dcff03c9daf42?narHash=sha256-Txwa5uO%2BqpQXrNG4eumPSD%2BhHzzYi/CdaM80M9XRLCo%3D' (2025-03-18)
  → 'github:NixOS/nixpkgs/a84ebe20c6bc2ecbcfb000a50776219f48d134cc?narHash=sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ%3D' (2025-03-19)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-23 09:28:33 -05:00
Benedikt M. Rips
57e9a8a290 davmail: init module (#6674) 2025-03-23 09:01:35 -05:00
Austin Horstman
9172a6f956 skhd: add module (#6682) 2025-03-22 22:49:54 -05:00
Jess
7853236fae rclone: ensure remotes have a type field 2025-03-22 21:52:23 -05:00
Jess
7a08b8c898 rclone: correctly escape whitespace in secrets 2025-03-22 21:52:23 -05:00
Austin Horstman
63e77d09a1 jankyborders: add module (#6677) 2025-03-22 14:02:25 -05:00
Austin Horstman
94ea2cb536 treewide: zsh initExtraBeforeCompInit -> initContent
Migrating in tree usages of zsh initExtraBeforeCompInit to initContent
before deprecating, matching priority of current option.
2025-03-22 13:46:42 -05:00
Austin Horstman
10deb9d043 treewide: zsh initExtra -> initContent
Migrating in tree usages of zsh initExtra to initContent before
deprecating.
2025-03-22 13:46:42 -05:00
Austin Horstman
296ddc6462 zsh: adjust initContent priorities (#6676)
To support easier migration of deprecating old zsh options. We can
adjust the internal priorities to fit within the `mkBefore` (500) and
default (1000). Makes it easier for `initExtraFirst` migrationg to
`mkBefore` and `initExtra` to default prio.
2025-03-21 15:17:13 -05:00
Aguirre Matteo
8a68f18e96 distrobox: add module (#6528)
Added programs/distrobox.nix module. It provides the option "programs.distrobox.containers", which makes it possible to declare a list of containers to be created. Since building those containers is not possible at build time (because none container backend is available at that time), I also added a Systemd Unit to build those containers after switching the configuration.
2025-03-21 10:07:00 -05:00
Austin Horstman
d61711497b iamb: nullable package support 2025-03-20 23:14:47 -05:00
wikiker
e5ab18116c iamb: new module 2025-03-20 23:14:47 -05:00
Austin Horstman
71cbeb3afd hyprpolkitagent: add khaneliman maintainer 2025-03-20 23:08:16 -05:00
Austin Horstman
c1ca8974b3 hyprpolkitagent: use wayland.systemd.target 2025-03-20 23:08:16 -05:00
Bob van der Linden
29c6f2b0cb polkit-gnome: init module 2025-03-20 23:08:16 -05:00
Bob van der Linden
5503a758f9 lxqt-policykit-agent: init module 2025-03-20 23:08:16 -05:00
Bob van der Linden
cc538c3793 hyprpolkitagent: init module 2025-03-20 23:08:16 -05:00
Austin Horstman
da01818194 tests: scrub lazy{docker,git} on darwin 2025-03-20 17:14:14 -05:00
Austin Horstman
2e9981ca0d lazydocker: null package support 2025-03-20 17:14:14 -05:00
Austin Horstman
65413f297f lazydocker: remove with lib 2025-03-20 17:14:14 -05:00
hauskens
46efc3b2e1 lazydocker: add module 2025-03-20 17:14:14 -05:00
Michael Cooper
20ec3c1049 mcfly: Fix swapped shell names 2025-03-20 23:11:49 +01:00
Michael Cooper
d725df5ad8 mcfly: fix mcfly-fzf in non-interactive shells (#6669)
mcfly-fzf's initialization steps don't properly check for interactive
shells. It does check, but only after checking if mcfly has been
initialized. Because mcfly does not initiate itself on non-interactive
shells, that causes mcfly-fzf to return an exit code, breaking
non-interactive shells.
2025-03-20 15:11:36 -05:00
Cat
fc189507bc docs: nixos module declarative installation instructions (#6208)
Added instructions for a different installation method for home manager on NixOS.
2025-03-20 11:50:36 -05:00
Aguirre Matteo
c36cc49e55 onlyoffice: add module (#6667) 2025-03-20 11:34:43 -05:00
Austin Horstman
94605dcade tests/firefox: add applicationName to mock (#6668) 2025-03-20 00:15:57 -05:00
novenary
97a00e0659 librespot: init module (#6229)
Librespot is a Spotify client. While there is already a module for
spotifyd, which uses Librespot as a library, this adds one for the
upstream frontend.
2025-03-19 22:48:47 -05:00
Karun Sandhu
8675edf7d3 fish: add command option for abbreviations (#6666)
The fish shell has added a flag to the abbr command which allows one to expand it only if it is typed after a real command e.g.:
git s -> git status
s -> s

Also see the last example here: https://fishshell.com/docs/current/cmds/abbr.html#examples
2025-03-19 22:43:42 -05:00
Gaétan Lepage
cfaa4426a3 megasync: use getExe instead of getExe' (#6665) 2025-03-19 20:41:06 -05:00
Austin Horstman
eb0f617aec tex-fmt: add null package support
Allows generating config without installing package.
2025-03-19 15:40:32 -05:00
William G Underwood
9556d3c2b4 tex-fmt: add module
tex-fmt is a LaTeX source code formatter written in Rust, and uses
a user configuration file in the .toml format.
2025-03-19 15:40:32 -05:00
Kira Bruneau
8b629b5424 firefox: migrate search config to v12 2025-03-19 15:16:09 -05:00
Kira Bruneau
b44d79a5b2 firefox: migrate search config to v11 2025-03-19 15:16:09 -05:00
Kira Bruneau
c1dc900a1a firefox: migrate search config to v7 2025-03-19 15:16:09 -05:00
Austin Horstman
b597601774 easyeffects: remove with lib 2025-03-19 14:45:27 -05:00
Austin Horstman
e278f46a09 easyeffects: add hausken as maintainer 2025-03-19 14:45:27 -05:00
hauskens
6b8cea6473 easyeffects: add option to import presets
added options to import presets
added tests
added hausken as maintainer
2025-03-19 14:45:27 -05:00
Austin Horstman
e4a40b441e waylogout: add path support 2025-03-19 14:17:09 -05:00
Austin Horstman
16a2a802de waylogout: nullable package support 2025-03-19 14:17:09 -05:00
Austin Horstman
e0be70bcf9 waylogout: remove with lib 2025-03-19 14:17:09 -05:00
~noodlez1232
1e0c64b6a2 waylogout: added configuration module
90% of the code is copied over from swaylock so thanks to the creator of
that module!
2025-03-19 14:17:09 -05:00
Austin Horstman
0d616edbac maintainers: add noodlez 2025-03-19 14:17:09 -05:00
Tarow
27a72d9913 podman: include systemd in quadlet service path
Podman uses systemd-run to setup transient systemd timers, e.g. for healthchecks.

On systems where systemd is not present in /run/current-system/sw/bin or ~/.nix-profile/bin (like one of my Ubuntu hosts), setting up the transient timers will fail. For containers with healthchecks configured, this results in the container being stuck in starting state.

Relevant issue here: containers/podman#25034
2025-03-19 14:09:57 -05:00
Nicholas Hassan
bb72d79f5d podman: use type in attr name of built quadlets 2025-03-19 14:08:12 -05:00
Nicholas Hassan
8bb071912b podman: warn if values match a quadlet only by name 2025-03-19 14:08:12 -05:00
Nicholas Hassan
81bf639da7 podman: link dependent quadlets during build
podman's systemd generator can automatically resolve unit dependencies, so instead of us guessing these links to create them, we provide the sources during generation
2025-03-19 14:08:12 -05:00
Nicholas Hassan
4108ec3aa8 podman: use dependency quadlets directly in build for generator 2025-03-19 14:08:12 -05:00
Jess
eb5d59dac9 rclone: add module
Rclone is a command-line program to manage files on cloud storage, it
also featrues support for FUSE mounts.

"Users call rclone *"The Swiss army knife of cloud storage"* and
*"Technology indistinguishable from magic"*" - https://rclone.org/

This module manages the configuration of rclone remotes.
2025-03-19 13:49:44 -05:00
Jess
66f565db48 maintainers: add jess 2025-03-19 13:49:44 -05:00
Kira Bruneau
9d554281e0 firefox: refactor bookmarks into a submodule & require force (#6402)
This splits the bookmarks submodule into a seperate file, to make it easier to maintain (like how the search module was previously split out in #5697).

This also refactors bookmarks to require a new force option, to be more explicit about overriding existing bookmarks.
2025-03-19 13:37:13 -05:00
home-manager-bot
1727f417b7 flake.lock: Update (#6636)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e3e32b642a31e6714ec1b712de8c91a3352ce7e1?narHash=sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk%3D' (2025-03-09)
  → 'github:NixOS/nixpkgs/b6eaf97c6960d97350c584de1b6dcff03c9daf42?narHash=sha256-Txwa5uO%2BqpQXrNG4eumPSD%2BhHzzYi/CdaM80M9XRLCo%3D' (2025-03-18)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-19 13:33:04 -05:00
imsuck
62dc8c30ef home-manager: add autocomplete for --log-format 2025-03-19 13:32:33 -05:00
imsuck
229648c51e home-manager: support --log-format flag (#6093)
You can now pass `--log-format FORMAT` to `nix-build`,
useful for piping into `nix-output-monitor`.
2025-03-19 13:32:33 -05:00
Yiheng He
22a36aa709 swww: add swww service module for swww-daemon (#6543) 2025-03-18 14:32:10 -05:00
Reputable2772
fb74bb76d9 vscode: fix creation of storage.json file (#6650)
Signed-off-by: Reputable2722 <153411261+Reputable2772@users.noreply.github.com>
2025-03-18 08:44:38 -05:00
Austin Horstman
c657142e24 thunderbird: add message filters option (#6652)
* thunderbird: add message filters option

Add option to declare account-specific message filters.

* tests/thunderbird: add second filter for sort

Make sure they are generated in correct order.

* thunderbird: use profilePath for messageFilters

In testing on darwin and NixOS, they use this path. 

---------

Co-authored-by: 347Online | Katie Janzen <katiejanzen@347online.me>
2025-03-17 16:14:41 -05:00
Qiming Chu
b870fb2d62 zsh: update zsh initContent example to use lib.literalExpression (#6637)
Update the `initContent` option example in `zsh.nix` to use
`lib.literalExpression` for correctly display in documentation.

Signed-off-by: Qiming Chu <cchuqiming@gmail.com>
2025-03-17 15:24:59 -05:00
dependabot[bot]
18e7d54899 ci: bump cachix/cachix-action from 15 to 16 (#6644)
Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action) from 15 to 16.
- [Release notes](https://github.com/cachix/cachix-action/releases)
- [Commits](https://github.com/cachix/cachix-action/compare/v15...v16)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-17 15:24:45 -05:00
dependabot[bot]
eae06a96af ci: bump cachix/install-nix-action from 30 to 31 (#6643)
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 30 to 31.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v30...v31)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-17 14:53:43 -05:00
Jennings Zhang
f55c5f6569 kubecolor: create oc alias conditionally 2025-03-17 14:53:32 -05:00
Jennings Zhang
f9f766c600 kubecolor: add oc alias 2025-03-17 14:53:32 -05:00
Jennings Zhang
e94ec0a6cd kubecolor: add enableZshIntegration option for completion 2025-03-17 14:53:32 -05:00
Austin Horstman
5a6e5a59a4 tests: stub more expected packages darwin (#6649)
Get ahead of random breakages blocking ci.
2025-03-17 14:14:02 -05:00
CnTeng
4e12151c9e megasync: add option to enable wayland 2025-03-14 07:39:07 -05:00
CnTeng
e30c6a41bc megasync: remove with lib 2025-03-14 07:39:07 -05:00
isabel
30cce6848a synthing: fix synthing config being deleted on rebuild (#6621) 2025-03-13 20:11:20 -05:00
Austin Horstman
6914c15c09 tests/default: scrub zsh
test expects scrubbed version
2025-03-13 20:08:53 -05:00
Austin Horstman
8f8f5432d1 tests/zsh: fix zshrc content priority test
Previous test didn't verify they were actually in correct order,
updating test to check configuration is generated, as expected.
2025-03-13 20:08:53 -05:00
Austin Horstman
0b0baed7b2 tests/default: blacklist sapling
broken atm
2025-03-13 14:34:14 -05:00
Austin Horstman
0e46e84279 zsh: cleanup empty / wrong generated lines
We currently just insert a ton of empty lines when not using certain
options. We also incorrectly generate some notes for options not being
used.
2025-03-13 14:34:14 -05:00
Jdogzz
5d51162862 syncthing: have tray wait in submodule (#6617)
Add --wait flag to tray to avoid loading before bar.
2025-03-13 13:28:47 -05:00
Austin Horstman
1b0efe3d33 zsh: move option variables closer to usage 2025-03-13 10:25:21 -05:00
Austin Horstman
ad487d3863 zsh: move config variables closer to usage 2025-03-13 10:25:21 -05:00
Austin Horstman
b5142d46a3 zsh: remove with lib 2025-03-13 10:25:21 -05:00
Austin Horstman
56374cc64d zoxide: remove with lib 2025-03-13 09:57:16 -05:00
Austin Horstman
d30c1d30bf zoxide: move to bottom of zsh content
Follow up to https://github.com/nix-community/home-manager/pull/6572,
possible to fix now with
https://github.com/nix-community/home-manager/pull/6479
2025-03-13 09:57:16 -05:00
Stanislav Alekseev
6576167e6b macos-remap-keys: add (#6605)
A module to remap keys using macos native tool (hidutil)
2025-03-13 09:02:04 -05:00
Jérémy Garniaux
ef257da52a docs: enhance comment for home.stateVersion option (#6116)
Enhance comment for home.stateVersion option (see issue #5794)
2025-03-13 08:50:10 -05:00
Qiming Chu
7832b5aa95 zsh: refactor zsh configuration for better order control over .zshrc (#6479)
* zsh: add initContent option for custom .zshrc content insertion

- Users can add content anywhere by using `lib.mkOrder`, `lib.mkBefore`
and `lib.mkAfter` custom configurations.
- Add test cases to verify the insertion of content before and after
existing configurations in `.zshrc`.
consolidate zshrc content tests into a single priorities test
2025-03-13 14:37:11 +01:00
Austin Horstman
1878091234 home-cursor: louder deprecation
Check if a user explicitly set option to null and warn that they should
just disable instead.
2025-03-12 09:51:58 -05:00
isabel
74f2ed6a64 test/home-cursor: add new .enable check 2025-03-12 09:51:58 -05:00
isabel
dcc20acf93 home-cursor: add doticons option 2025-03-12 09:51:58 -05:00
isabel
00712ac0fb home-cursor: use .enable pattern 2025-03-12 09:51:58 -05:00
isabel
32531e4572 home-cursor: explicit lib usage 2025-03-12 09:51:58 -05:00
home-manager-bot
144f13f535 flake.lock: Update (#6606)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/36fd87baa9083f34f7f5027900b62ee6d09b1f2f?narHash=sha256-Wh7esNh7G24qYleLvgOSY/7HlDUzWaL/n4qzlBePpiw%3D' (2025-03-07)
  → 'github:NixOS/nixpkgs/e3e32b642a31e6714ec1b712de8c91a3352ce7e1?narHash=sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk%3D' (2025-03-09)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-12 08:20:12 -05:00
Gaétan Lepage
dd41a39055 swaylock: accept path type for settings values (#6607)
Allows setting images to file paths.
2025-03-12 08:19:52 -05:00
Marijan Petričević
5871e21c11 screen-locker: add lockCmdEnv option (#6592) 2025-03-12 07:31:54 -05:00
Lynn
c630dfa8ab nix-darwin: respect username setting of home-manager in activation script (#5881) 2025-03-11 08:53:55 -05:00
Raine Godmaire
7fd6dc2b94 granted: fix fish shell integration (#6602)
Without `$argv` the function will not pass any flags or arguments to the
`assume.fish` script.  These are necessary to use assume to access the
AWS console or use IAM role chaining.
2025-03-11 08:28:43 -05:00
Ilise Leary
7fb8678716 Fix missing styleName for kde6 (#6597) 2025-03-10 14:35:47 -05:00
Leandro Emmanuel Reina Kiperman
3593ee59a4 xdg-mime: Fix cross compilation (#6500) 2025-03-10 14:32:06 +01:00
Ilya Savitsky
744f749dd6 mods: add a mods module (#6339) 2025-03-09 23:05:08 -05:00
bamhm182
ce9cb2496c podman: added volume, image, and build quadlets (#6137)
Added support for build, image, and volume quadlets
Resolved test failures due to podman 5.3.0 upgrade
Replaced several instances of pkgs.podman with services.podman.package
2025-03-09 23:02:05 -05:00
carschandler
f8bb0ba6de zoxide: update mkOrder to place bash configuration at end of bashrc (#6572)
I updated my flake a few weeks back and `zoxide` has been giving me an error recently:

```
zoxide: detected a possible configuration issue.
Please ensure that zoxide is initialized right at the end of your shell configuration file (usually ~/.bashrc).

If the issue persists, consider filing an issue at:
https://github.com/ajeetdsouza/zoxide/issues

Disable this message by setting _ZO_DOCTOR=0.
```

To be fair, I haven't noticed any issues with `zoxide` apart from this error message.

The `zoxide` eval statement in my `.bashrc` is not "right at the end" of the file as mentioned in the message which isn't surprising given that it is given a `mkOrder 150`. In my own config, I increased this to `2000` (to ensure it comes after any `mkAfter`s which are `mkOrder 1500` to ensure it happens at the end of the script. After doing so, it appears at the end of my `bashrc` and I no longer get the error message.
2025-03-09 22:50:41 -05:00
Jono
597f9c2f06 thunderbird: set additional gmail server settings (#6579)
When email account is gmail in thunderbird, set additional server
settings.
As of March 2025, gmail only allows ssl/oauth0 authentication, so here I
set the authMethod accordingly.

Also setting 'is_gmail' to true in thunderbird settings such that labels
and trash work out of the box when the email account flavor is "gmail".
This brings in the gmail configs for how it handles folders, labels, and
archiving messages.
2025-03-09 18:38:46 -05:00
Thiago Kenji Okada
db4386d686 home-environment: add line-break after sessionSearchVariables (#6596)
PR #6593 broke activation when `sessionVariablesExtra` is used, e.g.:
`services.ssh-agent` because it concatenate the strings without a line
break, so the resulting `hm-session-vars.sh` file became:

```bash
export XCURSOR_PATH="/etc/profiles/per-user/thiagoko/share/icons${XCURSOR_PATH:+:}$XCURSOR_PATH"if [ -z "$SSH_AUTH_SOCK" ]; then
  export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/ssh-agent
fi
```

This commit fixes it by enforcing a line break between
`sessionSearchVariables` and `sessionVariablesExtra`.
2025-03-09 12:57:44 -05:00
Brian Leung
2967de4d11 debug: make NIX_DEBUG_INFO_DIRS a list of strings (#6595)
Fixup of daab32302b.
2025-03-09 12:20:08 -05:00
Thiago Kenji Okada
cf47e7ea21 qt: use home.sessionSearchVariables 2025-03-09 09:36:41 -05:00
Thiago Kenji Okada
ab56fd8db8 targets/generic-linux: use home.sessionSearchVariables for XCURSOR_PATH 2025-03-09 09:36:41 -05:00
Thiago Kenji Okada
5094e32cce home-cursor: use home.sessionSearchVariables for XCURSOR_PATH 2025-03-09 09:36:41 -05:00
Thiago Kenji Okada
daab32302b debug: use home.sessionSearchVariables for NIX_DEBUG_INFO_DIRS 2025-03-09 09:36:41 -05:00
Thiago Kenji Okada
601f8d073c im/fcitx5: use home.sessionSearchVariables for QT_PLUGIN_PATH 2025-03-09 09:36:41 -05:00
Thiago Kenji Okada
277eea1cc7 home-environment: add home.sessionSearchVariables
This commit introduces `home.sessionSearchVariables` option, that is
created to be a "generic" version of `home.sessionPath` for any
environment variables that is similar to PATH (e.g.: MANPATH). This
allows composition of those variables between multiple modules, avoiding
issues like this one:

https://github.com/nix-community/home-manager/pull/4579/files#r1364374048

This commit also reimplements `home.sessionPath` as terms of
`home.sessionSearchVariables`, to reduce code duplication and show that
the code is correct.

The behavior is to prepend the new search paths. This will allow
the user to override the defaults easily by setting it later in the
configuration.
2025-03-09 09:36:41 -05:00
Ilise Leary
07f505f91e qt: add "kde6" to qt.platformTheme (#6493) 2025-03-09 08:15:02 -05:00
Austin Horstman
1fd39a1055 tests/vscode: fix darwin snippets test 2025-03-09 00:44:11 -06:00
Austin Horstman
8d2a058108 tests/thunderbird: fix darwin test 2025-03-09 00:44:11 -06:00
Austin Horstman
4f2c461286 tests/yubikey-agent-darwin: fix test 2025-03-09 00:44:11 -06:00
Austin Horstman
4c9643363a tests/ollama: fix darwin test 2025-03-09 00:44:11 -06:00
Austin Horstman
68540fb775 tests/syncthing: syncthing wrapper stubbing for darwin 2025-03-09 00:44:11 -06:00
Austin Horstman
15498b94ec tests/syncthing: fix extra-options on darwin
Need to stub the return from the writeBash used to populate the plist
file for darwin. Also the arguments were moved inside the wrapper.
2025-03-09 00:44:11 -06:00
Austin Horstman
1909541fc7 tests/targets-darwin: fix user-defaults test
Update to represent the new output generated by the module.
2025-03-09 00:44:11 -06:00
Austin Horstman
91f88408cc .github/workflows/test.yml: enable darwin tests 2025-03-09 00:44:11 -06:00
Austin Horstman
b3e11ed4a9 tests: central darwin stubbing
Until we can figure out how to resolve issue with stdenv.
Makes it easier to revert when automatic stubbing is fixed for darwin
stdenv
2025-03-09 00:44:11 -06:00
Austin Horstman
b74402e4e8 tests: expose scrubDerivation
Will use it with darwin scrubbing
2025-03-09 00:44:11 -06:00
Weblate (bot)
72580374c8 Translate using Weblate (Chinese (Traditional Han script)) (#6581)
Currently translated at 100.0% (16 of 16 strings)

Translate using Weblate (Chinese (Traditional Han script))

Currently translated at 100.0% (37 of 37 strings)


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

Co-authored-by: 807 <s10855168@gmail.com>
2025-03-09 00:41:38 -06:00
home-manager-bot
b23c4d4cbe flake.lock: Update (#6591)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/10069ef4cf863633f57238f179a0297de84bd8d3?narHash=sha256-Q6pMP4a9ed636qilcYX8XUguvKl/0/LGXhHcRI91p0U%3D' (2025-03-06)
  → 'github:NixOS/nixpkgs/36fd87baa9083f34f7f5027900b62ee6d09b1f2f?narHash=sha256-Wh7esNh7G24qYleLvgOSY/7HlDUzWaL/n4qzlBePpiw%3D' (2025-03-07)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-08 23:32:21 -06:00
Nikolaos Karaolidis
7f4c60a3d6 podman: fix podman-user-wait-network-online (#6586)
Adding coreutils to path for podman to fix issues when not available in environment path already.
2025-03-08 13:22:11 -06:00
home-manager-bot
65d6043d32 flake.lock: Update (#6588)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ba487dbc9d04e0634c64e3b1f0d25839a0a68246?narHash=sha256-WZNlK/KX7Sni0RyqLSqLPbK8k08Kq7H7RijPJbq9KHM%3D' (2025-03-03)
  → 'github:NixOS/nixpkgs/10069ef4cf863633f57238f179a0297de84bd8d3?narHash=sha256-Q6pMP4a9ed636qilcYX8XUguvKl/0/LGXhHcRI91p0U%3D' (2025-03-06)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-08 13:19:43 -06:00
Austin Horstman
20a6b3631b navi: handle xdg directory on darwin (#6589)
When xdg is enabled, use the xdg config home on darwin.
2025-03-08 12:56:34 -06:00
Mahmoud Ayman
b2314312f2 zsh: correct syntax option to syntax-highlighting (#5792)
The current syntax of highlighting style is outdated and not working as well. So this pr aims to update it so follow `zsh-syntax-highlight`` new syntax [example](e0165eaa73/highlighters/main/main-highlighter.zsh (L32)).
2025-03-08 19:37:10 +01:00
Austin Horstman
2c87a6475f flake-module: rename homeManagerModules to homeModules (#6406)
This reverts commit 066ba0c5cf. After
further discussion, we want to maintain this as the naming scheme going
forward to be similar to standards that have been trying to be
implemented in naming configurations and modules.
2025-03-08 19:14:01 +01:00
Austin Horstman
c040d1c556 xembed-sni-proxy: change default package (#6587)
Use new `kdePackages` version by default. Users can pass the legacy
package, if they wish.
2025-03-08 10:48:18 -06:00
Austin Horstman
26f6b86264 tests/gh-dash: enable gh to test extension adding 2025-03-08 00:54:10 -06:00
Austin Horstman
5ab4305f34 gh-dash: fix
Missing mkIf
2025-03-08 00:54:10 -06:00
Austin Horstman
1347b0b468 tests: move vinegar to linux only 2025-03-08 00:03:41 -06:00
Austin Horstman
3ade654257 tests/neovide: fix deprecation 2025-03-08 00:03:41 -06:00
Austin Horstman
d2c014e1c7 treewide: null package support (#6582)
Can generate the config without installing application through home-manager. Helpful when a package is broken (or not provided) on a specific platform through nixpkgs and needs to be installed through other means but you still can benefit from the declarative configuration.
2025-03-07 18:17:52 -06:00
Sefa Eyeoglu
6c2b79403e treewide: use graphical-session.target for GUI services (#5785)
As per systemd.special(7)[0] graphical-session-pre.target is strictly
for units that set up things for a graphical session. Most notably,
these are usually started *before* the compositor/session is actually
ready.

While Home Manager's current implementation of graphical-session.target
allows these units to work regardless of what systemd.special(7)
specifies, other setups like ones with uwsm[1] do not allow these units
to start properly.

[0]: https://www.freedesktop.org/software/systemd/man/latest/systemd.special.html#graphical-session-pre.target
[1]: https://github.com/Vladimir-csp/uwsm
2025-03-07 18:09:12 -06:00
Austin Horstman
95711f9266 treewide: remove with lib (#6512)
* nixos: remove with lib
* nix-darwin: remove with lib
* home-manager: remove with lib
* modules/accounts: remove with lib
* modules/config: remove with lib
* modules/i18n: remove with lib
* modules/misc: remove with lib
* modules: remove with lib
* modules/targets: remove with lib
* tests/modules/firefox: remove with lib
* tests/modules/services: remove with lib
2025-03-07 14:16:46 -06:00
Raine Godmaire
83f4629364 granted: support fish shell (#6549)
Due to fish being a non-POSIX shell, granted provides a separate wrapper
to be used by fish.
2025-03-07 13:29:16 -06:00
Andrew Marshall
04c915bcf1 firefox: Support paths for userChrome & userContent (#3856)
A path may be preferred for some uses, and allowing it avoids the user
needing to `builtins.readFile`, thus creating duplicates and making it
more difficult to determine the actual store path.
2025-03-07 12:11:10 +01:00
toborwinner
486b066025 specialisation: escape specialisation name
The specialisation name is included in home.extraBuilderCommands
without being properly escaped and checked. This commit fixes that.
2025-03-06 00:36:03 +01:00
home-manager-bot
f6ac8a3414 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d74a2335ac9c133d6bbec9fc98d91a77f1604c1f?narHash=sha256-zON2GNBkzsIyALlOCFiEBcIjI4w38GYOb%2BP%2BR4S8Jsw%3D' (2025-02-16)
  → 'github:NixOS/nixpkgs/ba487dbc9d04e0634c64e3b1f0d25839a0a68246?narHash=sha256-WZNlK/KX7Sni0RyqLSqLPbK8k08Kq7H7RijPJbq9KHM%3D' (2025-03-03)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-06 00:17:22 +01:00
HyunggyuJang
def0dbbcea vscode: Support Cursor AI (#6417)
Co-authored-by: Hyunggyu Jang <hyunggyu.jang@42dot.ai>
2025-03-05 12:39:42 +01:00
Karl H
b1b964ea93 mbsync: support maildir paths containing spaces
HM would previously create several folders instead of just one with the space escaped.
Fixes https://github.com/nix-community/home-manager/issues/6569
2025-03-04 23:51:00 +01:00
Vonfry
6f71acf71b git: apply sendmailCmd instead of smtpServer (#6399)
In manpage of git-send-email --smtp-server,

    For backward compatibility, this option can also specify
    full pathname of a sendmail-like program instead; the program
    must support the -i option. This method does not support
    passing arguments or using plain command names. For those use
    cases, consider using --sendmail-cmd instead.
2025-03-04 22:46:31 +01:00
Matthieu Coudron
3f08cd8ef7 ci: add labels for firefox (#6520) 2025-03-04 22:14:44 +01:00
HPsaucii
70fbbf05a5 Firefox: Apply global extension force setting to declarative extensions (#6567)
Respect the parent force option for the extension settings storage.js
2025-03-03 20:44:45 -06:00
Austin Horstman
fcac3d6d88 xdg: use mkOptionDefault
These are supposed to be option defaults configured in the config
section.
2025-03-01 11:08:42 -05:00
Austin Horstman
66505b851b xdg: add missing stateHome default for legacy
Erroring in some tests because stateHome isn't set for the legacy state
version.
2025-03-01 11:08:42 -05:00
Austin Horstman
47c694963e tests: move xdg to cross platform tests
Has cross platform functionality, gate linux only behind separate test
path.
2025-03-01 11:08:42 -05:00
Austin Horstman
17fd27a8ea tests: use mkDefault with enable
We shouldn't need to mkForce every tests attempt to configure this
value.
2025-03-01 11:08:42 -05:00
Alice Carroll
30da431093 librewolf: support darwin (#6561)
Remove linux platform assertion.
2025-03-01 08:55:01 -06:00
Zeremonienmeister Berber
4f05ef6a8a firefox: fix wrong syntax grammar for search setting isAppProvided (#6556)
The or operator is left associative, and since there is another
argument after the first term, the interpreter tries to apply whatever
the or-expression evaluates to.  If the first operand is unset, it
evaluates to removeAttrs, and everything is fine, but if it is set to
a boolean (which is what it should be set to), then it tries to apply
a boolean to arguments, and we get a type error.  Bracketing
explicitly with parentheses fixes this.

It presumably went unnoticed because not many people have tried
setting the option
`programs.firefox.profiles.<profile>.search.engines.<engine>.isAppProvided`.
2025-03-01 08:47:21 -06:00
Manuel Mendez
f0b5e7e8a7 xdg: add option 'xdg.cacheFile' (#6548)
Allow declarative configuration of files in configured xdg cache home.
2025-02-28 20:36:56 -06:00
Austin Horstman
b71edac7a3 launchd: sync up with changes from nix-darwin (#6508)
We haven't updated to match changes done upstream in a while. Updating
to reflect changes for expanding support / proper types.
2025-02-27 17:38:18 -06:00
gmvar
343646e092 kitty: add action aliases config (#6538) 2025-02-27 12:12:56 -06:00
Austin Horstman
0208592b59 idlehook: fix service.restart merge (#6544) 2025-02-27 11:32:59 -06:00
Austin Horstman
cf3bf4f1b7 mpd: refactor implementation (#6537)
Remove with lib, reorganize, cleanup conditionals, hide options that are
linux only from darwin.
2025-02-27 10:56:56 -06:00
Emanuel
11e6d20803 ghostty: fix typo (#6541) 2025-02-27 11:32:19 -05:00
Damien Cassou
b8869e4ead mpd: Add support for darwin (#6517) 2025-02-26 20:53:00 -06:00
Even Brenden
6be185eb76 screen-locker: set Restart=always for all services (#6534) 2025-02-26 15:41:55 -06:00
Even Brenden
44b86a72e7 xidlehook: set Restart=always (#6533) 2025-02-26 15:41:15 -06:00
Thomas Zeger
53c587d263 tmux: fix shell example (#5361) 2025-02-26 08:21:11 -06:00
Kilian Mio
87743e9383 firefox: deprecate vendorPath (#6519)
This is a reaction to PR #6460
2025-02-26 08:20:52 -06:00
eulalia
18e74c2e02 aerc-accounts: improve logic for parsing XOAUTH2 URL params (#6530)
This commit fixes an issue in aerc-accounts that prevents oauth2
accounts from being generated from given parameters. It also allows
users to add XOAUTH2 credentials without having to add all four of
client_id, client_secret, token_endpoint, and scope. It further adds
tests for the XOAUTH2 config generation.
2025-02-26 07:59:40 -06:00
DSOverlord
74f0a8546e clipse: add additional options (#6525) 2025-02-25 08:39:21 -06:00
Bruno BELANYI
c12dcc9b61 xdg: create '$XDG_STATE_HOME' (#6526)
Some programs (e.g: `less`) will not make use of `$XDG_STATE_HOME` if
the directory does not exist.
2025-02-24 22:32:28 +01:00
Austin Horstman
12e26a74e5 tests/neovim: resolve deprecation (#6522)
Assigning a plain list to extraLuaPackages is deprecated.
                           Please assign a function taking a package set
as argument, so
                             extraLuaPackages = [ pkgs.lua51Packages.xxx
];
                           should become
                             extraLuaPackages = ps: [ ps.xxx ];
2025-02-23 15:53:17 -06:00
Austin Horstman
6a2af4ffb2 tests/swayidle: bash -> bash-interactive 2025-02-23 13:07:25 -08:00
Austin Horstman
3002f1aedf tests/mpd: bash -> bash-interactive 2025-02-23 13:07:25 -08:00
Silence Tai
b5ab2c7fda waybar: support enable inspect from service (#5922) 2025-02-23 07:45:42 -06:00
Austin Horstman
ed030a7879 chromium: optional nativeMessagingHosts (#6515)
Should only be generating when provided
2025-02-22 21:58:48 -06:00
Seth Flynn
3b6550f710 git: add option to use riff as diff tool (#5748)
https://github.com/walles/riff
2025-02-22 19:43:56 -06:00
Ihar Hrachyshka
6b7cd50812 tests: test librewolf the same way firefox is tested
Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
2025-02-22 17:38:43 -08:00
Ihar Hrachyshka
7f9ba30a28 tests: check that all firefox derivatives can be installed
The issue itself was resolved with:
https://github.com/nix-community/home-manager/pull/6460

This patch only adds a test case to make sure we don't ever regress by
installing firefox and librewolf and floorp at the same time.

Closes: #6467

Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
2025-02-22 17:38:43 -08:00
moni
fb568d75cf targets/darwin: allow configuring application linking (#4809)
Darwin users can disable application linking or change the path where applications are linked.
2025-02-22 17:00:52 -06:00
novenary
cb3f6e9b59 htop: write-protect entire configuration directory
Fixes #4947
2025-02-22 11:55:15 -08:00
novenary
61d8f8366f htop: export defaultFields into lib 2025-02-22 11:55:15 -08:00
Austin Horstman
546949fea1 tests/dircolors: test zsh path 2025-02-22 11:50:20 -08:00
Austin Horstman
89b8934055 tests/dircolors: add xdg config test 2025-02-22 11:50:20 -08:00
Austin Horstman
c327afbfd8 dircolors: refactor preferXdgDirectories
Store the paths in variables to deduplicate.
2025-02-22 11:50:20 -08:00
Shaw Vrana
413e9b35f1 dircolors: respect preferXdgDirectories if set 2025-02-22 11:50:20 -08:00
Brieuc Dubois
61d8fc9af0 firefox: Allow to add PKCS11 modules (#5608) 2025-02-22 12:51:06 -06:00
Artem Starikov
90504b9a89 thunderbird: allow managing feed accounts (#5613) 2025-02-22 12:33:41 -06:00
eulalia
7ceacd98a9 wpaperd: add systemd service; move to services/ from programs/ (#6302)
This commit adds a systemd service to run it, and accordingly moves it to services.wpaperd.

In addition, the existing tests have been migrated to services, and an entry in the newslist has been created alerting users to this change.
2025-02-22 11:32:15 -06:00
Reputable2772
e860bd49ea vscode: add profiles support (#5640)
Adds support for VSCode Profiles configuration. Allowing you to define custom extensions and settings per profile.
2025-02-22 10:58:27 -06:00
Feliche-Demian Netliukh
4949081d1e jqp: add module (#5716) 2025-02-22 10:23:01 -06:00
DSOverlord
a51e94e51c clipse: add module (#5777)
clipse is a configurable, TUI-based clipboard manager application written in Go with minimal dependency. Though the app is optimized for a Linux OS using a dedicated window manager, clipse can also be used on any Unix-based system.
2025-02-22 09:40:15 -06:00
Austin Horstman
34d524f3ed imapnotify-accounts: remove with lib 2025-02-22 06:33:32 -08:00
Coutinho de Souza
dd21b9afd5 imapnotify: add extraArgs option to imapnotify-accounts
`wait` is no longer a part of the goimapnotify's config, but one of its
cli options.
2025-02-22 06:33:32 -08:00
Heitor Augusto
f4a07823a2 chromium: add nativeMessagingHosts option (#6019) 2025-02-22 01:10:22 -06:00
Hoang Nguyen
2b382e499a earthly: init module (#6265)
Earthly is a build configuration framework utilizing buildkit and
Dockerfile-like syntax for simplicity and fast builds.
2025-02-22 01:04:35 -06:00
eum3l
c31b4e330e accounts/email: provide realName option for alias (#6106) 2025-02-22 01:03:07 -06:00
NAHO
f0f0d1ade2 docs: update copyright year 2025-02-22 00:55:13 -06:00
Austin Horstman
439a125afe tests: remove with lib (#6511) 2025-02-21 23:20:07 -06:00
Austin Horstman
e495cd8c80 tests/firefox: add profiles-extensions (#6510)
Wasn't actually running test because it wasn't included. Also had to fix
test after some of the recent changes.
2025-02-21 22:41:22 -06:00
TheStachelfisch
765cb91e9d psd: add missing module config options (#6230) 2025-02-21 19:33:49 -06:00
Austin Horstman
62d038f499 nushell: reenable test 2025-02-21 16:24:40 -08:00
github-actions[bot]
f0837fa673 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a79cfe0ebd24952b580b1cf08cd906354996d547?narHash=sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y%3D' (2025-02-08)
  → 'github:NixOS/nixpkgs/d74a2335ac9c133d6bbec9fc98d91a77f1604c1f?narHash=sha256-zON2GNBkzsIyALlOCFiEBcIjI4w38GYOb%2BP%2BR4S8Jsw%3D' (2025-02-16)
2025-02-21 16:24:40 -08:00
1444
e512de4722 wluma: init module (#6463) 2025-02-21 18:24:26 -06:00
Chlorodose
9f74e14a2d fcitx5: make boot after graphical session (#6432) 2025-02-21 16:37:07 -06:00
truelecter
6eed33a3ac jetbrains-remote: do not fail if files do not exist yet (#6502) 2025-02-21 16:34:36 -06:00
Bruno BELANYI
dde2fba628 home-cursor: add sway support (#6459) 2025-02-21 16:16:56 -06:00
Alejandro Masó Bonilla
148a6b5565 Translate using Weblate (Catalan)
Currently translated at 100.0% (16 of 16 strings)

Co-authored-by: Alejandro Masó Bonilla <alejandrobonilla2001@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ca/
Translation: Home Manager/Home Manager Modules
2025-02-21 19:15:09 +01:00
David Thievon
bdf73272a8 swayimg: add module (#6506) 2025-02-21 12:15:02 -06:00
Ihar Hrachyshka
1a78a4c7fe firefox: fix build failure when package is null
Native messaging hosts module assumed all hosts are packages, and we
were passing null before.

The patch also adds a test case for a null firefox package to avoid
regressions in the future for this common (on Darwin at least) scenario.

Note: Thunderbird doesn't need a similar change because it doesn't allow
a null package.

Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
2025-02-21 09:28:22 -08:00
Ihar Hrachyshka
fad54a641a tests: check thunderbird with and without native messaging hosts
Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
2025-02-21 09:28:22 -08:00
Ihar Hrachyshka
63146593a9 tests: don't override scraping of nixpkgs for thunderbird suite
Instead, pick just the required packages to pass the tests.

Note: we have to refer to real derivations because symlinkJoin assumes
the passed derivation is a directory with files, otherwise it fails as:

@thunderbird@: No such file or directory

Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
2025-02-21 09:28:22 -08:00
Ihar Hrachyshka
5f5ff39778 firefox: remove with keyword use
Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
2025-02-21 09:28:22 -08:00
Ihar Hrachyshka
4eef197913 thunderbird, firefox: don't create native host dirs when program is off
Before the patch, both directories for firefox and thunderbird were
created, even when only one of the programs was enabled.

Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
2025-02-21 09:28:22 -08:00
Ihar Hrachyshka
e5e485e73c thunderbird: separate test case for firefox+thunderbird setup
Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
2025-02-21 09:28:22 -08:00
Ihar Hrachyshka
7e81c581a5 thunderbird, firefox: fix file conflict for native messaging hosts
On Linux, both Thunderbird and Firefox use the same directory to contain
native messaging host modules. On this platform, we have to merge both
directories with native hosts into one.

The patch introduces a separate helper module to manage native host
directory generation. Now program modules (firefox, thunderbird) declare
native hosts to initialize; while the new helper module determines
*where* and *how* to merge them on disc.

Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
2025-02-21 09:28:22 -08:00
Ihar Hrachyshka
fadb9cba44 Reapply "thunderbird: add native host support (#6292)" (#6371)
This reverts commit 6fbbfb9240.

Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
2025-02-21 09:28:22 -08:00
Heitor Augusto
3c82285348 vinegar: add module (#6494) 2025-02-21 07:48:51 -06:00
isabel
0c0b0ac8af flake-module: use raw for homeConfgurations and deferredModule for modules (#6504) 2025-02-20 08:12:30 -06:00
Austin Horstman
1c189f0114 tests/home-cursor: init (#6496)
Working on module and needed test to verify expected behavior.
2025-02-19 13:18:30 -06:00
bricked
97ac0801d1 firefox: prevent extensions settings override (#6490)
Prevents extensions settings from accidentally being overriden when
using `profiles.<name>.extensions.settings`. Adds the
`profiles.<name>.extensions.force` option to acknowledge the risk.
2025-02-18 15:24:24 -06:00
isabel
4044ad191f fish: accept multiple events (#6489) 2025-02-18 15:22:42 -06:00
Austin Horstman
a135aae1be flake.nix: remove deprecations (#6485)
Multiple stable releases removed from inception. Don't need to keep it
around anymore.
2025-02-18 13:46:26 -06:00
isabel
5cfbf5cc37 flake: don't import modules (#6481)
since the `imports` attributes of modules allows for paths we can remove
the `import` making the consumption of nixosModules, darwinModules and
flakeModules cheaper
2025-02-17 20:20:42 -06:00
ljyoth
69dfc316c5 mise: enable nushell integration (#6363) 2025-02-17 19:36:02 -06:00
Austin Horstman
6c93eea85d firefox: add HPSaucii maintainer 2025-02-17 12:17:38 -08:00
HPsaucii
27ffa35178 firefox: add support for configuring extensions
This commit refactors programs.firefox.profiles.<name>.extensions in
order to support both installation of extensions (addons) and their
configuration. It does this by setting the
`extensions.webextensions.ExtensionStorageIDB.enabled` user_pref to
false.

When this preference is set to false, support for storing extension
settings in sqlite databases, also known as IndexedDB or IDB, is
reverted back to the JSON format present in firefox versions prior to
version 63, as seen here:
https://blog.mozilla.org/addons/2018/08/03/new-backend-for-storage-local-api/

IndexedDB was made the default due to performance improvements, but had
the consequence of removing any possibility of declarative extension
configuration without the assistance of firefox's policy system. The
policy system is supported by a small amount of extensions, such as
uBlock Origin, but has to be explicitly supported. Even when supported,
it provides significantly less granular control when compared to the
JSON storage format.
2025-02-17 12:17:38 -08:00
HPsaucii
3a0cf8f1aa maintainers: add HPsaucii 2025-02-17 12:17:38 -08:00
Ilia
edad23ebc1 mako: add max-history option (#6009) 2025-02-17 12:10:04 -07:00
Sumner Evans
f4f6dd2698 git: fix setting format on >=25.05 (#6480)
Signed-off-by: Sumner Evans <me@sumnerevans.com>
Co-authored-by: Immae <immae@users.noreply.github.com>
2025-02-17 12:02:24 -06:00
Anton Tetov
9d0d48f4c3 nh: fixes and addition to warnings/assertions (#6470)
* nh: fix auto clean

- ~Fix `PATH` variable~
- Remove flake path assertion
- Add warning when HM's `nix.gc.automatic` is enabled

* nh: simplify logic for warning related to cfg.clean

---------

Co-authored-by: Nikita Pedorich <pedorich.n@gmail.com>
2025-02-17 08:36:35 -06:00
Weathercold
c1ea92cdfb nh: change flake option type to singleLineStr (#6468) 2025-02-17 03:00:43 -08:00
Austin Horstman
5c5697b82a git: support not configuring signing.format (#6478) 2025-02-17 03:00:03 -08:00
Sandro
30b9cd6f1a mpv: drop old wrapMpv compatibility (#6024)
wrapMpv doesn't exist anymore for a while.
2025-02-17 10:28:26 +01:00
bricked
662fa98bf4 nixpkgs-disabled: warn instead of assert (#6466)
Temporarily fixes backwards compatibility as issued in #6172.
2025-02-16 19:39:24 -06:00
Emily
25870c6600 nixos/common: fix options reference (#6473)
This was resolving to `lib.options.nix.enable.visible or true`,
which is always `true`, and therefore using `nix.enable` where it
shouldn’t be used. Oops…
2025-02-16 18:56:49 -06:00
isabel
b15e9ec676 flake-module: set _class (#6461)
This should *help* prevent bad imports.
2025-02-16 13:57:15 -06:00
Sizhe Zhao
e5bc9c2af1 git: reduce priority of signing.format (#6465) 2025-02-16 13:55:03 -06:00
Kilian Mio
ec130e7009 firefox: correct vendorPath of firefox forks (#6421)
The path for messaging hosts seems to have been
~/.mozilla/native-messaging-hosts/ and ~/Library/Application Support/Mozilla so vendorPath has been adjusted
2025-02-16 10:44:50 -06:00
Devin
eb44c1601e nixpkgs-disabled: fix useGlobalPkgs assertion (#6172)
This fixes the assertion that `config.nixpkgs` cannot be set if
`useGlobalPkgs` is enabled
2025-02-15 21:34:21 -06:00
Peter Kling
45c07fcf7d formatting according to HM's format tool 2025-02-15 14:35:04 -08:00
Peter Kling
85e9d1cc8f syncthing: expand declarative config to Darwin
This extends the recently merged PR #5616, which expanded the Synching config to allow declarative settings under Linux, such that it also works under Darwin.

Changes:
* Update the module's `syncthing` launchd agent to copy the synching key/certificate before starting syncthing, analogously to the systemd service from the above mentioned PR #5616.
* Adds an `syncthing-init`launchd agent (analogously to the systemd service `synching-init` from the above mentioned PR #5616) that updates the configuration files. Since this must be run after the syncthing service started, we use a `WatchPath` to coordinate both launchd agents.
2025-02-15 14:35:04 -08:00
Peter Kling
14223a8261 refactor launchd.agents.syncthing
Make launchd.agents an explicit attribute set, since we're going to add another agent.
2025-02-15 14:35:04 -08:00
Peter Kling
26454abc03 provide RUNTIME_DIRECTORY manually if not given by systemd 2025-02-15 14:35:04 -08:00
Peter Kling
33ffe94252 move curl shell function into string variable
Allows us to reuse the function in different scripts.
2025-02-15 14:35:04 -08:00
Peter Kling
17a78d3eed nix variable for syncthing's configuration directory
Is set according to the corresponding OS default, see https://docs.syncthing.net/users/config.html.
2025-02-15 14:35:04 -08:00
Peter Kling
53efb68b4b move syncthing-copy-keys to dedicated variable
This makes it possible to reuse the script in launchd setup.
2025-02-15 14:35:04 -08:00
sinavir
8bc5e4c9b2 git-maintenance: More details in the documentation
Signed-off-by: Sumner Evans <me@sumnerevans.com>
2025-02-15 14:36:13 -07:00
Austin Horstman
6d3163aea4 git: change stateVersion check for compatiblity (#6453)
Original change was created before 24.11 release. We are in 25.05 now.
2025-02-14 16:21:52 -06:00
Sof
67b9f9de22 vscode: add windsurf directories (#6427) 2025-02-14 15:16:26 -06:00
Calum MacRae
582d3cd42d yubikey-agent: init service module (#6446) 2025-02-14 15:10:24 -06:00
Emily
9daae9a67a nixos/common: forward nix.enable from the OS configuration (#6383)
This prevents problematic references to `nix.package` when Nix
management is disabled in the host OS.
2025-02-14 13:05:06 -06:00
Sizhe Zhao
7da01bc47a git: support alternate signing methods (#5516)
The Git module now supports SSH and X.509 signing in addition to
OpenPGP/GnuPG, via setting the `programs.git.signing.format` option.
It defaults to `openpgp` for now as a backwards compatibility measure,
but I feel like we shouldn't enforce GPG as the default on everyone,
especially for people who use SSH signing like me.

Accordingly, `programs.git.signing.gpgPath` has been renamed to
`programs.git.signing.signer`, as now the signer binary is not
restricted to GnuPG. Users should only get a warning and everything
should continue to work.

Fixes #4221, supersedes #4235

Co-authored-by: Mario Rodas <marsam@users.noreply.github.com>
Co-authored-by: Sumner Evans <me@sumnerevans.com>
Co-authored-by: Leah Amelia Chen <hi@pluie.me>
2025-02-14 11:47:27 -07:00
Austin Horstman
5031c6d297 syncthing: remove with lib 2025-02-13 10:08:21 -08:00
Austin Horstman
20fac9bbdf syncthing: use package options
Currently, all references are hardcoded even though we offer package
options. Update to use package options.
2025-02-13 10:08:21 -08:00
André Schröder
22b418c13f bash: Make HISTFILESIZE and HISTSIZE nullable (#6443) 2025-02-13 08:58:45 -06:00
derrik
a70d788923 aerospace: fix workspace assignment config (#6442)
with the default to `{}`, this table is always set in the generated
config. this change allows `null` for
`workspace-to-monitor-force-assignment` and sets the default to `null`

Co-authored-by: derrik.fleming <derrik.fleming@spindance.com>
2025-02-13 08:24:38 -06:00
Kristoffer Plagborg Bak Sørensen
c9d343cfa0 docs(zellij): programs.zellij.settings are serialized as kdl and not yaml from version 0.32.0 (#6010) 2025-02-12 21:07:02 -06:00
Austin Horstman
15b59d4191 eww: fix eww source creation
Source can't be accessed without being defined, need to move condition
earlier.
2025-02-12 09:38:53 -08:00
Austin Horstman
d303453b13 eww: add null configDir test 2025-02-12 09:38:53 -08:00
Christoffer Hald Christensen
1f6fa87808 eww: added tests 2025-02-12 09:38:53 -08:00
Christoffer Hald Christensen
f8729b11ee eww: fix confDir config using missing attribute "types.isNull" 2025-02-12 09:38:53 -08:00
David Arnold
83bd3a26ac email: add migadu.com flavor
Migadu is a very friendly and no-fuzz email service that presumably
will be highly valued by HM users.
2025-02-11 23:55:52 +01:00
Matthieu Coudron
f0a31d38e6 neomutt: fix default for 'map' in macros/binds (#6429)
https://github.com/nix-community/home-manager/pull/1885  changed 'map'
from a string to a list of string but the default wasn't updated accordingly.
When not defining map, you would get the warning `evaluation warning: teto profile: Specifying 'programs.neomutt.(binds|macros).map' as a string is deprecated, use a list of strings instead. See `.
2025-02-11 19:33:45 +01:00
Austin Horstman
8f351726c5 git-worktree-switcher: use lib.hm.shell.mkShellIntegrationOption 2025-02-11 09:18:04 -06:00
Mateus Auler
9c8169b446 git-worktree-switcher: init module 2025-02-11 09:18:04 -06:00
Yuki Kobayashi
59fe145f0b eww: make configDir optional (#6282)
Some people like to manage config directories themselves, and it should not be a requirement but rather an optional feature.
2025-02-11 08:27:04 -06:00
PopeRigby
ba4a1a1102 ludusavi: create Ludusavi module (#5626) 2025-02-10 18:23:20 -06:00
isabel
e5854b98cd flake-module: change type from lazyAttrsOf raw to lazyAttrsOf deferredModule (#6408) 2025-02-10 18:07:00 -06:00
Austin Horstman
5795f792ab yazi: organization tweak
Moving variable declaration closer to usage so it's easier to manage /
see.
2025-02-10 17:57:29 -06:00
Austin Horstman
b34b56689d yazi: remove with lib 2025-02-10 17:57:29 -06:00
Austin Horstman
c0d06189f2 kitty: assert can't enable shell integrations when mode is null
We use the mode within the script for each integration. Make sure the
user understands what they are doing.
2025-02-10 17:56:59 -06:00
MithicSpirit
fc3cd1e408 kitty: allow not setting shell_integration
This allows better support for using kitty's built-in shell integration
method by setting `shellIntegration.mode' to `null', which makes it not
be set at all in the config file and disables modification to shell
initialization scripts by default. If this is used, the user should set
`settings.shell_integration' instead (if shell integration is desired),
which receives no special handling.
2025-02-10 17:56:59 -06:00
Robert Helgesson
a3c9e88177 nushell: temporarily disable test 2025-02-10 23:32:27 +01:00
Robert Helgesson
0f9e92302a neovim: re-enable test 2025-02-10 23:32:14 +01:00
github-actions[bot]
cf2ea71e68 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/799ba5bffed04ced7067a91798353d360788b30d?narHash=sha256-ooLh%2BXW8jfa%2B91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U%3D' (2025-02-04)
  → 'github:NixOS/nixpkgs/a79cfe0ebd24952b580b1cf08cd906354996d547?narHash=sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y%3D' (2025-02-08)
2025-02-10 22:44:24 +01:00
Perchun Pak
b0bd29bb4b tldr-update: init (#6401)
Adds `tldr-update` module for enabling automatic `tldr update` on a schedule.
Adds option to `tealdeer` to enable integration with new `tldr-update` module.
2025-02-10 08:34:12 -06:00
NAHO
5af1b9a0f1 treewide: standardize shell integration options
Standardize all 'programs.<PROGRAM>.enable<SHELL>Integration' options
with the following new functions:

- lib.hm.shell.mkBashIntegrationOption
- lib.hm.shell.mkFishIntegrationOption
- lib.hm.shell.mkIonIntegrationOption
- lib.hm.shell.mkNushellIntegrationOption
- lib.hm.shell.mkZshIntegrationOption

These functions should default to their corresponding global option:

- home.shell.enableBashIntegration
- home.shell.enableFishIntegration
- home.shell.enableIonIntegration
- home.shell.enableNushellIntegration
- home.shell.enableZshIntegration

All these global options default to the
'home.shell.enableShellIntegration' value.

This hierarchy standardizes the shell integration and increases end-user
flexibility.

BREAKING CHANGE: The following inconsistent default values change from
'false' to 'true':

- programs.zellij.enableBashIntegration
- programs.zellij.enableFishIntegration
- programs.zellij.enableZshIntegration

Link: https://github.com/nix-community/home-manager/pull/6358

Co-authored-by: Robert Helgesson <robert@rycee.net>
2025-02-08 22:49:40 +01:00
bittin1ddc447d824349b2
bf9a1a0689 Translate using Weblate (Swedish)
Currently translated at 100.0% (16 of 16 strings)

Translation: Home Manager/Home Manager Modules
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/sv/
2025-02-08 21:01:20 +01:00
Bruno Fragoso
90a4374b17 Translate using Weblate (Portuguese)
Currently translated at 100.0% (16 of 16 strings)

Translation: Home Manager/Home Manager Modules
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/pt/
2025-02-08 21:01:20 +01:00
Robert Helgesson
947eef9e99 neovim: disable neovim-coc-config test 2025-02-08 09:17:02 +01:00
Coutinho de Souza
4337992712 wayland: create tray.target if xsession is not enabled (#6332)
Create a internal/read-only trayTarget option for the xsession, which is
also used in wayland's config, if the former is not enabled.

Remove all other definitions of `systemd.user.targets.tray`, i. e, the
ones from the following modules: hyprland, sway, river and wayfire.
2025-02-06 22:50:03 +01:00
Damien Cassou
f99c704fe3 bash: Make sure HISTFILE's directory exists
Co-authored-by: Robert Helgesson <robert@rycee.net>
2025-02-06 12:25:09 +01:00
Kira Bruneau
15bd673658 firefox: remove old unused test file (#6403) 2025-02-06 12:00:06 +01:00
Kira Bruneau
30ea6fed4e firefox: fix referencing name in profile-specific docs
Within the context of the profiles submodule, `${name}` refers to the
profile name, and not the Firefox fork name.

This fixes all descriptions to use the right name. This fixes a
previous commit that introduced a dependency between the documentation
and the user's configuration.
2025-02-05 22:10:32 +01:00
Kira Bruneau
f20b7a8ab5 firefox: fix referencing firefox fork name in profile-specific docs (#6407)
* firefox: fix referencing firefox fork name in profile-specific docs

Within the context of the profiles submodule, `${name}` refers to the
profile name, and not the firefox fork name.

This fixes all descriptions to use `${cfg.name}` instead.

* firefox: prefer cfg.name instead of name for consistency
2025-02-05 12:11:16 +01:00
Vladimir
3b6fde96d8 Translate using Weblate (Russian)
Currently translated at 100.0% (16 of 16 strings)

Translation: Home Manager/Home Manager Modules
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ru/
2025-02-05 08:48:24 +01:00
Languages add-on
987f622cc4 Add translation using Weblate (Bulgarian)
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
2025-02-05 08:48:24 +01:00
Kiril Pan
396025251a Translate using Weblate (Bulgarian)
Currently translated at 100.0% (37 of 37 strings)

Add translation using Weblate (Bulgarian)

Co-authored-by: Kiril Pan <eccyboo@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/bg/
Translation: Home Manager/Home Manager CLI
2025-02-05 08:48:23 +01:00
Gavagai53
d092f0a4c0 Translate using Weblate (Spanish)
Currently translated at 100.0% (16 of 16 strings)

Co-authored-by: Gavagai53 <masella_portlock@aleeas.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/es/
Translation: Home Manager/Home Manager Modules
2025-02-05 08:48:22 +01:00
home-manager-bot
5997112695 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/852ff1d9e153d8875a83602e03fdef8a63f0ecf8?narHash=sha256-Zf0hSrtzaM1DEz8//%2BXs51k/wdSajticVrATqDrfQjg%3D' (2025-01-26)
  → 'github:NixOS/nixpkgs/799ba5bffed04ced7067a91798353d360788b30d?narHash=sha256-ooLh%2BXW8jfa%2B91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U%3D' (2025-02-04)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-05 08:48:17 +01:00
Robert Helgesson
f2d32e46fa broot: use hjson-go
Reduces the build closure quite a bit.
2025-02-04 23:58:20 +01:00
Robert Helgesson
7a3f0b3b8d tests: rework derivation stubbing
Instead of having to manually stub packages that should not be
downloaded we instead automatically stub all packages (except a small
list of whitelisted ones). Tests can re-introduce the real package by
using the `realPkgs` module argument.
2025-02-04 23:58:20 +01:00
Robert Helgesson
c5c2cbc866 ci: tweak test command slightly
Specifically, increase initial GC heap size and allow parallel build
jobs.
2025-02-04 23:44:07 +01:00
Robert Helgesson
24bb01ea17 tests: avoid unnecessary test script interpolation 2025-02-04 22:46:40 +01:00
Christina Sørensen
1e47f7101f gpg-agent: no-allow-external-cache option (#6387)
This is a pretty common configuration option, and one that many people
will find useful to discover, specially if they're not using a window
manager.

I thought I would add it. It is also useful to have for
pass-secret-service in the future, since you'd likely want to avoid DE
keyrings.

Signed-off-by: Christina Sørensen <ces@fem.gg>
2025-02-04 22:31:42 +01:00
Janik
78576b817f home-manager: add lib support for non-flake users (#5429) 2025-02-04 22:29:41 +01:00
Matthieu Coudron
7abcf59a36 mpv: support includes directives (#6391)
to allow mixing imperative and declarative config
the includes are at the end of the config
2025-02-04 12:07:35 +01:00
Heitor Augusto
066ba0c5cf flake-module: rename homeModules to homeManagerModules (#6392) 2025-02-03 13:19:46 -06:00
Austin Horstman
18fa9f323d yazi: add main.lua support to plugins (#6394)
Yazi is deprecating init.lua for main.lua usages. This adds support for
main.lua in plugins.
2025-02-01 16:19:26 -06:00
Hoang Nguyen
dae6d3460c git: add default value null to programs.git.signing.key (#6032) 2025-02-01 17:52:06 +01:00
Timon Schelling
8544cd0920 lapce: add module (#5752)
Adds the 'programs.lapce' module for configuring lapce text editor.
Options for settings, plugins and keymaps are available.
2025-02-01 14:03:26 +01:00
utzuro
055c67056d fcitx5: add waylandFrontend option to not set env vars (#5431) 2025-02-01 11:54:11 +01:00
Austin Horstman
801ddd8693 hyprland: use package stubs
Reducing closure size for tests.
2025-01-31 20:47:14 -06:00
Austin Horstman
9afd022013 wayfire-stubs: add stubs for wayfire tests
Reducing closure from 500MB to 357MB
2025-01-31 20:47:14 -06:00
Austin Horstman
c4f28f282f spectrwm-stubs: add stubs for spectrwm tests
Reducing closure from 500MB to 357MB
2025-01-31 20:47:14 -06:00
Austin Horstman
e17bdf3191 herbstluftwm-stubs: add stubs for herbstluftwm tests
Reducing closure from 500MB to 357MB
2025-01-31 20:47:14 -06:00
Austin Horstman
c4f4b1e2fa bspwm-stubs: add stubs for bspwm tests
Reducing closure from 500MB to 357MB
2025-01-31 20:47:14 -06:00
Austin Horstman
02dc2e827f river-stubs: add stubs for river tests
Reducing closure from 500MB to 357MB
2025-01-31 20:47:14 -06:00
Austin Horstman
e0a2df3193 i3-stubs: add more stubs
Reducing closure from 500MB to 357MB
2025-01-31 20:47:14 -06:00
Austin Horstman
644552519e sway-stubs: add more stubs
Reducing closure from 500MB to 357MB
2025-01-31 20:47:14 -06:00
Robert Helgesson
a8159195bf flake-module: fix naming 2025-01-30 23:22:29 +01:00
Austin Horstman
234613d77c neovim: remove with lib 2025-01-30 15:48:46 -06:00
Austin Horstman
86b0f3049c hyprland: add null package tests 2025-01-30 15:41:13 -06:00
Austin Horstman
fee01c9351 hyprland: fix null package conditions 2025-01-30 15:41:13 -06:00
Austin Horstman
e3baf274f4 bat: remove with lib 2025-01-30 15:19:17 -06:00
Austin Horstman
c90cd85b04 kitty: remove with lib 2025-01-30 15:08:03 -06:00
Austin Horstman
2d731a33b1 wezterm: remove with lib 2025-01-30 15:05:11 -06:00
Austin Horstman
20fd9686b8 btop: remove with lib; 2025-01-30 14:59:38 -06:00
Austin Horstman
bf2a029bcd yazi: add khaneliman maintainer 2025-01-30 13:42:37 -06:00
Austin Horstman
d62027e44d ripgrep: add khaneliman maintainer 2025-01-30 13:42:37 -06:00
Austin Horstman
9cb98f3140 lazygit: add khaneliman maintainer 2025-01-30 13:42:37 -06:00
Austin Horstman
cb985acc3c git: add khaneliman maintainer 2025-01-30 13:42:37 -06:00
Austin Horstman
90b7acd988 fzf: add khaneliman maintainer 2025-01-30 13:42:37 -06:00
Austin Horstman
a77b2c186a fastfetch: add khaneliman maintainer 2025-01-30 13:42:37 -06:00
Austin Horstman
5a3f7c6d07 direnv: add khaneliman maintainer 2025-01-30 13:42:37 -06:00
Austin Horstman
6a98897946 nix-index: add khaneliman maintainer 2025-01-30 13:42:37 -06:00
Austin Horstman
c72b699ec6 btop: add khaneliman maintainer 2025-01-30 13:42:37 -06:00
Austin Horstman
34e28fc6dd bat: add khaneliman maintainer 2025-01-30 13:42:37 -06:00
Austin Horstman
05c64fa76b ghostty: add khaneliman maintainer 2025-01-30 13:42:37 -06:00
Austin Horstman
178f8265cb kitty: add khaneliman maintainer 2025-01-30 13:42:37 -06:00
Austin Horstman
ebdbb38103 wezterm: add khaneliman maintainer 2025-01-30 13:42:37 -06:00
Austin Horstman
06bc354189 neovim: add khaneliman maintainer 2025-01-30 13:42:37 -06:00
Austin Horstman
c3031a0e8c waybar: add khaneliman maintainer 2025-01-30 13:42:37 -06:00
Austin Horstman
9a97ac435e swaync: add khaneliman maintainer 2025-01-30 13:42:37 -06:00
Austin Horstman
9ee99be0c0 cliphist: add khaneliman maintainer 2025-01-30 13:42:37 -06:00
Matt Sturgeon
a5e196d61f flake-module: add flake-parts module (#5229)
Add a flake-parts module, output as flakeModules.home-manager and flakeModules.default.

The module defines options for flake.homeModules and flake.homeConfigurations, based on the respective nixos equivalents; flake.nixosModules and flake.nixosConfigurations.
2025-01-30 12:17:53 -06:00
Austin Horstman
7a45774684 aerospace: enable option desc fix (#6375) 2025-01-30 11:25:49 -06:00
Austin Horstman
c621c26c4c aerospace: cleanup 2025-01-30 17:22:03 +01:00
ckgxrg
d963ed335b linux-wallpaperengine: add module
linux-wallpaperengine is an implementation of Wallpaper Engine on
Linux, this module allows it to be declaractively configured.
2025-01-30 10:22:43 +01:00
ckgxrg
41f3dbd795 linux-wallpaperengine: add ckgxrg as maintainer 2025-01-30 10:01:37 +01:00
Norbert Melzer
86a0d627ca home-manger: fix runtime closure (#5174)
Without this fix a `nix-buid . -A home-manager` would successfully
create a `home-manager`. And one could use the included binary until
the next garbage collection, after that it would fail with an
error that it can not find the `home-manager` sources.

Similarily a `nix-copy-closure`d `home-manager` would fail with the
same error on the copies target machine.

This problem existed on both, the flake as well as the non-flake build
of `home-manager`.
2025-01-29 19:20:30 -06:00
Sefa Eyeoglu
9ce5d0b888 xdg-autostart: add module (#5251)
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2025-01-29 18:45:54 -06:00
diniamo
7636b24867 hyprland: make package nullable (#5742) 2025-01-29 18:40:05 -06:00
chayleaf
ba3338ab99 waybar: allow setting layer to overlay (#5729) 2025-01-29 18:39:21 -06:00
Florian Klink
697ba1319f waybar: allow setting systemd.target to null (#6241)
This allows making the systemd user unit appear without it autostarting,
which is useful if you want to start it manually from a specific display
manager config only.
2025-01-29 17:16:15 -06:00
Austin Horstman
6fbbfb9240 Revert "thunderbird: add native host support (#6292)" (#6371) 2025-01-29 17:11:30 -06:00
Maximilian Füsslin
79eff1f6b9 zsh: added HIST_SAVE_NO_DUPS and HIST_FIND_NO_DUPS options to zsh for history configuration. (#6227)
Co-authored-by: Maximilian Füsslin <mfuesslin@gmail.com>
2025-01-29 16:31:45 -06:00
Utkarsh Gupta
6aa38ffdf7 atuin: set socket path for darwin (#6248)
The daemon doesn't know about XDG_RUNTIME_DIR, so set the socket_path
manually for consistency between daemon & client
2025-01-29 16:09:34 -06:00
Ihar Hrachyshka
608b26d16e thunderbird: add native host support (#6292)
Note: the test case uses a firefox native host but it shouldn't matter
since they are packaged the same way for both TB and Firefox.
2025-01-29 16:07:28 -06:00
DamiDoug
d5e5c0d051 aerospace: add module (#6279)
Co-authored-by: damidoug <contact@damidoug.dev>
2025-01-29 16:04:24 -06:00
Robert Helgesson
420a0d9506 nushell: structured settings and more
PR #6184
2025-01-29 20:18:33 +01:00
anund
d71828a7dd ghostty: allow darwin users to manager their config (#6300)
* ghostty: allow darwin users to manager their config

Currently nixpkgs does not contain a package defintion for ghostty
compatible with Darwin. Darwin users may still want to use this module
to manage their config or share config between systems. This carries
over behaviour from the beta period where this same technique was used.

see: 887e13a6e7/module.nix (L167-L173)

Also improves validation to cover theme files.

* ghostty: guard all package access with isLinux

ghostty is currently marked as broken in nixpkgs. Darwin users still
want to manage ghostty config via home-manager. Avoiding installing the
package and any extra files that depend on the package outside Linux
allows this.

* ghostty: allow nullable
2025-01-29 12:47:05 -06:00
Austin Horstman
c4650fb9c0 cliphist: support multiple systemdTargets properly (#5669)
Using a space separated list of targets as a single string element in
the list doesn't work properly. Change property to support list of
targets and backwards compatibility with warning for single string.
2025-01-29 12:26:13 -06:00
Mihai Fufezan
5dc1c2e404 hyprland: add xdg.portal configuration (#5707)
Add integration with `xdg.portal`, and the `portalPackage` option for
`xdg-desktop-portal-hyprland`.
2025-01-29 12:19:53 -06:00
Danil Suetin
0ee8bfdd04 firefox: add preConfig
Add `preConfig`, which acts like `extraConfig`, but placed before
`settings`. This will allow to overwrite settings in `preConfig`,
using `settings` option.
2025-01-29 18:36:43 +01:00
Andrew Marshall
bd530df4e2 firefox: avoid unnecessarily overriding package
When `cfg.package` is already wrapped, and wrapped without the
`ExtensionSettings` key set, this would always add that key, even if its
value was blank. This would result in `cfg.finalPackage` being a
functionally-identical, but differently-input-addressed package. This is
generally undesirable as it may result in multiple derivations being
built, and also if the value of `cfg.package` is expected to be
unchanged by the user (e.g. because they want it to be consistent
between NixOS and HM configuration).

Add a test to ensure this does not regress in the default case. Only
test on newish stateVersion since the logic for `isWrapped` differs on
older versions.
2025-01-29 18:29:44 +01:00
Joaquín Triñanes
82455a84e3 nushell: allow multi-word aliases
Also fix invalid alias in test
2025-01-29 18:22:08 +01:00
Joaquín Triñanes
709aaab1a5 nushell: set env in config.nu file 2025-01-29 18:22:07 +01:00
Joaquín Triñanes
46c83c07b9 nushell: add settings option 2025-01-29 18:22:07 +01:00
Joaquín Triñanes
a1df6c4c76 nushell: slight refactor
- Remove 'with lib'
- More idiomatic lib calls
- Update config file examples with current best practices
2025-01-29 18:20:43 +01:00
Gaetan Lepage
1b4f2a4816 zed-editor: add installRemoteServer option 2025-01-29 11:09:51 +01:00
home-manager-bot
0a64a209aa flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/825479c345a7f806485b7f00dbe3abb50641b083?narHash=sha256-nU6AezEX4EuahTO1YopzueAXfjFfmCHylYEFCagduHU%3D' (2025-01-24)
  → 'github:NixOS/nixpkgs/852ff1d9e153d8875a83602e03fdef8a63f0ecf8?narHash=sha256-Zf0hSrtzaM1DEz8//%2BXs51k/wdSajticVrATqDrfQjg%3D' (2025-01-26)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-01-29 10:06:49 +01:00
home-manager-bot
e1ae908bcc flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9e4d5190a9482a1fb9d18adf0bdb83c6e506eaab?narHash=sha256-nmKOgAU48S41dTPIXAq0AHZSehWUn6ZPrUKijHAMmIk%3D' (2025-01-21)
  → 'github:NixOS/nixpkgs/825479c345a7f806485b7f00dbe3abb50641b083?narHash=sha256-nU6AezEX4EuahTO1YopzueAXfjFfmCHylYEFCagduHU%3D' (2025-01-24)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-01-27 10:06:02 +01:00
Ivan Kovnatsky
daf04c5950 ollama: add darwin support 2025-01-25 00:54:49 +01:00
Robert Helgesson
8c0671c513 himalaya: update for version 1 2025-01-25 00:50:31 +01:00
Robert Helgesson
1b9fe46e9f home-manager: move tests into new test flake
Having the tests available in the main Nix Flake introduces
unnecessary evaluation for non-developer users and, worse, a
dependency on the nmt library.

Fixes #6354
2025-01-24 22:31:22 +01:00
Robert Helgesson
b93e17c73c neovim: fix flaky test
Seems the nvim command sometimes fails with error code 1.
2025-01-24 22:31:21 +01:00
Clément DOUIN
15f7f9bc4e himalaya: fix tests 2025-01-24 11:38:54 +01:00
Clément DOUIN
e9068facd7 himalaya: adjust package for released v1.0.0 2025-01-24 09:30:08 +01:00
Clément DOUIN
2ae3dd460f himalaya: add xdg desktop entry 2025-01-24 09:30:08 +01:00
Clément DOUIN
5f5a9d5cd2 himalaya: make use of lib.getExe 2025-01-24 09:30:08 +01:00
Clément DOUIN
44ee9bc826 himalaya: improve service 2025-01-24 09:30:08 +01:00
Anton Tetov
a042868557 nh: remove PATH assignment in nh-clean systemd unit
Runs without additions to path.

also:

- can't use $PATH in Environment=
- should add bin directory to path not the exe
2025-01-24 08:38:34 +01:00
Anton Tetov
a2362a6496 nh: check osConfig for null before accessing 2025-01-24 08:37:11 +01:00
leoTlr
7b9ece1bf3 tealdeer: update docs link
Repo is now at https://github.com/tealdeer-rs/tealdeer.
2025-01-23 22:59:39 +01:00
quasigod
0db5c8bfcc ghostty: add keybinds to settings example 2025-01-23 12:04:39 +01:00
Robert Helgesson
01d0172933 wezterm: update expected test result 2025-01-23 11:42:15 +01:00
Robert Helgesson
b17008a795 swayr: update expected test result 2025-01-23 11:37:30 +01:00
Gaetan Lepage
4806e9c021 flake.lock: Update 2025-01-23 09:38:00 +01:00
Robert Helgesson
1757aca164 go: stub systemd dependency in test 2025-01-23 09:38:00 +01:00
Weblate (bot)
cefb1889b9 Translate using Weblate (Czech)
Currently translated at 93.7% (15 of 16 strings)

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

Co-authored-by: Dark Templar <dark.templar0007@gmail.com>
2025-01-22 20:51:32 +01:00
Ismaïl Senhaji
4481a16d1a yazi: improve fish integration
Calls yazi as `command yazi`, allowing to use "yazi" as
`shellWrapperName`. Also defines the wrapper with
`programs.fish.functions` instead of `interactiveShellInit`.
2025-01-21 18:28:58 +01:00
pancho horrillo
96dee79b17 lsd: remove with lib; 2025-01-21 17:53:23 +01:00
Nova Leary
bb14224f51 mu: allow option to set muhome
Allows for the database path for mu to be configured. Useful for keeping
the maildir and mu xapian cache together without having to modify
XDG_CACHE_HOME. Add test to check for custom home setting.

Fixes #5534
2025-01-21 13:14:48 +01:00
Roberto Abdelkader Martínez Pérez
0b8df9eeb6 lsd: add support for icons.yaml
This update introduces support for icons.yaml in the lsd module,
enhancing the customization options for file icons.

Co-authored-by: pancho horrillo <pancho@pancho.name>
2025-01-21 13:12:40 +01:00
wrvsrx
9786661d57 fcitx5: allow to set fcitx5-with-addons (#5770)
Now there's `libsForQt5.fcitx5` and `kdePackages.fcitx5` in nixpkgs, we
should allow user to choose which one to use.
2025-01-20 18:42:53 +01:00
cupiditas
f8ef4541bb nixpkgs: lib.isFunction replaces builtins.isFunction in check for overlayType (#6338)
Replaces the check attribute on overlayType with lib.isFunction so it matches the nixpkgs overlayType.
This lets functions that were made by lib.setFunctionArgs to be used as overlays just like the nixpkgs overlayType.
2025-01-19 16:08:57 +01:00
Austin Horstman
97d7946b5e {hypridle, hyrpaper}: remove with lib; (#6318)
* hypridle: remove with lib;

* hyprpaper: remove with lib;
2025-01-18 18:35:49 +01:00
Jdogzz
1c75a4c151 syncthing: have tray wait for bar to load (#6290)
Add --wait flag to tray to avoid loading before bar.
2025-01-18 18:35:27 +01:00
Jérôme Prudent
1e36429705 sbt: allow irregular plugins to be configured
Sometimes plugins doesn't follow the form

```
addSbtPlugin("${plugin.org}" % "${plugin.artifact}" % "${plugin.version}")
```

for instance

```
addDependencyTreePlugin
```

This commit allow free form plugin dependency.
2025-01-18 09:22:15 +01:00
Rasmus Enevoldsen
495de1e197 Translate using Weblate (Danish)
Currently translated at 100.0% (16 of 16 strings)

Translation: Home Manager/Home Manager Modules
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/da/
2025-01-18 02:23:35 +01:00
Weblate (bot)
a0046af169 Translations update from Hosted Weblate
* Add translation using Weblate (Toki Pona)

Co-authored-by: Kylie McClain <kylie@somas.is>

* Add translation using Weblate (Toki Pona)

Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>

---------

Co-authored-by: Kylie McClain <kylie@somas.is>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
2025-01-17 14:30:39 +01:00
Ihar Hrachyshka
12851ae746 thunderbird: Enable tests for Darwin (#6324) 2025-01-17 01:54:26 +01:00
Austin Horstman
0dfec9deb2 hyprlock: remove with lib; 2025-01-14 13:39:00 -06:00
Austin Horstman
a1f180af17 hyprlock: add bezier to importantPrefixes
Since hyprwm/hyprlock@00d2cbf hyprlock supports the animation and bezier
keywords from Hyprland. But, bezier needs to be defined before an
animation can use it.
2025-01-14 13:37:43 -06:00
Linus Heckemann
fc52a210b6 network-manager-applet: changed nm-applet description (#6311)
This makes it a bit easier to find.
2025-01-13 17:27:56 +01:00
greenpsi
0da8b6bae9 sway: allow sway specific hideEdgeBorders options (#6304)
* add `smart_no_gaps` option
* allow using `--i3` for hideEdgeBorders:

See e.g. https://man.archlinux.org/man/sway.5#Config_or_runtime_commands:

The --i3 option enables i3-compatible behavior to hide the title bar on tabbed and stacked containers with one child.
Co-authored-by: greenpsi <git@psinet.dev>
2025-01-13 17:26:51 +01:00
Sebastián Zavala Villagómez
9616d81f98 mangohud: make false values actually disable (#6299)
Currently the following, will produce `some_opt=false` in the
rendered config:

```nix
programs.mangohud.settings = {
  some_opt = false;
};
```

With the intention being to disable the option, this would be
incorrect, as per the following stated at:
<0575c8eb1f/data/MangoHud.conf (L3C5-L4C1)>

> Use some_parameter=0 to disable a parameter (only works with on/off
> parameters)

As such, I changed the rendering to follow this.
This will be output instead: `some_opt=0`
2025-01-13 16:20:04 +01:00
Terje Larsen
2532b500c3 ollama: add module (#5735) 2025-01-10 12:31:03 +01:00
Kilian Mio
d4aebb947a todoman: add todoman module (#5252)
* todoman: add todoman module

Adds Mikilio as maintainer for new module for todoman a standards-based
task manager based on iCalendar

Apply suggestions from code review

Co-authored-by: Robert Helgesson <robert@rycee.net>

Update modules/programs/todoman.nix

Co-authored-by: Robert Helgesson <robert@rycee.net>

* fix: correct config name

* chore: add test

---------

Co-authored-by: Robert Helgesson <robert@rycee.net>
2025-01-09 12:25:50 +01:00
Shay Eclipse K. Stage
01f40d52d6 zsh/prezto: add package option (#5938)
Allow setting a custom package for `programs.zsh.prezto`.
2025-01-09 12:04:34 +01:00
home-manager-bot
7e00856596 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6df24922a1400241dae323af55f30e4318a6ca65?narHash=sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk%3D' (2025-01-02)
  → 'github:NixOS/nixpkgs/8f3e1f807051e32d8c95cd12b9b421623850a34d?narHash=sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs%2BrI%3D' (2025-01-04)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-01-08 21:01:05 +01:00
Hoang Nguyen
54b330ac06 go: add telemetry options 2025-01-08 09:39:32 -07:00
Thiago Kenji Okada
fcc4259cdb treewide: stub tests (#6275)
* ranger: stub tests

* alacritty: stub tests

* broot: stub tests

* zsh: stub tests

* vim-vint: stub tests
2025-01-08 16:24:04 +01:00
1444
456e599f91 wayfire: add module (#6066)
Adds a Module for the Wayfire Compositor. Also allows managing the wf-shell configuration.
2025-01-08 16:18:57 +01:00
DDoSolitary
45bcdbc910 gpg-agent: fix compatibility with sh when enableSshSupport (#6287)
Co-authored-by: sunqiancheng <sunqiancheng@sensetime.com>
2025-01-08 12:37:59 +01:00
Batuhan Baserdem
5c4302313d neomutt: added missing sort options (#6283)
* neovim: add valid sort options

Neomutt added a new prefix for sort options in 2022.
Added the new possible prefixes to the neomutt module.
2025-01-07 20:16:55 +01:00
Carl Dong
20665c6efa home-manager: remove path: URI type for flake default
This reverts commit 536b3fb883.
2025-01-07 00:01:32 +01:00
programmerlexi
172b91bfb2 Translate using Weblate (German)
Currently translated at 100.0% (16 of 16 strings)

Co-authored-by: programmerlexi <lexi@reyer.name>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/de/
Translation: Home Manager/Home Manager Modules
2025-01-05 16:00:50 +01:00
Dorian Burgun
4795ebe6cc Translate using Weblate (French)
Currently translated at 100.0% (16 of 16 strings)

Translate using Weblate (French)

Currently translated at 100.0% (37 of 37 strings)

Co-authored-by: Dorian Burgun <docdoomduck@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/fr/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/fr/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2025-01-05 16:00:50 +01:00
home-manager-bot
5ad12b6ea0 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/88195a94f390381c6afcdaa933c2f6ff93959cb4?narHash=sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs%3D' (2024-12-29)
  → 'github:NixOS/nixpkgs/6df24922a1400241dae323af55f30e4318a6ca65?narHash=sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk%3D' (2025-01-02)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-01-05 09:41:24 +01:00
Matthias Beyer
0d7908bd09 neomutt: Document how to bind Ctrl keys (#6254)
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2025-01-04 18:56:03 +01:00
Sebastián Estrella
11ab08541e ghostty: validate configuration on change
Runs `ghostty +validate-config` when the configuration file changes.

Co-authored-by: Heitor Augusto <IAm.HeitorALN@proton.me>
2025-01-04 09:24:51 +01:00
midirhee12
a9987622b7 maintainers: updated username to midirhee12
- removed cvoges12 entry
- using respective maintainer entry in nixpkgs
- changed all hm modules' `meta.maintainers` to reflect new username /
  email
2025-01-04 00:37:20 +01:00
Robert Helgesson
ef64efdbac treewide: standardize wayland graphical services
PR #6253
2025-01-03 18:25:11 +01:00
Thiago Kenji Okada
14cb0c8cfa fnott: use config.wayland.systemd.target
Also add missing `ConditionEnvironment`.
2025-01-03 17:38:06 +01:00
Thiago Kenji Okada
656ae5aba2 clipman: use config.wayland.systemd.target
Also add `ConditionEnvironment`.
2025-01-03 17:38:06 +01:00
Thiago Kenji Okada
a6db8c8f6c hypridle: use config.wayland.systemd.target 2025-01-03 17:38:06 +01:00
Thiago Kenji Okada
da12f0b143 hyprpaper: use config.wayland.systemd.target 2025-01-03 17:38:06 +01:00
Thiago Kenji Okada
8f48fea0f8 avizo: use config.wayland.systemd.target 2025-01-03 17:38:06 +01:00
Thiago Kenji Okada
adcf0b6281 wob: use config.wayland.systemd.target 2025-01-03 17:38:06 +01:00
Thiago Kenji Okada
51ba4aacec swayosd: use config.wayland.systemd.target 2025-01-03 17:38:05 +01:00
Thiago Kenji Okada
4cbc8a58ab swaync: use config.wayland.systemd.target 2025-01-03 17:38:05 +01:00
Thiago Kenji Okada
d3c500a8f8 kanshi: use config.wayland.systemd.target
Also add `ConditionEnvironment`.
2025-01-03 17:38:05 +01:00
Thiago Kenji Okada
8587c2ff0e waybar: use config.wayland.systemd.target
Also add `ConditionEnvironment`.
2025-01-03 17:37:42 +01:00
Thiago Kenji Okada
89fe48b1c1 swayidle: use config.wayland.systemd.target
Also add `Unit.After`.
2025-01-03 17:37:16 +01:00
Thiago Kenji Okada
0734cfab07 wayland: add module 2025-01-03 17:10:41 +01:00
Drewry Pope
1c8d4c8d59 mako: add center-left & center-right 2025-01-03 11:33:28 +01:00
Hosted Weblate
7254063d52 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2025-01-03 10:26:11 +00:00
Languages add-on
12327fc3d8 Add translation using Weblate (Tamil)
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
2025-01-03 10:26:09 +00:00
தமிழ்நேரம்
7f16e9c3cb Translate using Weblate (Tamil)
Currently translated at 100.0% (37 of 37 strings)

Add translation using Weblate (Tamil)

Co-authored-by: தமிழ்நேரம் <anishprabu.t@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ta/
Translation: Home Manager/Home Manager CLI
2025-01-03 10:26:08 +00:00
Heitor Augusto
a6f37e5785 ghostty: fix configuration for bat syntax 2025-01-03 11:26:00 +01:00
Robert Helgesson
1e68dc759b home-manager: move profile management
This commit separates profile management (setting profile and creating
GC root) from file management (removing and adding managed files
within the user's home directory).

This is a step towards deprecating profile management within the
activation script, instead relying on the caller of the activation
script managing the profile.
2025-01-03 11:22:59 +01:00
Terje Larsen
1e2a9d2d29 format: ignore system and user git config
This can cause failures if the user has configuration that is
incompatible with the version of git pinned in the format script.

Potentially it could have other undesired effects as well.

Fix #5736
2025-01-03 11:22:01 +01:00
Robert Helgesson
f4f8d09f90 home-manager: update copyright year 2025-01-03 10:56:26 +01:00
Heitor Augusto
5f6aa268e4 ghostty: add module 2025-01-02 00:33:45 +01:00
Robert Helgesson
9a9fef316a systemd: use sd-switch by default
Also remove the legacy Ruby alternative.

Fixes #5452
2025-01-01 16:31:32 +01:00
Robert Helgesson
5518f9d439 home-manager: make show news a bit more robust 2025-01-01 16:31:32 +01:00
Chris Pick
59a4c43e9b bacon: fix configuration file location on Darwin
bacon reads its preferences from a different directory on Darwin.
Fix the path to read out of:
~/Library/Application\ Support/org.dystroy.bacon/prefs.toml
Linux behavior should be unchanged.
2025-01-01 13:51:47 +01:00
home-manager-bot
2ac770c007 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d70bd19e0a38ad4790d3913bf08fcbfc9eeca507?narHash=sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ%3D' (2024-12-19)
  → 'github:NixOS/nixpkgs/88195a94f390381c6afcdaa933c2f6ff93959cb4?narHash=sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs%3D' (2024-12-29)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-01-01 10:46:14 +01:00
Marcin Serwin
10e99c43cd copyq: add option to disable XWayland 2024-12-28 11:16:56 +01:00
EmmChriss
b7a7cd5dd1 pqiv: fix condition for writing pqivrc file
Some checks failed
GitHub Pages / publish (ubuntu-latest) (push) Has been cancelled
Specifically, write the configuration if either settings or
extraConfig are set.
2024-12-28 00:56:55 +01:00
Kiara Grouwstra
19398e505a lesspipe: allow configuring package 2024-12-28 00:51:42 +01:00
Robert Helgesson
35b98d20ca treewide: change pacien to euxane
Some checks failed
GitHub Pages / publish (ubuntu-latest) (push) Has been cancelled
To match a recent change in Nixpkgs.
2024-12-24 16:23:06 +01:00
Robert Helgesson
afbf007bb5 tests: add integration test for nh 2024-12-24 16:19:17 +01:00
Robert Helgesson
6427258409 tests: change to wait for network.target 2024-12-24 16:02:48 +01:00
Robert Helgesson
aa8c3d7f7d tests: remove stray line 2024-12-24 09:13:32 +01:00
Shahar "Dawn" Or
f1b1786ea7 swayr: avoid IFD
Some checks failed
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
Update flake inputs / update (push) Has been cancelled
Test / tests (macos-latest) (push) Has been cancelled
Test / tests (ubuntu-latest) (push) Has been cancelled
2024-12-23 23:21:39 +01:00
VojtechStep
8264bfe3a0 mu: add integration tests
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
2024-12-23 10:00:12 +01:00
VojtechStep
7349b01505 mu: reinitialize when personal addresses change
When the user changes which addresses mu should consider 'personal',
mu's store should be reinitialized.

After this change, the activation script parses the previously
configured list of addresses and compares it with the new one. If they
differ, it runs the init command even when the store has already been
initialized.
2024-12-23 09:52:16 +01:00
Mel Bourgeois
8bea1a2005 nixgl: forward override calls to wrapped package
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
2024-12-23 09:22:06 +01:00
David Chocholatý
edb8b00e4d Translate using Weblate (Czech)
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
Currently translated at 100.0% (37 of 37 strings)

Co-authored-by: David Chocholatý <chocholaty.david0@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/cs/
Translation: Home Manager/Home Manager CLI
2024-12-22 19:54:46 +01:00
musjj
1f74238a4c xresources: allow floating point values 2024-12-22 19:48:53 +01:00
Robert Helgesson
cb27edb522 waybar: add systemd restart triggers
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
Fixes #3186
2024-12-22 11:13:25 +01:00
bricked
f47b6c153a cavalier: add module
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
2024-12-22 09:48:38 +01:00
github-actions[bot]
c903b1f6fb flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3566ab7246670a43abd2ffa913cc62dad9cdf7d5?narHash=sha256-AKU6qqskl0yf2%2BJdRdD0cfxX4b9x3KKV5RqA6wijmPM%3D' (2024-12-13)
  → 'github:NixOS/nixpkgs/d70bd19e0a38ad4790d3913bf08fcbfc9eeca507?narHash=sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ%3D' (2024-12-19)
2024-12-22 03:59:25 +00:00
Ihar Hrachyshka
51160a097a thunderbird: implement extensions for profiles
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
Closes: #5654
2024-12-21 23:54:29 +01:00
home-manager-bot
f342df3ad9 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/55d15ad12a74eb7d4646254e13638ad0c4128776?narHash=sha256-M1%2BuCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo%3D' (2024-12-03)
  → 'github:NixOS/nixpkgs/3566ab7246670a43abd2ffa913cc62dad9cdf7d5?narHash=sha256-AKU6qqskl0yf2%2BJdRdD0cfxX4b9x3KKV5RqA6wijmPM%3D' (2024-12-13)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-12-21 20:09:59 +01:00
Nicholas Ciechanowski
db9a98e178 pay-respects: add module
Add pay-respects module including shell integration support for bash,
zsh, fish and nushell.
2024-12-21 18:13:06 +01:00
David Chocholatý
99f54cdfef yazi: fix example option for settings
Some checks failed
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
Update flake inputs / update (push) Has been cancelled
2024-12-21 18:04:53 +01:00
Robert Helgesson
1395379a7a home-manager: improve path handling when building news
Some checks failed
GitHub Pages / publish (ubuntu-latest) (push) Has been cancelled
Fixes #6217
2024-12-19 16:30:15 +01:00
Austin Horstman
832920a608 thunderbird: add profileVersion
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
Similar to what we did for firefox for darwin support.
2024-12-19 16:29:18 +01:00
Simone Ragusa
83ecd50915 docs: fix typo in 24.11 release notes
Some checks failed
GitHub Pages / publish (ubuntu-latest) (push) Has been cancelled
Update flake inputs / update (push) Has been cancelled
2024-12-16 11:23:18 +01:00
DaRacci
66c5d8b628 zed-editor: fix always generating settings.json
Some checks failed
GitHub Pages / publish (ubuntu-latest) (push) Has been cancelled
Update flake inputs / update (push) Has been cancelled
Makes it so settings.json no longer gets made by ensuring it can be
empty as expected when there are no extensions or userSettings
defined.

PR #6201
2024-12-13 13:34:55 +01:00
Matthieu Coudron
3066cc58f5 kanshi: dont write config in absence of nix settings (#6198)
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
2024-12-12 23:48:46 +01:00
Matthieu Coudron
e526fd2b1a gnome-shell: fix extensions' default (#6199)
Else I get a
===

       … while calling the 'throw' builtin
         at /nix/store/afpmddfrmx5df3h16bdh00yy8i7db8w4-source/pkgs/desktops/gnome/default.nix:96:28:
           95|   gnome-shell = throw "The ‘gnome.gnome-shell’ was moved to top-level. Please use ‘pkgs.gnome-shell’ directly."; # Added on 2024-08-28.
           96|   gnome-shell-extensions = throw "The ‘gnome.gnome-shell-extensions’ was moved to top-level. Please use ‘pkgs.gnome-shell-extensions’ directly."; # Added on 2024-08-11.
             |                            ^
           97|   gnome-software = throw "The ‘gnome.gnome-software’ was moved to top-level. Please use ‘pkgs.gnome-software’ directly."; # Added on 2024-08-11.

       error: The ‘gnome.gnome-shell-extensions’ was moved to top-level. Please use ‘pkgs.gnome-shell-extensions’ directly.
===

on rebuild
2024-12-12 21:58:33 +01:00
Matthieu Coudron
15151bb5e7 gpg: fix hash of test (#6200)
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
would fail on tests
2024-12-12 20:18:22 +01:00
DDoSolitary
6e5b2d9e80 home-manager: support username with special chars (#5609)
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
The home manager script fails when $USER contains special characters.

For example, my work PC is managed by company's LDAP and username is <COMPANY>\<user>). When running home-manager switch I get the following error:
```
error: flake 'path:/home/<COMPANY>/<user>/.config/home-manager' does not provide attribute 'packages.x86_64-linux.homeConfigurations."<COMPANY>\<user>".activationPackage', 'legacyPackages.x86_64-linux.homeConfigurations."<COMPANY>\<user>".activationPackage' or 'homeConfigurations."<COMPANY>\<user>".activationPackage'
       Did you mean <COMPANY><user>?
```
There are two types of strings that need escaping:

    strings in Nix expressions (e.g. home.nix generated by home-manager init)
    they need backslashes before special chars
    flake URI (passed to nix build)
    they need URI's percent encoding, luckily jq supports that
2024-12-11 22:13:27 +01:00
Axel Karjalainen
f26aa4b76f gpg-agent: fix GCR DBus package note
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
D-Bus services are queried from Home Manager packages too. NixOS is
not required.
2024-12-11 00:26:35 +01:00
Aly Raffauf
c6a5fbfd99 qt: install kio when qt.platformTheme = "kde" 2024-12-11 00:16:07 +01:00
Aidan Gauland
8772bae58c nushell: allow installing plugins
When the version of Nushell or any Nushell plugin changes, the plugin
registry must be regenerated.
2024-12-10 23:21:17 +01:00
Manuel Mendez
e952e94955 atuin: Prepare for daemon socket path in 18.4.0
Some checks failed
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
Update flake inputs / update (push) Has been cancelled
The path is changing in 18.4.0 to XDG_RUNTIME_DIR over XDG_DATA_DIR so
update the specifier. See https://github.com/atuinsh/atuin/pull/2171.
2024-12-09 13:40:54 -05:00
Manuel Mendez
77a792a041 atuin: Do not hard code prefix for daemon socket path
Autin looks for the XDG_DATA_HOME which may not be set as
$HOME/.local/share so lets use the systemd specifier for it instead.
2024-12-09 13:25:11 -05:00
alois31
9ebaa80a22 thunderbird: set the correct SMTP server for aliases (#6177)
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
Previously, only the main identity of an account would get the proper SMTP
server assigned. Identities corresponding to aliases would not get an SMTP
server assigned at all, leading to a (Thunderbird-internal) fallback to the
SMTP server associated to the primary account. This is obviously wrong for
non-primary accounts having aliases associated to them. Fix it by specifying
the SMTP server explicitly for all identities.
2024-12-09 15:34:21 +01:00
Karl H
f63c15c137 isync/mbsync: update module for 1.5.0 changes (#5918)
* mbsync: Add NEWS entry about isync 1.5.0 changes

* mbsync: Place config file in $XDG_CONFIG_HOME

mbsync 1.5.0 supports placing isync's configuration file in
$XDG_CONFIG_HOME/isyncrc [1].

[1] https://sourceforge.net/projects/isync/files/isync/1.5.0/

* mbsync: Replace SSLType with TLSType

mbsync 1.5.0 replaced the name of the configuration option [1].

Also update SSLVersions to TLSVersions for the same reason. Inform the
user if the option was renamed.

[1] https://sourceforge.net/projects/isync/files/isync/1.5.0/

* mbsync: Replace SSLVersions with TLSVerisons

* mbsync: Update extraConfig.account example with SSL->TLS changes
2024-12-09 15:32:05 +01:00
Robert Helgesson
d00c6f6d0a nix: simplify tests
Some checks failed
GitHub Pages / publish (ubuntu-latest) (push) Has been cancelled
Update flake inputs / update (push) Has been cancelled
2024-12-06 12:24:37 +01:00
Robert Helgesson
63eb786e04 xresources: simplify tests 2024-12-06 12:22:03 +01:00
Robert Helgesson
0b42cc1b1c cmus: reduce test closure 2024-12-06 12:19:59 +01:00
Robert Helgesson
953521f759 fcitx5: fix package reference in test 2024-12-06 12:08:32 +01:00
Linus Heckemann
65912bc684 imapnotify: provide an option for setting PATH
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
Including some useful presetting for notmuch and mbsync.
2024-12-05 10:08:50 +01:00
eljamm
0daaded612 starship: replace eval with source for fish
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
Changed the initialization method from `eval` to `source` as per the
starship installation guide.

See: https://starship.rs/guide/#%F0%9F%9A%80-installation

This is in accordance with the Fish docs which recommends using `source`
if the command does not need access to stdin, which in this case is what
upstream has.

See: https://fishshell.com/docs/current/cmds/eval.html
2024-12-05 00:19:44 +01:00
eljamm
86ee1290d7 starship: add enableInteractive option for fish
Some fish plugins such as https://github.com/acomagu/fish-async-prompt
require that starship be initialized as non-interactive.

When the `programs.starship.enableInteractive` option is enabled,
starship is initialized at the end of the init script, outside the
interactive block.
2024-12-05 00:19:44 +01:00
Lukáš Kucharczyk
1cd17a2f76 mangohud: fix a non-working example
The example for settingsPerApplication is missing a semicolon.
2024-12-04 20:56:44 +01:00
Nova Leary
3a7fc9cd71 zsh: make autosuggest strategy accept more options
Now accepts an empty list, which turns off the code so the user can
manually set ZSH_AUTOSUGGEST_STRATEGY anywhere they want via any of the
`*Variables` module options.
2024-12-04 20:54:01 +01:00
LorenzBischof
ad48eb25cd etesync-dav: update default server URL
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
2024-12-04 14:06:18 +01:00
Robert Helgesson
b1c19f1dcb home-cursor: use profileExtra instead of initExtra
The initExtra code is executed after systemd graphical-session.target
starts, which means graphical applications started by
graphical-session.target cannot get these X settings.
2024-12-04 12:38:17 +01:00
Robert Helgesson
30f66eaa32 xresources: use profileExtra instead of initExtra
The initExtra code is executed after systemd graphical-session.target
starts, which means graphical applications started by
graphical-session.target cannot get these X settings.
2024-12-04 12:37:15 +01:00
Robert Helgesson
6c3a7a0b72 qt: reduce test closure 2024-12-04 10:24:09 +01:00
Louis Opter
8f4f57f9a6 qt: update tooling for Plasma 6 2024-12-04 09:21:37 +01:00
Ricky Tigg
7080328318 Translate using Weblate (Finnish)
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
Currently translated at 75.6% (28 of 37 strings)

Co-authored-by: Ricky Tigg <ricky.tigg@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/fi/
Translation: Home Manager/Home Manager CLI
2024-12-04 07:59:37 +00:00
Philip Wilk
5b5de4338f kakoune: fix color scheme package XDG file 2024-12-04 08:59:32 +01:00
home-manager-bot
256ec2653e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/970e93b9f82e2a0f3675757eb0bfc73297cc6370?narHash=sha256-jNRNr49UiuIwaarqijgdTR2qLPifxsVhlJrKzQ8XUIE%3D' (2024-11-28)
  → 'github:NixOS/nixpkgs/55d15ad12a74eb7d4646254e13638ad0c4128776?narHash=sha256-M1%2BuCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo%3D' (2024-12-03)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-12-04 08:48:45 +01:00
Robert Helgesson
92e644a95e atuin: configure daemon using systemd and launchd 2024-12-04 08:39:49 +01:00
Varun Narravula
dfdf59b2d5 atuin: make daemon log level configurable 2024-12-03 00:11:05 +01:00
Varun Narravula
f8bc330a13 atuin: capitalize mentions of "atuin" 2024-12-03 00:09:57 +01:00
Varun Narravula
c56aa0f51d atuin: assert version >= 18.2.0 when daemon is enabled 2024-12-03 00:09:57 +01:00
Varun Narravula
33c236f1d5 atuin: add water-sucks as maintainer 2024-12-03 00:09:57 +01:00
Varun Narravula
092b81b956 atuin: configure daemon using systemd and launchd
This configures the atuin daemon for Linux and Darwin systems using
systemd and launchd, respectively. For systemd, a socket is also
automatically configured to exist at atuin's default socket location.
2024-12-03 00:09:57 +01:00
Bruno BELANYI
bf23fe4108 tmux: add 'focusEvents'
Some checks failed
GitHub Pages / publish (ubuntu-latest) (push) Has been cancelled
Update flake inputs / update (push) Has been cancelled
With `tmux-sensible` being disabled by default, add an easy toggle to
enable this functionality.

Disabled by default, as in upstream `tmux`.
2024-12-02 22:43:34 +01:00
Gaétan Lepage
873e39d5f4 podman-container: fix tests and failing podman 5.3.0 service
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
Co-authored-by: Dylan Wilson <dylan@bytepen.com>
2024-12-02 11:05:28 +01:00
Fea
d2e2bda6c0 nix-your-shell: fix creating required directory
This fixes https://github.com/nix-community/home-manager/issues/6161
2024-12-02 10:38:18 +01:00
paumr
c1fee8d4a6 alot: make package used by module configurable
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
2024-12-01 21:38:04 +01:00
Igor Rzegocki
8632735050 kubecolor: add module 2024-12-01 20:35:09 +01:00
Terje Larsen
e71e678d18 nix-your-shell: add module 2024-12-01 20:20:16 +01:00
Gaétan Lepage
7f78e2d1c6 yazi: update keymap config 2024-12-01 18:47:01 +01:00
Nova Leary
441fae847d zsh-abbr: add package option 2024-12-01 18:23:18 +01:00
Robert Helgesson
4964f3c6fc home-manager: prepare 24.11 release
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
2024-12-01 10:31:51 +01:00
home-manager-bot
8eeda281e7 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/4633a7c72337ea8fd23a4f2ba3972865e3ec685d?narHash=sha256-2ThgXBUXAE1oFsVATK1ZX9IjPcS4nKFOAjhPNKuiMn0%3D' (2024-11-25)
  → 'github:NixOS/nixpkgs/970e93b9f82e2a0f3675757eb0bfc73297cc6370?narHash=sha256-jNRNr49UiuIwaarqijgdTR2qLPifxsVhlJrKzQ8XUIE%3D' (2024-11-28)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-12-01 10:04:56 +01:00
Ken Micklas
819f682269 lorri: fix ReadWritePaths for new gcroots behavior
Some checks failed
GitHub Pages / publish (ubuntu-latest) (push) Has been cancelled
Update flake inputs / update (push) Has been cancelled
2024-11-29 13:43:55 +01:00
Philip Wilk
2f7739d010 kakoune: add colorSchemePackage option
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
This makes it easy to declaratively manage the color scheme for
kakoune via a nix package in your `~/.config/kak/colors` folder. The
color scheme can then be declaratively selected by name using the
existing Home Manager option `programs.kakoune.config.colorScheme`.
2024-11-28 12:24:55 +01:00
Jordan Williams
b721965238 mopidy: ignore collisions between extensions 2024-11-28 12:12:32 +01:00
Jordan Williams
de7d67b8ba mopidy: make makeWrapper a native build input
This fixes the error message

    error: makeWrapper/makeShellWrapper must be in nativeBuildInputs
2024-11-28 12:11:18 +01:00
Etherbloom
21396857fd kdeconnect: upgrade default version
Plasma6 has been out for a while now and the service still points to
the old, incompatible version.
2024-11-28 11:32:21 +01:00
Gen
f83dc9f25a tmux: set sensibleOnTop = false as a default
Fixes #5952
2024-11-28 11:30:10 +01:00
home-manager-bot
0941a2e144 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/23e89b7da85c3640bbc2173fe04f4bd114342367?narHash=sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w%3D' (2024-11-19)
  → 'github:NixOS/nixpkgs/4633a7c72337ea8fd23a4f2ba3972865e3ec685d?narHash=sha256-2ThgXBUXAE1oFsVATK1ZX9IjPcS4nKFOAjhPNKuiMn0%3D' (2024-11-25)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-28 10:44:48 +01:00
Jordan Williams
a9953635d7 mopidy: restart service on config changes
Some checks failed
GitHub Pages / publish (ubuntu-latest) (push) Has been cancelled
Update flake inputs / update (push) Has been cancelled
Also extend basic configuration test a bit to verify the restart
trigger.
2024-11-24 22:04:15 +01:00
Ingo Reitz
4d8d8c385e zed-editor: add extraPackages option
Add extraPackages option to make for example language servers
available to Zed without having to add them to `home.packages` or
similar.
2024-11-24 21:15:57 +01:00
Jordan Williams
83002f1846 mopidy: restart the systemd service on failure
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
2024-11-24 19:26:14 +01:00
Tomodachi94
98bf8de65d volnoti: use cfg.package instead of pkgs 2024-11-24 19:06:58 +01:00
Tomodachi94
f9fd45c512 volnoti: add self to maintainers 2024-11-24 17:54:00 +01:00
Christian Segundo
9ae941a4cf abook: remove platform linux assertion
Abook is also available on other platforms, e.g., Darwin.
2024-11-24 17:45:26 +01:00
Sebastián Zavala Villagómez
5e2f47c5a5 hypridle: fix service when no config file
The systemd user service depends on

  config.xdg.configFile."hypr/hypridle.conf".source

for `X-Restart-Triggers`. When `cfg.settings` is the default `{}`,
this causes failure since

  config.xdg.configFile."hypr/hypridle.conf".source

will not exist.

Making the addition conditional on `cfg.settings` actually having
content, which would mean `xdg.configFile."hypr/hypridle.conf"` does
exist, avoids the error.
2024-11-24 17:41:50 +01:00
Sebastián Zavala Villagómez
bd58a1132e hyprpaper: fix service when no config file
The systemd user service depends on

  config.xdg.configFile."hypr/hyprpaper.conf".source

for `X-Restart-Triggers`. When `cfg.settings` is the default `{}`,
this causes failure since

  config.xdg.configFile."hypr/hyprpaper.conf".source

will not exist.

Making the addition conditional on `cfg.settings` actually having
content, which would mean `xdg.configFile."hypr/hyprpaper.conf"` does
exist, avoids the error.
2024-11-24 14:05:10 +01:00
github-actions[bot]
67cd4814a2 flake.lock: Update
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5e4fbfb6b3de1aa2872b76d49fafc942626e2add?narHash=sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg%3D' (2024-11-15)
  → 'github:NixOS/nixpkgs/23e89b7da85c3640bbc2173fe04f4bd114342367?narHash=sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w%3D' (2024-11-19)
2024-11-24 03:59:24 +00:00
Dawid Dziurla
92fef254a9 podman: install package and create config files
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
Co-authored-by: Dylan Wilson <dylan@bytepen.com>
2024-11-23 22:36:33 +01:00
klchen0112
ba9367b5a9 emacs: add darwin service 2024-11-23 19:15:47 +01:00
Nithin S Varrier
16fe78182e conky: update systemd exec path to config package
Some checks failed
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
Update flake inputs / update (push) Has been cancelled
Currently systemd ExecStart uses pkgs.conky as executable path, this
commit changes it to the package defined by services.conky.package.
2024-11-23 18:36:17 +01:00
arminius-smh
445d721ecf home-cursor: add hyprcursor support
Add the option to enable hyprcursor support by setting the relevant
environment variables.
2024-11-23 18:27:16 +01:00
Robert Helgesson
8cf9cb2ee7 tests: fix integration test
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
2024-11-22 20:32:42 +01:00
Robert Helgesson
a46e702093 espanso: fix test failure
Some checks failed
GitHub Pages / publish (ubuntu-latest) (push) Has been cancelled
Update flake inputs / update (push) Has been cancelled
2024-11-19 15:05:03 +01:00
home-manager-bot
d37f154dba flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/76612b17c0ce71689921ca12d9ffdc9c23ce40b2?narHash=sha256-IigrKK3vYRpUu%2BHEjPL/phrfh7Ox881er1UEsZvw9Q4%3D' (2024-11-09)
  → 'github:NixOS/nixpkgs/5e4fbfb6b3de1aa2872b76d49fafc942626e2add?narHash=sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg%3D' (2024-11-15)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-19 14:40:06 +01:00
Nikolaos Karaolidis
a42fa14b53 syncthing: expand declarative configuration
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
This expands the Syncthing configuration to allow declarative
settings. Code mostly pulled from the Nixpkgs module.

Changes compared to the NixOS module are:

Removed the following options:

- user, group, systemService: Unnecessary since Syncthing always runs
  as the user declaring the configuration.

- dataDir configDir, databaseDir: Pointed to ~/.local/state/syncthing,
  the default Syncthing directory.

- openDefaultPorts: We don't have access to the system firewall.

Furthermore, multiple changes to systemd services were made to
maintain consistency with other Home Manager modules, sandboxing
options might need to be reviewed further.

Fixes #4049
2024-11-18 23:27:58 +01:00
wadsaek
705cf3763a Translate using Weblate (Ukrainian)
Currently translated at 100.0% (37 of 37 strings)

Co-authored-by: wadsaek <wadsaek@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/uk/
Translation: Home Manager/Home Manager CLI
2024-11-18 21:16:30 +00:00
Lorenzo Bevilacqua
094265fca0 Translate using Weblate (Italian)
Currently translated at 100.0% (37 of 37 strings)

Co-authored-by: Lorenzo Bevilacqua <lorenzobevilacqua02@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/it/
Translation: Home Manager/Home Manager CLI
2024-11-18 21:16:30 +00:00
chayleaf
0bd5e9c76c librewolf: hide bookmarks option 2024-11-18 22:14:54 +01:00
chayleaf
18462998b1 librewolf: use mkFirefoxModule 2024-11-18 22:14:54 +01:00
Ilham AM
f3a2ff6958 zsh-abbr: update source path (#6084)
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
2024-11-18 00:44:26 +01:00
Robert Helgesson
05d3b6215a home-manager: prepare 25.05-pre 2024-11-18 00:13:46 +01:00
Robert Helgesson
0918bb0238 ci: make dependabot consider release-24.11 2024-11-17 23:31:31 +01:00
Kacper Koniuszy
aecd341dfe firefox: improve search engine disclaimer generation
Using a fixed application name in the salt for the search engine name
hash can break with minor branding changes. For example, LibreWolf 127
used the application name "LibreWolf", but in version 128 it is
"Firefox".

The proper name can be found in about:support -> Application Basics.

Because it doesn't have to be related to the product name visible in
most of the browser (for example in the window title and help menus),
we shouldn't rely on cfg.name for that.

The application name can be read from lib/*/application.ini and we can
use that if the browser was installed via Home Manager. If not, we can
fall back to cfg.name.
2024-11-17 22:58:01 +01:00
Juanjo Presa
5056a1cf0c version: allow 25.05 as state version
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
Nixpkgs updated upstream:
90fcf3aa7e
2024-11-17 09:34:39 +01:00
Andrew Marshall
1bd5616e33 lib/file-type: Make force option visible (#6003)
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
This is something that is useful, we should not hide it from the docs.
2024-11-16 20:54:20 +01:00
Nanotwerp
c7c2517612 {gtk, dunst}: replace pkgs.gnome.adwaita-icon-theme with pkgs.adwaita-icon-theme in the examples (#5712)
`adwaita-icon-theme` has been moved out of the `gnome` scope and into the top level with https://github.com/NixOS/nixpkgs/pull/319659
2024-11-16 19:36:13 +01:00
Jany
d154a557da aerc: add support of account gpg config (#5298) 2024-11-16 18:38:16 +01:00
Michael Hoang
192f123e4b nixos: add key to shared module to allow disabling it (#6017)
By adding `key`, this allows users to disable this shared module or they can choose to not disable this shared module (by filtering by key before disabling)

This means users can disable all shared modules if all modules are paths or attrsets with a key:

`configuration.nix`:

```nix
{ config, ... }:

{
  home-manager.users.enzime = { ... }: {
    disabledModules = config.home-manager.sharedModules;
  };
}
```

Or disabling just this module specifically:

```nix
{ ... }:

{
  home-manager.users.enzime = { ... }: {
    disabledModules = [ { key = "home-manager#nixos-shared-module"; } ];
  };
}
```

Or disabling all modules when you have modules you can't disable (like lambdas):

```nix
{ ... }:

{
  home-manager.users.enzime = { ... }: {
    disabledModules = lib.filter (v: lib.isString v || lib.isPath v || (lib.isAttrs v && v ? key)) config.home-manager.sharedModules;
  };
}
```


https://nixos.org/manual/nixos/unstable/#sec-replace-modules
2024-11-16 18:31:16 +01:00
Michael Hoang
400e3c0152 nixos: always run home-manager on NixOS activation (#5780)
Currently, the home-manager systemd service will only get restarted when
the home-manager configuration changes. This can lead to issues in
users' home directories not getting corrected for a while.

    $ rm ~/.zshrc
    $ sudo nixos-rebuild switch
    $ ls ~/.zshrc
    ls: cannot access '/home/enzime/.zshrc': No such file or directory
2024-11-16 18:25:31 +01:00
gmvar
1d0862ee2d feh: add themes option (#6074)
Some checks failed
GitHub Pages / publish (ubuntu-latest) (push) Has been cancelled
Update flake inputs / update (push) Has been cancelled
- added themes option
- added themes test
- updated broken man page links
2024-11-14 18:16:21 +01:00
Gaétan Lepage
35b055009a kanshi: add package to home.packages
Some checks are pending
GitHub Pages / publish (ubuntu-latest) (push) Waiting to run
2024-11-13 23:07:20 +01:00
RedEtherbloom
3c044aefe6 git-sync: add example to repository option 2024-11-13 23:03:24 +01:00
RedEtherbloom
cd21d2e61b git-sync: fix crash when whitespace in path
systemd rejects the service unit due to whitespace in the environment
variable assignment, pointing to the repo path, being invalid for
systemd's unit format.

See https://github.com/nix-community/home-manager/issues/6023 for
details.

The git-sync variable should also be escaped due to similar issues
with e.g. local git urls.
2024-11-13 23:03:19 +01:00
RedEtherbloom
ee8ff6d53f espanso: fix test for nixpkgs update
Recent nixpkgs update made a small change how YAML is generated,
causing the test YAML to be out of date.

The replacement match is also an exact example from the espanso wiki
https://espanso.org/docs/matches/basics/#multi-line-expansions.
2024-11-13 22:51:34 +01:00
RedEtherbloom
7e42a37bf7 spotify-player: fix test for nixpkgs update
Recent nixpkgs update made a small change to how TOML is generated,
causing the test toml to be out of date.
2024-11-13 22:51:33 +01:00
RedEtherbloom
40746b5c77 alacritty: fix test for nixpkgs update
Recent nixpkgs update made a small change to how TOML is generated,
causing the test toml to be out of date.
2024-11-13 22:51:33 +01:00
home-manager-bot
149a48da31 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/807e9154dcb16384b1b765ebe9cd2bba2ac287fd?narHash=sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU%3D' (2024-10-29)
  → 'github:NixOS/nixpkgs/76612b17c0ce71689921ca12d9ffdc9c23ce40b2?narHash=sha256-IigrKK3vYRpUu%2BHEjPL/phrfh7Ox881er1UEsZvw9Q4%3D' (2024-11-09)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-13 22:50:06 +01:00
Milo Moisson
60bb110917 helix: fix wrapping of extraPackages
This makes extraPackages the default, but they do not shadow the env
so you can still have packages (e.g. LSPs) with a different version
than the global one in you local env like nix's shells.
2024-11-10 11:42:08 +01:00
Gaétan Lepage
7309007271 news: fix typo 2024-11-10 11:38:24 +01:00
rodrigovillarbello
2f607e07f3 docs: home.sessionVariable clarification
Closes: https://github.com/nix-community/home-manager/issues/6027
2024-11-05 21:18:50 +01:00
home-manager-bot
8f6ca7855d flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/18536bf04cd71abd345f9579158841376fdd0c5a?narHash=sha256-RP%2BOQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM%3D' (2024-10-25)
  → 'github:NixOS/nixpkgs/807e9154dcb16384b1b765ebe9cd2bba2ac287fd?narHash=sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU%3D' (2024-10-29)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-03 12:34:30 +01:00
sinavir
2c6a9b3ccf git: fix maintenance service
Call to git-maintenance in the systemd user service was using a
erroneous value for exec-path flag. Removing the flag is fine.
2024-11-03 12:29:02 +01:00
Nicholas Hassan
1743615b61 podman: add module
Adds a new Podman module for creating user containers and networks as
systemd services. These are installed to the user's
`$XDG_CONFIG/systemd/user` directory.
2024-11-01 20:45:06 +01:00
Kosta Gorodetsky
8ca921e5a8 git-credential-oauth: fix ordering of git extraConfig
Added `mkAfter` to `git.extraConfig` to ensure our oauth is last, as
required to work with additional helpers.
2024-11-01 09:46:22 +01:00
home-manager-bot
e83414058e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0?narHash=sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c%2BcHUJwA%3D' (2024-10-18)
  → 'github:NixOS/nixpkgs/18536bf04cd71abd345f9579158841376fdd0c5a?narHash=sha256-RP%2BOQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM%3D' (2024-10-25)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-27 09:15:08 +01:00
Tomo
05d9bee4a5 git-credential-oauth: fix use of mkIf and add tests
Closes #6005
2024-10-27 07:45:32 +01:00
William Phetsinorath
93435d27d2 direnv: add support for mise integration 2024-10-26 00:16:39 +02:00
nyadiia
0c0268a3c8 eza: add color option 2024-10-25 16:02:28 +02:00
Tomo
c0e2315987 git-credential-oauth: add extraFlags option
This facilitates a legitimate use-case for browserless systems. From the
README:
> On systems without a web browser, set the -device flag to authenticate
> on another device using [OAuth device flow]:
> ```ini
  [credential]
	  helper = cache --timeout 7200	# two hours
	  helper = oauth -device
  ```

[OAuth device flow]: https://www.rfc-editor.org/rfc/rfc8628

Please note that, for the documentation about the man-page to be
accurate, https://github.com/NixOS/nixpkgs/pull/302922 must be merged.
2024-10-25 15:56:37 +02:00
Bruno BELANYI
6cc03e337a nix-gc: add randomizedDelaySec option
There's no launchd equivalent to this option, so this is a no-op on
Darwin.
2024-10-25 15:53:42 +02:00
Giovanni Nicosia (mood)
c77c3bb233 yazi: enable shell integration values by default
Previously,

  - `programs.yazi.enableNushellIntegration`,
  - `programs.yazi.enableFishIntegration`, and
  - `programs.yazi.enableZshIntegration`

were set to false by default. It seems more appropriate to enable
these integrations by default.
2024-10-25 11:21:03 +02:00
Robert Helgesson
5feb9dba3c nixgl: add module 2024-10-25 10:23:36 +02:00
Jure Varlec
8bd6e0a1a8 nixgl: add support for channel-based configuration 2024-10-25 10:20:38 +02:00
Jure Varlec
7a5879707b nixgl: API rework for flexibility and dual-GPU 2024-10-25 10:20:38 +02:00
Mel Bourgeois
e61f87969a nixgl: Improve option documentation 2024-10-25 10:20:38 +02:00
Mel Bourgeois
7dee0dc8f0 nixgl: reference lib directly
Co-authored-by: V. <150687949+vigress8@users.noreply.github.com>
2024-10-25 10:20:38 +02:00
Mel Bourgeois
d0c036ca49 nixgl: ensure makeWrapper is present during build
Co-authored-by: V. <150687949+vigress8@users.noreply.github.com>
2024-10-25 10:20:38 +02:00
Mel Bourgeois
199cf5634c nixgl: use -q to silence grep
Co-authored-by: V. <150687949+vigress8@users.noreply.github.com>
2024-10-25 10:20:38 +02:00
Mel Bourgeois
b9fe747915 nixgl: use makeWrapper and update docs
makeWrapper is more consistent with the rest of nixpkgs & home-manager,
so it should be a little more maintainable. It can also validate that
the wrapper command is executable at build time.
2024-10-25 10:20:37 +02:00
Mel Bourgeois
bbd4254d00 nixgl: make desktop files point to wrapped exe
Some desktop files will refer to the absolute path of the original
derivation, which would bypass nixGL wrapping. So we need to replace the
path with the path to the wrapper derivation to ensure the wrapped
version is always launched.
2024-10-25 10:20:37 +02:00
Mel Bourgeois
446293584f nixgl: add module
This module enables wrapping programs which require access to libGL
with nixGL on non-NixOS systems.
2024-10-25 10:20:32 +02:00
Luflosi
82378b3f7f htop: use attrsOf instead of attrs as settings type 2024-10-25 10:08:11 +02:00
diniamo
c7cfdb3864 spotify-player: add support for actions
Actions were added in the v0.19.1 release.
2024-10-25 10:04:48 +02:00
DrymarchonShaun
eea1bc6072 gpg-agent: use $TTY parameter in zsh integration 2024-10-25 09:53:41 +02:00
Willi Carlsen
454e8d6b15 granted: use assume directly
The `.assume-wrapped` path is not available since the merge of

    https://github.com/NixOS/nixpkgs/pull/347816

Use assume directly instead.

PR #5994
2024-10-25 09:42:19 +02:00
Omer Naveed
0a0b1b18bd maintainers: remove omernaveedxyz 2024-10-24 23:41:24 -05:00
Sandro Jäckel
a4353cc43d accounts/contacts: fix defaultText rendering 2024-10-23 22:55:53 +02:00
Sandro Jäckel
5765fe4feb accounts/calendar: fix defaultText rendering 2024-10-23 22:55:42 +02:00
Austin Horstman
5ec753a1fc modules/neovim: fix config generation (#5976) 2024-10-22 00:58:46 +02:00
home-manager-bot
1e27f213d7 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c?narHash=sha256-nsNdSldaAyu6PE3YUA%2BYQLqUDJh%2BgRbBooMMekZJwvI%3D' (2024-10-14)
  → 'github:NixOS/nixpkgs/4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0?narHash=sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c%2BcHUJwA%3D' (2024-10-18)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-20 23:21:28 +02:00
Talha Can Havadar
fe56302339 zoxide: fix fzf bash-completion conflict
When zoxide initializes after fzf it causes fzf " ** " trigger to not
work.

To fix the issue we needed to make zoxide initialize earlier than fzf
but after bash-completion.

PR #5955
2024-10-20 10:58:46 +02:00
John Titor
892a6443b7 nh: add module 2024-10-20 10:54:45 +02:00
Scharada
122f70545b firefox: change container.json version to 5 2024-10-19 09:02:11 +02:00
Muhammad Talal Anwar
802b3cb2d4 espanso: use launcher command on Linux
The source uses `launcher` instead of `daemon`. Additionally we remove
`Type` and add `RestartSec` as defined in the source:

b421bcf73f/espanso/src/res/linux/systemd.service (L5-L7C1)
2024-10-19 09:01:11 +02:00
joygnu
09a0c0c029 cmus: add module
PR #5951
2024-10-18 16:03:33 +02:00
Austin Horstman
346973b338 tests/firefox: add shared path test
Used to make sure that profiles that share a common generated path still
build properly.
2024-10-18 08:31:24 -05:00
Austin Horstman
2ffb68e209 thunderbird: conditional search file 2024-10-18 08:31:24 -05:00
Austin Horstman
d4a3186de0 firefox: conditional search file 2024-10-18 08:31:24 -05:00
K900
cb93ab1c99 direnv: remove nushell hack 2024-10-18 15:26:47 +02:00
K900
1834304bc3 direnv: simplify, work around nushell/nushell#14112
nushell 0.99 does not like early returns in hooks. So, what if we just
didn't? Rewrite the entire hook to work as one single pipeline.
2024-10-18 15:26:17 +02:00
libewa
e78cbb2027 zed-editor: add module
Add a simple module for zed-editor, a simple editor written in Rust.
2024-10-17 16:15:20 +02:00
Robert Helgesson
9c1a1c7df4 activitywatch: reduce test closure
This also reduces test flakiness.
2024-10-17 15:30:02 +02:00
home-manager-bot
78a7a070bb flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5633bcff0c6162b9e4b5f1264264611e950c8ec7?narHash=sha256-9UTxR8eukdg%2BXZeHgxW5hQA9fIKHsKCdOIUycTryeVw%3D' (2024-10-09)
  → 'github:NixOS/nixpkgs/a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c?narHash=sha256-nsNdSldaAyu6PE3YUA%2BYQLqUDJh%2BgRbBooMMekZJwvI%3D' (2024-10-14)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-17 13:53:03 +02:00
Robert Helgesson
e43902a7d6 broot: fix minor documentation bug 2024-10-17 13:51:49 +02:00
xwjqv
800a191f33 broot: allow multiple keyboard keys per verb
To allow multiple keys the verb options need to accept listOf str.
2024-10-17 13:41:55 +02:00
Jeffrey C. Ollie
1d9b4a3e60 fish: make generation of completions optional
Add a config option to optionally disable the generation of command
completions based upon man pages.
2024-10-17 13:31:56 +02:00
Julius Marozas
5bb057a7b5 Translate using Weblate (Lithuanian)
Currently translated at 97.2% (36 of 37 strings)

Co-authored-by: Julius Marozas <marozas.julius@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/lt/
Translation: Home Manager/Home Manager CLI
2024-10-17 11:23:29 +00:00
Viktor Illmer
f81be125ff Translate using Weblate (German)
Currently translated at 100.0% (18 of 18 strings)

Co-authored-by: Viktor Illmer <accounts@viktor.im>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/de/
Translation: Home Manager/Home Manager Modules
2024-10-17 11:23:29 +00:00
AtomicDude
b534276566 Translate using Weblate (Romanian)
Currently translated at 100.0% (18 of 18 strings)

Co-authored-by: AtomicDude <vasilescutoma4@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ro/
Translation: Home Manager/Home Manager Modules
2024-10-17 11:23:28 +00:00
Joaquín Triñanes
628b15d275 nushell: allow arbitrary environment variables 2024-10-17 12:54:19 +02:00
Joaquín Triñanes
edf15f1549 nushell: create generator helpers 2024-10-17 12:54:19 +02:00
Joaquín Triñanes
994a0baf7b nushell: add joaquintrinanes as maintainer 2024-10-17 12:54:19 +02:00
Sergey
2a4fd1cfd8 eza: fix icons option
Fixes the icons option for eza which was breaking completion in zsh.
2024-10-15 23:22:21 +02:00
Kira Bruneau
e1aec543f5 thunderbird: support setting search engines (#5697)
* firefox: split search into separate submodule file

* thunderbird: support setting search engines
2024-10-14 13:01:26 +02:00
github-actions[bot]
64c6325b28 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c31898adf5a8ed202ce5bea9f347b1c6871f32d1?narHash=sha256-yumd4fBc/hi8a9QgA9IT8vlQuLZ2oqhkJXHPKxH/tRw%3D' (2024-10-06)
  → 'github:NixOS/nixpkgs/5633bcff0c6162b9e4b5f1264264611e950c8ec7?narHash=sha256-9UTxR8eukdg%2BXZeHgxW5hQA9fIKHsKCdOIUycTryeVw%3D' (2024-10-09)
2024-10-13 03:59:22 +00:00
Nabeen Tiwaree
d57112db87 pls: fixed perm argument to pass via pls 2024-10-12 11:43:52 +02:00
Kilian Mio
2b13611eae floorp: add module
Also fix tests for Firefox module derivatives.
2024-10-12 00:21:33 +02:00
Perchun Pak
65ae9c1473 git: add module for git maintenance (#5772)
Adds module for git-scm.com/docs/git-maintenance.
2024-10-11 14:48:52 +02:00
aabccd021
5828309542 vifm: add module 2024-10-11 12:54:39 +02:00
home-manager-bot
342a1d6823 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9357f4f23713673f310988025d9dc261c20e70c6?narHash=sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c%3D' (2024-09-21)
  → 'github:NixOS/nixpkgs/c31898adf5a8ed202ce5bea9f347b1c6871f32d1?narHash=sha256-yumd4fBc/hi8a9QgA9IT8vlQuLZ2oqhkJXHPKxH/tRw%3D' (2024-10-06)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-11 00:19:04 +02:00
Damien Cassou
03f8e0b3b3 snixembed: add module
This is used by SafeEyes (another home-manager) module to show a
systemtray icon. See https://git.sr.ht/~steef/snixembed.

Fixes #5728
2024-10-11 00:14:36 +02:00
Andrew Voynov
8bb5d53c58 docs: add XDG_*_HOME mentions to xdg.*Home options 2024-10-10 21:22:52 +02:00
Sandro
d47d33254f home-manager-manual: expose options.json 2024-10-10 20:29:24 +02:00
Utkarsh Sharma
d3ee25c078 Translate using Weblate (Hindi)
Currently translated at 5.5% (1 of 18 strings)

Translate using Weblate (Hindi)

Currently translated at 13.5% (5 of 37 strings)

Co-authored-by: Utkarsh Sharma <utkasharma19@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/hi/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/hi/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2024-10-09 16:31:58 +02:00
Timothy Gallion
038630363e xdg-mime type package options (#5920)
* xdg-mime: allow overrides to shared-mime-info and desktop-file-utils

The `xdg-mime` module now exposes packages to determine what will be run
for update-mime-database and update-desktop-database. This allows users
to select a different version of these packages if the are incompatible.
This should, in combination with an override to the version of
`shared-mime-info` (can be found here notalltim/home-manager-config#4),
resolve #4955, #5102, #4682, and possibly #4941. The problem seems to stem
from a mismatch in the version of `shared-mime-info` with the host.

I also switched from using `buildPackages` to `pkgs` to improve
cross-compilation compatibility.

* xdg-mime: Add tests for xdg-mime module

The xdg-mime module was missing tests so I added basic test for all the
options and checked the basic behavior. It covers ensuring that the
proper files/folders are created and that the package overrides work.
2024-10-07 23:39:24 +02:00
Kira Bruneau
271c83e21e firefox: organize tests by submodule (#5698)
Split off from #5697, organizes firefox tests by submodule.

This is intended to match directory structure setup for the new search submodule.
2024-10-07 23:06:52 +02:00
Akshett Rai Jindal
3ac39b2a8b zathura: Fix the type for config options (#5934)
* zathura: add float to acceptable types for `options` attrset

The man page states that the `set` directive can take 4 types of values:
INT, FLOAT, STRING, BOOL. But the FLOAT part was missing from the
home-manager module

* zathura: make type of `programs.zathura.options` more readable

Change from cascading mess of `either` to `oneOf`
2024-10-07 15:16:25 +02:00
MithicSpirit
fcf5e608ac kitty: allow float values in settings (#5925)
Some settings in kitty allow floating-point values, but this was not
reflected in the type.
2024-10-07 12:18:19 +02:00
dependabot[bot]
bc623830e6 ci: bump cachix/install-nix-action from 27 to 30
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 27 to 30.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v27...v30)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-07 11:44:28 +02:00
Christophe Van den Abbeele
509dbf8d45 megasync: fix issue with service failing to launch
Change `After=` setting in the user service to only launch after the
full `graphical-session.target`.
2024-10-04 13:32:07 +02:00
Christina Sørensen
30e04f3d47 pass-secret-service: add GNUPGHOME to service env vars
This is nescesarry for non-default locations, and without it, many
programs like element-desktop break in very confusing ways.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2024-10-04 09:19:02 +02:00
Sirio Balmelli
437ec62009 borgmatic: note Darwin platform support
The current module works on Darwin as-is; mark the platform as
supported.

Signed-off-by: Sirio Balmelli <sirio@b-ad.ch>
2024-10-01 23:11:40 +02:00
K900
ffe2d07e77 direnv: hopefully final nushell fix 2024-09-26 22:52:03 +02:00
Robert Helgesson
0afc2f0f19 river: reduce risk of large rebuilds in test
Specifically, overriding the dbus package can cause rebuilds of many
packages.
2024-09-26 22:19:30 +02:00
K900
853e7bd24f direnv: even better nushell fix
Avoid do | complete, because it swallows stderr, which can contain
direnv debug output.
2024-09-26 22:03:30 +02:00
K900
57e6b30d18 direnv: work around nushell bug
try/catch in a pipeline does not always work correctly in 0.98,
so avoid the try-catch entirely.

Upstream issue: https://github.com/nushell/nushell/issues/13868
2024-09-26 19:07:37 +02:00
home-manager-bot
c124568e10 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c04d5652cfa9742b1d519688f65d1bbccea9eb7e?narHash=sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK%2BWk%3D' (2024-09-19)
  → 'github:NixOS/nixpkgs/9357f4f23713673f310988025d9dc261c20e70c6?narHash=sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c%3D' (2024-09-21)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-26 12:20:17 +02:00
K900
1e22ef1518 direnv: update for new nushell behavior (#5880)
Nushell 0.98 makes it so external commands returning non-zero
is considered an exception[0]. Wrap the direnv invocation in a
try-catch, so that even if direnv fails, we get the message
from direnv, but not the traceback from nushell.

[0]: https://www.nushell.sh/blog/2024-09-17-nushell_0_98_0.html#non-zero-exit-codes-are-now-errors-toc
2024-09-25 00:39:06 -06:00
Robert Helgesson
21c021862f ci: disable the tests for macos
They have been broken for a long time now and makes the PR flow quite
cumbersome. Thus we disable them until somebody is able to get them to
work again.
2024-09-23 19:15:45 +02:00
home-manager-bot
04213d1ce4 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/99dc8785f6a0adac95f5e2ab05cc2e1bf666d172?narHash=sha256-gI9kkaH0ZjakJOKrdjaI/VbaMEo9qBbSUl93DnU7f4c%3D' (2024-09-16)
  → 'github:NixOS/nixpkgs/c04d5652cfa9742b1d519688f65d1bbccea9eb7e?narHash=sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK%2BWk%3D' (2024-09-19)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-22 08:17:35 +02:00
Patrick Nuckolls
14929f7089 zoxide: clarify options option
The value of the option `programs.zoxide.options` is passed to `zoxide
init` at shell initialization time, not to the command itself when
it's called by the user from their shell. This change makes that a
little bit clearer in the documentation.
2024-09-21 09:13:43 +02:00
Ben Brown
51e1d69f7a poweralertd: fix regression
This fixes a regression introduced in
8d7e352a4b. That commit made the false
assumption that utils would have propagated from Nixpkgs to Home
Manager. This commit copies in `escapeSystemdExecArgs` to fix the
immediate issue, perhaps we can pull this in some other way later down
the line.
2024-09-21 09:08:48 +02:00
bhougland18
dfe4d334b1 wezterm: fix generated configuration
The semi-colon breaks this config file, it is not in the Weztem
documentation either.
2024-09-20 22:15:45 +02:00
Robert Helgesson
0b052dd811 swayidle: minor cleanups 2024-09-20 11:45:46 +02:00
leoTlr
4803bf558b swayidle: make -w optional
The option -w causes swayidle to wait on timeouts/events to finish.
This can cause problems with certain timout/event commands (see
https://github.com/swaywm/swaylock/issues/86#issuecomment-662702180)
2024-09-20 11:13:54 +02:00
Ben Brown
8d7e352a4b poweralertd: Enable passing CLI args to the daemon 2024-09-20 09:44:52 +02:00
dependabot[bot]
6b1912380e ci: bump DeterminateSystems/update-flake-lock from 23 to 24
Bumps [DeterminateSystems/update-flake-lock](https://github.com/determinatesystems/update-flake-lock) from 23 to 24.
- [Release notes](https://github.com/determinatesystems/update-flake-lock/releases)
- [Commits](https://github.com/determinatesystems/update-flake-lock/compare/v23...v24)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-20 09:43:17 +02:00
mgdbbrt
f48b181f01 ssh-agent: use POSIX conforming if condition 2024-09-20 09:38:42 +02:00
alejandro-angulo
ecaed80b18 kitty: remove IFD
With this change the theme check happens at activation time. An
integration test is also added to verify the functionality.

Fixes #5110
2024-09-20 09:02:48 +02:00
iniw
2cf3abce03 neovim: use home.shellAliases
Instead of manually adding it as an alias for each and every
individual shell, which inevitably ends up missing some.
2024-09-20 08:47:23 +02:00
Robert Helgesson
1786e2afdb firefox: fix incorrect condition
This error was introduced by me when switching from use of an explicit
`if` expression to `optionalAttrs`.
2024-09-20 00:35:54 +02:00
yuanwang
b5e09b85f2 firefox: only add Version = 2 on non-darwin
The `Version` field in `profiles.ini` does not seem to work on Darwin
systems.

Co-authored-by: bricked <git@bricked.dev>
2024-09-19 19:57:38 +02:00
Mike Thai
1f7b8188a9 zoxide: replace outdated flag in "options" example
The "--no-aliases" option hasn't been a valid init option since 0.8.1,
when it was renamed to "--no-cmd".
2024-09-19 18:43:19 +02:00
bricked
87c7d4df16 firefox: fix policies availability 2024-09-19 18:22:39 +02:00
Coutinho de Souza
451606f4a8 polybar: fix type of systemd Service.Environment
See #5854
2024-09-19 18:19:27 +02:00
Coutinho de Souza
480d589cdd opensnitch-client: fix type of systemd Service.Environment
See #5854
2024-09-19 18:18:59 +02:00
Coutinho de Souza
7540dcc789 opensnitch-ui: fix type of systemd Service.Environment
See #5854
2024-09-19 18:18:36 +02:00
Coutinho de Souza
dcc1a9e659 nextcloud-client: fix type of systemd Service.Environment
See #5854
2024-09-19 18:18:08 +02:00
Coutinho de Souza
06c6695c8c grobi: fix type of systemd Service.Environment
See #5854
2024-09-19 18:17:44 +02:00
Coutinho de Souza
3670a03586 hound: fix type of systemd Service.Environment
See #5854
2024-09-19 18:17:05 +02:00
Coutinho de Souza
cacf2d27f6 kbfs: fix type of systemd Service.Environment
See #5854
2024-09-19 18:16:40 +02:00
Coutinho de Souza
397750d269 xsettings: fix type of systemd Service.Environment
See #5854
2024-09-19 18:15:43 +02:00
Coutinho de Souza
336c792b19 rsibreak: fix type of systemd Service.Environment
See #5854
2024-09-19 18:15:20 +02:00
Coutinho de Souza
80092fae03 mpd: fix type of systemd Service.Environment
See #5854
2024-09-19 18:14:54 +02:00
Coutinho de Souza
10fd27c291 kdeconnect: fix type of systemd Service.Environment
See #5854
2024-09-19 18:14:28 +02:00
Coutinho de Souza
ffc3a473e6 xembed-sni-proxy: fix type of systemd Service.Environment
See #5854
2024-09-19 18:13:59 +02:00
Coutinho de Souza
1d8296c46f flameshot: fix type of systemd Service.Environment
See #5854
2024-09-19 18:13:03 +02:00
Coutinho de Souza
b6204ff489 xscreensaver: fix type of systemd Service.Environment 2024-09-19 18:08:54 +02:00
home-manager-bot
7578176649 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/4f807e8940284ad7925ebd0a0993d2a1791acb2f?narHash=sha256-IiA3jfbR7K/B5%2B9byVi9BZGWTD4VSbWe8VLpp9B/iYk%3D' (2024-09-11)
  → 'github:NixOS/nixpkgs/99dc8785f6a0adac95f5e2ab05cc2e1bf666d172?narHash=sha256-gI9kkaH0ZjakJOKrdjaI/VbaMEo9qBbSUl93DnU7f4c%3D' (2024-09-16)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-19 13:31:52 +02:00
Robert Helgesson
d2493de5cd ci: remove 23.11 from dependabot 2024-09-18 00:14:15 +02:00
Matthew_Cash
4974dfb26e thunderbird: change settings type to json
Uses the JSON type, just like the Firefox module, so that nested sets
can be used.
2024-09-18 00:12:16 +02:00
bricked
4a4a8b1454 firefox: fix languagepacks policy 2024-09-17 19:20:22 +02:00
Andrew Marshall
a9c9cc6e50 sway: do not use pkgs.sway when cfg.package = null
- Implicitly disable checkConfig when `cfg.package = null` as we don’t
  have any exe to use for the check
- Implicitly disable `swaymsg reload` on activation, since we have no
  exe to use for running it

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

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

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

Add translation using Weblate (Hindi)

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

Translate using Weblate (Hungarian)

Currently translated at 97.2% (36 of 37 strings)

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

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

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

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

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

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


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

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

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

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

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

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

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

Translate using Weblate (Vietnamese)

Currently translated at 97.2% (36 of 37 strings)


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

Co-authored-by: goatastronaut0212 <goatastronaut0212@proton.me>
2024-08-02 22:21:05 +02:00
home-manager-bot
6e090576c4 flake.lock: Update
Flake lock file updates:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

GNOME and Plasma do the same thing.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Translate using Weblate (Polish)

Currently translated at 100.0% (37 of 37 strings)


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

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

Add translation using Weblate (Hungarian)

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

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

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

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-16 10:32:21 +02:00
midchildan
8d5e27b480 nix: add a declarative alternative to Nix channels (#4031)
* nix: add options 'nixPath' and 'keepOldNixPath'

By default, the system value for $NIX_PATH is kept as a fallback.
To completely override the system value for $NIX_PATH:

    nix.keepOldNixPath = false;

* nix: add more tests

* nix: add a declarative alternative to Nix channels

This adds a new option, 'nix.channels'. It's the Nix channels equivalent
of the 'nix.registry' option, and compatible with pre-Flake Nix tooling
including nix-env and nix-shell. Like 'nix.registry', this option is
useful for pinning Nix channels.

Channels defined in the new option can coexist with channels introduced
through the nix-channel command. If the same channel exists in both, the
one from Home Manager will be prioritized.

* nix: add news entry

* nix: make channels respect use-xdg-base-directories

* nix: remove 'with lib;'

---------

Co-authored-by: Michael Hoang <enzime@users.noreply.github.com>
2024-06-13 01:47:38 +00:00
Mathis H
892f76bd0a mpv: fix package if wrapMpv not found
`wrapMpv` was removed from nixpkgs since this PR:
https://github.com/NixOS/nixpkgs/pull/304349

Co-authored-by: Mario Rodas <marsam@users.noreply.github.com>
2024-06-11 23:35:34 +02:00
Matthieu Coudron
3d65009eff waybar: remove modules-* from defaults
Some prefer to handle modules-* imperatively for more flexibility, e.g.,
via waybar "includes" (https://github.com/Alexays/Waybar/wiki/Configuration).
Current HM defaults modules-* to `[]` instead of null for most other
settings, so they get written to ~/.config/waybar/config even though
no explicit configuration has been made.

And they take precedence over the imperative ones because of how
waybar's includes work:

====
Paths to additional configuration files.
Each file can contain a single object with any of the bar configuration options. In case of duplicate options, the first defined value takes precedence, i.e. including file -> first included file -> etc. Nested includes are permitted, but make sure to avoid circular imports.
For a multi-bar config, the include directive affects only current bar configuration object.
====
2024-06-09 13:14:04 +02:00
Mihai Fufezan
8a20efbb00 hyprland: install xwayland if enabled
Install the `xwayland` package if `cfg.xwayland.enable = true;`.
This allows XWayland to work without having to enable the NixOS Hyprland
option.
2024-06-09 13:11:01 +02:00
home-manager-bot
885c037109 flake.lock: Update
Flake lock file updates:

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

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

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

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

* actions/labeler: v4 -> v5

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

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

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

Signed-off-by: Sumner Evans <me@sumnerevans.com>
2024-06-03 22:41:47 -06:00
Dawid Dziurla
83bfe1bac8 nix-gc: add persistent option (#5490)
Mirrors the `nix.gc.persistent` option in nixpkgs:
https://search.nixos.org/options?channel=unstable&show=nix.gc.persistent&from=0&size=50&sort=relevance&type=packages&query=nix.gc.persistent
2024-06-03 22:20:47 -06:00
Matthieu Coudron
9b53a10f4c swayidle: wait for WAYLAND_DISPLAY
To avoid this kind of message:

    swayidle[181123]: - [Line 1054] Unable to connect to the compositor. If your compositor is running, check or set the WAYLAND_DISPLAY environment variable.
2024-06-02 10:16:22 +02:00
Weblate (bot)
62da78e1f8 Translate using Weblate (Vietnamese)
Currently translated at 22.2% (4 of 18 strings)

Translate using Weblate (Vietnamese)

Currently translated at 75.6% (28 of 37 strings)


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

Co-authored-by: goatastronaut0212 <goatastronaut0212@proton.me>
2024-06-02 10:15:15 +02:00
Weblate (bot)
bf3815854e Translate using Weblate (Finnish)
Currently translated at 55.5% (10 of 18 strings)

Translate using Weblate (Finnish)

Currently translated at 72.9% (27 of 37 strings)


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

Co-authored-by: jarre johansson <jarre@johansson.today>
2024-06-02 10:14:04 +02:00
github-actions[bot]
c497bdc12f flake.lock: Update
Flake lock file updates:

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

Switch to short style `-f` that should be supported on every platform.
2024-05-30 21:35:07 +02:00
Liassica
29c69d9a46 kdeconnect: fix service with 24.05 package version
The 24.05 update for KDE Connect moved the kdeconnectd binary from
`/libexec` to `/bin`, so this fix will check the version of the
package used and set the path accordingly.
2024-05-30 09:05:10 +02:00
Weblate (bot)
60b85414b4 Translate using Weblate (Korean)
Currently translated at 100.0% (37 of 37 strings)


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

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

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

If

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

is set in the system NixOS configuration, this allows defining

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

and still use

    home-manager switch --flake .

instead of having to type out

    home-manager switch --flake .#$(whoami)@$(hostname --fqdn)
2024-05-30 00:02:35 +02:00
XYenon
04bc391a90 yazi: support plugins and flavors 2024-05-29 11:29:08 +08:00
Sharzy
a9b36cbe92 gpg-agent: fix usage of splitString
`splitString "" "some string"` would throw exception `error: invalid
regular expression` on Darwin (or accurately, on Nix built against
libc++). Refer to https://github.com/NixOS/nix/issues/7208 for
details.

Before Nix handles that issue correctly, we should refrain from using
`splitString ""`, and luckliy `lib.stringAsChars` can do the same thing.
2024-05-28 23:15:11 +02:00
midchildan
373ead2060 tests: fix broken overlay in mpv test 2024-05-28 17:02:06 +02:00
Dee Anzorge
10c7c219b7 listenbrainz-mpd: fix config example 2024-05-28 00:07:22 +02:00
Phani Rithvij
90010df158 topgrade: update example config 2024-05-28 00:03:45 +02:00
Jany
939375b396 khal: add package option 2024-05-27 23:59:26 +02:00
Gabriel Fontes
7e769959e8 hyprland: onChange: remove subshell comment 2024-05-27 23:57:03 +02:00
Gabriel Fontes
7ac529c221 hyprland: onChange: check XDG_RUNTIME_DIR as well
The previous check false negatives in Hyprland >= 0.40.0
2024-05-27 23:57:03 +02:00
RoadRoller01
0cf552f39f bash: add missing 'ignoreboth' to historyControl
Reference: https://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html#index-HISTCONTROL
2024-05-27 23:52:55 +02:00
Austin Horstman
e8482a798f yazi: use builtin cd
cd conflicts with aliases that dont support -- syntax
2024-05-27 23:50:57 +02:00
Stanislav Asunkin
65e0f5aa25 eza: don't create shell aliases with empty args 2024-05-27 23:50:09 +02:00
Stanislav Asunkin
8f8eb15c6d fd: don't create shell aliases with empty args 2024-05-27 23:49:28 +02:00
nurelin
5d151429e1 kanshi: fix configuration example 2024-05-26 17:19:20 +02:00
home-manager-bot
b2a4ddf657 flake.lock: Update
Flake lock file updates:

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-26 10:13:35 +02:00
Robert Helgesson
e4611630c3 ci: fix manual build in sourcehut build 2024-05-26 01:25:03 +02:00
Robert Helgesson
d179da4e81 home-manager: prepare 24.11-pre 2024-05-25 22:13:25 +02:00
Robert Helgesson
548ba194d0 home-manager: prepare release 24.05 2024-05-25 22:13:25 +02:00
Robert Helgesson
850cb32204 ci: make dependabot consider the release-24.05
Also remove 23.05 from dependabot.
2024-05-23 11:45:08 +02:00
Robert Helgesson
25dedb0d52 version: allow 24.11 as state version 2024-05-23 09:07:00 +02:00
Nathan Henrie
e3ad5108f5 espanso: remove background process type on Darwin
This leads to a considerably slower expansion time for snippets, which
severely degrades the user experience.

Also, the launchd plist from the source omits this key:

    8daadcc949/espanso/src/res/macos/com.federicoterzi.espanso.plist

PR #5411
2024-05-17 09:24:04 +02:00
Nathan Henrie
65b74b2045 espanso: add n8henrie to maintainers 2024-05-16 16:03:33 -06:00
github-actions[bot]
44677a1c96 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/25865a40d14b3f9cf19f19b924e2ab4069b09588' (2024-05-05)
  → 'github:NixOS/nixpkgs/f1010e0469db743d14519a1efd37e23f8513d714' (2024-05-09)
2024-05-12 03:59:17 +00:00
Milo Moisson
d768262018 jujutsu: switch to XDG config home 2024-05-11 00:34:09 +02:00
winston
d939ce585c mopidy: make scan service depend on mopidy-local 2024-05-11 00:26:54 +02:00
Hraban Luyat
15d7ec3051 darwin: misc defaults (dock, menu clock, finder) 2024-05-11 00:04:45 +02:00
Akiyoshi Suda
5514ed3210 yambar: add module 2024-05-10 23:29:58 +02:00
ilkecan
f2c5ba5e72 fontconfig: add defaultFonts.* options 2024-05-10 18:48:17 +02:00
home-manager-bot
e6a315900d flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/63c3a29ca82437c87573e4c6919b09a24ea61b0f' (2024-05-02)
  → 'github:NixOS/nixpkgs/25865a40d14b3f9cf19f19b924e2ab4069b09588' (2024-05-05)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-05-10 18:26:25 +02:00
Sefa Eyeoglu
f55718aec3 hyprland: add support for XDG autostart using systemd
Using the option

    wayland.windowManager.hyprland.systemd.enableXdgAutostart

users can now choose to start applications present in
`$XDG_CONFIG_HOME/autostart` when starting their sway session.

See 0144ac418e and
https://github.com/nix-community/home-manager/pull/3747
2024-05-10 17:35:14 +02:00
Austin Horstman
223743313b hyprpaper: add module 2024-05-10 15:35:59 +02:00
Austin Horstman
c6ddd80fb1 hyprlock: add module 2024-05-10 14:08:21 +02:00
Vincent Gatine
4855bfb6ce kanshi: update configuration to better match upstream 2024-05-10 12:46:37 +02:00
afresquet
f61917cbaa fastfetch: add module
PR #5363
2024-05-10 12:42:39 +02:00
Bruno Bigras
6e277d9566 jujutsu: add ediff option
Based on <https://github.com/martinvonz/jj/wiki/Emacs#ediff-as-a-merge-tool>.
2024-05-07 12:25:03 +02:00
Tad Fisher
6ebe7be2e6 gnome-shell: add module 2024-05-06 09:44:34 +02:00
Léo DUBOIN
2b87a11125 git: add realName inside From field
We currently have no way of specifying the sender's name inside the
From field, making a patch sent through `git send-email` appear as
coming from "xxx@domain.com".

In this commit we make this field follow the standard

    realName <email>

format.
2024-05-06 08:17:53 +02:00
Daru
3dfe05aa9b wlsunset: update options 2024-05-05 19:59:14 +02:00
Austin Horstman
fdaaf543ba hypridle: add module 2024-05-05 11:13:18 +02:00
Ryan
f69bf670d2 cliphist: add extraOptions option
Add an extraOptions option that would be appended to the cliphist
command.
2024-05-05 09:37:54 +02:00
github-actions[bot]
2a44f4d09f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/58a1abdbae3217ca6b702f03d3b35125d88a2994' (2024-04-27)
  → 'github:NixOS/nixpkgs/63c3a29ca82437c87573e4c6919b09a24ea61b0f' (2024-05-02)
2024-05-05 03:59:36 +00:00
9p4
e0825ea211 swaync: fix style path 2024-05-05 01:28:16 +02:00
home-manager-bot
9036fe9ef8 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7bb2ccd8cdc44c91edba16c48d2c8f331fb3d856' (2024-04-25)
  → 'github:NixOS/nixpkgs/58a1abdbae3217ca6b702f03d3b35125d88a2994' (2024-04-27)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-05-02 21:58:28 +02:00
Keivan
67d0e7db88 Translate using Weblate (Persian)
Currently translated at 11.1% (2 of 18 strings)

Translate using Weblate (Persian)

Currently translated at 100.0% (37 of 37 strings)

Co-authored-by: Keivan <keyvan0082@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/fa/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/fa/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2024-05-02 12:58:30 +02:00
Kaleo
6d3b6dc922 conky: add module 2024-05-01 00:11:15 +02:00
Kaleo
28ef93bb8e maintainers: add kaleocheng 2024-04-30 23:56:41 +02:00
Vonixxx
3c0df2a7e4 freetube: add module 2024-04-30 23:34:12 +02:00
Lichthagel
f8e6694eda files: make collision error message more helpful
Most importantly, also indicate how to use file backup for NixOS and
nix-darwin modules.
2024-04-30 00:41:45 +02:00
Yomi Ikuru
5632659886 swaync: add module
Co-authored-by: Ryan Horiguchi <rhoriguchi@users.noreply.github.com>
2024-04-30 00:16:28 +02:00
Yomi Ikuru
0125041fc9 maintainers: add abayomi185 as maintainer 2024-04-30 00:12:13 +02:00
Austin Horstman
4fe1f064bd hyprland: use lib.generators.toHyprconf 2024-04-30 00:07:06 +02:00
Austin Horstman
9fdd301a5e lib/generators: toHyprconf init
Create shared hyprlang generator for mainting Hyprland ecosystem.
2024-04-30 00:07:06 +02:00
Gabriel Birke
1a91cb7cdb neomutt: allow binds to override vimKeys
In the generated neomutt configuration, source the optional
`vim-keys.rc` before applying the `binds` configuration, to allow the
user to override keybindings from `vim-keys.rc`.

Adapt the test files to account for the empty space left by the unset
`vimKeys` option.
2024-04-29 23:54:54 +02:00
Kento Okamoto
7ec0ae18cd Translate using Weblate (Japanese)
Currently translated at 89.1% (33 of 37 strings)

Co-authored-by: Kento Okamoto <kentokamoto@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ja/
Translation: Home Manager/Home Manager CLI
2024-04-29 23:26:45 +02:00
Michael Thomas
ba97ffcfb2 Translate using Weblate (French)
Currently translated at 100.0% (37 of 37 strings)

Co-authored-by: Michael Thomas <michaelhthomas@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/fr/
Translation: Home Manager/Home Manager CLI
2024-04-29 23:26:45 +02:00
IldenH
08d3cbfe4d firefox: update extensions option description 2024-04-29 23:02:59 +02:00
Lichthagel
b8d81ef15e mpv: add extraInput option 2024-04-29 19:55:57 +02:00
Alvaro Fresquet
2af7c78b7b thefuck: add nushell integration 2024-04-29 09:53:42 +02:00
Joaquín Triñanes
9fe79591c1 direnv: add nix-direnv to lib instead of sourcing
Also removes use of `with lib`.
2024-04-29 00:30:45 +02:00
Maciej Zwoliński
c002bc08c8 cliphist: support images in clipboard history 2024-04-28 23:51:59 +02:00
home-manager-bot
02002a08b4 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6143fc5eeb9c4f00163267708e26191d1e918932' (2024-04-21)
  → 'github:NixOS/nixpkgs/7bb2ccd8cdc44c91edba16c48d2c8f331fb3d856' (2024-04-25)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-28 22:43:49 +02:00
Jan Schmitz
d1980931de psd: add module
PR #5349
2024-04-28 22:39:08 +02:00
Gabriel Fontes
c1609d584a xdg-portal: improve description of enable option
Specifically, add note about useUserPackages and pathsToLink. As
suggested in
<https://github.com/nix-community/home-manager/pull/5158#issuecomment-2012171515>.
2024-04-27 09:40:03 +02:00
Robert Hensing
26e72d85e6 home-manager: set module class to "homeManager"
This enables a module system feature documented here:
https://nixos.org/manual/nixpkgs/stable/index.html#module-system-lib-evalModules-param-class

For example, it allows a mistake to be caught, which is loading a
NixOS module into home-manager. This only works when the offending
module declares what it's for with a `_class` attribute.

It is not expected that users declare the `_type`, because the payoff
is small. It is only expected to be set by generic code, such as
functions or libraries that help with the "publishing" of modules
(e.g. flake-parts, flake-utils).

The class feature has been available in the module system since
https://github.com/NixOS/nixpkgs/pull/197547, merged May 6, 2023. It
has been part of all releases since 23.05-beta. The last NixOS release
that did _not_ support it has been end-of-life for close to a year
now.

Example:

    (lib.homeManagerConfiguration {
      pkgs = nixpkgs.legacyPackages.x86_64-linux;
      modules = [{ _class = "nixos"; imports = [ ./foo.nix ]; }];
    }).activation-script

Corresponding error:

    error: The module <unknown-file> was imported into homeManager instead of nixos.

(`<unknown-file>` can be improved by also setting `_file`, if known; a
much older feature)

PR #5339
2024-04-27 09:28:21 +02:00
Luna Nova
0c5704ecee home-manager: make newsReadIdsFile more reliable
Specifically, avoid duplicate remove duplicate slashes in the
`news-read-ids` file path.

Also quote the use of `newsReadIdsFile` to reduce problems with
potential spaces.
2024-04-25 13:01:58 +02:00
Languages add-on
6864ca2d26 Add translation using Weblate (Icelandic)
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
2024-04-25 12:04:16 +02:00
Bjarki Gunnarsson
3ebcff8d12 Translate using Weblate (Icelandic)
Currently translated at 13.5% (5 of 37 strings)

Add translation using Weblate (Icelandic)

Co-authored-by: Bjarki Gunnarsson <bjarkihg@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/is/
Translation: Home Manager/Home Manager CLI
2024-04-25 12:04:15 +02:00
home-manager-bot
4c157f84e8 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5c24cf2f0a12ad855f444c30b2421d044120c66f' (2024-04-19)
  → 'github:NixOS/nixpkgs/6143fc5eeb9c4f00163267708e26191d1e918932' (2024-04-21)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-25 12:04:09 +02:00
Johan Runsten
2f072c127c zsh: use correct autosuggestion color variable (#5320)
To configure zsh's autosuggest "highlight style" we use ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE but it's currently set to AUTOSUGGESTION_HIGHLIGHT_COLOR (via autosuggestion.highlight). This change was apparently made back in 2016 or earlier.
2024-04-24 22:59:02 +02:00
Sergio Ribera
bfa7c06436 swayosd: add custom style option 2024-04-23 23:09:45 +02:00
dotconfig404
33a20182e3 home-manager: improve session variables comment 2024-04-23 19:49:42 +02:00
Samuel Tschiedel
67de98ae6e tealdeer: documentation typo 2024-04-22 22:38:46 +02:00
nat
e866aae5bb amberol: add module
Amberol is a small and simple music player.
2024-04-22 20:06:31 +02:00
quasigod
1451d2866d foot: unset PATH in server's systemd unit file
This reverts commit 40ab43ae98.
2024-04-22 18:04:34 +02:00
paki23
e2e7ea9b8f kconfig: fix missing quoting 2024-04-22 17:21:19 +02:00
bittin1ddc447d824349b2
2ad154bd1b Translate using Weblate (Swedish)
Currently translated at 100.0% (37 of 37 strings)

Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/sv/
Translation: Home Manager/Home Manager CLI
2024-04-22 14:44:43 +02:00
Nicolas Goudry
46833c3115 bat: allow overriding package (#5301) 2024-04-22 14:44:39 +02:00
Mirko Lenz
670d9ecc3e poetry: add module 2024-04-21 22:53:14 +02:00
zorrobert
2846d5230a joplin-desktop: allow undefined options
This PR fixes two issues that cause rebuild to fail, see #5222.

The first was caused when sync.target and sync.interval were not set,
this was fixed by changing the default values from null to "undefined"
and filtering these out later.

The second error occurred when the .config/joplin-desktop directory
didn't exist (e.g. when installing Joplin for the first time) which
caused the touch command to fail. This was fixed using mkdir to ensure
that .config/joplin-desktop exists.
2024-04-21 17:24:52 +02:00
JulianFP
ad83c154bd qt: fix qt.platformTheme = "gtk3" 2024-04-21 15:53:39 +02:00
JulianFP
147b5a5e1c qt: fix platform theme package install 2024-04-21 15:53:39 +02:00
home-manager-bot
4cec20dbf5 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5672bc9dbf9d88246ddab5ac454e82318d094bb8' (2024-04-16)
  → 'github:NixOS/nixpkgs/5c24cf2f0a12ad855f444c30b2421d044120c66f' (2024-04-19)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-21 08:49:42 +02:00
Coutinho de Souza
057117a401 kdeconnect: fix "tray.target" requires
The PR #5299[0] actually adds the requirement on "tray.target" for the
kdeconnect service, when kdeconnect-indicator is set to true. What it
should do is add the requirement directly to the latter. This commit
fixes it.

[0]: https://github.com/nix-community/home-manager/pull/5299#issue-2252834123
2024-04-20 00:38:28 +02:00
Robert Helgesson
a204082274 firefox: fix test 2024-04-20 00:02:59 +02:00
Andrew Marshall
3a435342e2 sway: check config file validity
Helps avoid successful build but Sway failing to start.

To meaningfully test this, I had to actually use `pkgs.sway` in the
test rather than the stub, but left all other tests using the stub and
changed them to skipping the test.

We need to pass `--unsupported-gpu` as Sway checks for `nvidia` in
`/proc/modules`, and the Nix sandbox has `/proc/modules` available.
2024-04-19 23:16:55 +02:00
Andrew Marshall
95888b153c sway: writeText -> writeTextFile
The latter is more flexible and shall be used soon, splitting this
change out for simpler diff later.
2024-04-19 23:11:30 +02:00
Oğuz Ersen
7c61e400a9 Translate using Weblate (Turkish)
Currently translated at 100.0% (37 of 37 strings)

Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/tr/
Translation: Home Manager/Home Manager CLI
2024-04-19 19:26:10 +02:00
Felipe Silva
991f6fafce Translate using Weblate (Portuguese)
Currently translated at 100.0% (37 of 37 strings)

Translate using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (18 of 18 strings)

Translate using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (37 of 37 strings)

Co-authored-by: Felipe Silva <hey@felipeqq2.rocks>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/pt/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/pt_BR/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2024-04-19 19:26:09 +02:00
gallegonovato
5682ccdcaf Translate using Weblate (Spanish)
Currently translated at 100.0% (37 of 37 strings)

Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/es/
Translation: Home Manager/Home Manager CLI
2024-04-19 19:26:09 +02:00
Masum Reza
938357cb23 hyprland: remove enableNvidiaPatches option
Hyprland no longer requires patching to work on Nvidia.
2024-04-19 19:25:59 +02:00
Pasquale
6a171bfd84 kconfig: add module 2024-04-19 17:36:11 +02:00
Cynthia Fox
1f305c363e remmina: add module
Adds a module to enable managing Remmina, an RDP client, with a Home
Manager module, providing a systemd service and mimetype integration
that can be disabled if so desired.
2024-04-19 17:16:42 +02:00
Ivan Leshchenko
31c77dcc2e sway: systemd customization 2024-04-19 17:15:54 +02:00
Ramses
068dd4ae29 alacritty: cleanup after 0.13 merge in nixpkgs 2024-04-19 16:57:02 +02:00
Ramses
7ca7025cf2 alacritty: fix escape sequence in example and test
See https://github.com/nix-community/home-manager/pull/4817#discussion_r1441710049
2024-04-19 16:26:23 +02:00
Coutinho de Souza
dc906b197b kdeconnect: require "tray.target" for kdeconnect
Since kdeconnect-indicator is a tray application, it should require
"tray.target", as is the case for flameshot[0].

[0]: b1a5b3d6a5/modules/services/flameshot.nix (L58)
2024-04-19 14:22:32 +02:00
Raito Bezarius
0184c8180f neomutt: add some options
Superficially, allow source primary account by default and show
default mailbox.
2024-04-19 13:56:54 +02:00
Felipe Silva
b1a5b3d6a5 vdirsyncer: set postHook to null when not set (#5294)
The `postHook` option was being processed and reset to a string, even if
the user set it to null, causing issues under certain conditions (see

Using `if-then-else` instead of `optionalString` keeps the option as
null, instead of setting it to an empty string.
2024-04-19 13:01:05 +02:00
diniamo
b62cad68b7 spotify-player: add module 2024-04-19 12:39:30 +02:00
Danil Suetin
b5b2b1ac63 helix: add ignores option 2024-04-19 12:05:08 +02:00
Henri Sota
8ff7bb3f4d tofi: add module 2024-04-19 11:32:49 +02:00
Robert Helgesson
f3506ba86c bash: add bash package to home.packages
Fixes #5295
2024-04-19 09:55:03 +02:00
uncenter
ffc3600f40 fd: add module 2024-04-19 00:31:16 +02:00
Robert Helgesson
ff1c364654 qt: merge PR 5156 2024-04-19 00:28:00 +02:00
tschai-yim
54e35e0e1c qt: use warnings API 2024-04-18 23:29:12 +02:00
Tschai
be2b17615c qt: fix adwaita decorations link
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
2024-04-18 23:25:50 +02:00
tschai-yim
b31019d64f qt: add adwaita platform theme
Fixes #4702 and https://github.com/NixOS/nixpkgs/issues/295345.
2024-04-18 23:25:50 +02:00
Hosted Weblate
7cebe921ea Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2024-04-18 17:26:10 +02:00
Robert Helgesson
178e26895b home-manager: error out on missing option argument
Instead of an error

    line 958: $1: unbound variable

we now emit an error such as

    missing argument for --cores

Note, this is not perfect. In many cases you still get sub-optimal
error messages.
2024-04-18 17:25:13 +02:00
a-kenji
f46814ec7c treewide: prefer the official wiki 2024-04-17 23:58:16 +02:00
home-manager-bot
93b917d49f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1042fd8b148a9105f3c0aca3a6177fd1d9360ba5' (2024-04-10)
  → 'github:NixOS/nixpkgs/5672bc9dbf9d88246ddab5ac454e82318d094bb8' (2024-04-16)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-17 23:56:40 +02:00
Pol Dellaiera
fa8c16e245 systemd: add enable option 2024-04-16 21:12:47 +02:00
dependabot[bot]
1c43dcfac4 ci: bump peaceiris/actions-gh-pages from 3 to 4
Bumps [peaceiris/actions-gh-pages](https://github.com/peaceiris/actions-gh-pages) from 3 to 4.
- [Release notes](https://github.com/peaceiris/actions-gh-pages/releases)
- [Changelog](https://github.com/peaceiris/actions-gh-pages/blob/main/CHANGELOG.md)
- [Commits](https://github.com/peaceiris/actions-gh-pages/compare/v3...v4)

---
updated-dependencies:
- dependency-name: peaceiris/actions-gh-pages
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-15 09:42:51 +02:00
Nathan Henrie
59d50bc582 espanso: enable module on darwin 2024-04-15 09:40:27 +02:00
Jose Plana
9f32c66a51 k9s: configuration files in Darwin without XDG
Support alternate configuration files for k9s in darwin where XDG is
not mandated and k9s expects configuration files in
`~/Library/Application Support/k9s/`.
2024-04-14 23:48:01 +02:00
Jose Plana
76a1650c45 k9s: fix typos in configuration file names 2024-04-14 23:47:45 +02:00
Philipp Mildenberger
630a0992b3 nushell: fix nushell config path on darwin 2024-04-14 08:58:16 +02:00
home-manager-bot
4cc3c91601 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/fd281bd6b7d3e32ddfa399853946f782553163b5' (2024-04-03)
  → 'github:NixOS/nixpkgs/1042fd8b148a9105f3c0aca3a6177fd1d9360ba5' (2024-04-10)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-14 08:56:05 +02:00
Mitchell Skaggs
f33d5086d3 rio: remove redundant lib.mdDoc call
This is an error as of https://github.com/NixOS/nixpkgs/pull/303841

It seems to have been missed in https://github.com/nix-community/home-manager/pull/4215
2024-04-13 12:59:33 -05:00
MiSumiSumi
8fdf329526 neovim: enable use of external package manager (#5225)
* neovim: add extraWrapperArgs option

pass external arguments to neovim-unwrapper
this gives users more flexibility in managing neovim configuration

* neovim: add test for `extraWrapperArgs`
2024-04-13 16:50:15 +02:00
Bryn Edwards
40ab43ae98 foot: set PATH in server's systemd unit file
If not set, foot's terminal spawning shortcut will not work as the
`footclient` binary is not on the server's PATH.
2024-04-13 08:27:43 +02:00
Ramses
31357486b0 fish: use the subcommand style for the status command (#4584)
The flag style has been deprecated and will eventually be removed.
2024-04-10 16:39:52 +02:00
Tony Zorman
18f89ef74f firefox: add containersForce flag
Firefox, upon exit, creates the default containers.json file in place of
the one that home-manager created. This leads to errors when switching
to a new profile, as home-manager is careful with overwriting existing
files. The added option toggles that behaviour.

Closes: https://github.com/nix-community/home-manager/issues/4989
2024-04-10 08:29:32 +02:00
Jack W
b00d0e4fe9 bun: add module 2024-04-09 20:48:15 +02:00
Mario Rodas
40a99619da fzf: add compatibility with fzf≥0.48.0
fzf 0.48.0 [1] changed the way it integrates with shells.

[1] https://github.com/junegunn/fzf/releases/tag/0.48.0
2024-04-09 08:57:29 +02:00
github-actions[bot]
a561ad6ab3 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d8fe5e6c92d0d190646fb9f1056741a229980089' (2024-03-29)
  → 'github:NixOS/nixpkgs/fd281bd6b7d3e32ddfa399853946f782553163b5' (2024-04-03)
2024-04-07 03:59:32 +00:00
Smaug123
b787726a84 home-manager: extract inline shell script to file 2024-04-06 10:04:27 +02:00
O. C. Taskin
782eed8bb6 programs.khal: add "addresses" option + tidy up (#5221)
- Add `accounts.<calendar|contact>.accounts.<name>.khal.addresses`
  option to enable new configuration option, "addresses", from khal,
  which is used for showing participation status [1].
- Remove mistaken new line in khal implementation, refer to [2].
- Make additions to the existing test case to check the new addresses
  feature. And remove the empty lines in expected configs.

[1]: https://khal.readthedocs.io/en/latest/configure.html#the-calendars-section
[2]: https://github.com/nix-community/home-manager/pull/5192#pullrequestreview-1975091763
2024-04-05 13:48:20 +02:00
Weblate (bot)
1ffd393cba Translate using Weblate (Catalan)
Currently translated at 100.0% (36 of 36 strings)


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

Co-authored-by: Leix b <abone9999@gmail.com>
2024-04-05 13:47:15 +02:00
Gabriel Venberg
0c73c1b8da zoxide: remove obsolete workaround
Since version 9.3, zoxide has updated its nusehll init script to work
with the latest version of nushell.
2024-04-04 23:29:27 +02:00
Nathaniel Barragan
9de3aab091 kdeconnect: add package option 2024-04-04 23:08:04 +02:00
Vonfry
7e91f2a0ba xmonad: fix cp failure if libFiles with subdirectories 2024-04-04 08:26:54 +02:00
LilleAila
80546b220e Translate using Weblate (Norwegian Bokmål)
Currently translated at 94.4% (17 of 18 strings)

Translate using Weblate (Norwegian Bokmål)

Currently translated at 86.1% (31 of 36 strings)

Co-authored-by: LilleAila <olai.solsvik@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/nb_NO/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2024-04-02 23:39:15 +02:00
SMFloris
58e5ae81ce Translate using Weblate (Romanian)
Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: SMFloris <floris.sm@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ro/
Translation: Home Manager/Home Manager CLI
2024-04-02 23:39:15 +02:00
Petr Portnov | PROgrm_JARvis
aca33e9955 Translate using Weblate (Russian)
Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: Petr Portnov | PROgrm_JARvis <mrJARVIScraft@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ru/
Translation: Home Manager/Home Manager CLI
2024-04-02 23:39:15 +02:00
quasigod
81cd71995a hyprland: fix systemd variables example 2024-04-02 23:39:11 +02:00
Jalil David Salamé Messina
e429a60900 bacon: add default value for settings
Currently you need to specify the settings if you want to use bacon, but
the empty settings works and is the default upstream:

- <https://dystroy.org/bacon/config/>
- [default `prefs.toml`][1]

[1] https://raw.githubusercontent.com/Canop/bacon/main/defaults/default-prefs.toml
2024-04-02 17:23:59 +02:00
Jalil David Salamé Messina
6396954c0d bacon: add package option
Allows overriding the package with a different version. Useful if you
need a different version and don't want (or can't) use an overlay.
2024-04-02 17:23:59 +02:00
Kareem-Medhat
4be0464472 home-manager: fix missing string context
The `home-manager` package was being passed a `path` string pointing a
store path while the string didn't have context. As a result the
`home-manager` derivation was created without this path as an input
source allowing it to be garbage collected even though it it being
used by the `home-manager` script. This in turn caused certain
warnings and errors to occur.
2024-04-02 02:05:46 +02:00
Matthieu Coudron
820be197cc programs.khal: ability to set RGB color (#5192)
The current module constrains to values in enum but khal supports RGB
colors as well
khal.readthedocs.io/en/latest/configure.html#the-calendars-section !
(be careful when setting an RGB value, it has to be quoted else it is ignored, got bitten by it with a manual config )

NB: It's also not possible to set addresses khal.readthedocs.io/en/latest/configure.html#the-calendars-section
2024-03-31 22:06:56 +02:00
home-manager-bot
30f2ec3951 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b06025f1533a1e07b6db3e75151caa155d1c7eb3' (2024-03-19)
  → 'github:NixOS/nixpkgs/d8fe5e6c92d0d190646fb9f1056741a229980089' (2024-03-29)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-03-31 09:07:48 +02:00
Nguyen Khanh
c09deb869b Translate using Weblate (Vietnamese)
Currently translated at 5.5% (1 of 18 strings)

Translate using Weblate (Vietnamese)

Currently translated at 33.3% (12 of 36 strings)

Translate using Weblate (Vietnamese)

Currently translated at 11.1% (4 of 36 strings)

Co-authored-by: Nguyen Khanh <nguynkhan479@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/vi/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/vi/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2024-03-28 12:35:24 +01:00
Robert Helgesson
c0ef0dab55 home-environment: fix formatting 2024-03-28 12:33:23 +01:00
Shaw Vrana
3142bdcc47 readline: optionally place config file in XDG dir
Based on PR #4189
2024-03-28 06:48:10 +01:00
Graham Bennett
179f6acaf7 antidote: Use builtins.storeDir (#5182)
This allows the module to work for non-/nix stores.
2024-03-27 09:45:49 -06:00
Sumner Evans
eb869521cb darkman: allow no configuration
Closes #4779

Signed-off-by: Sumner Evans <me@sumnerevans.com>
2024-03-26 14:24:49 -06:00
Robert Helgesson
1c2c5e4cab home-manager: fix nix-build option -q
The `-q` option does not actually exist, nix-build expects `--quiet`.
2024-03-22 19:46:20 +01:00
Evgeny Kurnevsky
19b87b9ae6 vdirsyncer: add urlCommand and userNameCommand options 2024-03-22 16:56:17 +01:00
Gabriel Fontes
1c2acec999 xdg-portal: align with NixOS module
Nixpkgs has recently made a few major changes to its
xdg-desktop-portal package, which silently breaks our module here:

- The NIXOS_XDG_DESKTOP_PORTAL_CONFIG_DIR variable patch has been
  removed (in favor of putting portal configurations in /etc or
  XDG_CONFIG_HOME).

- A new variable, NIX_XDG_DESKTOP_PORTAL_DIR, was introduced in a
  patch to avoid setting XDG_DESKTOP_PORTAL_DIR (which also affected
  portal configuration reading, not only portal definitions)

I updated our module to match the changes, but this breakage also made
me revisit this module and look into some improvements.

Long story short, I think it's worth it to make it more similar to the
NixOS one, as it will make behavior more predictable and consistent.
The main change is relying on the upstream linked systemd
unit (instead of using systemd.user.services), and setting the
environment variables globally instead of scoping it to the unit, as
it's a very global thing anyway.
2024-03-20 23:41:55 +01:00
github-actions[bot]
3583fea786 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d691274a972b3165335d261cc4671335f5c67de9' (2024-03-14)
  → 'github:NixOS/nixpkgs/b06025f1533a1e07b6db3e75151caa155d1c7eb3' (2024-03-19)
2024-03-20 03:59:22 +00:00
honnip
022464438a Translate using Weblate (Korean)
Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: honnip <me@honnip.page>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ko/
Translation: Home Manager/Home Manager CLI
2024-03-19 05:01:46 +01:00
home-manager-bot
6665da45dd flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3030f185ba6a4bf4f18b87f345f104e6a6961f34' (2024-03-09)
  → 'github:NixOS/nixpkgs/d691274a972b3165335d261cc4671335f5c67de9' (2024-03-14)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-03-18 23:22:02 +01:00
Scott Edlund
93dcc3daa9 nix.gc: let systemd use any time config 2024-03-18 22:42:09 +01:00
Robert Helgesson
baf7659448 kime: remove documentation dependency on config 2024-03-18 22:13:07 +01:00
s.seidenath
865bef3435 kime: fix configuration
Switches the kime configuration format to use unstructured text. This
is necessary since version 3 and upwards use YAML tags.
2024-03-18 22:12:53 +01:00
Robert Helgesson
7b3fca5adc docs: minor fixes of guidelines 2024-03-17 23:35:57 +01:00
Michael Peyton Jones
206f457fff prezto: be caseSensitive by default
See https://github.com/nix-community/home-manager/issues/2255.

This causes a really noticeable slowdown that is quite hard to track
down!
2024-03-15 20:59:21 +01:00
Icy-Thought
c781b28add zsh: add patterns option to syntax-highlighting 2024-03-15 19:29:51 +01:00
Icy-Thought
b004e47e03 zsh: correct link for syntax-highlighting styles 2024-03-15 19:29:51 +01:00
Matthieu Coudron
3ad5c12f3c zsh: set autosuggestion color
Before, one could only toggle autosuggestion. This allows to set the
style as well.
2024-03-15 18:18:53 +01:00
Sofie
dc2f3812b4 nix-gc: add daily frequency option
The systemd.time documentation defines the shorthands `daily` and
`minutely` which are currently not included in the nix-gc module.

This commit adds the `daily` option, but omits `minutely` since it's not
a timescale that would make sense to run a gc for.

https://www.freedesktop.org/software/systemd/man/latest/systemd.time.html
2024-03-15 13:36:03 +01:00
Patrick Widmer
ca922258e1 senpai: switch to scfg format 2024-03-15 11:42:17 +01:00
Gabriel Arazas
029545350c activitywatch: add module 2024-03-15 09:39:56 +01:00
Kylie McClain
096d9c04b3 qutebrowser: actually implement unbinding
The documentation for the option says...

> If you want a default binding to be passed through to the website,
> bind it to null.

but if you actually try to set a key to `null`, it causes an error.

> A definition for option
> `programs.qutebrowser.keyBindings."<Ctrl+Shift+Tab>".normal' is not
> of type `strings concatenated with " ;; "'.

So this commit implements unbinding as it is documented.
2024-03-14 22:38:52 +01:00
nbelakovski
35536fc6d6 docs: update beets and description of overriding packages
The beets package no longer has the "enableCheck" option so this was
confusing. Also the word override was used to mean two different
things so I modified the FAQ to use the word "change" and linked to
documentation regarding package overrides.
2024-03-14 21:20:04 +01:00
RepentantKnight121
601c22f8af Translate using Weblate (Vietnamese)
Currently translated at 8.3% (3 of 36 strings)

Co-authored-by: RepentantKnight121 <repentantknight121@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/vi/
Translation: Home Manager/Home Manager CLI
2024-03-14 20:55:02 +01:00
Sagi Sarussi
ec4096e900 eza: fix typo in docs
Changes "rograms.eza.enableAliases" to "programs.eza.enableAliases".
2024-03-14 20:54:58 +01:00
zorrobert
bd9141ea97 fusuma: add missing dependencies 2024-03-14 18:08:10 +01:00
Phillip Cloud
587719494e gpg-agent: fix broken variable reference 2024-03-14 14:45:55 +01:00
Bruno BELANYI
1ab3cec3a1 rbw: simplify 'pinentry' type
Following some upstream changes [1], it's now possible to use a simplified
package type for the option.

[1]: https://github.com/NixOS/nixpkgs/pull/133542
2024-03-14 08:29:43 +01:00
Bruno BELANYI
01e4a5143e gpg-agent: migrate to 'pinentryPackage'
This follows upstream's module change [1], which allows setting any
package as a pinentry program.

[1]: https://github.com/NixOS/nixpkgs/pull/133542
2024-03-14 08:22:26 +01:00
Robert Helgesson
2f0db7d418 joplin-desktop: fix maintainer field 2024-03-13 18:11:23 +01:00
zorrobert
383296ffa4 joplin-desktop: add module
PR #5020
2024-03-13 14:28:30 +01:00
Robert Helgesson
a82cdd288e offlineimap: disable starttls if tls is disabled
Fixes #5097
2024-03-13 13:47:31 +01:00
Norbert Melzer
0906e8dfe7 eza: use mkDefault for aliases
Using `mkDefault` for the individual aliases makes it easier to
override or replace individual entries by the user, without having to
use `mkForce` which is often confusing for new users.
2024-03-13 13:46:29 +01:00
ShalokShalom
31abb4f6bc docs: fix broken link 2024-03-13 13:45:11 +01:00
Pim Snel
1b74e3679e docs: update home-manager-option-search URL 2024-03-13 12:25:47 +01:00
github-actions[bot]
dab2437ca0 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9df3e30ce24fd28c7b3e2de0d986769db5d6225d' (2024-03-06)
  → 'github:NixOS/nixpkgs/3030f185ba6a4bf4f18b87f345f104e6a6961f34' (2024-03-09)
2024-03-13 03:59:21 +00:00
Mathis H
49a266d2ca hyprland: add option for per-input device configs 2024-03-12 23:16:18 +01:00
michaelBelsanti
a500de54b2 eza: replace enableAliases with integration options 2024-03-12 20:53:35 +01:00
Philipp Kühn
017b12de5b neomutt: adding unmailboxes option
Adding unmailboxes option to neomutt, which adds the `unmailboxes`
option it to every account.email with neomutt enabled.

See https://www.mutt.org/doc/manual/#mailboxes for more.
2024-03-11 14:44:17 +01:00
Lin Xianyi
36f873dfc8 pqiv: add extraConfig option 2024-03-10 10:20:21 +01:00
Matt Wittmann
fe4180ad3f bat: handle existing cache in activation script
Run `bat cache --build` in an empty directory to work around failure
when ~/cache exists.
2024-03-10 08:19:10 +01:00
github-actions[bot]
fbec898387 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b8697e57f10292a6165a20f03d2f42920dfaf973' (2024-03-03)
  → 'github:NixOS/nixpkgs/9df3e30ce24fd28c7b3e2de0d986769db5d6225d' (2024-03-06)
2024-03-10 03:59:25 +00:00
Igor
b0b0c3d943 targets/generic-linux: use xdg path for defexpr
Fixes warnings about the non-existent `~/.nix-defexpr` folder when
using `use-xdg-base-directories = true`.

Example:

    warning: Nix search path entry '/home/user/.nix-defexpr/channels' does not exist, ignoring
    Starting Home Manager activation
    Activating checkFilesChanged
    Activating checkLinkTargets
    Activating writeBoundary
    Activating installPackages
    replacing old 'home-manager-path'
    installing 'home-manager-path'
    Activating dconfSettings
    Activating linkDesktopApplications
    Activating linkGeneration
    Cleaning up orphan links from /home/user
    No change so reusing latest profile generation 13
    Creating home file links in /home/user
    Activating onFilesChange
    Activating reloadSystemd
    warning: Nix search path entry '/home/user/.nix-defexpr/channels' does not exist, ignoring
2024-03-09 13:43:12 +01:00
Liassica
16311f1d3c borgmatic: add option for pattern matching
Borgmatic has support for Borg's pattern matching. It is mutually
exclusive with the existing `sourceDirectories` option, so assertions
have been added to make sure that both are not set at the same
time (but also that at least one of them is). Additionally, tests have
been added to test the following configurations: `patterns` instead of
`sourceDirectories`, both at the same time, and neither.
2024-03-09 13:27:20 +01:00
V
17431970b4 files: fix activation under Nix 2.3
In Nix 2.3, all GC roots must be stored under `/nix/var/nix/gcroots`,
unless `--indirect` is specified. In Nix 2.4 and above, this flag is
ignored, because all GC roots created by `--add-root` are indirect.

Change-Id: I3eb3d7bc774af2ff336a2cdf312d30a99cdcb928
2024-03-08 23:54:42 +01:00
V
b3a9fb9d05 treewide: stop run from discarding error messages
In most cases where this function is used, suppressing only the standard
output is more appropriate. Culling diagnostic output hides error
messages and makes debugging more difficult and confusing.

`$DRY_RUN_NULL`, which the `--silence` flag replaced, was used both for
suppressing standard output on its own, and for doing so along with
diagnostic output; however, when the `run` function was added this
distinction was lost, and both outputs would be discarded.

This reintroduces the needed functionality, and changes usages of
`--silence` to `--quiet` where previously only standard output was
suppressed, or where this should have probably been the case anyway.

Change-Id: Ifb1b52a1d1eea0117261c782d686ad7c71b43162
2024-03-08 23:54:42 +01:00
Filip Pobořil
bfc438e9b7 ranger: add module 2024-03-08 23:35:34 +01:00
Silmar
b550d074fb zk: add module 2024-03-08 23:26:08 +01:00
Robert Helgesson
8b07ca5419 rio: fix docbookisms 2024-03-08 14:20:18 +01:00
David Sánchez
9a3a5b4402 rio: use XDG config for both linux and darwin
`rio` now uses the same config location for both Linux and macOS:

> MacOS and Linux configuration file path is `~/.config/rio/config.toml`.

Ref: https://raphamorim.io/rio/docs/configuration-file
2024-03-08 14:18:28 +01:00
Clément DOUIN
417015af0d himalaya: adjust code for v1.0.0-beta.3 2024-03-08 13:58:55 +01:00
Roberto Abdelkader Martínez Pérez
0c65bfa3cf git-sync: allow passing extraPackages to service
Sometimes extra packages are needed to successfully update a
repository, for example, git-sync.
2024-03-08 13:18:39 +01:00
novenary
1283bf6ebb xdg-user-dirs: check for existing symlink
When a non-directory, such as a file or a dead symlink, already exists,
mkdir -p fails with "cannot create directory ‘...’: File exists".

This is a problem when, for example, a symlink points to a directory on
a filesystem that isn't mounted yet.
2024-03-07 17:29:26 +02:00
bri
cf111d1a84 zsh: improve shell{,Global}Aliases
This commit changes the way aliases are rendered, adding the "no more
flags" flag `--`, which means that, for example, the alias `"-" = "cd
-";` will work as expected. (I was getting a syntax error before this
change.)

Additionally, now the alias key is shell escaped, which may help some
edge cases. I'm honestly not sure if this part is necessary since I
assume an alias can't contain spaces anyway, but it definitely
shouldn't break anything.
2024-03-06 23:39:12 +01:00
Isaac Grannis
ad9254cd9a vdirsyncer: fix verify option type (#5096)
* vdirsyncer: change verify to type path

accounts.<calendar/contacts>.accounts.<name>.vdirsyncer.verify should not be a bool, it should be a path.

* vdirsyncer: Add example of verify use
2024-03-06 21:19:45 +01:00
musjj
f240015a3a gallery-dl: add package option 2024-03-06 18:43:55 +01:00
Sebastian Sellmeier
8d9fde0fba i3/sway: remove sebtm maintainer 2024-03-06 14:26:46 +01:00
Robert Helgesson
692726d2ad Translate using Weblate (German)
Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: Robert Helgesson <robert@rycee.net>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/de/
Translation: Home Manager/Home Manager CLI
2024-03-06 14:09:57 +01:00
Languages add-on
d19bf3ae21 Add translation using Weblate (Vietnamese)
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
2024-03-06 14:09:57 +01:00
Alexis Rossfelder
f30d23facc Translate using Weblate (French)
Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: Alexis Rossfelder <rossfelderalexis@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/fr/
Translation: Home Manager/Home Manager CLI
2024-03-06 14:09:57 +01:00
Nam Nguyen
572b070627 Add translation using Weblate (Vietnamese)
Co-authored-by: Nam Nguyen <pnam2311@gmail.com>
2024-03-06 14:09:57 +01:00
immwind
c7e50657fb Translate using Weblate (Chinese (Simplified))
Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: immwind <i@immwind.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/zh_Hans/
Translation: Home Manager/Home Manager CLI
2024-03-06 14:09:57 +01:00
Sera Karayan
571ac9199c Translate using Weblate (German)
Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: Sera Karayan <sera@icefish.dev>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/de/
Translation: Home Manager/Home Manager CLI
2024-03-06 14:09:57 +01:00
FedFer98123
ae84f4fd2c Translate using Weblate (Italian)
Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: FedFer98123 <fede.ferrari123@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/it/
Translation: Home Manager/Home Manager CLI
2024-03-06 14:09:57 +01:00
7FM
40c57ce052 programs.khal: Simplify calendar setup (#5073)
* programs.khal: fix build failure due to null value

* calendar: allow null value for primaryCollection

* calendar / programs.khal: set default values to avoid common errors
2024-03-06 14:09:53 +01:00
Robert Helgesson
613384a511 tests: include a service in integration tests 2024-03-06 12:58:02 +01:00
Robert Helgesson
950673cec7 pueue: always write configuration file
Pueue requires the configuration file to contain a `shared` entry. We
therefore unconditionally add it as `shared: {}`.

Fixes #4295
2024-03-06 12:58:02 +01:00
home-manager-bot
477176502a flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5863c27340ba4de8f83e7e3c023b9599c3cb3c80' (2024-02-16)
  → 'github:NixOS/nixpkgs/b8697e57f10292a6165a20f03d2f42920dfaf973' (2024-03-03)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-03-06 12:37:54 +01:00
Joaquín Triñanes
1d717f581b gpg-agent: Fix nushell integration 2024-03-06 11:54:01 +01:00
Robert Helgesson
3c7bacf1d4 ci: remove cachix action
All the extra binary cache lookups and uploads to Cachix make the
build quite a bit slower than necessary.
2024-03-06 08:42:21 +01:00
Robert Helgesson
9daee941ab gpg: fix immutable keyfile test 2024-03-06 08:42:20 +01:00
Robert Helgesson
c386fde594 bemenu: stub package in tests 2024-03-06 08:42:20 +01:00
Robert Helgesson
bdea159ffa fcitx5: fix reference to fcitx5-with-addons 2024-03-05 23:19:22 +01:00
dependabot[bot]
23ff9821bc ci: bump DeterminateSystems/update-flake-lock from 20 to 21
Bumps [DeterminateSystems/update-flake-lock](https://github.com/determinatesystems/update-flake-lock) from 20 to 21.
- [Release notes](https://github.com/determinatesystems/update-flake-lock/releases)
- [Commits](https://github.com/determinatesystems/update-flake-lock/compare/v20...v21)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-04 19:50:43 +01:00
Felipe Silva
d579633ff9 khal: fix contact integration (#4836)
* khal: fix contact integration

- Add tests for contact+khal
- Make options `color`/`priority` available for contact accounts

* khal: add separate calendar for each contact collection

A contact account may have multiple VCARD collections, but Khal doesn't
search recursively. Collection folder names must be hardcoded, and each
has its own calendar.

- Add khal.collections option for contact accounts
- Default to previous setup for accounts with a single collection
- Add tests

* khal: specify how priority is defined by Khal

See https://khal.readthedocs.io/en/latest/configure.html
2024-03-03 18:12:42 +01:00
Robert Helgesson
4de84265d7 fcitx5: fix tests 2024-03-03 06:56:05 +01:00
Robert Helgesson
0992b38e5e tests: add mkStubPackage in Nixpkgs overlay 2024-03-03 06:56:05 +01:00
Weblate (bot)
2f3367769a Translate using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (36 of 36 strings)


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

Co-authored-by: guto <joaoaugustolanjoni@gmail.com>
2024-02-29 11:54:14 +01:00
John Axel Eriksson
ecfffe3631 river: fix systemd activation (#5055)
The `exec` command does not do any shell parsing and does not
understand the `&&` which is how the extraCommands are added after
dbus activation. There doesn't seem to be a reason for `exec` here
anyway so just remove it and allow shell parsing.
2024-02-29 11:10:25 +01:00
XYenon
1d085ea444 yazi: update shell integrations (#5048) 2024-02-27 00:00:56 +01:00
Christina E. Sørensen
4ee704cb13 xscreensaver: add package option
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2024-02-24 21:34:39 +01:00
Mihai Fufezan
ae7a3b5137 hyprland: fix reloading
Fix hyprctl erroring out due to HIS.
2024-02-24 21:04:47 +01:00
Judson Lester
4e6d25a51b lorri: systemd allow access to cache directories
Some nix builds require RW access to `.cache/nix` and `.cache/lorri`.
2024-02-24 20:30:51 +01:00
Joey Territo
0e0e966954 zsh: fix broken ZDOTDIR when path contains spaces 2024-02-22 09:41:50 +01:00
gallegonovato
0b69d57416 Translate using Weblate (Spanish)
Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/es/
Translation: Home Manager/Home Manager CLI
2024-02-22 00:31:20 +01:00
Gaetan Lepage
3dda8e795f river: add module 2024-02-22 00:10:51 +01:00
James Conroy-Finn
517601b37c jujutsu: remove shell completion
Completion is installed by the jujutsu package itself, making this
additional setup redundant.

https://github.com/nix-community/home-manager/pull/5016#issuecomment-1947449541
https://github.com/nix-community/home-manager/pull/5037#pullrequestreview-1888843990
2024-02-20 18:43:56 +01:00
Nikita Pedorich
a54e05bc12 tealdeer: module improvements
- Cache update on HM activation removed
- freeformType settings
- More tests added
- Platform-dependent tests
- Maintainer added
2024-02-18 23:14:41 +01:00
Albert Peschar
738527f866 darwin: fonts: speed up font installation
* Skip font installation if the derivation hasn't changed.
* Use `rsync` instead of `install` to copy font files, to avoid useless
  copying of pre-existent identical files.
2024-02-18 23:09:58 +01:00
home-manager-bot
11edf9cad7 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f8e2ebd66d097614d51a56a755450d4ae1632df1' (2024-02-07)
  → 'github:NixOS/nixpkgs/5863c27340ba4de8f83e7e3c023b9599c3cb3c80' (2024-02-16)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-02-18 22:48:32 +01:00
Сергій
309465d209 Translate using Weblate (Ukrainian)
Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: Сергій <sergiy.goncharuk.1@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/uk/
Translation: Home Manager/Home Manager CLI
2024-02-18 15:02:08 +01:00
bittin1ddc447d824349b2
7671ec1931 Translate using Weblate (Swedish)
Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/sv/
Translation: Home Manager/Home Manager CLI
2024-02-18 15:02:08 +01:00
Oğuz Ersen
5aec43bc0f Translate using Weblate (Turkish)
Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/tr/
Translation: Home Manager/Home Manager CLI
2024-02-18 15:02:08 +01:00
Robert Helgesson
f41f54fb22 Translate using Weblate (Czech)
Currently translated at 97.2% (35 of 36 strings)

Translate using Weblate (Indonesian)

Currently translated at 66.6% (24 of 36 strings)

Translate using Weblate (Romanian)

Currently translated at 97.2% (35 of 36 strings)

Translate using Weblate (Ukrainian)

Currently translated at 97.2% (35 of 36 strings)

Translate using Weblate (Portuguese)

Currently translated at 97.2% (35 of 36 strings)

Translate using Weblate (Lithuanian)

Currently translated at 72.2% (13 of 18 strings)

Translate using Weblate (Lithuanian)

Currently translated at 86.1% (31 of 36 strings)

Translate using Weblate (Danish)

Currently translated at 97.2% (35 of 36 strings)

Translate using Weblate (Dutch)

Currently translated at 88.8% (32 of 36 strings)

Translate using Weblate (Catalan)

Currently translated at 97.2% (35 of 36 strings)

Translate using Weblate (Italian)

Currently translated at 97.2% (35 of 36 strings)

Translate using Weblate (Turkish)

Currently translated at 100.0% (36 of 36 strings)

Translate using Weblate (Japanese)

Currently translated at 88.8% (32 of 36 strings)

Translate using Weblate (Korean)

Currently translated at 97.2% (35 of 36 strings)

Translate using Weblate (Portuguese (Brazil))

Currently translated at 97.2% (35 of 36 strings)

Translate using Weblate (German)

Currently translated at 97.2% (35 of 36 strings)

Translate using Weblate (Spanish)

Currently translated at 97.2% (35 of 36 strings)

Translate using Weblate (Polish)

Currently translated at 97.2% (35 of 36 strings)

Translate using Weblate (Chinese (Traditional))

Currently translated at 77.7% (28 of 36 strings)

Translate using Weblate (Chinese (Simplified))

Currently translated at 97.2% (35 of 36 strings)

Translate using Weblate (Russian)

Currently translated at 97.2% (35 of 36 strings)

Translate using Weblate (French)

Currently translated at 97.2% (35 of 36 strings)

Translate using Weblate (Norwegian Bokmål)

Currently translated at 77.7% (28 of 36 strings)

Translate using Weblate (Swedish)

Currently translated at 97.2% (35 of 36 strings)

Co-authored-by: Robert Helgesson <robert@rycee.net>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ca/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/cs/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/da/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/de/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/es/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/fr/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/id/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/it/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ja/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ko/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/lt/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/nl/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/pl/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/pt/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ro/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ru/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/sv/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/tr/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/uk/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/lt/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2024-02-18 15:02:07 +01:00
Hosted Weblate
bb69e1d43e Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2024-02-18 15:02:07 +01:00
Robert Helgesson
3d6791b389 home-manager: add Nix sanity check
This should ensure that the necessary profile directories are created.
2024-02-15 22:05:29 +01:00
Robert Helgesson
07fd41171f home-manager: fix incorrect log message 2024-02-15 13:10:07 +01:00
Robert Helgesson
043ba285c6 tests: add basic integration tests
This introduces some rudimentary integration tests using the NixOS
test framework. The intent is to better catch regressions when doing
more elaborate changes that may affect overall Home Manager behavior.
Note, the tests are currently not run automatically.
2024-02-14 15:10:53 +01:00
Robert Helgesson
7889bfb475 home-manager: overrideable URLs in generated flake
When using the `init` sub-command, it is now possible to set the Home
Manager and Nixpkgs input URLs. Note, for now these options are
considered experimental.
2024-02-14 15:10:53 +01:00
Robert Helgesson
354643e6c1 neomutt: fix tests
Caused by an unfortunate interaction between #4597 and #4999.
2024-02-14 14:44:07 +01:00
Robert Helgesson
157bf71277 mpv: create doc output in tests 2024-02-14 11:25:39 +01:00
home-manager-bot
21b078306a flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/faf912b086576fd1a15fca610166c98d47bc667e' (2024-02-05)
  → 'github:NixOS/nixpkgs/f8e2ebd66d097614d51a56a755450d4ae1632df1' (2024-02-07)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-02-11 21:30:00 +01:00
Christian Dannie Storgaard
a09cfdbaf1 neomutt: Initial IMAP support (#4597)
neomutt: Updated options and added tests

neomutt: Added test for individual mailbox type

neomutt: Formatted code

neomutt: Enable ssl_force_tls based on IMAP instead of SMTP

neomutt: Applied suggestions from @chayleaf

neomutt: fix breaking tests
2024-02-11 18:22:37 +01:00
zendo
bfd0ae29a8 emacs: use overrideScope instead of overrideScope' 2024-02-11 00:23:06 +01:00
home-manager-bot
d1d6ca9b65 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b8b232ae7b8b144397fdb12d20f592e5e7c1a64d' (2024-01-31)
  → 'github:NixOS/nixpkgs/faf912b086576fd1a15fca610166c98d47bc667e' (2024-02-05)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-02-10 23:45:27 +01:00
Rafael Carvalho
fb0196ad9d imapnotify: enable STARTTLS if enabled in email account config (#5013)
* imapnotify: enable STARTTLS if enabled in email account config

Since version 2.3.10 goimapnotify supports starttls. In version 2.3.11 a
typo in the settings was fixed, using tlsOptions.starttls to enable it.

This commit enables starttls in the goimapnotify config file if it is
enabled in the email account's imap settings.

* imapnotify: test generated config file

Compare the generated service config file with a manually verified
sample.
2024-02-10 23:01:01 +01:00
Emily
4c0357ff87 sway: fix workspace 10 missing from default config (#4636)
workspace 10 is part of upstream's default config, but was missing in home-manager.

The initial "sway: add module" PR (02d6040003) went through multiple iterations and had workspace 10 included for a brief moment.
Until the author removed it in a force-push commenting

> Have removed the last change which added bound ${modifer}+0 to workspace number 10 as this messed up workspace numbering in sway.

The reason might have been, that sway used to sort the workspaces in the order they appeared in the config.

Attribute sets in nix are sorted, but not "naturally sorted", meaning `bindsym Mod1+0 workspace number 10` comes before `bindsym Mod1+0 workspace number 1`.

It's unclear if that's what really happened. A workaround would have been to use `lib.lists.naturalSort` in `keybindingsStr`.

But I cannot reproduce this anymore in any way.
I assume this has been fixed many years ago by now.

upstream config: 020a572ed6/config.in (L113-L134)
2024-02-10 19:59:52 +01:00
Alexis (Poliorcetics) Bourget
5b9156fa9a zellij: use full executable path 2024-02-09 09:26:22 +01:00
GenericNerdyUsername
f99eace7c1 jetbrains-remote: add module 2024-02-06 00:29:23 +01:00
arjan-s
f65dcd6c15 neomutt: fix crypt_use_gpgme in newer versions
Fixes config load error since newer versions of neomutt don't allow
`crypt_use_gpgme` to be loaded dynamically (from folder hooks)
2024-02-05 23:42:06 +01:00
NotAShelf
7b4ea8d82f arrpc: add module 2024-02-05 23:36:51 +01:00
Anton
13dbf2623d swayosd: update executable 2024-02-05 23:31:53 +01:00
Scott Stevenson
b319781e30 home-manager: Check VISUAL before EDITOR for editor
Check VISUAL for a visual editor before EDITOR, as per Unix convention
and as followed by Git, crontab, mutt, and other tools.
2024-02-05 23:22:43 +01:00
Clément DOUIN
3c6f2dd59c himalaya: adjust module for v1.0.0-beta 2024-02-05 23:03:40 +01:00
shivaraj-bh
274bd470a5 nix-gc: add service
The nix-gc service runs automatically at a specified frequency. It is
managed via launchd on macOS and systemd on Linux.
2024-02-05 18:10:00 +01:00
iofq
afcedcf2c8 mcfly: add interfaceView option 2024-02-05 07:35:23 +01:00
Rucadi
a28b12d741 vscode: add openvscode-server
In order to manage the extensions and configs from openvscode-server,
the only additional requirement was some mapping missing between the
name of the package and the default configDir/extensionDir
2024-02-05 07:34:43 +01:00
musjj
4740f2ccda kitty: always export KITTY_SHELL_INTEGRATION
This ensures that `KITTY_SHELL_INTEGRATION` is manually set to the
user's `shellIntegration.mode`. This is necessary because sometimes
the variable is not set in subshells or splits.
`shellIntegration.mode` is also now ensured to always contain `no-rc`.
2024-02-05 00:10:32 +01:00
Kylie McClain
1683c507c2 vdirsyncer: create postHook script when non-empty 2024-02-05 00:07:19 +01:00
Ujp8LfXBJ6wCPR
f80df90c10 fish: implement shellInitLast (after others)
Since the module system doesn't allow specifying order on types.lines
users can't specify anything to run after what modules have put into
shellInitInteractive since it runs last. This implements a fourth field
that runs after all others, not to be used by HM modules, but regular
users.

Co-authored-by: Carl Hjerpe <git@hjerpe.xyz>
2024-02-04 23:36:41 +01:00
home-manager-bot
4ab01785b8 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ae5c332cbb5827f6b1f02572496b141021de335f' (2024-01-25)
  → 'github:NixOS/nixpkgs/b8b232ae7b8b144397fdb12d20f592e5e7c1a64d' (2024-01-31)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-02-04 20:20:42 +01:00
Oğuz Ersen
9291f28f93 Translate using Weblate (Turkish)
Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/tr/
Translation: Home Manager/Home Manager CLI
2024-02-04 14:10:11 +01:00
Juraj Hlista
230836bb7c hyprland: fix hyprctl crash
`/tmp/hypr` must be present so `hyprctl` doesn't crash.
2024-02-04 07:59:05 +01:00
Robert Helgesson
1ca210648a tests: reduce closure sizes 2024-02-03 19:39:45 +01:00
Ramses
880d9bc211 nix: fix generation of nix.conf for nix >= 2.20 2024-02-03 11:14:20 +01:00
Kylie McClain
4d53427bce xfconf: fix config loading
The `run` function export was removed in #4965. This broke the
expectation in this module that `run` would be available outside of
main activation script, as `$DRY_RUN_CMD` once was.

Fixes #4980
2024-02-01 15:34:01 +01:00
Robert Helgesson
2db6a2a429 docs: add style sheets and scrubDerivations
This adds style sheets and `scrubDerivations` from nmd, thereby
removing the need to download them separately.
2024-02-01 01:10:58 +01:00
Carl Hjerpe
d634c3abaf tealdeer: add option to toggle update on activation
This is a network operation that can take awhile if you're on a shitty
connection.
2024-01-28 21:18:29 +01:00
Robert Helgesson
4d54c29bce home-manager: remove the export of run
Fixes #4950
2024-01-28 10:53:09 +01:00
Sefa Eyeoglu
ebba24a6fe wob: add module
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-01-28 10:46:09 +01:00
mlyxshi
7a461c70ed firefox: fix darwin NativeMessagingHostsPath 2024-01-28 10:45:17 +01:00
home-manager-bot
e5f2a0590a flake.lock: Update (#4964)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/612f97239e2cc474c13c9dafa0df378058c5ad8d' (2024-01-21)
  → 'github:NixOS/nixpkgs/ae5c332cbb5827f6b1f02572496b141021de335f' (2024-01-25)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-01-28 10:44:53 +01:00
Robert Helgesson
b2f5695207 network-manager-applet: add XDG data directory
The Network Manager Applet package provides, for example, some icons
that are good to have accessible in an XDG data directory.
2024-01-26 23:04:20 +01:00
Carl Hjerpe
690764d2dc firefox: Reimplement FF native messaging
Farm links from the selected firefox package,
programs.firefox.nativeMessagingHosts and a package with a .keep file
for always creating the ~/.mozilla/native-messaging-hosts folder as a
regular folder with links in it.

Fixes #4959
2024-01-26 16:16:15 +01:00
GrizzlT
c7ce343d9b home-manager: add extendModules attribute
The `home-manager.lib.homeManagerConfiguration` function now has an
additional attribute that can be used to extend a Home Manager
configuration with additional modules outside the project tree.

It works similar to the result of `lib.nixosSystem` from Nixpkgs
2024-01-25 23:24:36 +01:00
home-manager-bot
c82e52b0d9 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/bbe7d8f876fbbe7c959c90ba2ae2852220573261' (2024-01-19)
  → 'github:NixOS/nixpkgs/612f97239e2cc474c13c9dafa0df378058c5ad8d' (2024-01-21)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-01-25 23:12:09 +01:00
Ryan Horiguchi
03958aff44 firefox: add default containers 2024-01-25 23:08:09 +01:00
Sumner Evans
70688f195a keepassx: remove module
This removes the services.keepassx module and all options related to it.
This is because KeePassX has been unmaintaned for a long time, and the
migration path to KeePassXC is not clear.

Note, this package probably hasn't worked for nearly a year since the
package was removed from Nixpkgs:
https://github.com/NixOS/nixpkgs/pull/216748

Closes #4949

Signed-off-by: Sumner Evans <me@sumnerevans.com>
2024-01-25 22:56:56 +01:00
Ujp8LfXBJ6wCPR
6359d40f6e firefox: implement native messaging hosts
Fixes #1586
Fixes #1487

Co-authored-by: Carl Hjerpe <git@hjerpe.xyz>
Co-authored-by: Robert Helgesson <robert@rycee.net>
2024-01-24 23:22:57 +01:00
Robert Helgesson
e84811035d treewide: deprecate VERBOSE_ECHO
The shell function `verboseEcho` can be used in its stead.
2024-01-24 13:36:05 +01:00
Robert Helgesson
190c6f4609 home-manager: avoid running empty nix profile remove
We only want to run `nix profile remove` if there is actually anything
to remove.
2024-01-24 13:36:05 +01:00
Robert Helgesson
4256729006 treewide: deprecate DRY_RUN_CMD and DRY_RUN_NULL
As a replacement, this adds the `run` helper function.
2024-01-24 13:36:05 +01:00
Nikita Pedorich
6b28ab2d79 tealdeer: add cache update activation script
Calls 'tldr --update' on home-manager switch
2024-01-24 08:21:24 +01:00
Jan Tebernum
3df2a80f3f zoxide: fix nushell 0.89 deprecation
Since nushell 0.89, automatically spreading lists is deprecated. This
commit introduces a string replace for the zoxide init script to replace
the deprecated code.
See: https://github.com/ajeetdsouza/zoxide/issues/662

Fixes: #4916
2024-01-23 10:10:11 +01:00
Anton Tetov
3d0dc78e80 bemenu: allow floats in settings
For example, the CLI option --width-factor controls the width of the
launcher and is set to a value between 0-1.
2024-01-23 08:21:17 +01:00
home-manager-bot
2d47379ad5 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c3e128f3c0ecc1fb04aef9f72b3dcc2f6cecf370' (2024-01-15)
  → 'github:NixOS/nixpkgs/bbe7d8f876fbbe7c959c90ba2ae2852220573261' (2024-01-19)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-01-22 00:24:39 +01:00
Robert Helgesson
4af6720fff k9s: fix unnecessary test dependency 2024-01-22 00:18:04 +01:00
Lucas Wagler
020399c287 k9s: v0.29/v0.30 compatibility
- Add `skins` option for definition of multiple skin files
- Change file extension to ".yaml"
- Deprecate `skin` option (points to `skins.skin`)
2024-01-22 00:17:27 +01:00
Nikita Pedorich
0021558dba mise: fix test
assertPathExists -> assertFileExists
2024-01-21 23:26:31 +01:00
Nikita Pedorich
928f2528f9 mise: add module
This adds the support for the mise program, the successor of rtx. This
commit therefore also removes the rtx module.
2024-01-21 08:51:14 +01:00
Samuele Facenda
9b378afae7 hyprland: change plugins settings generation
The previous syntax (`plugin:name { ...settings}`) is not working with
more than one plugin. There is no documentation for this, just the
source code [1].

With this update the plugins paths aren't generated together with the
full config (so the "plugin" field is not "important" anymore) and the
plugins settings are generated like the other fields.

[1] 4d403dac32/src/config/ConfigManager.cpp (L1574)
2024-01-21 00:40:55 +01:00
NovaViper
ce4b88c465 mcfly: add mcfly-fzf integration 2024-01-20 00:55:11 +01:00
Samuele Facenda
2064348e55 hyprland: do not override existing plugins settings in config
The plugin setting in the Hyprland config is used both for defining
plugin paths and configuring the plugins. This fix removes the
silent override of the plugins settings converting them to the
`plugin:<name> { ...settings }` syntax.
2024-01-19 11:27:00 +01:00
Robert Helgesson
d6185e83d8 docs, tests: revert to fetchTarball for nmd and nmt
Turns out pulling nmt and nmd from Nixpkgs causes an IFD, even when
the packages are fixed-output derivations.

Thus, since Sourcehut is up and well, we can revert to simply fetching
nmd and nmt directly.

See discussion in <https://github.com/nix-community/home-manager/pull/4884>.
2024-01-18 23:29:40 +01:00
Aleksana
b84191db12 gh: add github gist to default credential hosts 2024-01-18 00:47:58 +01:00
Jared Baur
d9c869681d sway: include cursor environment variables
DBus activated services such as mako use the XCURSOR_THEME and
XCURSOR_SIZE environment variables to decide how to show the cursor,
so without these, the cursor may not match the rest of the desktop
when hovering over (in this example) mako notification surfaces.
2024-01-18 00:30:06 +01:00
Benedikt Ritter
62856932af gradle: Don't enable programs.java
The gradle package from nixpkgs will install a default Java version and
pass it to the gradle executable without polluting the global env.
Users can customize this by overriding the gradle package like so:

  programs.gradle = {
    package = (pkgs.gradle.override {
      java = pkgs.jdk21;
    });
  }
2024-01-18 00:12:08 +01:00
Benedikt Ritter
9fed3282e9 gradle: re-add britter as maintainer
Follow up to 0360475ee0.
2024-01-18 00:08:06 +01:00
github-actions[bot]
646c243e6f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9b19f5e77dd906cb52dade0b7bd280339d2a1f3d' (2024-01-13)
  → 'github:NixOS/nixpkgs/c3e128f3c0ecc1fb04aef9f72b3dcc2f6cecf370' (2024-01-15)
2024-01-17 03:59:33 +00:00
Emil Nikolov
16cefa78cc flake.lock: Update 2024-01-17 00:05:27 +01:00
home-manager-bot
37d6eeceee flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b0d36bd0a420ecee3bc916c91886caca87c894e9' (2023-12-30)
  → 'github:NixOS/nixpkgs/317484b1ead87b9c1b8ac5261a8d2dd748a0492d' (2024-01-08)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-01-16 13:37:12 +01:00
Damien Cassou
bf4b576f84 firefox: restore compatibility for extraPolicies
This commit makes it possible to specify Firefox' extraPolicies
through:

    programs.firefox.package = pkgs.firefox.override {
      extraPolicies = {... }
    }

This was possible in the past but was broken by:

  3feeb77155
  firefox: add support for specifying policies (#4626)
2024-01-16 09:04:30 +01:00
ckie
fa152fd745 xsession: allow xplugd to restart on failure
This should let it recover a bit better from transient errors.
2024-01-16 08:07:00 +01:00
Manuel
8c3b2a0cab flake: update release notes URL
The old URL providing information on deprecated
attributes (`extraModules` etc.) did not work anymore. This one,
"xhtml" instead of "html", does.
2024-01-15 20:30:59 +01:00
André Silva
b989db5900 home-manager: check profile exists in nixProfileRemove 2024-01-15 17:25:23 +01:00
Robert Helgesson
846200eb57 docs: use nmd from Nixpkgs 2024-01-14 22:57:58 +01:00
Robert Helgesson
8ae3bfe2bf tests: use nmt from Nixpkgs 2024-01-14 22:57:56 +01:00
Robert Helgesson
f2942f3385 Remove some formatting exceptions
This formats a few more file using nixfmt.
2024-01-13 19:05:27 +01:00
Dee Anzorge
6217b73598 listenbrainz-mpd: use sdnotify when possible
The ability for listenbrainz-mpd to notify systemd when it's ready was
added in 2.3.2:

https://codeberg.org/elomatreb/listenbrainz-mpd/releases/tag/v2.3.2
2024-01-13 18:52:33 +01:00
Harsh Shandilya
0912d26b30 gh: only run migration when required 2024-01-13 01:02:44 +01:00
Robert Helgesson
7403ed4980 home-manager: internalize uninstall
This adds a Boolean option `uninstall`. When enabled this option will
reset side-effecting configurations to their "empty" state. The intent
is that this will cause the activation script to remove all managed
files and packages.

Doing it this way should hopefully be more robust than the previous
solution. It also allows a somewhat more convenient uninstall process
when using Flakes; put `uninstall = true` in your existing
configuration and then do a switch.

Also add simple uninstall test in CI test job.
2024-01-13 00:32:31 +01:00
Robert Helgesson
93e804e7f8 docs: use alternative source of nmd 2024-01-11 14:46:44 +01:00
Silvio Ankermann
e13aa9e287 thunderbird: configure signature if set (#4852)
The identity's signature  will be configured according to signature.text
and signature.showSignature. Signature commands are not supported by
Thunderbird.
2024-01-09 15:19:17 +01:00
FireFragment
51e44a13ac Translate using Weblate (Czech)
Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: FireFragment <snaselik.m@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/cs/
Translation: Home Manager/Home Manager CLI
2024-01-05 23:48:08 +00:00
Robert Helgesson
294c13fa4b home-manager: update --version to 24.05 2024-01-06 00:16:14 +01:00
Jared Baur
26b8adb300 github: fix broken links
Current links to contributing and commit style guidelines are out of date.
2024-01-04 16:58:32 +01:00
Chance Harrison
c36cb65c4a xplr: support multiple plugins in cfg.plugins
Fixes ##4520

Co-authored-by: Arijit Basu <11632726+sayanarijit@users.noreply.github.com>
2024-01-04 10:02:32 +01:00
Gabriel Fontes
fcbc70a7ee xdg-portal: add new module 2024-01-03 20:51:54 +01:00
XYenon
992b38f29c yazi: fix nushell integration 2024-01-03 20:18:53 +01:00
home-manager-bot
f772334b35 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/cfc3698c31b1fb9cdcf10f36c9643460264d0ca8' (2023-12-27)
  → 'github:NixOS/nixpkgs/b0d36bd0a420ecee3bc916c91886caca87c894e9' (2023-12-30)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-01-03 20:17:21 +01:00
MayNiklas
4d8f90205c zsh: fix zprof typo 2024-01-03 11:05:13 +01:00
~noodlez1232
6e91c5df19 i3blocks: added configuration module 2024-01-01 10:15:19 +01:00
Guillaume Girol
f06edaf18b lorri: unbreak due to too tight sandboxing
lorri needs to be able to write to /run/user/uid for the socket, to its
own cache directory ~/.cache/lorri and to the directory for gc roots.
2024-01-01 09:56:03 +01:00
Сергій
b7ef79bcf4 Translate using Weblate (Ukrainian)
Currently translated at 100.0% (18 of 18 strings)

Co-authored-by: Сергій <sergiy.goncharuk.1@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/uk/
Translation: Home Manager/Home Manager Modules
2023-12-31 15:09:47 +01:00
github-actions[bot]
2e8634c252 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6df37dc6a77654682fe9f071c62b4242b5342e04' (2023-12-22)
  → 'github:NixOS/nixpkgs/cfc3698c31b1fb9cdcf10f36c9643460264d0ca8' (2023-12-27)
2023-12-31 03:59:18 +00:00
Omer Naveed
2aff324cf6 bemenu: add module 2023-12-29 09:24:28 +01:00
Peter Pfeufer
c48ae40dbb Translate using Weblate (German)
Currently translated at 100.0% (18 of 18 strings)

Co-authored-by: Peter Pfeufer <info@ppfeufer.de>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/de/
Translation: Home Manager/Home Manager Modules
2023-12-29 07:53:02 +00:00
x10an14
df7f29a231 zoxide: fix use with recent Nushell
1. Zoxide (v0.9.2) leverages `def-env` in their `zoxide init nushell`
   output.

2. Since Nushell v0.88, they have removed (previously deprecated)
   `def-env`:
      https://www.nushell.sh/blog/2023-12-12-nushell_0_88_0.html#breaking-changes-toc
2023-12-29 08:44:20 +01:00
MayNiklas
77c698fa4b zsh: add support for zproof
Using zproof allows benchmarking the shell initialization. It must be
called as the first & last line of `~/.zshrc`.

PR #4745
2023-12-29 01:02:59 +01:00
Robert Helgesson
30f9cdd69d oh-my-posh: fix test under Darwin 2023-12-28 23:07:59 +01:00
r-vdp
ba6b75011b alacritty: make compatible with alacritty 0.13
The config file is in TOML from 0.13 onwards.
2023-12-28 21:25:20 +01:00
NAHO
f8a4a5c18f gh: idempotently consider existing symlinks
> -e file
>        True if file exists.
> -f file
>        True if file exists and is a regular file.
> [...]
> -L file
>        True if file exists and is a symbolic link.
>
> (Source: bash(1))
2023-12-28 19:19:38 +01:00
Fugi
6e2afa5c3b sftpman: add module 2023-12-28 14:03:49 +01:00
not pua
c24c298562 zsh.prezto: fix path in example for 'pmoduleDirs'
Minor fix in documentation. The example in
`programs.zsh.prezto.pmoduleDirs` is not compatible with shell
environment variables like `$HOME`, must be replaced with nix
compatible variables eg: `home.homeDirectory`.

Fixes #4452
2023-12-28 10:00:36 +01:00
Tom Hall
0f11c14065 osmscout-server: add module
Osmscout-server includes a setting in its UI to create a systemd user
service and socket to run the server on demand. This does not function
correctly on NixOS, for two reasons:

1. It assumes that the binary path is stable (e.g.
   /usr/bin/osmscout-server), which is not the case on NixOS.

2. It auto-detects the unwrapped binary path, which doesn't work.

This module allows the user to access the same functionality on NixOS.
2023-12-28 09:28:48 +01:00
Sandro
458544594b gpg-agent: don't set a default for pinentry
NixOS stopped building gtk2 pinentry by default in
https://github.com/NixOS/nixpkgs/pull/270266 and there does not appear
to be a reasonable other default.
2023-12-27 12:01:23 +01:00
Harsh Shandilya
2939d49036 gh: test for existence of hosts file
Having the module enabled but never using gh will result in the config file
existing but no hosts.yml. In that scenario we won't have anything to
migrate, so only test for hosts.yml.
2023-12-27 15:02:56 +05:30
Harsh Shandilya
d1d950841d gh: include version in settings
Also add an activation script block for allowing gh version 2.40.0 and
later to perform account migration.
2023-12-27 11:42:06 +05:30
github-actions[bot]
80679ea507 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a9bf124c46ef298113270b1f84a164865987a91c' (2023-12-11)
  → 'github:NixOS/nixpkgs/6df37dc6a77654682fe9f071c62b4242b5342e04' (2023-12-22)
2023-12-25 19:02:53 +01:00
Callum Iddon
015a36e9c7 oh-my-posh: enable nushell integration 2023-12-25 19:01:13 +01:00
Louis Thevenet
d5a917bab4 Translate using Weblate (French)
Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Louis Thevenet <louis.thevenet@proton.me>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/fr/
Translation: Home Manager/Home Manager CLI
2023-12-25 11:10:46 +01:00
Michael Hoang
16fcb9674a home-environment: fix incompatible profile error
This fixes the error:

    error: profile '/nix/var/nix/profiles/per-user/enzime/profile' is incompatible with 'nix-env'; please use 'nix profile' instead
2023-12-24 21:23:21 +11:00
TornaxO7
a2523ea034 gpg-agent: add nushell integration 2023-12-23 22:56:59 +01:00
pacien
de9134144b unison: better retry/restart reporting failures
The service was never marked with a failed state with the previous
approach, which could lead broken synchronisation pair states to go
undetected.

The module now uses a timer instead of unlimited restarts, which does
not have this issue.
2023-12-23 19:13:09 +01:00
sg-qwt
7184dfe663 firefox: update docs example for nativeMessagingHosts
closes https://github.com/nix-community/home-manager/issues/4630

old way of cfg.enableTridactylNative is deprecated upstream
2023-12-23 18:01:51 +01:00
lgehr
07c322a7cf aerc-accounts: support for maildirpp (#4653)
* aerc-accounts: support for maildirpp

aerc-accounts now is aware of the mbsync.subFolders setting

* aerc: Adds test for maildirpp format

---------

Co-authored-by: lgehr <lgehr@mailbox.org>
2023-12-22 18:14:39 +01:00
r-vdp
fb5ac0c870 nix-index: use interactive shell init for Fish 2023-12-21 18:13:31 +01:00
r-vdp
19a7843734 zoxide: use interactive shell init for Fish 2023-12-21 18:13:24 +01:00
Stel Abrego
8b797c8eea fish: escape abbr expansions once again
Commit 8cedd6 `fish: support flexible abbreviations` removed shell
escaping for fish shell abbr values. This was a dangerous breaking
change offered little value and made writing abbr expansions more
difficult. This commit restores automatic shell escaping of fish abbr
values.
2023-12-21 11:42:07 +01:00
Joaquín Triñanes
b897544a79 direnv: Fix nushell integration ENV_CONVERSIONS 2023-12-21 09:24:48 +01:00
Joaquín Triñanes
3bfaacf461 direnv: Make lines shorter 2023-12-21 00:00:17 +01:00
Joaquín Triñanes
bc52cdd579 direnv: Use ${getExe pkg} instead of ${pkg}/bin/pkg 2023-12-21 00:00:16 +01:00
Joaquín Triñanes
67c4c05c29 direnv: Apply nushell env transformations
In nushell, the ENV_CONVERSIONS environment variable is used to
transform the defined variables from a string to a nushell value (PATH
to a list being one of the most common uses). This commit applies
user-defined conversions to direnv-loaded variables.

This fixes binary autocompletion not being triggered for newly added
paths and makes direnv work consistently with nushell
2023-12-21 00:00:16 +01:00
Tobias H. Petersen
8f38f1a231 docs: fix broken home-manager options link 2023-12-20 23:55:48 +01:00
Robert Helgesson
0360475ee0 gradle: temporarily comment out the maintainer entry
Turns out it was an undefined entry.
2023-12-20 22:40:45 +01:00
Robert Helgesson
4f258945de thefuck: fix test case 2023-12-20 22:33:36 +01:00
Robert Helgesson
c8c6a52702 sway: fix failing tests
Due to a recent change in Nixpkgs, the version field is required for
the sway package.
2023-12-20 22:29:00 +01:00
Benedikt Ritter
433120e47d gradle: add module
Introduces a new program called gradle for managing files stored in
the home directory by the [Gradle Build Tool](https://gradle.org).
Gradle uses the $HOME/.gradle folder for all it's configuration.

Features of the new program module are:

- Automatically setting programs.java.enable = true to make a Java
  installation available for running Gradle.
- Specifying an alternate Gradle home directory
- Setting of abitrary values for gradle.properties stored inside the
  Gradle home directory.
- Defining init scripts that will be linked into the init.d inside
  the Gradle home directory.

Co-authored-by: Olli Helenius <liff@iki.fi>
Co-authored-by: Robert Helgesson <robert@rycee.net>
2023-12-20 12:41:17 +01:00
Pierce Bartine
efc177c15f sapling: add module
Adds a program module for [Sapling](https://sapling-scm.com/).

Since Sapling itself is very similar in nature to Mercurial,
`modules/programs/mercurial.nix` was copied to make this module with
the ignore pieces removed (Sapling respects gitignore).
2023-12-19 23:58:05 +01:00
katelyn martin
ebeeef94ab docs: fix typo in nix-flakes.md 2023-12-19 12:51:08 -05:00
Robert Helgesson
e8aaced73e home-manager: sort list packages output
Fixes #4788
2023-12-18 23:05:17 +01:00
Robert Helgesson
e4dba0bd01 docs: set the manual version to "24.05 (unstable)" 2023-12-17 12:58:55 +01:00
Robert Helgesson
3b1de1c29c docs: additional improvements after migration
PR #4781
2023-12-17 12:55:50 +01:00
e-nikolov
a2e592cc49 home-manager: improve nix profile detection
If `nix.settings.use-xdg-base-directories` is true, the
`~/.nix-profile` directory may not exist, and `home.profileDirectory`
should be checked instead.

Co-authored-by: Bruno BELANYI <bruno@belanyi.fr>
2023-12-17 12:22:53 +01:00
Viktor Kronvall
c22b41f006 docs: fix broken link text 2023-12-17 01:03:30 +09:00
Viktor Kronvall
59c15ebe3d docs: fix link texts in release notes 2023-12-17 00:55:46 +09:00
ThinkChaos
e9b9ecef42 gtk: fix GTK 4 theme being ignored
Haven't dug into any code, but my best guess is GTK 4 ignores it on
purpose since devs campaigned against theming: https://stopthemingmy.app

According to the following link, it's fine for users to do it as long
as they don't expect support from app devs. And the campaign was
against distributions applying custom themes by default.

  https://github.com/GradienceTeam/Gradience/tree/0.4.1#%EF%B8%8F-gradience-stopthemingmyapp-and-adwaita-developers
2023-12-16 15:01:19 +01:00
Robert Helgesson
b00a03b668 docs: additional improvements after migration
Most importantly, re-add missing appendix for Release Notes.

PR #4780
2023-12-16 11:01:02 +01:00
Pierre Baillet
5b3398668b fish: Fix babelization of hm-session-vars
Wrap babelfish version of hm-session-vars.sh into a function to avoid a
syntax error due to the use of `return` in the script.
2023-12-16 10:19:57 +01:00
Viktor Kronvall
07754e935a docs: add considerate as maintainer 2023-12-16 15:49:45 +09:00
Viktor Kronvall
6c82b1c9ce docs: use .xhtml for appendices 2023-12-16 15:46:42 +09:00
Viktor Kronvall
6fc71dc563 docs: add release-notes as appendix
The release notes used to be an appendix in the manual. After
converting to markdown that appendix got lost. This commit
reintroduces the release notes into the manual.
2023-12-16 15:46:00 +09:00
Ryan
abdc82d930 yazi: pass additional args to ya alias
This allows commands like `ya /etc/nixos` and `ya --help` to be used.
2023-12-16 00:07:57 +01:00
Robin Gloster
0e2e443ff2 hyprland: mark plugin setting as important
The plugins are often necessary for other configurations.
2023-12-14 08:14:24 +01:00
Robert Helgesson
be97e96dab flake: add packages for tests
With this it is possible to build a specific test by running

    $ nix build -L .#test-{test name}

For example

    $ nix build -L .#test-files-text
2023-12-14 08:05:51 +01:00
Ujp8LfXBJ6wCPR
7a88cdedbd hyprland: improve config reload
When using the previous approach I've always gotten errors that I can't
reload config on the .lock file that exists in /tmp when you run a
standard configured hyprland.

This commit improves this by using hyprctl to find instances to reload
instead.

We can remove the HYPRLAND_INSTANCE_SIGNATURE bogus assignment once
https://github.com/hyprwm/Hyprland/issues/4088 is resolved.

Co-authored-by: Carl Hjerpe <git@hjerpe.xyz>
2023-12-14 08:04:57 +01:00
home-manager-bot
5e9d1fe19f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2c7f3c0fb7c08a0814627611d9d7d45ab6d75335' (2023-12-04)
  → 'github:NixOS/nixpkgs/a9bf124c46ef298113270b1f84a164865987a91c' (2023-12-11)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-12-14 00:41:28 +01:00
Jan Schmitt
7a69b3e738 ssh: add addKeysToAgent option 2023-12-14 00:11:45 +01:00
Moritz Rumpf
d9297efd3a awscli: only write config files when not empty 2023-12-13 00:21:10 +01:00
Phil Simpson
0e7cd64674 docs: fix nix-darwin module configuration example
The example is missing a `;` which causes this error when you attempt
a `darwin-rebuild switch`.

```
       error: syntax error, unexpected '=', expecting ';'

       at /Users/968713/.nixpkgs/darwin-configuration.nix:17:30:

           16|   }
           17|   home-manager.users.eve = { pkgs, ... }: {
             |                              ^
           18|     home.packages = [
```
2023-12-13 00:01:02 +01:00
Brian Leung
01a66e313f msmtp: add configurable package 2023-12-12 23:40:52 +01:00
Lucas Eduardo
b3c4e98aec Translate using Weblate (Portuguese)
Currently translated at 100.0% (35 of 35 strings)

Translation: Home Manager/Home Manager CLI
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/pt/
2023-12-11 17:06:28 +01:00
Blezz Rot
dd5aef0a79 Translate using Weblate (Russian)
Currently translated at 100.0% (18 of 18 strings)

Translation: Home Manager/Home Manager Modules
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ru/
2023-12-11 17:06:28 +01:00
Blezz Rot
5be24c74d9 Translate using Weblate (Russian)
Currently translated at 100.0% (18 of 18 strings)

Translation: Home Manager/Home Manager Modules
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ru/
2023-12-10 17:00:25 +01:00
teu5us
d33e0e7442 Translate using Weblate (Russian)
Currently translated at 100.0% (18 of 18 strings)

Translation: Home Manager/Home Manager Modules
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ru/
2023-12-10 17:00:25 +01:00
Blezz Rot
b61fae90ba Translate using Weblate (Russian)
Currently translated at 100.0% (35 of 35 strings)

Translation: Home Manager/Home Manager CLI
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ru/
2023-12-10 17:00:25 +01:00
Nara Díaz Viñolas
bb202f194b Translate using Weblate (Catalan)
Currently translated at 100.0% (35 of 35 strings)

Translate using Weblate (Catalan)

Currently translated at 100.0% (18 of 18 strings)

Co-authored-by: Nara Díaz Viñolas <rdvdev2@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ca/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ca/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-12-10 16:58:24 +01:00
Blezz Rot
700002cbae Translate using Weblate (Russian)
Currently translated at 100.0% (18 of 18 strings)

Co-authored-by: Blezz Rot <markus.jenya04@yandex.ru>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ru/
Translation: Home Manager/Home Manager Modules
2023-12-10 16:58:24 +01:00
teu5us
c7b84ad0e8 Translate using Weblate (Russian)
Currently translated at 100.0% (18 of 18 strings)

Co-authored-by: teu5us <paulkreuzmann@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ru/
Translation: Home Manager/Home Manager Modules
2023-12-10 16:58:24 +01:00
Nara Díaz Viñolas
defbb9c585 hyprland: add option sourceFirst
Add the option sourceFirst to the hyprland module. When this option is
enabled source entries will be put near the top of the file, so that
the variables declared in other files can be used by the other
configuration entries.

Add "source" to the list of important prefixes when the former option
is enabled.

Resolves #4729
2023-12-10 11:12:06 +01:00
dependabot[bot]
9a00befa13 ci: bump cachix/cachix-action from 12 to 13
Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action) from 12 to 13.
- [Release notes](https://github.com/cachix/cachix-action/releases)
- [Commits](https://github.com/cachix/cachix-action/compare/v12...v13)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-10 09:08:54 +01:00
Richard Davis
093777ee4a caffeine: remove ProtectHome service option
This option causes caffeine to be unable to start via the systemd
service.
2023-12-10 08:37:02 +01:00
D3vil0p3r
e6b7303bd1 docs: fix broken links in README 2023-12-09 23:00:52 +01:00
Robert Helgesson
fa91c109b0 docs: use relative paths to static resources
Fixes #4753
2023-12-09 13:20:54 +01:00
David Houdek
efa36e8969 Translate using Weblate (Czech)
Currently translated at 100.0% (18 of 18 strings)

Translate using Weblate (Czech)

Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: David Houdek <sarejnovec@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/cs/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/cs/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-12-09 09:35:48 +01:00
Robert Helgesson
7db6291d95 docs: migrate documentation
This resolves the long-standing deprecation warning by migrating the
documentation to using the nixos-render-docs tool. As part of this,
the documentation markup language is migrated to Markdown.

See pull-request #4673 for more.
2023-12-09 09:34:29 +01:00
Robert Helgesson
f10eb1b3ee docs: apply nixfmt 2023-12-09 09:05:16 +01:00
Viktor Kronvall
613dbb35db docs: rename generated manual to index.xhtml
The `nixos-render-docs` tool outputs XHTML formatted content. In
order to convince browsers like `firefox` to treat the data as XHTML
the extension must be `.xhtml` and not `.html`.

Using the XHTML-formatted content as HTML is mainly an issue with
self-closing `<a />` tags.
2023-12-07 21:40:31 +09:00
Viktor Kronvall
0a71046493 docs: fix syntax highlighting
`document-highlighter` now outputs a `<code>` block inside the
pre-formatted `<pre>` tag. This changes the required CSS for
rendering code snippets. Moreover, this commit uses the highlightjs
as provided by the `document-highlighter` package instead of the
version packaged in `nmd`.
2023-12-07 21:31:50 +09:00
Viktor Kronvall
b006bf1d74 docs: render DESCRIPTION and OPTIONS headings 2023-12-07 21:28:18 +09:00
Viktor Kronvall
eff22a27e2 docs: replace console language with shell 2023-12-07 21:28:18 +09:00
Viktor Kronvall
67b797a377 docs: update nmd version
This update fixes the custom CSS to make the `$` character
non-selectable in highlighted code blocks.
2023-12-07 21:28:18 +09:00
Viktor Kronvall
5c2ef5243d docs: extend home-configuration.nix header
The previous version had a longer header before the options,
including a DESCRIPTION section and an header for the OPTIONS.
2023-12-07 21:28:18 +09:00
Viktor Kronvall
be80122731 docs: include 3rd-party part 2023-12-07 21:28:18 +09:00
Viktor Kronvall
b5a47bd700 docs: this is the home-manager manual 2023-12-07 21:28:18 +09:00
Viktor Kronvall
32063973cc docs: fix note blocks 2023-12-07 21:28:18 +09:00
Viktor Kronvall
2098c6fe91 docs: no justification in home-manager manpage
The `man home-configuration.nix` is configured to left
align the text similar to `man configuration.nix`. This
commit updates the `man home-manager` page to be consitent
with the two manpages mentioned above.
2023-12-07 21:28:18 +09:00
Viktor Kronvall
8dae2041ef docs: use nixos-render-docs
This commit removes the `home-manager-render-docs` package in favor
of upstream `nixos-render-docs` where the manpage generator has been
updated to take a `--header` and a `--footer` flag specifying static
content around the content derived from the options.json file.
2023-12-07 21:28:16 +09:00
Viktor Kronvall
e4d290396c docs: update manual to refer to 23.11 2023-12-07 21:27:38 +09:00
Viktor Kronvall
f48a0062df docs: update paths to make manual tests pass 2023-12-07 21:27:38 +09:00
Viktor Kronvall
0dcb767676 docs: add htmlOpenTool to manual
This commit extracts the htmlOpenTool from `nmd` into a module
in the home-manager docs directory. This is done to provide feature
parity with the documentation generated using the docbook .xml files.
2023-12-07 21:27:38 +09:00
Viktor Kronvall
728423e6f4 docs: add home-manager manpage 2023-12-07 21:27:38 +09:00
Viktor Kronvall
80ac72bf03 docs: render without deprecated optionsDocBook
The `optionsDocBook` function is deprecated in nixpkgs since
nixos-23.11. This commit updates the manual and manpages to
use commonmark formatted documentation instead of the deprecated
docbook format.
2023-12-07 21:27:38 +09:00
0x5a4
ac7216918c firefox: fix folders not showing in toolbar
Fixes #4568
2023-12-04 23:14:01 +01:00
Tom Cammann
948703f3e7 broot: Add nushell integration (#4714)
Add additional config flag `enableNushellIntegration` in broot.nix to
setup broot/br for nushell.
2023-12-04 08:57:35 +01:00
Zurga
e504e8d01f Translate using Weblate (Dutch)
Currently translated at 100.0% (18 of 18 strings)

Translate using Weblate (Dutch)

Currently translated at 91.4% (32 of 35 strings)

Co-authored-by: Zurga <jim.lemmers@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/nl/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/nl/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-12-03 14:17:59 +01:00
Lorenzo Brzek
efe28e24f3 Translate using Weblate (Italian)
Currently translated at 100.0% (18 of 18 strings)

Translate using Weblate (Italian)

Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Lorenzo Brzek <lorenzoservizi@proton.me>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/it/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/it/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-12-03 14:17:59 +01:00
Blezz Rot
ce67b37cab Translate using Weblate (Russian)
Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Blezz Rot <markus.jenya04@yandex.ru>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ru/
Translation: Home Manager/Home Manager CLI
2023-12-03 14:17:59 +01:00
github-actions[bot]
0d40107119 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5a09cb4b393d58f9ed0d9ca1555016a8543c2ac8' (2023-11-24)
  → 'github:NixOS/nixpkgs/e92039b55bcd58469325ded85d4f58dd5a4eaf58' (2023-11-29)
2023-12-03 03:59:43 +00:00
Yuchen Guo
4a8545f5e7 swayidle: add systemd suspend to example 2023-12-01 13:17:50 +01:00
Yuchen Guo
9e869829c2 swayidle: daemonize swaylock in example configuration 2023-12-01 13:17:43 +01:00
Nikolay Mokrinsky
ef9088253c Translate using Weblate (Russian)
Currently translated at 94.2% (33 of 35 strings)

Co-authored-by: Nikolay Mokrinsky <me@mokrinsky.ru>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ru/
Translation: Home Manager/Home Manager CLI
2023-11-30 19:45:06 +01:00
Blezz Rot
3d154dab14 Translate using Weblate (Russian)
Currently translated at 94.2% (33 of 35 strings)

Co-authored-by: Blezz Rot <markus.jenya04@yandex.ru>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ru/
Translation: Home Manager/Home Manager CLI
2023-11-30 19:45:06 +01:00
Gabriel Fontes
2a604e614f Translate using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (18 of 18 strings)

Translate using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Gabriel Fontes <hi@m7.rs>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/pt_BR/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-11-30 19:45:06 +01:00
Robert Helgesson
db1878f013 home-manager: add 24.05 as valid state version 2023-11-27 08:46:43 +01:00
Damien Cassou
7c97c46dc4 signaturepdf: add service 2023-11-27 00:19:14 +01:00
home-manager-bot
8340c0b4d9 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c757e9bd77b16ca2e03c89bf8bc9ecb28e0c06ad' (2023-11-17)
  → 'github:NixOS/nixpkgs/5a09cb4b393d58f9ed0d9ca1555016a8543c2ac8' (2023-11-24)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-11-27 00:05:55 +01:00
XYenon
a462e7315d yazi: update shell integrations and docs 2023-11-25 16:17:54 +08:00
OTABI Tomoya
8cedd63eed fish: support flexible abbreviations
https://github.com/fish-shell/fish-shell/releases/tag/3.6.0
2023-11-24 18:44:25 +01:00
Robert Helgesson
e1f3b36ab0 home-manager: set unstable release to 24.05 2023-11-24 09:25:42 +01:00
Robert Helgesson
aeb2232d7a home-manager: set stable release to 23.11 2023-11-24 09:23:25 +01:00
Leah Amelia Chen
134deb46ab bat: support boolean flags in config
Previously, users cannot enable boolean flags like `--show-all` in bat's
config since all options were expected to be either a string, or a list
of strings. With this commit boolean flags are simply appended to the
end of the config if they are set to `true`, and discarded otherwise.

For example, the config

    {
      theme = "TwoDark";
      show-all = true;
      lessopen = false;
    }

would produce a config file that looks like

    --theme='TwoDark'
    --show-all

Fixes #4657
2023-11-23 00:16:58 +01:00
Gaetan Lepage
1bd1e86464 ruff: add module
ruff is Python linter and code formatter, written in Rust.
See <https://docs.astral.sh/ruff/>.
2023-11-22 23:51:52 +01:00
Philipp Mildenberger
1aabb0a31b picom: use getExe instead of hardcoded binary 2023-11-21 08:55:46 +01:00
Robert Helgesson
9482610ac1 qt: fix issues introduced in previous merge 2023-11-21 08:38:09 +01:00
Thiago Kenji Okada
3de857fa7d qt: fix qt.platformTheme = "gtk3" 2023-11-20 20:33:29 +00:00
Gutyina Gergő
993fb02d20 zsh: allow enabling syntax highlighters (#4360) 2023-11-19 19:37:32 +01:00
Thiago Kenji Okada
fff5204e5d qt: fix basic usage when just qt.enable = true is set 2023-11-19 12:39:53 +00:00
Robert Helgesson
9a4725afa6 qt: multiple fixes
PR #4579
2023-11-19 10:40:09 +01:00
Shawn Morel
7af969886b home-manager: improve comment in example configuration 2023-11-19 10:10:20 +01:00
github-actions[bot]
6fd3a5b728 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ca012a02bf8327be9e488546faecae5e05d7d749' (2023-10-16)
  → 'github:NixOS/nixpkgs/c757e9bd77b16ca2e03c89bf8bc9ecb28e0c06ad' (2023-11-17)
2023-11-19 03:59:16 +00:00
Julien H. Gibson
ecd0a800f7 Translate using Weblate (French)
Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Julien H. Gibson <julienhgibson@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/fr/
Translation: Home Manager/Home Manager CLI
2023-11-17 22:54:46 +00:00
Damien Cassou
3feeb77155 firefox: add support for specifying policies (#4626) 2023-11-17 23:54:39 +01:00
Julien H. Gibson
c1a033122d Translate using Weblate (French)
Currently translated at 94.2% (33 of 35 strings)

Co-authored-by: Julien H. Gibson <julienhgibson@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/fr/
Translation: Home Manager/Home Manager CLI
2023-11-16 07:06:44 +00:00
Oğuz Ersen
18ce0de460 Translate using Weblate (Turkish)
Currently translated at 100.0% (18 of 18 strings)

Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/tr/
Translation: Home Manager/Home Manager Modules
2023-11-16 07:06:43 +00:00
Frankie McEyes
f6c1a4f23b Translate using Weblate (Italian)
Currently translated at 100.0% (18 of 18 strings)

Translate using Weblate (Italian)

Currently translated at 85.7% (30 of 35 strings)

Co-authored-by: Frankie McEyes <mceyes@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/it/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/it/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-11-16 07:06:42 +00:00
Nicola Squartini
ab1459a1fb openstackclient: add module (#4530)
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2023-11-15 15:25:44 -07:00
Chuang Zhu
280721186a firefox: support setting a separate default search engine in private browsing (#4114)
* firefox: support setting a separate default search engine in private browing

Ref: https://searchfox.org/mozilla-central/rev/05d1afda588e54be73e31ef4e022dde91f1ed97a/toolkit/components/search/SearchSettings.sys.mjs#548

* Update modules/programs/firefox.nix

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-11-12 11:11:12 +01:00
9p4
50e582b9f9 swayidle: always restart systemd unit on failure
Occasionally, swayidle crashes with a failure to connect to the
Wayland session. Ideally, swayidle should automatically restart
instead of leaving the system in a vulnerable state.
2023-11-12 01:13:38 +01:00
Robert Helgesson
fad880ea93 firefox: minor documentation fix 2023-11-12 01:07:50 +01:00
Damien Cassou
d78f6693ee firefox: add finalPackage read-only option
When a user references config.programs.firefox.package in her/his
configuration, s·he will get a different path than what is in the
$PATH variable. To make it possible to get the same path, this commit
introduces the finalPackage read-only option.
2023-11-12 00:57:26 +01:00
Paul Meyer
691cbcc03a k9s: add aliases, plugins, views
Adding the remaining config files of k9s that weren't covered yet.

PR #4627
2023-11-11 01:39:45 +01:00
Olli Helenius
e27be9db7b systemd: avoid creating an empty user.conf
Due to the defaults in `systemd.user.settings`, the default value when
there are no settings explicitly set is `{ Manager = { }; }`. This
means an empty file is created even when `systemd.user.settings` is
never used in home-manager configuration. Since user’s `user.conf` is
preferred to the global `/etc/systemd/user.conf`, this can cause any
values set in the latter to be discarded.
2023-11-11 00:51:53 +01:00
Rodney Lorrimar
f5182ffc42 emacs: Fix socket activation 2023-11-11 00:44:54 +01:00
Rodney Lorrimar
47226ec7e7 emacs: Remove obsolete socket file workaround 2023-11-11 00:44:53 +01:00
Damien Cassou
54586daa59 firefox: add container support 2023-11-11 00:34:21 +01:00
Damien Cassou
858fe2f09a firefox: refactor duplicate profile ID detection 2023-11-11 00:34:20 +01:00
Olli Helenius
6a8444467c systemd: add settings option (#4276)
The `systemd.user.extraConfig` provides a way to generate a
`systemd-user.conf(5)` file for the user.

This is the home-manager equivalent of NixOS’s option of the same
name, with the difference that NixOS’s option generates a `user.conf`
file that is shared between all users.
2023-11-07 07:55:17 -07:00
polykernel
76e7c05f7d home-cursor: fix typo in XDG data directory link
This commit fixes a typo in XDG data directory link location in the
`home.pointerCursor` module where the link is placed at
$XDG_DATA_HOME/.icons instead of the correct location
$XDG_DATA_HOME/icons.

Fixes #4638
2023-11-07 09:21:58 +01:00
9p4
c067d57fc4 swayr: add module (#4322)
a window switcher for sway
2023-11-06 18:05:18 +01:00
Sebastian Zivota
8765d4e38a thefuck: add fish integration (#4535)
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2023-11-03 09:33:15 -06:00
Joseph Ryan
831b4fa317 clipmenu: set Environment to a list 2023-11-01 20:36:53 -07:00
Willi Carlsen
48b0a30202 granted: add module
Signed-off-by: Willi Carlsen <carlsenwilli@gmail.com>
2023-11-01 22:20:17 +01:00
Philipp Kühn
a421804890 borgmatic: preparing upcoming borgmatic change
This commit changes the config format of repositories to the
soon-be-expected `{ "path": "repository-path", }`. The Home Manager
configuration allows a simple string (which will get translated), the
new format by directly using the path attribute, and the one with the
optional label attribute. More information about the background can be
found here https://torsion.org/borgmatic/docs/reference/configuration/
2023-11-01 22:16:04 +01:00
Li Yang
fc2a8842ea k9s: add hotkey option (#4617)
* k9s: add hotkey option

This PR adds an option to customise k9s hotkeys.
The keyword `hotKey` must be in camel case on the user config.

* Update modules/programs/k9s.nix

Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>

* fix formatting

---------

Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-11-01 18:40:14 +01:00
Nova Leary
9bc7d84b82 zsh: made ZDOTDIR export to the shell (#4619) 2023-11-01 00:35:15 +01:00
tristan
8e5416b478 services.swayidle: change target to generic session (#3913)
this makes the default setup support other window-managers, and is the
trend followed by waybar, clipman, copyq, wlsunset.
2023-10-30 13:55:11 +01:00
NAHO
f92a54fef4 wezterm: remove automatic config reload call
Closes: #4426
2023-10-28 09:45:59 +02:00
Knut Magnus Aasrud
1369d2cefb aerc: fix config paths on darwin
When xdg.enable is set, aerc uses the $XDG_CONFIG_HOME variable instead
of the default $HOME/Library/Preferences. home-manager needs to check
this to make sure aerc can find the proper file in both cases.
2023-10-27 09:44:45 +02:00
André Silva
09587fbbc6 hyprland: add tray.target 2023-10-25 18:13:51 +02:00
Martin Schwaighofer
9d0f799c66 helix: add extraPackages option
Closes #2923 based on how arnarg solves this in his personal config.
With review suggestions from musjj.

Co-authored-by: Arnar Gauti Ingason <arnarg@fastmail.com>
Co-authored-by: musjj <72612857+musjj@users.noreply.github.com>
2023-10-25 18:11:33 +02:00
Naïm Favier
14b5415720 sxhkd: set scope OOMPolicy to continue
When a process inside the sxhkd scope is OOM killed, if the OOM policy
is set to `stop` then the sxhkd scope itself will exit, terminating
every process launched from the keyboard.

This is undesirable, set it to `continue` instead to keep other
processes running.
2023-10-24 17:48:13 +02:00
Luna Simons
6045b68ee7 cava: add module 2023-10-24 08:20:22 +02:00
Silvio Ankermann
f540f30f1f cbatticon: Add support for batteryId
For devices with more than one battery, cbatticon allows to set the
battery ID as optional positional argument. If this argument is not
given, it default to the first battery it would list with `cbatticon
-p`. This commit adds support for the batteryId option to the cbatticon
module.
2023-10-23 15:50:42 +02:00
Thiago Kenji Okada
1160454c79 qt: support gtk3 platform theme
This theme is part of qtbase and requires no extra packages.

Co-authored-by: novenary <novenary@kwak.zip>
2023-10-22 20:09:22 +01:00
Thiago Kenji Okada
1e80a0b3d8 qt: allow usage without setting platformTheme 2023-10-22 20:09:22 +01:00
Benjamin Lee
219d268a69 aerc: fix config paths on darwin 2023-10-22 10:49:52 +02:00
NAHO
81ab146262 readme: major cleanup
Includes the following changes:

- Remove unused reference definition.

- Sort reference definitions.

- Internally reference "Words of warning" section.

- Consistently reference.

- Fix typo.

- Format HTML code.

- Link only to first occurence per section.

- Simplify list formatting.

- Adapt 'Installation' section to manual.

- Fix punctuation.

- Wrap text at 80 characters.

- Simplify link phrasing.

- Add missing punctuation.

PR #4363
2023-10-22 01:31:56 +02:00
Haras
4c0bcf5dff exa: add aliases to nushell 2023-10-22 00:38:07 +02:00
Robert Helgesson
ae631b0b20 docs: fix option name
Fixes #4589
2023-10-20 23:56:29 +02:00
Thiago Kenji Okada
55eee5bd67 qt: use sessionVariablesExtra to export QT_PLUGIN_PATH/QML2_IMPORT_PATH 2023-10-19 21:41:18 +01:00
Thiago Kenji Okada
eaee696b6e qt: simplify style.name mappings 2023-10-19 21:41:18 +01:00
Thiago Kenji Okada
bc53e4c240 qt: add qgnomeplatform-qt6 when platformTheme is set to gnome 2023-10-19 21:41:18 +01:00
Thiago Kenji Okada
541d32d8b8 qt: add support for platformTheme lxqt 2023-10-19 21:41:18 +01:00
SrGesus
c5c1ea8518 Translate using Weblate (Portuguese)
Currently translated at 100.0% (18 of 18 strings)

Translate using Weblate (Portuguese)

Currently translated at 88.5% (31 of 35 strings)

Co-authored-by: SrGesus <gabriel.fcf04@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/pt/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/pt/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-10-19 06:00:28 +02:00
Yogurt
a969307eb9 Translate using Weblate (Lithuanian)
Currently translated at 66.6% (12 of 18 strings)

Translate using Weblate (Lithuanian)

Currently translated at 88.5% (31 of 35 strings)

Co-authored-by: Yogurt <donatas.karta@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/lt/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/lt/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-10-19 06:00:27 +02:00
Emre Çebi
92bf9c2585 Translate using Weblate (Turkish)
Currently translated at 88.8% (16 of 18 strings)

Translate using Weblate (Turkish)

Currently translated at 94.2% (33 of 35 strings)

Co-authored-by: Emre Çebi <emrecebi03@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/tr/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/tr/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-10-19 06:00:27 +02:00
sisyphushappy
3433206e51 qutebrowser: add greasemonkey userscript option
Co-authored-by: Ivar Scholten <ivar.scholten@protonmail.com>
2023-10-18 22:56:15 +02:00
home-manager-bot
54c1ca74d9 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5e4c2ada4fcd54b99d56d7bd62f384511a7e2593' (2023-10-11)
  → 'github:NixOS/nixpkgs/ca012a02bf8327be9e488546faecae5e05d7d749' (2023-10-16)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-10-18 22:17:52 +02:00
Thiago Kenji Okada
4ba652d8a8 qt: add style mappings for Qt 6 2023-10-18 18:00:45 +01:00
Thiago Kenji Okada
3452e14ec7 qt: workaround issue when i18n.inputMethod.enabled = 'fcitx5' 2023-10-18 16:17:32 +01:00
Thiago Kenji Okada
4b2d3b03be qt: remove top-level with lib 2023-10-18 13:30:44 +01:00
Thiago Kenji Okada
5744ebf359 qt: export QT_PLUGIN_PATH/QML2_IMPORT_PATH
Those 2 variables are necessary to make e.g.: qt6ct work correctly.

See issue: https://github.com/NixOS/nixpkgs/issues/239909.
2023-10-18 13:15:56 +01:00
Thiago Kenji Okada
b4ea37c633 qt: remove remaining Qt 4 support
Qt 4 was removed from nixpkgs so it doesn't make sense to support it
anymore.
2023-10-18 11:58:05 +01:00
r-vdp
84fa81c7ac fzf: add mkOrder for fish like we do for other shells 2023-10-18 11:40:55 +02:00
r-vdp
cffc9938c7 fzf: fix fish integration
Since fzf 0.43.0, the fzf_key_bindings function is only defined when
fish is running interactively, see [1].
This caused errors when entering non-interactive fish shells since we
called fzf_key_bindings during startup.

[1]: 7e89458a3b
2023-10-18 10:26:09 +02:00
Gabriel Arazas
05649393ac recoll: update option descriptions 2023-10-18 08:45:55 +02:00
Gabe Dunn
3e1f8df4f0 thefuck: add instant mode option
Also do a slight code cleanup.
2023-10-17 17:30:37 +02:00
home-manager-bot
b3acf1dc78 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f99e5f03cc0aa231ab5950a15ed02afec45ed51a' (2023-10-09)
  → 'github:NixOS/nixpkgs/5e4c2ada4fcd54b99d56d7bd62f384511a7e2593' (2023-10-11)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-10-17 17:10:43 +02:00
sefidel
7a46e6cb3c im/fcitx5: fix missing plugins on Qt6 (#4468)
This commit fixes fcitx5 not working on Qt6 due to missing plugins, by
adding them to QT_PLUGIN_PATH.
2023-10-17 10:31:32 +02:00
Xavier Lambein
b25161c6a2 darkman: add module
Co-authored-by: Naïm Favier <n@monade.li>
Co-authored-by: Robert Helgesson <robert@rycee.net>
2023-10-17 09:07:47 +02:00
Daniel Poelzleithner
132f985185 home-manager: add .editorconfig
Sets the basic editor settings to Home Manager style guide.
2023-10-17 08:05:15 +02:00
Artturin
f6bb5c2973 docs: add stateVersion to the NixOS/nix-darwin example
This is necessary, without this a new user gets

```
error: The option `home-manager.users.X.home.stateVersion' is used but not defined.
```
2023-10-17 07:58:51 +02:00
Damien Cassou
78125bc681 firefox: add test for duplicate profile id assertion 2023-10-16 00:54:15 +02:00
Damien Cassou
f033205b25 firefox: extract an overlay common to all tests 2023-10-16 00:54:14 +02:00
Janik
3b67ae3f66 services.cliphist: add module (#4445) 2023-10-15 14:03:18 +02:00
Damien Cassou
d4a5076ea8 borgmatic: improve support for version 1.8.0
The configuration file format of borgmatic has changed in version
1.8.0:
https://projects.torsion.org/borgmatic-collective/borgmatic/src/branch/main/NEWS

This commit makes Home Manager generate borgmatic's configuration file
using the new format.

Even though the NEWS file indicates that old configuration files are
compatible, this is not 100% the case: empty sections work fine in old
borgmatic but stop working in new ones. I've reported the bug upstream
by email as I couldn't create an account on the forge.
2023-10-15 00:38:55 +02:00
Kiran Ostrolenk
9a2ce65697 zsh: generalize zsh-history-substring-search
Specifically, allow variable expansion for the key codes by switching
from single to double quotes.

This also adds a helpful suggestion to descriptions. Taken from the
project's README, see

  4abed97b6e/README.md (L71-L74))
2023-10-15 00:09:13 +02:00
github-actions[bot]
a4a72ffd76 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/87828a0e03d1418e848d3dd3f3014a632e4a4f64' (2023-10-06)
  → 'github:NixOS/nixpkgs/f99e5f03cc0aa231ab5950a15ed02afec45ed51a' (2023-10-09)
2023-10-11 03:59:22 +00:00
pacien
6bba64781e password-store-sync: remove module
The module `services.git-sync` (introduced two years after) provides
the same functionality, but in a more general and reliable way.
2023-10-10 14:28:09 +02:00
pacien
6dfbdc977e unison: add package option
So that one can use the lighter headless version of Unison.
2023-10-08 16:44:39 +02:00
github-actions[bot]
3c1d8758ac flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/fdd898f8f79e8d2f99ed2ab6b3751811ef683242' (2023-10-01)
  → 'github:NixOS/nixpkgs/87828a0e03d1418e848d3dd3f3014a632e4a4f64' (2023-10-06)
2023-10-08 03:59:17 +00:00
Gerg-L
b2a2133c9a flake: fix nixpkgs config
Fixes #2942
2023-10-07 01:32:49 +02:00
a-kenji
31a27e4806 fish: query pname and version for completions
Query the `pname` and `version` attributes for completion generation,
if the `name` attribute is not available.

Fixes #2813
2023-10-07 00:59:08 +02:00
Mihai Fufezan
ed0770e962 hyprland: allow customizing systemd
Allows users to customize which environment variables to import in DBus
and SystemD user environments, and to specify which commands will be run
after the environment activation.
2023-10-06 23:34:47 +02:00
Bernardo Meurer
44635279a0 bat: allow setting themes/syntaxes without IFD
The way the `bat` module is currently written makes it essentially
impossible to use themes and syntaxes without IFD, since you must
provide the contents as string, instead of just giving a path to be
linked.

With this change, setting themes/syntaxes by-string will start issuing
warnings, and a new attribute model is added, lightly inspired by how
`programs.zsh.plugins` avoided this issue.
2023-10-06 23:26:08 +02:00
Simone Ragusa
68f7d8c0fb firefox: set ADD_DATE and LAST_MODIFIED of bookmarks to 1
For some reason, Firefox completely discards the ADD_DATE and
LAST_MODIFIED attributes if they are set to 0. This has been
confirmed by exporting a sample set of bookmarks generated by
Nix using home-manager and comparing it to the same sample of
bookmarks set manually and then exported.

Missing these attributes can cause problems for extensions and
other tools that try to read bookmarks. A known example is the
Tridactyl extension.
2023-10-04 21:08:09 +02:00
Reza Almanda
8aef005d44 Translate using Weblate (Indonesian)
Currently translated at 94.4% (17 of 18 strings)

Translate using Weblate (Indonesian)

Currently translated at 68.5% (24 of 35 strings)

Translate using Weblate (Indonesian)

Currently translated at 61.1% (11 of 18 strings)

Translate using Weblate (Indonesian)

Currently translated at 42.8% (15 of 35 strings)

Co-authored-by: Reza Almanda <rezaalmanda27@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/id/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/id/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-10-04 08:58:04 +00:00
ilaumjd
2874c6fce6 thefuck: add module 2023-10-04 09:39:23 +02:00
ilaumjd
b0e0d82696 zsh-abbr: add module 2023-10-04 08:07:49 +02:00
github-actions[bot]
4e52d9b7f7 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8a86b98f0ba1c405358f1b71ff8b5e1d317f5db2' (2023-09-27)
  → 'github:NixOS/nixpkgs/fdd898f8f79e8d2f99ed2ab6b3751811ef683242' (2023-10-01)
2023-10-04 03:59:18 +00:00
Robert Helgesson
e63c30fe97 home-manager: fix assignment to read-only variable
Fixes #4519
2023-10-04 00:15:24 +02:00
home-manager-bot
30d2dc8d68 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e35dcc04a3853da485a396bdd332217d0ac9054f' (2023-09-22)
  → 'github:NixOS/nixpkgs/8a86b98f0ba1c405358f1b71ff8b5e1d317f5db2' (2023-09-27)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-10-04 00:02:52 +02:00
ilaumjd
55ce64c3ca scmpuff: enable or disable aliases 2023-10-03 18:04:43 +02:00
Olmo Kramer
6f9b5b83ad khard: add module 2023-10-01 09:29:05 +02:00
Avimitin
209a24dff2 wpaperd: add wpaperd configuration
Signed-off-by: Avimitin <dev@avimit.in>
2023-10-01 09:23:33 +02:00
e-nikolov
ae896c810f home-manager: set profile path variables lazily
We only need the Home Manager path variables when performing a few
operations, so only set the variables for those operations.

This avoids problems on fresh installations, where no profile
directory exists.

Fixes #4403
2023-09-30 10:38:31 +02:00
Anthony Roussel
f1b7775d23 awscli: add module 2023-09-30 09:48:13 +02:00
Ramses
4f02e35f9d direnv: add package options 2023-09-29 12:51:58 +02:00
Ahmet B
2ccb5cb542 Translate using Weblate (Turkish)
Currently translated at 85.7% (30 of 35 strings)

Co-authored-by: Ahmet B <bilenahmet.5299@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/tr/
Translation: Home Manager/Home Manager CLI
2023-09-29 00:31:33 +02:00
Weblate (bot)
9d4cdf8cc4 Translate using Weblate (Danish)
Currently translated at 100.0% (18 of 18 strings)


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

Co-authored-by: Emil Heilbo <yuki@yukie.dev>
2023-09-29 00:31:29 +02:00
Federico Rampazzo
1d813ff5a6 qt: remove qtstyleplugin-kvantum-qt4
The package qtstyleplugin-kvantum-qt4 has been removed, because it
depended on qt4.
2023-09-29 00:02:35 +02:00
jakob
0f4e5b4999 keychain: fix edge-cases in nushell integration
- If the parse does not match/returns an empty list, transpose does
  not transform it into a record and thus load-env fails.

- The parsing assumes keychain to emit bash-style completions, so set
  SHELL=bash to ensure keychain output is in the expected format.

PR #4459
2023-09-26 16:24:27 +02:00
KFears
dd88dbc694 neovim: expose finalPackage
Make the `finalPackage` option public, but still read-only. The final
package option is quite useful for users.

For example, to integrate `lazy.nvim` with Nix there are three things
that must be done:

1. `lazy.nvim` resets packpath, which should be managed by Nix; it has
   to be turned off with `performance.reset_packpath = false` option in
   `lazy.nvim`

2. Same thing applies to rtp, the relevant option is
   `performance.rtp.reset = false`

3. `dev.path` must be specified as the folder that contains the plugins.
   This folder is the path to Nix store path with Neovim plugins, and
   the plugins that are managed by Nix must be marked as `dev = true`

The third condition can not be fulfilled without this PR, as the final
package that Home Manager produces is not exposed, therefore it is
impossible to extract the Nix store path. This PR makes it more
accessible via

    ${
      pkgs.vimUtils.packDir config.programs.neovim.finalPackage.passthru.packpathDirs
    }/pack/myNeovimPackages/start
2023-09-26 08:00:52 +02:00
shimun
a88df2fb10 bacon: add module
Bacon is a background rust code checker. See
<https://dystroy.org/bacon/>.
2023-09-24 12:07:57 +02:00
home-manager-bot
4a6333265e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/970a59bd19eff3752ce552935687100c46e820a5' (2023-09-17)
  → 'github:NixOS/nixpkgs/e35dcc04a3853da485a396bdd332217d0ac9054f' (2023-09-22)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-09-24 10:38:42 +02:00
Robert Helgesson
baf222f2fb tests: add mainProgram to stub packages
This is to avoid warnings being printed while tests are run.
2023-09-24 09:48:46 +02:00
Avimitin
835465e8ba lsd: allow user to configure colors
Signed-off-by: Avimitin <dev@avimit.in>
2023-09-24 09:47:00 +02:00
Chris Dawkins
2d27bdcd64 direnv: fix nushell syntax
With nushell `0.85.0` this is no longer valid syntax. This change fixes
the syntax error with `0.85.0` while still remaining valid for `0.84.0`
and earlier.
2023-09-24 00:56:48 +02:00
XYenon
7413408b04 yazi: add fish and nushell integration
PR #4493
2023-09-24 00:41:14 +02:00
Sefa Eyeoglu
e0c70942c0 programs.sway: separate trayOutput values for sway (#4489)
Fixes nix-community/home-manager#4488

The default config for sway generates a bar block with tray_output primary. But wayland (or sway, take your pick?) has no concept of a primary display so this just results in no tray anywhere.

A better default is "*" which puts the tray on every monitor, since sway can do so without issue.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-09-23 20:53:45 +02:00
Franz Pletz
408ba13188 neomutt: fix STARTTLS
When smtps is used as a protocol, neomutt expects TLS but will if
STARTTLS should be used. When using STARTTLS, smtp has to be used as
protocol and `ssl_force_tls` is set.

See <https://neomutt.org/guide/optionalfeatures#2-1-%C2%A0starttls>.
2023-09-20 17:39:23 +02:00
Weblate
0ed5f9786b Add translation using Weblate (Thai)
Co-authored-by: Weblate <noreply@weblate.org>
2023-09-20 06:38:48 +00:00
Kamontat Chantrachirathumrong
8847dd8bf3 Translate using Weblate (Thai)
Currently translated at 2.8% (1 of 35 strings)

Add translation using Weblate (Thai)

Co-authored-by: Kamontat Chantrachirathumrong <uein2@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/th/
Translation: Home Manager/Home Manager CLI
2023-09-20 06:38:47 +00:00
github-actions[bot]
3e7202c638 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ace5093e36ab1e95cb9463863491bee90d5a4183' (2023-09-15)
  → 'github:NixOS/nixpkgs/970a59bd19eff3752ce552935687100c46e820a5' (2023-09-17)
2023-09-20 03:59:17 +00:00
David Knaack
6f88243322 starship: use use instead of source for nushell
For starship v1.16 onwards this is the upstream-recommended method.
2023-09-19 23:14:29 +02:00
Robert Walter
7ee73f5363 rofi-pass: add package option 2023-09-19 22:24:36 +02:00
Robert Helgesson
8aac47a140 waybar: fix service After value
Fixes #4469
2023-09-19 21:39:16 +02:00
ykis-0-0
f5b920f4d2 fluxbox: fix xsession command
Fixes #4457
2023-09-19 20:52:50 +02:00
home-manager-bot
ee9f5dc8f6 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3a2786eea085f040a66ecde1bc3ddc7099f6dbeb' (2023-09-11)
  → 'github:NixOS/nixpkgs/ace5093e36ab1e95cb9463863491bee90d5a4183' (2023-09-15)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-09-19 18:05:41 +02:00
Robert Helgesson
92364581dd tests: sort test list 2023-09-19 08:03:34 +02:00
Motiejus Jakštys
8045eb45a7 pasystray: add extraOptions
Allows a user to, for example, add the `-g` option.

Also add a basic test case.
2023-09-19 08:02:18 +02:00
VwCSXg
feb7006159 git: replace gitToInit with lib function
Remove the function gitToInit and underlying functions in favor of using
the function lib.generators.toGitINI from nixpkgs.
2023-09-18 23:57:36 +02:00
Otavio Salvador
f092a92202 programs.rio: add module (#4118)
Adds a programs.rio module to control Rio installation and configuration, a gpu accelerated terminal

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2023-09-18 22:42:22 +02:00
Florian Peter
e63a6b3479 programs.i3status-rust: reload on config change (#4466)
Adds automatic reloading of i3status-rust on config change.
This is done via sending SIGUSR2, which is now supported since [v0.20.0](https://github.com/greshake/i3status-rust/blob/master/NEWS.md#new-blocks-and-features-21)

The previous method of attempting to restart i3 in its entirety didn't work at least on my system, and is now overkill anyways.
2023-09-18 15:25:42 +02:00
Hosted Weblate
d9b88b4352 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-09-14 00:13:59 +02:00
Robert Helgesson
b62f549653 home-manager: i18n fixes 2023-09-14 00:08:28 +02:00
Robert Helgesson
a8cde78506 home-manager: update translation templates 2023-09-13 23:46:35 +02:00
Thomas de Queiroz Barros
f07207f8ca home-manager: fix typo 2023-09-13 23:45:52 +02:00
Robert Helgesson
5f5cb7a613 carapace: add xgettext workaround 2023-09-13 23:45:50 +02:00
stuebinm
aed5ed979e bat: allow adding custom syntaxes
Adds an option to add custom syntax files to bat's cache, analogous to
the existing programs.bat.themes option.
2023-09-13 22:29:41 +02:00
VwCSXg
d12c8fc85b emacs: fix emacs-extra-config test
Fixes #4453
2023-09-13 19:13:10 +02:00
home-manager-bot
c4c2594427 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/db9208ab987cdeeedf78ad9b4cf3c55f5ebd269b' (2023-09-08)
  → 'github:NixOS/nixpkgs/3a2786eea085f040a66ecde1bc3ddc7099f6dbeb' (2023-09-11)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-09-13 19:11:57 +02:00
NotAShelf
a0ddf43b62 xplr: add module 2023-09-13 08:10:39 +02:00
Tristan Daniël Maat
5171f5ef65 swaylock: document the need for host PAM configuration 2023-09-11 23:59:04 +02:00
dependabot[bot]
ae2cc6a88c ci: bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-11 23:47:36 +02:00
home-manager-bot
bfe3878235 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e56990880811a451abd32515698c712788be5720' (2023-09-02)
  → 'github:NixOS/nixpkgs/db9208ab987cdeeedf78ad9b4cf3c55f5ebd269b' (2023-09-08)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-09-11 23:14:11 +02:00
dependabot[bot]
edda5599d6 ci: bump cachix/install-nix-action from 22 to 23
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 22 to 23.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v22...v23)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-11 23:13:26 +02:00
Sefa Eyeoglu
ac1c7c34db exa: replace with eza
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-09-11 22:17:41 +02:00
Bjørn Forsman
f7848d3e5f nixos: increase TimeoutStartSec from 1m30s to 5m
I'm experiencing timeouts for home-manager-$USER.service in my NixOS VM
tests. The NixOS testing framework increases the default timeout from
1m30 to 5m, but since home-manager specifies a timeout, that value wins.

There's no point in having a tight timeout value, so increase it to 5m.
2023-09-10 21:54:17 +02:00
Karel Kremel
2b637f3289 Translate using Weblate (Czech)
Currently translated at 100.0% (35 of 35 strings)

Translate using Weblate (Czech)

Currently translated at 5.5% (1 of 18 strings)

Co-authored-by: Karel Kremel <charles@alembiq.net>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/cs/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/cs/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-09-10 12:17:56 +02:00
Weblate
3dd5470e59 Add translation using Weblate (Czech)
Co-authored-by: Weblate <noreply@weblate.org>
2023-09-10 12:17:56 +02:00
Karel Kremel
11c91750b0 Translate using Weblate (Czech)
Currently translated at 25.7% (9 of 35 strings)

Add translation using Weblate (Czech)

Co-authored-by: Karel Kremel <charles@alembiq.net>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/cs/
Translation: Home Manager/Home Manager CLI
2023-09-10 12:17:56 +02:00
e-nikolov
f9041d12a9 home-manager: fix some completions commands 2023-09-10 11:35:41 +02:00
Lin Jian
19c6a4081b emacs: add version for default.el package
A recent change[1] in Nixpkgs makes version attribute non-optional.

[1]: https://github.com/NixOS/nixpkgs/pull/253448
2023-09-08 09:00:58 +08:00
Robert Helgesson
f1d4f49e71 just: simplify 2023-09-07 22:29:12 +02:00
Christina Sørensen
91341cde41 eza: add module
This copies the exa configuration for eza, the official fork of the
program.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-09-07 17:57:00 +02:00
github-actions[bot]
b22d7bab30 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/aa8aa7e2ea35ce655297e8322dc82bf77a31d04b' (2023-09-01)
  → 'github:NixOS/nixpkgs/e56990880811a451abd32515698c712788be5720' (2023-09-02)
2023-09-06 03:59:34 +00:00
Weathercold
3c0e381fef carapace: add module 2023-09-05 08:39:59 +02:00
Basile Clément
886ea1d213 accounts.email: fix runbox.com TLS setup (#4408) 2023-09-04 22:29:18 +02:00
github-actions[bot]
8e49b88389 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5690c4271f2998c304a45c91a0aeb8fb69feaea7' (2023-08-25)
  → 'github:NixOS/nixpkgs/aa8aa7e2ea35ce655297e8322dc82bf77a31d04b' (2023-09-01)
2023-09-03 03:59:24 +00:00
Marcin Kaczorek
fae8af43e2 Translate using Weblate (Polish)
Currently translated at 100.0% (35 of 35 strings)

Translate using Weblate (Polish)

Currently translated at 94.2% (33 of 35 strings)

Co-authored-by: Marcin Kaczorek <hostedweblateorgmk@karek.pl>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/pl/
Translation: Home Manager/Home Manager CLI
2023-09-02 11:14:07 +02:00
nicoo
7ac2cd01ae tmpfiles: use only xdg.configFile
This is a small refactor, and minimises the impact of home-manager#4398.
2023-08-31 14:18:55 +02:00
Robert Helgesson
f5c15668f9 tests: update to match latest TOML output
The generated format seems to have changed with the merge of
<https://github.com/NixOS/nixpkgs/pull/245440>.
2023-08-30 14:37:13 +02:00
arjan-s
a7eab56be5 programs.khal: add settings option (#4375) 2023-08-30 11:57:47 +02:00
dependabot[bot]
8bde7a651b ci: bump DeterminateSystems/update-flake-lock from 19 to 20
Bumps [DeterminateSystems/update-flake-lock](https://github.com/determinatesystems/update-flake-lock) from 19 to 20.
- [Release notes](https://github.com/determinatesystems/update-flake-lock/releases)
- [Commits](https://github.com/determinatesystems/update-flake-lock/compare/v19...v20)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-28 01:58:28 +00:00
cafkafk
43ec65ad55 Translate using Weblate (Danish)
Currently translated at 83.3% (15 of 18 strings)

Translate using Weblate (Danish)

Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: cafkafk <christina@cafkafk.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/da/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/da/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-08-27 23:09:54 +02:00
Damien Cassou
455cc8cf1c offlineimap: cleanup unused bindings 2023-08-27 22:36:42 +02:00
Damien Cassou
0962772e0b antidote: cleanup unused bindings 2023-08-27 22:36:41 +02:00
Damien Cassou
35cbed7ac7 aerc: cleanup unused bindings 2023-08-27 22:36:40 +02:00
XYenon
90e62f96c7 programs.yazi: add module (#4373)
add module for yazi https://github.com/sxyazi/yazi a terminal rust file browser akin to ranger or joshuto
2023-08-27 20:47:47 +02:00
networkException
f8c5fd7509 chromium: add support for dictionaries
this patch adds support for installing hunspell dictionaries in
chromium.
2023-08-27 10:42:38 +02:00
github-actions[bot]
9706fb8e44 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/91a22f76cd1716f9d0149e8a5c68424bb691de15' (2023-08-21)
  → 'github:NixOS/nixpkgs/5690c4271f2998c304a45c91a0aeb8fb69feaea7' (2023-08-25)
2023-08-27 03:59:25 +00:00
github-actions[bot]
6a20e40aca flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d680ded26da5cf104dd2735a51e88d2d8f487b4d' (2023-08-19)
  → 'github:NixOS/nixpkgs/91a22f76cd1716f9d0149e8a5c68424bb691de15' (2023-08-21)
2023-08-23 03:59:15 +00:00
Anton Mosich
8eb8c212e5 qcal: add module 2023-08-22 18:09:05 +02:00
Robert Helgesson
ea59b79f31 bat: generate cache file in XDG cache home
Fixes #4345
2023-08-22 08:34:00 +02:00
TNE
ca4126e3c5 nixos: only refer to users.users if needed
Fixes a regression of GitHub issue #594. Before this commit,
attempting to dynamically configure Home Manager with contents of
nixos's users.users when using the nixos module would result in
infinite recursion.

PR #4368
2023-08-22 08:28:20 +02:00
polykernel
a0ad98174c home-cursor: remove IFD when linking icon directories
An IFD was introduced in bdb5bcad01 from
reading the top-level directories of the `home.pointerCursor.package`
at instantiation time.

This commit removes the IFD introduced when linking icon directories
by linking only the icon directory matching `home.pointerCursor.name`
in `home.pointerCursor.package`. This should be functionally
equivalent to linking all top-level directories of the supplied icon
package as the module only generates cursor configurations pertaining
to the cursor identified by `home.pointerCursor.name`. Deviations in
behavior caused by additional files linked in $HOME/.icons as of the
status quo should be treated as impurities.
2023-08-22 08:22:24 +02:00
github-actions[bot]
958c06303f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8353344d3236d3fda429bb471c1ee008857d3b7c' (2023-08-15)
  → 'github:NixOS/nixpkgs/d680ded26da5cf104dd2735a51e88d2d8f487b4d' (2023-08-19)
2023-08-20 03:59:16 +00:00
polykernel
bdb5bcad01 home-cursor: improve icon compatibility
The current cursor configuration poorly accomodate applications not
following the XDG icon theme spec. As a result, some applications fail
to locate user defined icons and themes.

To address this, symlinks from icon directories in the provided cursor
package was to $HOME/.icons were added added for greater compatibility
with applications using hardcoded icons directories. This approach was
chosen to allow for coexistence of declarative and non-declarative
icon files in the icons directory. In addition, symlinks of icon
directories were mirrored in $XDG_DATA_HOME/.icons for backwards
compatibility. As per the XDG icon theme spec, applications are to
search in $HOME/.icons first for icons and themes so the existing
behavior should not break for XDG compliant applications[1].

[1] https://specifications.freedesktop.org/icon-theme-spec/latest/ar01s03.html
2023-08-19 14:32:28 +02:00
Kilian Mio
6a94c1a597 fix(qt): allow theming for apps started by systemd (#4349) 2023-08-17 10:27:17 +02:00
github-actions[bot]
2471d965a3 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9e1960bc196baf6881340d53dccb203a951745a2' (2023-08-01)
  → 'github:NixOS/nixpkgs/8353344d3236d3fda429bb471c1ee008857d3b7c' (2023-08-15)
2023-08-16 23:54:59 +02:00
Robert Helgesson
aa59f91746 fcitx5: add fcitx5-config-qt to test stub 2023-08-16 22:41:11 +02:00
Robert Helgesson
1ccd0c935c pqiv: only run tests on Linux platforms 2023-08-16 22:38:03 +02:00
Donovan Glover
9db5b89f40 pqiv: add module 2023-08-16 17:44:54 +02:00
Simon
75cfe974e2 Translate using Weblate (German)
Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Simon <xxyababx70@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/de/
Translation: Home Manager/Home Manager CLI
2023-08-15 22:32:29 +02:00
NotAShelf
b84767a145 xplr: add module 2023-08-15 20:26:58 +03:00
Robert Schütz
18791781ea browserpass: support librewolf 2023-08-15 08:42:51 +02:00
HeartBlin913861820c094e37
da6874e8bb Translate using Weblate (Romanian)
Currently translated at 100.0% (18 of 18 strings)

Translate using Weblate (Romanian)

Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: HeartBlin913861820c094e37 <heartblin@proton.me>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ro/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ro/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-08-14 09:40:15 +02:00
Gabriel Grysuk
d08812fe1a Translate using Weblate (Portuguese (Brazil))
Currently translated at 85.7% (30 of 35 strings)

Co-authored-by: Gabriel Grysuk <gabrielgrysuk@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/pt_BR/
Translation: Home Manager/Home Manager CLI
2023-08-14 09:40:15 +02:00
Mihai Fufezan
88067b9b14 hyprland: remove xwayland.hidpi (#4302)
Remove xwayland.hidpi option, since we're dropping HiDPI XWayland
patches support, opting to use the builtin xwayland:force_zero_scaling
option instead. It is described in more detail in
https://wiki.hyprland.org/ Configuring/XWayland.
2023-08-14 09:40:09 +02:00
Robert Helgesson
c3ab5ea047 home-manager: handle profile list in Nix >2.17
Nix 2.17 changed the format of the `nix profile list` output. This
commit adds support for parsing the new JSON profile list format.

Fixes #4298
2023-08-13 01:18:17 +02:00
musjj
406d34d919 lf: simplify option validation (#4334)
Don't try to validate a limited set of hardcoded options, instead just
convert them as-is. Now, users can keep all their options in a single
attribute set, including arbitrary `user_{option}`s which was impossible
to express with a hard-coded submodule. As a plus, there is also less
maintainence burden.
2023-08-12 18:10:49 +02:00
Anton Mosich
255f921049 programs.khal: uncomment locale config (#4319)
While the locale options were declared, the weren't used in the
generation of the config file, because the locale submodule missed a
default, which failed the tests. I added an empty attribute set as a
default, which fixes the test, and works with the defaults in the
submodule options as expected.
2023-08-12 17:21:13 +02:00
Slabity
6e1eff9aac kanshi: support adaptive sync (#4328) 2023-08-10 15:05:36 +02:00
Jian Lin
a8f8f48320 mu: add package option (#4325) 2023-08-09 18:40:43 +02:00
Christian Albrecht
7b8d43fbaf modules: types.string throws error now (#4324)
Since the merge of https://github.com/NixOS/nixpkgs/pull/247848
2023-08-08 17:00:24 +02:00
Ivan Malison
903e06d734 taffybar: Avoid restarting too quickly (#4316) 2023-08-06 11:00:44 +02:00
Maxim Karasev
0a014a729c aerc: do not use smtp-starttls (#4272)
It was deprecated in 0.15.0, +insecure schema is suggested instead.
Thus, we can just copy imap logic, which already uses +insecure.
2023-08-05 10:56:10 +02:00
Lena Fuhrimann
15043a6591 zsh: Add zsh.history.ignoreAllDups config option (#4248) 2023-08-04 12:12:57 +02:00
Matt Moriarity
a4f4508791 jujutsu: fix zsh completion (#4305) 2023-08-04 11:19:57 +02:00
박수원
86dd48d70a Translate using Weblate (Korean)
Currently translated at 100.0% (18 of 18 strings)

Translate using Weblate (Korean)

Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: 박수원 <bboxone@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ko/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ko/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-08-03 07:07:08 +02:00
HeartBlin913861820c094e37
9b0bc4ce79 Translate using Weblate (Romanian)
Currently translated at 2.8% (1 of 35 strings)

Co-authored-by: HeartBlin913861820c094e37 <heartblin@proton.me>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ro/
Translation: Home Manager/Home Manager CLI
2023-08-03 07:07:08 +02:00
JonathanB
e79f416b61 Translate using Weblate (German)
Currently translated at 94.2% (33 of 35 strings)

Co-authored-by: JonathanB <ewu.uwent@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/de/
Translation: Home Manager/Home Manager CLI
2023-08-03 07:07:07 +02:00
github-actions[bot]
b2ac1d2c32 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/12303c652b881435065a98729eb7278313041e49' (2023-07-22)
  → 'github:NixOS/nixpkgs/9e1960bc196baf6881340d53dccb203a951745a2' (2023-08-01)
2023-08-02 15:15:05 +02:00
cvoges12
484a1c9442 network-manager-applet: remove --sm-disable flag
The `--sm-disable` flag is deprecated. It doesn't show in the man
pages, any documentation, and others have seemed to notice as well:

> The `--sm-disable` flag isn't used anymore due to the applet no longer being session-managed.

From: <https://askubuntu.com/a/525273>

Which cites: <https://mail.gnome.org/archives/networkmanager-list/2011-May/msg00141.html>

PR #4296
2023-08-02 12:09:07 +02:00
Masanori Ogino
a146ab6a61 himalaya: update a link to ticket 2023-08-02 11:41:17 +02:00
Yt
8c731978f0 nushell: deprecation of let-env (#4292) 2023-08-01 19:27:30 +02:00
Yureka
4542db6056 man: fix caches generation in cross-compiled system (#4294)
Co-authored-by: Your Name <you@example.com>
2023-08-01 12:56:37 +02:00
Yureka
89df56fefe fish: fix session vars build in cross-compiled system (#4293) 2023-08-01 10:50:13 +02:00
Hosted Weblate
310c0063b2 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-08-01 01:40:43 +02:00
Vollow
04da1b908b Translate using Weblate (Chinese (Simplified))
Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: Vollow <muffinslog@proton.me>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/zh_Hans/
Translation: Home Manager/Home Manager CLI
2023-08-01 01:40:43 +02:00
satoqz
4fd794d3df gh: option to enable helper for additional hosts (#4288)
* gh: option to enable helper for additional hosts

`gh` can also be used with github enterprise
hosts, for which there exists no easy option
to enable the credential helper except for
directly working with `programs.git.extraConfig`.
Not sure if this is a needed addition since it's
somewhat niche, at the same time it's not very
complex and makes the life of github enterprise
a little easier.

* gh: update credential-helper tests

* gh: refactor credential helper option

this moves from `enableGitCredentialHelper` to
`gitCredentialHelper.enable` and
`gitCredentialHelper.hosts`.

* gh: lib.mkIf -> mkIf
2023-08-01 01:40:37 +02:00
Robert Helgesson
3db43afcb4 home-manager: rework news command
This new way of handling news should also work in Nix Flake setups.
2023-07-31 12:43:36 +02:00
Robert Helgesson
729ab77f9e home-manager: skip manual in uninstall configuration
No need to spend time building a manual when doing the install. Also
helps if the manual, for whatever reason, doesn't build.
2023-07-31 10:02:47 +02:00
Robert Helgesson
f58889c07e gnome-terminal: add assertion on profile names 2023-07-29 19:43:20 +02:00
Naïm Favier
5c23226768 hyprland: use toKeyValue's indent argument (#4274)
Freshly added in https://github.com/NixOS/nixpkgs/pull/244819
2023-07-29 13:12:37 +02:00
Anselm Schüler
8d243f7da1 gpg: fix typo (#4277) 2023-07-27 18:54:08 +02:00
Naïm Favier
ba2c0737cc firefox: make package nullable (#4113) 2023-07-25 18:49:12 +02:00
Robert Helgesson
0306d5ed7e git-sync: add news entry for darwin
PR #4259
2023-07-25 09:16:42 +02:00
Naïm Favier
d309a62ee8 tmate: don't generate empty config file (#4271) 2023-07-24 16:17:31 +02:00
Janik H
a30f5b5b35 gh-dash: add module 2023-07-24 12:38:44 +02:00
ryane
ab70a02363 git-sync: add darwin support
- On darwin, creates a launch agent to run git-sync on an interval and
  when the `path` changes.

- The `uri` option is not used on Darwin. The auto-creation of the
  local git directory from the `uri` is a feature of the
  git-sync-on-inotify [1] wrapper (which won't work on Darwin afaik)
  and not `git-sync` itself.

[1] https://github.com/simonthum/git-sync/blob/master/contrib/git-sync-on-inotify
2023-07-24 11:16:09 +02:00
github-actions[bot]
fb03fa5516 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222' (2023-07-16)
  → 'github:NixOS/nixpkgs/12303c652b881435065a98729eb7278313041e49' (2023-07-22)
2023-07-23 03:59:23 +00:00
Mihai Fufezan
76dd6c6619 hyprland: prioritize variables and beziers (#4263)
* hyprland: prioritize variables and beziers

The `settings` key now handles `$variables` and `bezier`s differently,
putting them at the top of the file.
Also, proper indentation has been implemented.

* Update modules/services/window-managers/hyprland.nix

Co-authored-by: Naïm Favier <n@monade.li>

* hyprland: add animations & beziers test

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-07-22 13:58:46 +02:00
Mihai Fufezan
ee5673246d hyprland: add module
Ported from

  https://github.com/hyprwm/Hyprland/blob/main/nix/hm-module.nix

which was adapted from the sway module.

Co-authored-by: Robert Helgesson <robert@rycee.net>
2023-07-21 00:14:22 +02:00
Patrick Jackson
1443abd269 script-directory: fix documentation link (#4258) 2023-07-20 19:52:05 +02:00
Reza Almanda
0cb3ac57fc Translate using Weblate (Indonesian)
Currently translated at 38.8% (7 of 18 strings)

Translate using Weblate (Indonesian)

Currently translated at 38.8% (14 of 36 strings)

Co-authored-by: Reza Almanda <rezaalmanda27@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/id/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/id/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-07-19 23:28:32 +02:00
Dan
2e2b24e5bc Translate using Weblate (Ukrainian)
Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: Dan <jonweblin2205@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/uk/
Translation: Home Manager/Home Manager CLI
2023-07-19 23:28:32 +02:00
gallegonovato
975f5aa643 Translate using Weblate (Spanish)
Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/es/
Translation: Home Manager/Home Manager CLI
2023-07-19 23:28:32 +02:00
Luna Jernberg
1c60851e5e Translate using Weblate (Swedish)
Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: Luna Jernberg <droidbittin@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/sv/
Translation: Home Manager/Home Manager CLI
2023-07-19 23:28:32 +02:00
Emily
c707d4f552 docs: hide _module.* from NixOS/nix-darwin docs
These are already documented in the system-level manuals and have no
particular relevance to the `home-manager.*` options.
2023-07-19 21:44:06 +01:00
Masanori Ogino
44ba018437 jujutsu: update for Jujutsu 0.8.0 (#4250) 2023-07-19 20:33:38 +02:00
Naïm Favier
0841242b94 ripgrep: don't set env. variable if no config (#4254)
Fixes https://github.com/nix-community/home-manager/issues/4253
2023-07-19 18:18:40 +02:00
Robert Helgesson
7579044149 Merge PR #4215 2023-07-19 18:04:15 +02:00
Emily
8c350c2069 docs: update for Markdown migration 2023-07-17 18:49:09 +01:00
Emily
9f9e277b60 treewide: remove now-redundant lib.mdDoc calls
These (and the `*MD` functions apart from `literalMD`) are now no-ops
in nixpkgs and serve no purpose other than to add additional noise and
potentially mislead people into thinking unmarked DocBook documentation
will still be accepted.

Note that if backporting changes including documentation to 23.05,
the `mdDoc` calls will need to be re-added.

To reproduce this commit, run:

    $ NIX_PATH=nixpkgs=flake:nixpkgs/e7e69199f0372364a6106a1e735f68604f4c5a25 \
      nix shell nixpkgs#coreutils \
      -c find . -name '*.nix' \
      -exec nix run -- github:emilazy/nix-doc-munge/98dadf1f77351c2ba5dcb709a2a171d655f15099 \
      --strip {} +
    $ ./format
2023-07-17 18:49:09 +01:00
Emily
7398af11b8 docs: clean up after Markdown migration 2023-07-17 18:49:09 +01:00
Emily
60e4228504 flake: remove temporary nixpkgs pin
Now that the Markdown migration is complete, everything should work
with the latest `nixpkgs-unstable`.
2023-07-17 18:49:09 +01:00
Emily
36a53d9f26 treewide: convert all option docs to Markdown
This process was automated by [my fork of `nix-doc-munge`]. All
conversions were automatically checked to produce the same DocBook
result when converted back, modulo minor typographical/formatting
differences on the acceptable-to-desirable spectrum.

To reproduce this commit, run:

  $ NIX_PATH=nixpkgs=flake:nixpkgs/e7e69199f0372364a6106a1e735f68604f4c5a25 \
    nix shell nixpkgs#coreutils \
    -c find . -name '*.nix' \
    -exec nix run -- github:emilazy/nix-doc-munge/98dadf1f77351c2ba5dcb709a2a171d655f15099 \
    {} +
  $ ./format

[my fork of `nix-doc-munge`]: https://github.com/emilazy/nix-doc-munge/tree/home-manager
2023-07-17 18:40:56 +01:00
Emily
c1d8d2a3d1 treewide: adjust some DocBook for conversion
The NixOS variant of Markdown doesn't make a distinction between
`<code>` and `<literal>` or `<quote>` and... quotes, and doesn't
support `<parameter>` or `<replaceable>`. These are infrequently used
(apart from `<code>`) and don't add much, so just convert them to
simpler forms to allow the options containing them to be converted
to Markdown automatically.

A few minor syntactic adjustments were also made to make
`nix-doc-munge`'s job easier.
2023-07-17 16:49:35 +01:00
Emily
b5a65b91fb treewide: mkAliasOption -> mkAliasOptionMD 2023-07-17 16:49:35 +01:00
Emily
e04de5b308 treewide: mkPackageOption -> mkPackageOptionMD 2023-07-17 16:49:35 +01:00
Emily
71df507159 treewide: convert options with tables to Markdown
The Markdown options processor cannot handle rendering tables
to DocBook.  This could be fixed, but as we won't be using the
DocBook output for long I just removed them for now in the interest
of expediency; they were all well-suited to being description lists
showing option types anyway, apart from one awkward case in the form
of trayer, which also had ad-hoc syntax for enumerating acceptable
values in the documentation. Since the types aren't actually used for
option processing anyway, I changed them to use `enum` and similar to
give a single description of the acceptable values without a big table.
2023-07-17 16:49:35 +01:00
Emily
21c700d14b treewide: convert options with lists to Markdown
`nix-doc-munge` can't handle these, which is understandable as I can
barely handle them either. There are a few infelicities here: the
current processor can't handle multiple terms to one description in
a description list so they get comma-separated in one case, and one
case that should ideally render as a `<figure>` with a `<figcaption>`
in HTML is reduced to a paragraph with some `<strong>` text. (Which, in
fairness, is how it rendered in practice with the DocBook anyway.) The
docs generator has since been updated to handle figures, but we can't
use it until moving off DocBook output.
2023-07-17 16:49:35 +01:00
Emily
9e4a73c25e treewide: convert custom enable docs to Markdown
`nix-doc-munge` can't tell what's going on with this pattern, so I
just handled them all manually.
2023-07-17 16:49:35 +01:00
Emily
3222c99a91 treewide: convert parameterized docs to Markdown
Parameterized documentation generators like this can't be converted
automatically.
2023-07-17 16:49:35 +01:00
Emily
3228f92b90 treewide: manually convert some docs to Markdown
These files all have options that trip up the `nix-doc-munge`
conversion tool for one reason or another (syntax that clashes with
Markdown, options that were already using Markdown syntax despite not
being marked that way, output that differs slightly after conversion,
syntax too elaborate to convert with some cheap regular expressions,
...). Translate them manually and do a little copyediting to options
in the vicinity while we're at it.
2023-07-17 16:49:35 +01:00
Emily
e2a1cb50d8 treewide: fix mkEnableOption arguments
`mkEnableOption` wraps its argument in a full sentence; its argument
should not include the start of a sentence or the final full stop.
2023-07-17 16:49:35 +01:00
Emily
11b09b10e4 treewide: add missing option descriptions
The new options processor errors out on these by default, and it's
good for every option to have documentation in general.
2023-07-17 16:49:35 +01:00
Emily
59b933653a docs: use nixosOptionsDoc
Output is mostly unchanged aside from some minor typographical and
formatting changes, along with better source links.

We temporarily export `options.docBookForMigration` to allow
`nix-doc-munge` to check its conversions.
2023-07-17 16:49:35 +01:00
Emily
82c157f255 flake: temporarily pin nixpkgs version
This is the last bump of the `nixos-unstable` channel before the
DocBookalypse.
2023-07-17 16:49:35 +01:00
Emily
23ad3d2b53 version: add isReleaseBranch 2023-07-17 16:49:32 +01:00
Emily
1add3c3a99 manual: add test
This checks that the documentation can be built in the context of a
Home Manager configuration.
2023-07-16 14:26:53 +01:00
Hosted Weblate
2f84579a70 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-07-16 10:11:32 +02:00
github-actions[bot]
232fe3d450 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/4a729ce4b1fe5ec4fffc71c67c96aa5184ebb462' (2023-07-10)
  → 'github:nixos/nixpkgs/dfdbcc428f365071f0ca3888f6ec8c25c3792885' (2023-07-14)
2023-07-16 10:11:17 +02:00
Rosario Pulella
1e7ba7102e home-manager: remove Home Manager default paths
This removes the hard-coded fallback Home Manager paths. Specifically

    ${XDG_CONFIG_HOME:-$HOME/.config}/nixpkgs/home-manager

and

    "$HOME/.nixpkgs/home-manager"

Use `@HOME_MANAGER_PATH@` if it has been provided and points to
something that exists. Warn the user if it does not point to
something.

If we have not been provided with a `@HOME_MANAGER_PATH@` that exists,
then for both hard-coded paths show a warning if something exists
where the paths are pointing.

This no longer attempts to use either of the hard-coded paths as
fallback for the Home Manager path.
2023-07-16 10:09:22 +02:00
Genevieve
f5b03feb33 imapnotify: Use JSON type for extraConfig (#4238)
Prior to this change, it was impossible to nest attrsets in
accounts.email.accounts.<name>.imapnotify.extraConfig. However,
goimapnotify's configuration is JSON-based, and the recommended
configuration has:
```
  "tlsOptions": {
    "rejectUnauthorized": true
  },
```

This change changes the type from an attrset of str/int/bool to the
JSON type provided by nixpkg's `pkgs.formats.json`.
2023-07-15 20:53:43 +02:00
swaps
346032240c Translate using Weblate (French)
Currently translated at 100.0% (18 of 18 strings)

Co-authored-by: swaps <swapgs@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/fr/
Translation: Home Manager/Home Manager Modules
2023-07-15 16:49:56 +02:00
Aaron Pietscher
5598567489 zsh: fix custom syntax highlighting styles (#4236)
Previously, lines in .zshrc were added with quotes in keys
(e.g. ZSH_HIGHLIGHT_STYLES['comment']='fg=#6c6c6c'). However, zsh
considered these quotes to be part of the key, so the "comment" key
remained unchanged.
2023-07-15 11:49:12 +02:00
Naïm Favier
c1cdce3d89 i3-sway: allow arbitrary floating modifier (#4229)
The floating modifier can consist of a combination of modifier keys.
Trying to model this with a regex doesn't seem worth it, so just use
`str`.
2023-07-14 21:26:09 +02:00
Sven Friedrich
f63b39a67d i3-sway: multiple outputs (#4223)
multiple outputs can be assigned to a workspace
2023-07-14 21:25:55 +02:00
Maroka-chan
d2e47de536 home-cursor.nix: enable gtk module when enabling gtk config generation (#4144)
* home-cursor.nix: enable gtk module when enabling gtk config generation

The gtk configurations are not generated unless config.gtk is enabled.
This is a point of confusion because config.home.pointerCursor.gtk can essentially be disabled,
despite having it enabled.

* home-cursor.nix: Add note to gtk config generation description instead of enabling gtk module

* home-cursor.nix: Add note about applying pointerCursor configs to main submodule desc

* home-cursor.nix: Change tabs to spaces
2023-07-14 21:25:46 +02:00
Genevieve
bec87d536c aerc: add assertion to limit per-account extraConfig to UI config (#4196)
* aerc: fix per-account extraConfig section names

The aerc configuration file `aerc.conf` can contain 10 different
sections, but only the UI section supports what the aerc manual calls
contextual configuration. This works by appending to the section heading
either `:account=name` or `:folder=bar`.

The aerc-accounts module, however, applied `mkAccountConfig` to each
section heading declared in
`config.accounts.email.accounts.<name>.aerc.extraConfig.*`. This means
home-manager will generate files with `[general:account=default]` and
the options will not be recognized by aerc.

To address this, and since it doesn't make sense for other sections to
only be under a single account's scope, an assertion has been added
to confirm that only sectons that support contextual config (i.e.,
only the UI section) is declared.

This also addresses confusions like declaring
`accounts.email.accounts.*.aerc.extraConfig.general.unsafe-accounts-conf
= true` and triggering a warning message because
`programs.aerc.extraConfig.general.unsafe-accounts-conf` was unset.

This commit also updated documentation throughout the aerc modules to
be in line with this change, and fixed minor typos/formatting therein.

Co-authored-by: Genevieve <genevieve@sunlashed.garden>

* aerc: make assertion plaintext and add test case

This commit adds a test case to check both the warning on unset
`unsafe-accounts-conf = true` when aerc accounts are configured
with Nix, and the new assertion when per-account configuration
contains unsupported subsections (i.e. general).

It also fixes minor formatting issues and typos.
2023-07-14 20:34:28 +02:00
github-actions[bot]
e42fb59768 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/3c7487575d9445185249a159046cc02ff364bff8' (2023-07-06)
  → 'github:nixos/nixpkgs/4a729ce4b1fe5ec4fffc71c67c96aa5184ebb462' (2023-07-10)
2023-07-12 03:59:29 +00:00
Sumner Evans
a6d1d954b8 ssh-agent: add assertion and fix news entry (#4210)
See https://github.com/nix-community/home-manager/pull/4178#discussion_r1249460142

Signed-off-by: Sumner Evans <me@sumnerevans.com>
2023-07-10 16:37:49 +02:00
Robert Helgesson
b70db52ff0 imapnotify: move test
Also add test for the systemd service.
2023-07-09 10:53:28 +02:00
David Baynard
fad475553a imapnotify: use direct nix store path for config
As pointed out in #3291, using the XDG symlink means the agent/unit
files don’t change when the contents of the config changes, and so the
service will not be restarted.
2023-07-09 09:32:25 +02:00
github-actions[bot]
86157256d2 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/4bc72cae107788bf3f24f30db2e2f685c9298dc9' (2023-06-29)
  → 'github:nixos/nixpkgs/3c7487575d9445185249a159046cc02ff364bff8' (2023-07-06)
2023-07-09 03:59:30 +00:00
SaiProton
e15010ee6e nushell: add login.nu configuration option
Nushell has the option to source from the login.nu file in the case
that nushell is used as a login shell. This commit adds the login file
alongside the existing config and env files as another configuration
option.
2023-07-08 23:58:37 +02:00
SiriusStarr
24805d3ca7 himalaya: fix notmuch backend
Previously, IMAP was preferred over notmuch, even if notmuch was
configured, causing problems with setting account flavor (which
automatically sets IMAP settings). The new backend order is:

    notmuch > IMAP > maildir

This also fixes the notmuch DB path being set to the wrong location.
The notmuch DB is located at the maildir base path, not in each
account's maildir.
2023-07-08 12:37:34 +02:00
Anton Plotnikov
98282a481d swayosd: add module 2023-07-08 12:09:09 +02:00
Tobias Markus
069d450b6d pyenv: add module
Adds a module for pyenv (https://github.com/pyenv/pyenv).
2023-07-08 11:26:21 +02:00
Chris Martin
050d01a62c darcs: add module 2023-07-08 10:31:45 +02:00
Robert Helgesson
af715ed857 tests: some minor cleanups 2023-07-08 10:12:35 +02:00
Robert Helgesson
f288310b7a goimapnotify: remove test dependency on notmuch
Also minor test cleanup.
2023-07-08 09:58:06 +02:00
simfu
34db2f0521 unison: Allow using same option multiple times (#4208)
Unison supports the same option to be given several times as a command
 line argument (e.g. unison -path xxx -path yyy).

 This commit adds Home Manager support for this by allowing a list of
 strings to be given to services.unison.pairs.<name>.commandOptions values.

 # Veuillez saisir le message de validation pour vos modifications. Les lignes
2023-07-07 13:57:22 +02:00
David Baynard
719de878f7 imapnotify: Add launchd agent (#3291)
* imapnotify: expose package (and exe) options

There are multiple packages that provide an imapnotify interface. Those
packages have differently named executables. This can now be customized.

This change also means test configurations can use stub packages.

* imapnotify: use/create config in configHome

Exposing the configuration file makes testing imapnotify configurations much
easier. It also allows for golden tests in home-manager.

* imapnotify: extend with launchd agent

Now that home-manager supports launchd agents, the imapnotify service
can be configured (and enabled) for darwin. The configuration matches
that of the linux/systemd version. In particular, by not setting a
`UserName`, this runs as the user whose configuration includes the
module.

Due to the launchd `Program` implementation (it must take an absolute
path) it is not possible to use that for the program and stub the path
in tests. Instead, this uses `ProgramArguments` for the program name.

The `ThrottleInterval` is equivalent to `RestartSec`. `KeepAlive` is
equivalent to `Restart`.

The `ExitTimeOut` default is 20 seconds, but goimapnotify should not
time out — this is achieved by setting the `ExitTimeout` to 0.

* imapnotify: add launchd plist test

This only tests the generated plist (which is new), not the original
systemd implementation, nor the json config file.

(Note the lack of a newline at the end of the plist file.)
2023-07-07 11:39:12 +02:00
Anton Mosich
b23c7501f7 i3: remove deprecated example in i3.config.startup (#4201)
Deprecated in cacb8d4, see #265
2023-07-05 12:23:31 +02:00
hitsmaxft
2f78e6fcba antidote: static file move to /tmp
Make antidote create static file path with hm hash_id in /tmp.
2023-07-05 08:30:58 +02:00
Reza Almanda
b66af0ac66 Translate using Weblate (Indonesian)
Currently translated at 27.7% (5 of 18 strings)

Translate using Weblate (Indonesian)

Currently translated at 33.3% (11 of 33 strings)

Co-authored-by: Reza Almanda <rezaalmanda27@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/id/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/id/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-07-04 12:41:08 +02:00
Naïm Favier
b406b8d1bc PULL_REQUEST_TEMPLATE.md: add maintainer cc section (#4193) 2023-07-04 12:41:04 +02:00
Janik
4a26e21030 programs.khal
moved highlight_event_days where appropriated and added tests
2023-07-04 12:14:47 +02:00
Kylie McClain
d895a77448 vdirsyncer: synchronize metadata as well (#4167) 2023-07-04 12:11:28 +02:00
Rodney Lorrimar
3be2abb2e6 i18n: Use glibcLocales from NixOS if possible (#2333) (#4177)
This will reduce the system closure size by about 200MB under NixOS by
sharing the glibcLocales package.

When home-manager is installed on Linux without the NixOS module, all
glibc locales are installed, as before.

Resolves: #2333
2023-07-04 11:28:25 +02:00
Paul Stadig
c24deeca64 xfconf: remove properties with null values (#4192)
Co-authored-by: Paul Stadig <paul@thoughtfull.systems>
2023-07-03 20:34:42 +02:00
Carl Dong
8c66b46a86 home-manager: Use path: URI type for flake default (#3646)
Nix interprets a path-like URI as a git repository if any of the path's
parents is a git repository. Since home-manager uses a default flake URI
of ~/.config/nixpkgs/flake.nix, if you have a git repository as your
home directory and a '*' .gitignore it leads to the following problems:

    evaluating derivation 'git+file:///Users/dongcarl?dir=.config%2fnixpkgs#homeConfigurations."dongcarl".activationPackage'
    The following paths are ignored by one of your .gitignore files:
    .config

This is solved by explicitly specifying the `path:` URI type prefix for
the default flake URI argument.
2023-07-03 17:00:10 +02:00
Matthieu Coudron
c85d9137db ci: autolabel calendars PRs (#4165) 2023-07-02 14:59:21 +02:00
home-manager-bot
53c75ac2e6 flake.lock: Update (#4161)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/04af42f3b31dba0ef742d254456dc4c14eedac86' (2023-06-17)
  → 'github:nixos/nixpkgs/4bc72cae107788bf3f24f30db2e2f685c9298dc9' (2023-06-29)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-02 14:51:46 +02:00
Linus Heckemann
89d10f8adc news: fix typo in programs.zsh.antidote entry 2023-07-01 08:09:07 -06:00
Linus Heckemann
2d9210f25e ssh-agent: init module (#4178) 2023-07-01 08:08:59 -06:00
ThinkChaos
7a0e9a6782 chromium: fix commandLineArgs to use the user specified package (#4175) 2023-07-01 07:41:37 -06:00
Kylie McClain
44d1a8542a sxhkd: allow usage of derivations as keybind commands (#4169)
This makes it consistent with some other options, like
`systemd.user.services.Service.ExecStart`.
2023-06-30 17:49:05 -06:00
Robert Hensing
0f71012724 README: Remove the pills (#4181)
This removes the Nix Pills reference, because they are not a good
introduction to the Nix ecosystem, but rather a thorough explanation
of many disparate things. Reading through them might give some light
bulb moments for an intermediate reader, but that does not mean that
they're good for a beginner.

I've also removed the mention of infinite recursion without source
location. That's an old meme for a problem that has been mostly
solved. Mentioning it here has two effects:

- Propagate the outdated meme.

- Make users insensitive to bad errors. Learned helplessness. That
  kind of thing. What we really want is for them to report bad error
  messages, so that they can be fixed. And they can be fixed; just
  report them at `NixOS/nix`.
2023-06-30 22:21:26 +02:00
Guilhem Saurel
17ce23ea56 lsd: use -A instead of -a in aliases (#4173)
The current `lla` alias, together with the `total-size` option try to get
the size of the `..` directory, and for this has to recursively open all
sibling folders. This may be super slow if some of those siblings
contain too many files, and raise a ton of useless errors if some of
those siblings contains non-readable files.

I'm suggesting to use `-A` instead, which will skip the obvious `.` and
`..` folders.

While here, I think we could also add `llt`.
2023-06-30 21:47:03 +02:00
Kylie McClain
a7002d6bfc kakoune: add defaultEditor option 2023-06-28 18:31:26 +02:00
Norbert Melzer
47c2adc6b3 docs: update link to allowed users setting (#4176)
1. The option has been renamed in NixOS about a year ago.
2. The link into the manual describing that option has been
   fixed.
2023-06-28 11:41:08 +02:00
ThinkChaos
f5f64ac022 zsh: allow setting custom syntax highlighting styles (#4122)
* zsh: allow setting custom syntax highlighting styles

Custom styles allow overriding the default colors.
Example:
```nix
zsh.syntaxHighlighting.styles.comment = "fg=#6c6c6c";
```

See https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters.md

* zsh: allow configuring syntax-highlighting package
2023-06-28 11:12:58 +02:00
Naïm Favier
9dd107a1d5 flake: add formatter (#3620)
* format: improve argument handling

For now, fail if the user tries to format a specific file/directory,
or runs the formatter from within a subdirectory.

Handling these situations is slightly tricky because `find -path` is
not very flexible.

* flake: add formatter

This allows running the formatter with `nix fmt`, added in Nix 2.8.

* format: use git ls-files

This is cleaner than `find` and allows us to restrict formatting to
particular files or subdirectories.
2023-06-27 23:32:30 +02:00
Naïm Favier
4c08f65ab5 broot: fix test (#4170)
We can't test for the whole contents of the config file because that is
out of our control and may change unexpectedly. Only check for the
settings we know should be set.
2023-06-27 11:02:53 +02:00
hitsmaxft
3bc1bc4012 antidote: fix .dot path
Add $HOME to pin .zsh_plugin path, prevents antidote from creating
empty .zsh_plugins.txt in pwd while new zsh process starting.
2023-06-27 08:28:40 +02:00
Robert Helgesson
0ee5ab611d ci: build manual and push to home-manager.dev
This builds the manual on builds.sr.ht and pushes it for availability
on

  https://home-manager.dev/manual/unstable or
  https://home-manager.dev/manual/{version}

depending on which release branch is built.
2023-06-25 00:55:43 +02:00
Robert Helgesson
172d46d4b2 docs: bump nmd
Removes the need to apply `fix-man-options-duplication.patch`. See,
e.g., https://github.com/NixOS/nixpkgs/pull/166509.
2023-06-24 19:28:15 +02:00
Alexander Ben Nasrallah
68aebb45de fish: follow links to find man pages
Some packages link man pages, e.g. if a package is wrapped with
`buildEnv`.
2023-06-24 13:37:18 +02:00
Alexander Ben Nasrallah
b59f682e86 fish: consider man pages from extraOutputsToInstall
Some packages provide man pages in extraOutputs, e.g. tmux and
tmux.man.
2023-06-24 13:37:17 +02:00
Robert Helgesson
28b6c3670c docs: update nmd
With improved conversion of Markdown list items.
2023-06-24 13:18:38 +02:00
Robert Helgesson
29872a1c8f docs: update nmd
Mainly to work around recent changes in Nixpkgs with respect to
`_module.args`.
2023-06-24 11:52:37 +02:00
Gabriel Arazas
d2b6f2d154 zellij: fix module description for shell integrations 2023-06-23 09:49:50 +02:00
hitsmaxft
491f74db89 antidote: fix package source path
Changes

  'source %antidote%/antidote.zsh'

to

  'source %antidote%/share/antidote/antidote.zsh'
2023-06-23 09:36:00 +02:00
hitsmaxft
70ac18872a antidote: add module
Antidote is a Zsh plugin manager.
2023-06-23 00:35:00 +02:00
Weblate
b9046172a5 Add translation using Weblate (Indonesian)
Co-authored-by: Weblate <noreply@weblate.org>
2023-06-22 21:28:55 +02:00
Abdul V Vahry
91df8b3471 Translate using Weblate (Indonesian)
Currently translated at 24.2% (8 of 33 strings)

Add translation using Weblate (Indonesian)

Co-authored-by: Abdul V Vahry <cyberaioff@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/id/
Translation: Home Manager/Home Manager CLI
2023-06-22 21:28:55 +02:00
Naïm Favier
6c78ba7932 docs/contributing: link to NMT's bash-lib (#4125) 2023-06-22 16:35:33 +02:00
Mario Rodas
a481789457 treewide: remove marsam as maintainer (#4136) 2023-06-22 10:16:28 +02:00
Ivan Malison
29358e8be7 starship: Remove INSIDE_EMACS checks when enabling shell integration (#4135)
Many of the terminals supported inside emacs work perfectly fine with STARSHIP.
The TERM=dumb case already handles the tramp and eterm cases, so as far as I can
tell, this is basically just a check for the benefit of OLD versions of
term-mode (see
emacswiki.org/emacs/AnsiTerm#:~:text=Historically%2C%20'M%2Dx%20ansi%2Dterm,the%20older%20'C%2Dc'%20binding.,
which indicates that it also now handles colors).
2023-06-22 10:14:49 +02:00
dariof4
1fefd7bb8d gtk: Add gtk4.extraCss option (#4133) 2023-06-21 18:38:43 +02:00
Dany Marcoux
50cb4d8a1e programs.helix: add defaultEditor (#4127) 2023-06-21 15:50:13 +02:00
Clément DOUIN
9ce6977fe7 himalaya: adjust module for 0.8.X (#4093)
Added notmuch support, and adjust password commands configuration.
2023-06-21 10:59:29 +02:00
Robert Helgesson
9a76fb9a85 home-environment: allow skipping sanity checks
See https://github.com/nix-community/home-manager/issues/4019#issuecomment-1568659267
2023-06-21 00:52:20 +02:00
Sven Keidel
1b61530608 Translate using Weblate (German)
Currently translated at 100.0% (18 of 18 strings)

Translate using Weblate (German)

Currently translated at 100.0% (33 of 33 strings)

Co-authored-by: Sven Keidel <svenkeidel@pm.me>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/de/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/de/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-06-21 00:20:32 +02:00
github-actions[bot]
da27ee446b flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/75a5ebf473cd60148ba9aec0d219f72e5cf52519' (2023-06-11)
  → 'github:nixos/nixpkgs/04af42f3b31dba0ef742d254456dc4c14eedac86' (2023-06-17)
2023-06-20 23:40:44 +02:00
Naïm Favier
e6d134ce12 home-environment: re-enable Nixpkgs release check 2023-06-20 23:35:23 +02:00
Damien Cassou
ec58f8bed7 borgmatic: add missing support for output and hooks
Fixes #3760
2023-06-20 19:19:10 +02:00
Rafael
e8b5f8f9b3 Update documentation to mention renamed option name. (#4126)
PR #3747 renamed the option wayland.windowManager.sway.systemdIntegration
to wayland.windowManager.sway.systemd.enable.

This commit simply updates documentation to reference the new format.
2023-06-20 12:43:16 +02:00
Will Leinweber
f06a43dca0 starship: add enable_transience for fish (#3975)
Starship has an advanced, experimental feature where fancy stuff in the
prompt can be replaced with something more simple after the command is
ran. This is very helpful for copy and pasting shell history somewhere
else.

docs: https://starship.rs/advanced-config/#transientprompt-and-transientrightprompt-in-fish

Fish is currently the only shell as far as I can tell that both
home-manager and starship support for this feature. Since the function
has to be called after starship is loaded, this seems like the best
place to put it.

format
2023-06-19 21:56:48 +02:00
NotAShelf
6bdd72b914 clipman: wrong module name in description (#4117) 2023-06-19 16:29:55 +02:00
Midnight Veil
a10aa82e8a docs: Document osConfig module argument (#4103)
As mentioned https://github.com/nix-community/home-manager/issues/393#issuecomment-1259996423.

Otherwise only documented in source code, which isn't very findable.
2023-06-19 11:37:28 +02:00
Damien Cassou
0480dabc99 vdirsyncer: Fix service by moving the options before the command (#4109) 2023-06-18 16:23:02 +02:00
Naïm Favier
28c823032c Bump install-nix-action to v22 (#4111)
Fixes an issue with the macos runner
2023-06-18 11:45:47 +02:00
Rosario Pulella
edf9cf6523 home-manager: prioritize -I parameters
In 176e455 the order between the action of `-I` parameters getting
added to `EXTRA_NIX_PATH` and the action of a static path getting
added to `EXTRA_NIX_PATH` was reversed, also reversing the order of
`-I` parameters and the static `-I home-manager=...` leading to the
static `-I home-manager=...` to always come before any of the `-I`
parameters to later calls to Nix commands.

This made it impossible to override the static Home Manager path when
calling the home-manager tool with `-I home-manager=...`. This was
previously possible.
2023-06-18 00:42:49 +02:00
Pink Pony
f7c4dae2c8 Translate using Weblate (French)
Currently translated at 83.3% (15 of 18 strings)

Translate using Weblate (French)

Currently translated at 100.0% (33 of 33 strings)

Co-authored-by: Pink Pony <dreammc@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/fr/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/fr/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-06-18 00:32:44 +02:00
Robert Helgesson
162c17b0c9 fontconfig: minor update of generated configuration 2023-06-17 22:25:06 +02:00
Naïm Favier
9ba7b3990e qt: fix breeze-qt5 path (#4098)
Don't use aliases as those may be disabled.
2023-06-16 15:33:15 +02:00
Daniel Siepmann
ea2f17615e khal: improve module (#4088)
* khal: Do not hard code globbing.
2023-06-16 11:10:24 +02:00
Thiago Kenji Okada
4e09c83255 qt: bunch of fixes and updates (#4095)
* qt: always apply qt.style.package

Before this commit this was only being applied if `qt.platformName` was
set to "gnome". With this change we will always apply the package.

* qt: only set ~/config/Trolltech.conf in GTK or GNOME

* qt: add qtstyleplugin-kvantum-qt4 and qt6Packages.qtstyleplugin-kvantum

qt: add qtstyleplugin-kvantum-qt4

* news: add news entry about the qt module refactors

* qt: add thiagokokada as maintainer
2023-06-15 20:09:30 +02:00
Thiago Kenji Okada
d214b93ee3 Add missing qt modules (#4094)
* qt: add "qtct" to qt.platformTheme

This allows usage of qt5ct/qt6ct tool to configure Qt theme/icons/fonts
in non-KDE platforms.

* qt: add missing relatedPackages for qt.platformTheme = "kde"

* qt: add "kvantum" for qt.styles.name
2023-06-15 16:06:07 +02:00
Clément DOUIN
e0034971f9 comodoro: add module 2023-06-14 23:43:19 +02:00
Tomo
194086df82 git-credential-oauth: add module 2023-06-14 23:26:14 +02:00
Thiago Kenji Okada
32376992f7 qt: add "kde" to qt.platformTheme (#4085)
This allow you to configure Qt integration using KDE instead of
qgnomeplatform or qtstyleplugins. Useful if your theme supports both GTK
and KDE, for example Nordic.

To use this properly you will need to do some manual configuration for
now. You can set the theme settings using `~/.config/kdeglobals`.

Example:

```nix
{ ... }:
{
  qt = {
    enable = true;
    platformTheme = "kde";
  };

  xdg = {
    configFile.kdeglobals.text = lib.generators.toINI { } {
      General = {
        ColorScheme = "nordicbluish";
        Name = "nordic-bluish";
        shadeSortColumn = true;
      };
      Icons = {
        Theme = "Nordic-bluish";
      };
      KDE = {
        LookAndFeelPackage = "Nordic-bluish";
        contrast = 4;
      };
    };

    dataFile = {
      # For General.ColorScheme
      color-schemes = {
        source = "${pkgs.nordic}/share/color-schemes";
        recursive = true;
      };
      # For KDE.LookAndFeelPackage
      plasma = {
        source = "${pkgs.nordic}/share/plasma";
        recursive = true;
      };
    };
  };
}
```
2023-06-14 21:16:20 +02:00
Alois Wohlschlager
75b24cc557 thunderbird: support aliases
The main email address, as well as all aliases, each get mapped to one
identity in Thunderbird. All these identities are then linked to their
account.
2023-06-14 08:31:26 +02:00
github-actions[bot]
5db22bce05 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/7409480d5c8584a1a83c422530419efe4afb0d19' (2023-06-05)
  → 'github:nixos/nixpkgs/75a5ebf473cd60148ba9aec0d219f72e5cf52519' (2023-06-11)
2023-06-14 03:59:16 +00:00
dependabot[bot]
62f111ef1e ci: bump cachix/install-nix-action from 20 to 21
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 20 to 21.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v20...v21)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-13 22:02:27 +00:00
Jeff Ames
e4aa9fd83b Translate using Weblate (Japanese)
Currently translated at 100.0% (18 of 18 strings)

Translate using Weblate (Japanese)

Currently translated at 100.0% (33 of 33 strings)

Co-authored-by: Jeff Ames <jeff@anjefu.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ja/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ja/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-06-13 16:31:55 +02:00
Hongtyu Bhe
252302673d Translate using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18 of 18 strings)

Translate using Weblate (Chinese (Simplified))

Currently translated at 100.0% (33 of 33 strings)

Co-authored-by: Hongtyu Bhe <mfthits@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/zh_Hans/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-06-13 16:31:55 +02:00
Daniel Siepmann
0d1e053ce9 vdirsyncer: Add missing include of services module (#4089) 2023-06-13 16:31:49 +02:00
Matthieu Coudron
d9a97e8b33 calendars: add missing modules (#4087)
forgot to import those during rebase
2023-06-13 11:07:56 +02:00
Lukas Nagel
8da1135365 aerc: improve module (#3150)
* aerc: add space after definitions

* aerc: only generate files, if options were set

* aerc: improve file permission warning

* aerc: remove redundant access to builtins

* aerc: allow overwriting of derived values

the order of merging the config subsets did not allow the user to specify
outgoing, source and password command values,
if they were previously derived from the SMTP, IMAP, Maildir etc config.

The values from `account.<name>.extraAccounts` now have the highest precedence.
Appropriate tests were added as well.

* aerc: write primary account first
2023-06-13 10:59:42 +02:00
Austin Lund
cbbceb4894 offlineimap: Add package option (#4021) 2023-06-13 10:41:25 +02:00
Robert Helgesson
d437f0d4e0 specialisation: fix path 2023-06-13 08:51:05 +02:00
Robert Helgesson
c8dafb187b specialisation: renamed from specialization
Renamed to be consistent with NixOS.

Fixes #4074
2023-06-13 08:44:30 +02:00
Matthieu Coudron
b01eb1eb3b Add infrastructure for contacts and calendars (#4078)
* Add infrastructure for contacts and calendars

This also adds the modules

  - programs.vdirsyncer,
  - programs.khal, and
  - services.vdirsyncer

that integrate with the new infrastructure.

Co-authored-by: Andrew Scott <3648487+ayyjayess@users.noreply.github.com>
Co-authored-by: Sebastian Zivota <sebastian.zivota@mailbox.org>

wip

* vdirsyncer: allow option userName, disallow userNameCommand

1. account option `userName` is now allowed by `programs.vdirsyncer`

2. The commented out account option `userNameCommand` was required to be set
   by `programs.vdirsyncer` (e.g. as `null`).
   It is now disallowed (commented out) by vdirsyncer.

* khal: added options 'color' and 'priority'
* Apply nixfmt

---------

Co-authored-by: Sebastian Zivota <sebastian.zivota@mailbox.org>
Co-authored-by: Johannes Rosenberger <johannes.rosenberger@jorsn.eu>
Co-authored-by: Johannes Rosenberger <johannes@jorsn.eu>
Co-authored-by: Robert Helgesson <robert@rycee.net>
2023-06-12 23:21:24 +02:00
Rasmus Kirk
9e37a1b6f9 programs.joshuto: add the joshuto file manager (#4004)
* joshuto: Added the joshuto file manager

* maintainers: Added rasmus-kirk as a maintainer

* joshuto: Fixed maintainer information

Co-authored-by: Naïm Favier <n@monade.li>

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-06-12 12:02:09 +02:00
Naïm Favier
b0cdae4e9b browserpass: test on Darwin again (#4081)
https://github.com/NixOS/nixpkgs/pull/236749 is in all channels now.
2023-06-12 11:29:59 +02:00
Sefa Eyeoglu
0144ac418e sway: add support for XDG autostart using systemd (#3747)
* sway: add support for XDG autostart using systemd

Using the option wayland.windowManager.sway.systemd.xdgAutostart, users
can now choose to start applications present in
$XDG_CONFIG_HOME/autostart when starting their sway session.

This change also renames wayland.windowManager.sway.systemdIntegration
to wayland.windowManager.sway.systemd.enable;

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>

* sway: add Scrumplex to maintainers

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>

---------

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-06-10 12:10:40 +02:00
nikp123
0945875a2a boxxy: add module (#4075)
* boxxy: add module

 * boxxy: added nikp123 to maintainers list

* boxxy: use mkPackageOption instead for the package

Co-authored-by: Naïm Favier <n@monade.li>

* boxxy: use yaml generator instead of json

Co-authored-by: Naïm Favier <n@monade.li>

* boxxy: various fixes

* boxxy: various fixes (part 2)

* boxxy: various fixes (part 3)

* boxxy: various fixes (part 4)

forgot to run ./format, whoops

* boxxy: use literalExpression for the rewrite example

Co-authored-by: Naïm Favier <n@monade.li>

* boxxy: add news entry

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-06-09 22:32:11 +02:00
Naïm Favier
2a69182c56 Revert "maintainers: add rasmus-kirk as a maintainer" (#4076)
* Revert "maintainers: add rasmus-kirk as a maintainer"

This reverts commit 301b364892.

* Revert "joshuto: add the joshuto file manager"

This reverts commit e7fdcb40b2.
2023-06-09 22:15:56 +02:00
github-actions[bot]
000df98795 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/e635192892f5abbc2289eaac3a73cdb249abaefd' (2023-06-01)
  → 'github:nixos/nixpkgs/7409480d5c8584a1a83c422530419efe4afb0d19' (2023-06-05)
2023-06-09 21:32:32 +02:00
rasmus-kirk
e7fdcb40b2 joshuto: add the joshuto file manager
PR #4004
2023-06-09 21:27:40 +02:00
rasmus-kirk
301b364892 maintainers: add rasmus-kirk as a maintainer 2023-06-09 21:19:14 +02:00
Li Yang
1e5d741ea3 Espanso: Fix broken module to be compatible with Espanso version 2.x (#4066)
* Fix espanso module to work with 2.x version

* espanso: fix espanso module

This module is currently broken. It does not create `config` and `match` folders which are required by espanso 2.x version.

This PR fixed this issue and support creating multiple files under `config` and
`match` folder.

* Espanso: fix espanso module

This module is currently broken. It does not create `config` and `match` folders which are required by espanso 2.x version.

This PR fixed this issue and support creating multiple files under `config` and `match` folder.

Add descriptions

* Add versionAtLeast and mkRemovedOptionModule

* Correct maintainers list

* remove config key from example

* format basic-configuration.nix

* Update modules/services/espanso.nix

Co-authored-by: Naïm Favier <n@monade.li>

* fix maintainers list

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-06-09 12:05:01 +02:00
Naïm Favier
9b8ba302ff Clean up deprecated lib functions (#4068)
`isCoercibleToString` and `defaultPriority` will start raising warnings
in 23.05.
2023-06-09 11:57:20 +02:00
Nikolay Mokrinsky
2bbfc3a78a Translate using Weblate (Russian)
Currently translated at 100.0% (18 of 18 strings)

Translate using Weblate (Russian)

Currently translated at 87.8% (29 of 33 strings)

Co-authored-by: Nikolay Mokrinsky <me@mokrinsky.ru>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ru/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ru/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-06-09 00:59:12 +02:00
Sam Chu
7d07f8b6f9 Translate using Weblate (Chinese (Simplified))
Currently translated at 87.8% (29 of 33 strings)

Co-authored-by: Sam Chu <samchu-primary@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/zh_Hans/
Translation: Home Manager/Home Manager CLI
2023-06-09 00:59:12 +02:00
Naïm Favier
69bdd6de50 tests/stubs: inherit default versions from pkgs (#4069)
* tests/stubs: inherit default versions from pkgs

* tests/browserpass: temporarily disable on darwin

The package currently fails to evaluate on darwin due to a nixpkgs
problem: https://github.com/NixOS/nixpkgs/pull/236258#issuecomment-1583450593
2023-06-09 00:59:06 +02:00
Naïm Favier
f889ec0ec3 tests: --show-trace in CI (#4070) 2023-06-08 18:22:54 +02:00
Jany
cc6745b35f aerc: add package option (#4065) 2023-06-07 22:15:15 +02:00
Christoph Heiss
39c7d0a97a imv: add module (#4032)
* imv: add module

Signed-off-by: Christoph Heiss <christoph@c8h4.io>

* imv: add test cases

Signed-off-by: Christoph Heiss <christoph@c8h4.io>

---------

Signed-off-by: Christoph Heiss <christoph@c8h4.io>
Co-authored-by: Naïm Favier <n@monade.li>
2023-06-07 14:51:05 +02:00
Nikita Pedorich
3512a6dafb rtx: add module (#4051) 2023-06-07 10:32:56 +02:00
Robert Helgesson
28614ed7a1 lib: add functions to create DAGs from lists 2023-06-05 23:08:30 +02:00
Robert Helgesson
79e03fbe24 lib: remove listOrDagOf type
It has been deprecated for a long time and should be safe to remove.
2023-06-05 23:08:29 +02:00
Olmo Kramer
24d590cc32 wezterm: add integrations for Bash and Zsh (#3934)
* wezterm: Add `enableBashIntegration` option

* wezterm: Add `enableZshIntegration` option
2023-06-05 22:46:18 +02:00
Naïm Favier
607d8fad96 i3-sway: quote output names (#4059)
They can contain spaces.
2023-06-04 15:23:23 +02:00
github-actions[bot]
57ed23cd29 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/3005f20ce0aaa58169cdee57c8aa12e5f1b6e1b3' (2023-05-20)
  → 'github:nixos/nixpkgs/e635192892f5abbc2289eaac3a73cdb249abaefd' (2023-06-01)
2023-06-04 09:50:37 +02:00
Naïm Favier
221056c59f tests: fix getOutput on stubs
Setting `outputSpecified` prevents `getOutput` from descending into
outputs, which don't have an overridden `outPath`.

Additionally, use `__spliced` to permit derivations to use the dummy as
an input.
2023-06-04 09:15:14 +02:00
Nikita Pedorich
bffc49ffb2 ripgrep: remove configDir
Also minor formatting and news entry.
2023-06-04 01:12:05 +02:00
Nikita Pedorich
2951946183 ripgrep: add module (#4017)
* ripgrep: add module

* ripgrep: Apply suggestions from code review

Co-authored-by: Naïm Favier <n@monade.li>

* ripgrep: fix maintainers

Co-authored-by: Naïm Favier <n@monade.li>

* ripgrep: rename config into arguments

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-06-02 17:59:12 +02:00
Dan
3876cc613a Translate using Weblate (Ukrainian)
Currently translated at 100.0% (18 of 18 strings)

Co-authored-by: Dan <denqwerta@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/uk/
Translation: Home Manager/Home Manager Modules
2023-06-01 00:44:11 +02:00
Mohammad Abdolirad
04f6c2925b Translate using Weblate (Persian)
Currently translated at 30.3% (10 of 33 strings)

Co-authored-by: Mohammad Abdolirad <m.abdolirad@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/fa/
Translation: Home Manager/Home Manager CLI
2023-06-01 00:44:11 +02:00
gallegonovato
efed2ccd9f Translate using Weblate (Spanish)
Currently translated at 100.0% (18 of 18 strings)

Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/es/
Translation: Home Manager/Home Manager Modules
2023-06-01 00:44:11 +02:00
Robert Helgesson
4d8fedfd29 Translate using Weblate (Swedish)
Currently translated at 100.0% (18 of 18 strings)

Co-authored-by: Robert Helgesson <robert@rycee.net>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/sv/
Translation: Home Manager/Home Manager Modules
2023-06-01 00:44:11 +02:00
Hosted Weblate
76a816a896 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-06-01 00:44:11 +02:00
Naïm Favier
96078e4a93 Fix release notes (#4044) 2023-06-01 00:44:06 +02:00
Emily
53ccbe0170 fish: use babelfish for hm-session-vars.sh (#4012)
* home-environment: add `home.sessionVariablesPackage`

Allow the `hm-session-vars.sh` derivation to be referenced from other
modules, e.g. to translate it to fish with babelfish at build time.

* fish: use babelfish for `hm-session-vars.sh`

Translate `hm-session-vars.sh` to fish at system build time,
significantly decreasing shell startup time.

Based on https://github.com/NixOS/nixpkgs/pull/108947 by @kevingriffin.
2023-06-01 00:01:27 +02:00
Robert Helgesson
f1490b8caf Switch current unstable version to 23.11 2023-05-31 19:11:30 +02:00
Robert Helgesson
33ccc5c285 Switch stable branch to release-23.05 2023-05-31 19:11:29 +02:00
Robert Helgesson
b2a6cf7b59 docs: update copyright years 2023-05-31 18:36:26 +02:00
MaeIsBad
54a9d6456e waybar: merge multiple style definitions (#4038)
This is backwards compatible and allows for more flexibility(eg.
allows for defining custom waybar modules in separate nixos modules,
before merging them together)

Co-authored-by: mae <git@badat.dev>
2023-05-30 23:06:24 +02:00
Naïm Favier
9f82227b64 lib/file-type: convert executable to bool (#4036)
It doesn't make sense to pass `executable = null` to `writeTextFile`.
2023-05-30 11:21:14 +02:00
Christoph Heiss
43ed7048f6 Drop remaining CODEOWNERS reference from PR template (#4033)
The `.github/CODEOWNERS` file was dropped in #3990, so remove this
leftover.

Signed-off-by: Christoph Heiss <christoph@c8h4.io>
2023-05-29 23:28:04 +02:00
Naïm Favier
2d963854ae ssh: don't install a client by default (#4016)
Make use of the recently added nullable `mkPackageOption` feature
to disable installing an SSH client by default: most people should use
the client provided by their system.
2023-05-27 14:11:50 +02:00
Robert Helgesson
6a19225683 home-manager: verify username and home directory
The generation activation script should be run by the user specified
in `home.username` and `home.homeDirectory`. If some other user runs
the activation script, then files may end up in the wrong place or
with the wrong owner.

This commits adds a check early in the activation script that verifies
that the running user match the user in the configuration.

Fixes #4019
2023-05-27 09:14:05 +02:00
百地 希留耶
bec196cd9b helix: improve warning message for languages option (#4023) 2023-05-26 15:35:29 +02:00
Dany Marcoux
d1f04b0f36 yt-dlp: generate config if settings or extraConfig are defined (#4018)
Previously, the config was generated only if settings were defined. In a
case where settings weren't defined, extraConfig was ignored.
2023-05-25 15:06:34 +02:00
github-actions[bot]
58eb968c21 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/3e313808bd2e0a0669430787fb22e43b2f4bf8bf' (2023-05-05)
  → 'github:nixos/nixpkgs/3005f20ce0aaa58169cdee57c8aa12e5f1b6e1b3' (2023-05-20)
2023-05-23 08:43:09 +02:00
Naïm Favier
d9995d94f1 lib/file-type: fix xrefs (#4007)
Currently they all point to `home.file`.
2023-05-22 22:48:23 +02:00
Naïm Favier
ba006d7cca script-directory: fix news entry (#4010) 2023-05-22 09:53:19 +02:00
Robert Helgesson
13a74643d7 home-manager: fix error message in flake check
Before this commit, running the hasFlakeSupport function causes an
error message

    error: experimental Nix feature 'nix-command' is disabled; use
    '--extra-experimental-features nix-command' to override

when the Nix installation does not support the nix tool. The error
message should not be visible to the user since its just part of the
Flake support check.
2023-05-21 23:23:14 +02:00
Philipp Mildenberger
27ef11f021 helix: update languages.toml generation (support every option in languages.toml) (#4003)
Co-authored-by: Naïm Favier <n@monade.li>
2023-05-20 17:22:06 +02:00
Janik
b9a52ad20e script-directory: add module (#3995) 2023-05-19 10:29:27 +02:00
Maria
c10403a573 Update ssh.nix (#4000)
fix typo
2023-05-18 22:37:19 +02:00
Cynthia Fox
59659243cd PR_TEMPLATE: Note nix3 test method in checklist (#3972)
* PR_TEMPLATE: Note nix3 test method in checklist

Allows for running with the `nixpkgs` from the lock file, as well as
using a more familiar interface for users of the experimental CLI, which
would've avoided me opening #3971.

Also updates the corresponding note in `docs/contributing.adoc` to have
the correct invocation path.

* PR_TEMPLATE: `the experimental CLI` -> `Flakes`
2023-05-17 12:59:35 +02:00
Naïm Favier
e14e797041 neomutt: add missing stub in test (#3996)
Fixes tests on Darwin
2023-05-17 12:46:04 +02:00
Robert Helgesson
b7d814c574 tests: bump nmt to latest 2023-05-16 00:23:00 +02:00
Matthieu Coudron
c0deab0eff ci: autolabel PRs for aerc changes and some zsh files (#3992)
* ci: tag aerc changes with 'mail'

* ci: tag some files with 'shell' tag
2023-05-15 15:37:30 +02:00
Naïm Favier
e4272987f7 Drop CODEOWNERS 2023-05-14 12:46:21 +02:00
Naïm Favier
db3d440e26 kitty: improve error message when theme not found (#3989) 2023-05-14 12:05:10 +02:00
George Macon
6702b22b98 ssh: install an ssh client
Fixes #3667
2023-05-13 16:50:10 +02:00
Sefa Eyeoglu
e0026e16a5 fuzzel: add module 2023-05-13 15:54:34 +02:00
Markus Amano
9384997717 Translate using Weblate (Japanese)
Currently translated at 100.0% (16 of 16 strings)

Translate using Weblate (Japanese)

Currently translated at 96.9% (32 of 33 strings)

Co-authored-by: Markus Amano <markus.a.amano@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ja/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ja/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-05-13 08:48:50 +02:00
Reiner Gerecke
130abb8dbd Translate using Weblate (German)
Currently translated at 100.0% (16 of 16 strings)

Translate using Weblate (German)

Currently translated at 100.0% (33 of 33 strings)

Co-authored-by: Reiner Gerecke <me@reinergerecke.de>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/de/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/de/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-05-13 08:48:50 +02:00
Robert Helgesson
eec2272999 tests: various minor cleanups 2023-05-13 00:09:52 +02:00
Robert Helgesson
19c509a6fa emacs: minor fixes 2023-05-12 23:52:19 +02:00
Robert Helgesson
1eac5febc4 translate-shell: add news entry 2023-05-12 23:49:30 +02:00
Robert Helgesson
caa47705f7 beets: minor fixes 2023-05-12 23:26:09 +02:00
Robert Helgesson
8345a3166d kitty: minor fixes 2023-05-12 23:26:06 +02:00
Erik Krieg
70c8bd08e6 zellij: disables shell integrations by default (#3981)
* zellij: disables shell integrations by default

* zellij: removes outdated comment from test
2023-05-12 13:54:26 +02:00
Sefa Eyeoglu
a835096fd2 kitty: add shellIntegration (#3759)
Kitty provides integrations for bash, fish and zsh. The new
programs.kitty.shellIntegration options allow the configuration of
these integrations.

See <https://sw.kovidgoyal.net/kitty/shell-integration> for more details.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-05-12 11:20:22 +02:00
Erik Krieg
cc9f65d104 zellij: adds options to integrate with zsh, bash and fish shells (#3926)
* zellij: adds options to integrate with zsh, bash and fish shells

* zellij: add tests for shell integration options

* zellij: eval setup auto start for fish integration

* zellij: use interactiveShellInit for fish integration

* zellij: fixes format issues

* zellij: enable shell integrations by default

* zellij: compresses shell integration test cases

* zellij: removes the disabled shell integration tests

* zellij: formats tests
2023-05-11 21:25:46 +02:00
Ramses
d97e8f8861 systemd: accept derivations as values for systemd options (#3974) 2023-05-11 15:50:37 +02:00
Gaétan Lepage
6be873663e ssh: add setEnv option (#3935) 2023-05-11 14:22:40 +02:00
Naïm Favier
2f6a917ade i3-sway: fix indentation of bar blocks (#3978)
The `indent` function unindents the first and last line by default, so
the `"bar {"` `"}"` wrapper should go inside the list.
2023-05-11 14:04:29 +02:00
Leix b
d991776527 taskwarrior: add package option (#3768) 2023-05-11 14:04:17 +02:00
Sefa Eyeoglu
622fa73725 beets: add mpdIntegration (#3755)
Allow configuration of mpdstats and mpdupdate plugins for Beets using
Home Manager.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-05-11 14:03:54 +02:00
Jian Lin
f714b17031 emacs: extend startWithUserSession to start after graphical session (#3010) 2023-05-11 13:58:37 +02:00
Mario Rodas
fa720861b5 translate-shell: add module (#3659) 2023-05-11 11:21:18 +02:00
Mario Rodas
b365342adb ledger: add structural settings option (#3661) 2023-05-11 11:20:49 +02:00
Christoph Heiss
010c269877 zsh: add package option (#3945)
Signed-off-by: Christoph Heiss <christoph@c8h4.io>
2023-05-10 17:54:34 -06:00
Nate Cox
983f8a1bb9 git-cliff: add module 2023-05-09 18:53:49 +02:00
Sefa Eyeoglu
3f3fa731ad gnome-keyring: fix pass-secret-service assertion (#3963)
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-05-08 13:04:12 +02:00
arcnmx
78ceec68f2 xsession: cleanup systemd variables (#3636) 2023-05-07 23:59:56 +02:00
Cynthia Fox
e34fbe1801 pass-secret-service: Add dbus file, assert (#3953)
* pass-secret-service: Add dbus file, assert

Add the dbus service file in the package folder to XDG_DATA_HOME, as
well as adding an assertion to ensure both it and `gnome-keyring` aren't
enabled at the same time.

* pass-secret-service: Add self to CODEOWNERS

* pass-secret-service: Call out conflicting module(s)

* pass-secret-service: Revert `storePath` change

Signed-off-by: Cynthia Fox <cyntheticfox@gh0st.sh>

* pass-secret-service: Add password-store module default changes info

* pass-secret-service: Fix default info, modularize conflict checks

Signed-off-by: Cynthia Fox <cyntheticfox@gh0st.sh>

* Revert "pass-secret-service: Fix default info, modularize conflict checks"

This reverts commit 851df4fe49.

* pass-secret-service: Fix default info

Signed-off-by: Cynthia Fox <cyntheticfox@gh0st.sh>

* pass-secret-service: Indent `storePath` description

---------

Signed-off-by: Cynthia Fox <cyntheticfox@gh0st.sh>
2023-05-07 23:44:48 +02:00
Anton Mosich
d12ca77844 atuin: Replace dead link in documentation (#3962) 2023-05-07 23:44:22 +02:00
Utkarsh Gupta
de8ba413c5 home-environment: honor use-xdg-base-directories 2023-05-07 22:43:49 +02:00
Naïm Favier
017302483c xfconf: fix type order (#3961)
Submodules must come after strings, otherwise strings are treated as
paths and implicitly imported.
2023-05-07 22:20:49 +02:00
amesgen
6fc82e5697 i3status-rust: revert #3938 (#3957)
* Revert "i3status-rust: satisfy new 0.31 TOML output requirements (#3938)"

This reverts commit 0e4c33d760.

* i3status-rust: assertion for unsupported versions
2023-05-07 13:42:55 +02:00
Robert Helgesson
990b82ecd3 docs, dconf: GVariant documentation improvements
PR #3956
2023-05-07 12:43:53 +02:00
Jan Tojnar
0b4ec66640 dconf: Warn about strict typing of options
This is a frequent surprise to users.
2023-05-07 12:25:32 +02:00
Jan Tojnar
ea29b1a8d1 docs: Add GVariant cross-references 2023-05-07 12:25:32 +02:00
Jan Tojnar
13d666dd68 docs: Mention GVariant format strings 2023-05-07 12:25:31 +02:00
Jan Tojnar
a0ddb8af40 docs: Mention GVariant auto-coercion at the top 2023-05-07 12:25:30 +02:00
Jan Tojnar
cfa5c2869b docs: GVariant dictionaries are already supported
The support for dictionaries were introduced in 864ff685fe.
2023-05-07 12:25:29 +02:00
Jan Tojnar
81d5b220cd docs: Fix broken GVariant docs link 2023-05-07 12:25:28 +02:00
Jan Tojnar
3e906060a8 docs: Add inline anchors for direct linking to GVariant types 2023-05-07 12:25:27 +02:00
github-actions[bot]
c752906800 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/645bc49f34fa8eff95479f0345ff57e55b53437e' (2023-04-19)
  → 'github:nixos/nixpkgs/3e313808bd2e0a0669430787fb22e43b2f4bf8bf' (2023-05-05)
2023-05-07 12:06:14 +02:00
Robert Helgesson
a834ddf88c flake: set source path in home-manager tool
This makes sure that a NIX_PATH entry is added for use by non-flake
commands, for example `home-manager uninstall`.

Fixes #3948
2023-05-07 11:26:13 +02:00
Eryk Michalak
669669fcb4 Translate using Weblate (Polish)
Currently translated at 100.0% (16 of 16 strings)

Translate using Weblate (Polish)

Currently translated at 100.0% (33 of 33 strings)

Co-authored-by: Eryk Michalak <gnu.ewm@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/pl/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/pl/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-05-05 10:52:27 +02:00
Guangqing Chen
38271ead8e xfconf: support uint (#3946) 2023-05-05 10:52:22 +02:00
Nathan Henrie
f3824311a1 readline: Add support for keynames (#3947)
Kenames like `Control-n` or `meta-p` should not be quoted or they don't work.

Keyseqs like `\C-p` or `ab` must continue to be quoted.

See also: https://www.gnu.org/software/bash/manual/html_node/Readline-Init-File-Syntax.html

Fixes https://github.com/nix-community/home-manager/issues/3611
2023-05-04 19:39:46 +02:00
Naïm Favier
ae6d5466bf firefox: support bookmark tags (#3942) 2023-05-04 16:58:13 +02:00
Clément DOUIN
6abb775e75 himalaya: improve derivation for v0.7.X (#3664)
* himalaya: add soywod to maintainers

* himalaya: make the config safer

Also added two services and more tests.

* himalaya: fix doc + typos

* himalaya: use freeform

* himalaya: run ./format

* himalaya: make use of mkPackageOption
2023-05-04 12:28:08 +02:00
Matthias Jonen
514c0a71f4 helix: provide more detailed settings description (#3932)
Helix changed the definition of options. E.g. editor specific options
need to be prefixed with editor.
2023-05-04 00:42:04 +02:00
Yt
788777b536 nushell: add envVars attribute (#3930) 2023-05-04 00:12:21 +02:00
amesgen
0e4c33d760 i3status-rust: satisfy new 0.31 TOML output requirements (#3938) 2023-05-01 23:46:41 +02:00
Bernardo Meurer
3144311f31 zsh: allow multiple bindings to history-substring-search (#3929)
It's pretty common to need multiple bindings to
history-substring-search, since different terminals will send different
keys for up/down.

This does not break back-compatibility, and introduces a new test
2023-04-29 16:53:09 +02:00
Sinkerine
27d89b49e3 zplug: Update the path of init.zsh (#3922)
The current zplug nixpkgs puts everything under `$out/`. It pollutes the nix
profile dir.

This is a breaking change. It depends on an change of the output path in the
nixpkgs zplug package.
2023-04-29 11:08:16 +02:00
William Phetsinorath
c4f3a37071 jujutsu: add module 2023-04-28 22:14:13 +02:00
Naïm Favier
f2d6291150 README: move releases section higher 2023-04-28 19:18:56 +02:00
oxalica
43ba4489bd flake: unwrap devShells.*.tests
This reverts commit 6f9781b1b0 to fix
errors of `nix flake check` and `nix flake show`.

The `devShells` attribute is expected to be an attrset of derivations,
not nested attrsets.
2023-04-28 08:23:29 +02:00
ThinkChaos
d82c9af817 nixos: use lib argument instead of pkgs.lib (#3454)
This allows users to pass a lib with custom attributes and have those
available to custom HM modules.
2023-04-26 21:03:06 +02:00
Erwin Boskma
6142193635 atuin: Use flags option with nushell integration (#3917)
* atuin: Use flags option

* atuin: formatting

* atuin: Use flagsStr
2023-04-25 12:45:09 +02:00
Ryan Lahfa
0263da497e notmuch & neomutt: Control virtualboxes being set in NeoMutt for Notmuch integration (#3143)
Virtual mailboxes (described by Notmuch queries) can now configured for each account in NeoMutt.
Plus, it is possible to disable Notmuch section for a specific account.
2023-04-24 16:41:29 +02:00
Yuriy Taraday
6f9781b1b0 flake: Move tests back to devShells.*.tests (#3905)
I assume it was erroneously lost during flake-utils removal in
https://github.com/nix-community/home-manager/pull/3860
2023-04-24 12:46:10 +02:00
Bernardo Meurer
a5a294a622 sway: import NIXOS_OZONE_WL into systemd
Without this, even if you configure a preference for Electron apps to
use Ozone by setting `NIXOS_OZONE_WL=1`, GUI apps launched through
systemd user services use XWayland, since the variable is not set in
their environment.

This fixes that issue by importing it, like we do other variables.
2023-04-23 20:10:16 +02:00
Sebastian Estrella
e21ec3db17 git: add delta.package option
This makes it possible to conveniently customize the `delta` package.

PR #3897
2023-04-23 20:02:28 +02:00
github-actions[bot]
5904f12d7d flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/f00994e78cd39e6fc966f0c4103f908e63284780' (2023-04-17)
  → 'github:nixos/nixpkgs/645bc49f34fa8eff95479f0345ff57e55b53437e' (2023-04-19)
2023-04-23 18:51:15 +02:00
Leix b
48ad7ade11 Translate using Weblate (Catalan)
Currently translated at 100.0% (33 of 33 strings)

Translate using Weblate (Catalan)

Currently translated at 100.0% (16 of 16 strings)

Co-authored-by: Leix b <abone9999@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ca/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ca/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-04-23 14:49:47 +02:00
Yuriy Taraday
32d3e39c49 neovim: enable tests on Darwin
Checked on Apple Silicon laptop with both `aarch64-darwin` and
`x86-64-darwin`. All tests succeeded on both.
2023-04-23 00:38:01 +02:00
winston
6169690ae3 zsh: add package option to oh-my-zsh
Allow setting a custom package for `programs.zsh.oh-my-zsh`.
2023-04-22 17:13:06 +02:00
Patrick Widmer
5cd5a1b585 aerc: add oauth params 2023-04-22 17:07:51 +02:00
Christoph Heiss
3895469036 fnott: add D-Bus service file
This is needed to make fnott bus-activatable. Otherwise it won't be
started when a bus request is made [0]. Done in the same way as e.g.
dunst sets that up [1,2].

[0] https://www.freedesktop.org/software/systemd/man/systemd.service.html#id-1.10.6
[1] https://github.com/nix-community/home-manager/blob/master/modules/services/dunst.nix#L139
[2] https://github.com/dunst-project/dunst/blob/master/org.knopwob.dunst.service.in
2023-04-22 16:49:26 +02:00
Olmo Kramer
64d1f75a1e herbstluftwm: fix default tag renaming
The previous implementation tried to rename the tag named "default" to
the first tag in `cfg.tags`. This was a wrong approach because if a
tag with the same name already existed, the renaming failed and the
default tag would continue to exist.

The looking up of the default tag also contained a bug because it
should have used `by-name` in the path.
2023-04-22 16:38:31 +02:00
Utkarsh Gupta
218503b691 zellij: use xdg.configHome on darwin 2023-04-22 16:35:31 +02:00
Robert Helgesson
47d6c3f652 home-manager: fix variable name 2023-04-21 12:23:36 +02:00
Stel Abrego
342fd40ccb home-manager: fix config file variable check (#3901) 2023-04-21 11:40:20 +02:00
Christoph Heiss
5160039edc wofi: add module (#3786)
Signed-off-by: Christoph Heiss <christoph@c8h4.io>
2023-04-20 00:11:30 -06:00
github-actions[bot]
571d0ed825 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/abe7316dd51a313ce528972b104f4f04f56eefc4' (2023-04-14)
  → 'github:nixos/nixpkgs/f00994e78cd39e6fc966f0c4103f908e63284780' (2023-04-17)
2023-04-19 22:16:50 +02:00
Paulo L F Casaretto
8506c69222 home-manager: quote username in init template
This helps when the username contains, for example, the '.' character.
2023-04-19 22:01:23 +02:00
Jon Seager
cc05d26326 avizo: don't write a config file if settings are empty
Before this change, the default config provided by this module wrote
an empty file to `$HOME/.config/avizo/config.ini`, which caused a
bunch of errors, as Avizo tries to read a 'group' from the ini file,
which fails.

This commit also adds associated test cases.

PR #3871
2023-04-19 21:17:56 +02:00
Suwon Park
ac4c5c6fd8 Translate using Weblate (Korean)
Currently translated at 100.0% (16 of 16 strings)

Translate using Weblate (Korean)

Currently translated at 100.0% (33 of 33 strings)

Co-authored-by: Suwon Park <sepiabrown@naver.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ko/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ko/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-04-19 17:50:03 +02:00
Roberto Abdelkader Martínez Pérez
dfe7024f7e mr: add module 2023-04-19 17:36:41 +02:00
nat-418
5ae849d3c5 docs: add toolbar to firefox bookmarks example (#3889)
This commit adds a clear example of how to get bookmarks into the bookmarks toolbar.
2023-04-19 15:04:40 +02:00
Bernardo Meurer
aa03c8a429 bat: rebuild caches during activation
Without this, themes configured through Home Manager are not found at
runtime.
2023-04-18 23:13:11 +02:00
Naïm Favier
cd5723734a rofi: skip override if there are no plugins (#3885)
Avoid needless calls to `override` (also allows using `pkgs.rofi-unwrapped` with no plugins).
2023-04-18 12:33:44 +02:00
happysalada
2dcb61d396 atuin: enable nushell integration 2023-04-18 08:31:28 +02:00
Ilan Joselevich
fa980cc985 batsignal: add module 2023-04-18 08:28:46 +02:00
Mika Naylor
58b8685e47 nushell: add shellAliases option
This allows nushell users to define shell aliases that are inserted
into nushell's `config.nu`.
2023-04-17 22:59:32 +02:00
VwCSXg
6db559daa9 thunderbird: add extraConfig option
The added extraConfig option allowes users to insert custom text at
the end of the generated profile `user.js` file. This allows the users
to import templates as part of their configuration.
2023-04-17 22:42:32 +02:00
Utkarsh Gupta
e17e5e4f48 bottom: use xdg.configHome on Darwin
Both locations are supported, see

  https://clementtsang.github.io/bottom/nightly/configuration/config-file/default-config/
2023-04-17 21:57:35 +02:00
Utkarsh Gupta
cd690d2021 lazygit: use xdg.configHome on Darwin
If XDG_CONFIG_HOME is set then lazygit will use it. We therefore write
to that directory if Home Manager is managing the XDG directory
variables.
2023-04-17 21:32:48 +02:00
witcher
ae79840bc7 doc: replace invalid link (#3881)
The link to the Nix RFC 42 is invalid. Replace this with a valid link to the
upstream NixOS/rfcs repo, pinning it to the commit that introduced the RFC.
2023-04-17 17:53:44 +02:00
Stel Abrego
53bd74f786 copyq: fix typo in documentation 2023-04-16 17:14:24 -07:00
Basti
68eaf4b577 i3-sway: add option trayPadding (tray_padding) for bars (#3829) 2023-04-16 17:34:29 -06:00
Robert Helgesson
d1d0ee37c3 home-manager: ignore errors from notify-send
Fixes #3878
2023-04-17 00:46:17 +02:00
github-actions[bot]
21ca88f3a9 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/53dad94e874c9586e71decf82d972dfb640ef044' (2023-04-03)
  → 'github:nixos/nixpkgs/abe7316dd51a313ce528972b104f4f04f56eefc4' (2023-04-14)
• Removed input 'utils'
2023-04-16 03:59:21 +00:00
Robert Helgesson
40ebb62101 swaylock: add platform assertion 2023-04-15 21:17:23 +02:00
Paul Meyer
2df3d5d39c swaylock: add enable and package option
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-04-15 21:17:23 +02:00
Robert Helgesson
75f4f362e1 git-sync: fix test 2023-04-15 21:17:22 +02:00
Anderson Torres
17198cf5ae flake.nix: get rid of flake-utils
The function `flake-utils.lib.eachDefaultSystem` is superfluous and can be
substituted by native `nixpkgs.lib` functionality.
2023-04-14 12:42:03 +02:00
Robert Helgesson
9f78c6de4f Merge translations from Weblate
PR #3845
2023-04-14 12:33:26 +02:00
Dan
5cdaa2982c Translate using Weblate (Ukrainian)
Currently translated at 100.0% (16 of 16 strings)

Translate using Weblate (Ukrainian)

Currently translated at 100.0% (33 of 33 strings)

Co-authored-by: Dan <denqwerta@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/uk/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/uk/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-04-14 09:31:52 +02:00
Hosted Weblate
48aa5429cc Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-04-14 09:31:52 +02:00
Turmoil Nailsis
d53b9b39b2 Translate using Weblate (Japanese)
Currently translated at 87.5% (14 of 16 strings)

Co-authored-by: Turmoil Nailsis <indianrunner@duck.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ja/
Translation: Home Manager/Home Manager Modules
2023-04-14 09:31:52 +02:00
gallegonovato
61f5c2196f Translate using Weblate (Spanish)
Currently translated at 100.0% (16 of 16 strings)

Translate using Weblate (Spanish)

Currently translated at 100.0% (33 of 33 strings)

Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/es/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/es/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-04-14 09:31:52 +02:00
Robert Helgesson
49a3eff146 Translate using Weblate (Italian)
Currently translated at 87.8% (29 of 33 strings)

Translate using Weblate (French)

Currently translated at 87.8% (29 of 33 strings)

Translate using Weblate (Swedish)

Currently translated at 100.0% (33 of 33 strings)

Translate using Weblate (Swedish)

Currently translated at 100.0% (16 of 16 strings)

Translate using Weblate (Swedish)

Currently translated at 96.9% (32 of 33 strings)

Co-authored-by: Robert Helgesson <robert@rycee.net>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/fr/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/it/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/sv/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/sv/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-04-14 09:31:52 +02:00
Hosted Weblate
9481677f34 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-04-14 09:31:52 +02:00
Pablo Bollansee
b10e3ee4ad Translate using Weblate (Dutch)
Currently translated at 100.0% (15 of 15 strings)

Translate using Weblate (Dutch)

Currently translated at 100.0% (31 of 31 strings)

Co-authored-by: Pablo Bollansee <pablo.bollansee@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/nl/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/nl/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-04-14 09:31:52 +02:00
Weblate
916b7a545d Add translation using Weblate (Romanian)
Co-authored-by: Weblate <noreply@weblate.org>
2023-04-14 09:31:52 +02:00
Viorel-Cătălin Răpițeanu
af8a80c4ce Add translation using Weblate (Romanian)
Co-authored-by: Viorel-Cătălin Răpițeanu <rapiteanu.catalin@gmail.com>
2023-04-14 09:31:52 +02:00
Robert Helgesson
8631c04416 home-manager: ignore errors when creating the profiles path
Fixes #3873
2023-04-14 09:29:06 +02:00
midchildan
fe1e2dee19 home-manager: make sure Nix profiles path exists
The Nix profiles path may not exist right after installing Nix. In
that case, it is created on demand by the Nix CLI tools. However, Home
Manager assumes it exists and fails if it doesn't.

This change makes sure to trigger the creation of the Nix profiles
path before attempting to access it.
2023-04-14 02:17:50 +02:00
Matthew_Cash
28698126bd thunderbird: add userChrome and userContent options
Add an option to the Thunderbird module that allows specifying CSS for
userChrome and userContent styling

PR #3808
2023-04-12 00:06:38 +02:00
Robert Helgesson
6e57fc4705 home-manager: add some i18n context 2023-04-11 22:45:41 +02:00
Gaétan Lepage
013948ddf6 home-cursor: follow xdg spec for icons folder (#3851) 2023-04-11 22:41:48 +02:00
dependabot[bot]
4e79c6a414 ci: bump DeterminateSystems/update-flake-lock from 18 to 19
Bumps [DeterminateSystems/update-flake-lock](https://github.com/DeterminateSystems/update-flake-lock) from 18 to 19.
- [Release notes](https://github.com/DeterminateSystems/update-flake-lock/releases)
- [Commits](https://github.com/DeterminateSystems/update-flake-lock/compare/v18...v19)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 21:30:49 +00:00
Robert Helgesson
93f5cb2482 home-manager: migrate profiles to nix state directory
If the user runs a recent Nix version that places per-user profiles in
`$XDG_STATE_DIR/nix/profiles`, then migrate the home-manager profile
there.

Also clean up `setupVars` a bit.
2023-04-10 13:52:02 +02:00
github-actions[bot]
440faf5ae4 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/e3652e0735fbec227f342712f180f4f21f0594f2' (2023-03-30)
  → 'github:nixos/nixpkgs/53dad94e874c9586e71decf82d972dfb640ef044' (2023-04-03)
2023-04-05 03:59:22 +00:00
Naïm Favier
ec06f419af xdg-desktop-entries: make exec default to null (#3827)
The [specification](https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html)
does not require those keys to be set, and the type reflects that, so
they should default to null.
2023-04-04 10:41:46 +02:00
dependabot[bot]
eefb379386 ci: bump DeterminateSystems/update-flake-lock from 17 to 18
Bumps [DeterminateSystems/update-flake-lock](https://github.com/DeterminateSystems/update-flake-lock) from 17 to 18.
- [Release notes](https://github.com/DeterminateSystems/update-flake-lock/releases)
- [Commits](https://github.com/DeterminateSystems/update-flake-lock/compare/v17...v18)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-04 00:53:46 +02:00
github-actions[bot]
24f60622a7 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/3c5319ad3aa51551182ac82ea17ab1c6b0f0df89' (2023-03-04)
  → 'github:nixos/nixpkgs/e3652e0735fbec227f342712f180f4f21f0594f2' (2023-03-30)
• Updated input 'utils':
    'github:numtide/flake-utils/3db36a8b464d0c4532ba1c7dda728f4576d6d073' (2023-02-13)
  → 'github:numtide/flake-utils/93a2b84fc4b70d9e089d029deacc3583435c2ed6' (2023-03-15)
2023-04-03 23:07:11 +02:00
Turmoil Nailsis
a5fe7bf73c Translate using Weblate (Japanese)
Currently translated at 100.0% (31 of 31 strings)

Co-authored-by: Turmoil Nailsis <indianrunner@duck.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ja/
Translation: Home Manager/Home Manager CLI
2023-04-03 21:18:51 +02:00
Robert Helgesson
ccf650bb5b man: use cfg when possible 2023-04-03 21:18:07 +02:00
Naïm Favier
6c76fb5b12 maintainers: rename houstdav000 → cyntheticfox (#3838)
https://github.com/NixOS/nixpkgs/pull/223976
2023-04-03 20:28:29 +02:00
Bernardo Meurer
ddd8866c03 dconf: disable on darwin
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.
2023-04-02 00:52:34 +02:00
Damien Cassou
67b97020b6 copyq: support xwayland
We do this by adding QT_QPA_PLATFORM=xcb to the service environment as
per the workaround given in

  https://copyq.readthedocs.io/en/latest/known-issues.html#known-issue-wayland

Fixes #3530
2023-03-31 10:05:41 +02:00
Robert Helgesson
d3fd3b9d69 docs: bump nmd
Makes code callouts unselectable.
2023-03-31 00:00:25 +02:00
Naïm Favier
0e065e1b6f Revert "programs.neovim: link packpath dir in XDG_DATA_HOME (#3717)" (#3817)
This reverts commit deb2f59b5c.
2023-03-29 20:25:04 +02:00
Tim
765e4007b6 nixpkgs: fix semicolon and list layout in docs (#3813) 2023-03-28 12:46:08 +02:00
Matthieu Coudron
deb2f59b5c programs.neovim: link packpath dir in XDG_DATA_HOME (#3717)
link the packpath in expected folder so that even unwrapped neovim can pick home-manager's plugins.

I sometimes need to run neovim not wrapped/configured by nix (when
developing neovim or when other projects bring their own neovim in
PATH). Currently they dont find plugins installed by home-manager in the
cases where packpath is not set to the generated nix packpath directory.
With this change, neovim can discover HM-installed plugins by itself.
2023-03-28 10:40:39 +02:00
Robert Helgesson
cf662b6c98 Merge PR #3799
Updates Darwin launchd options.
2023-03-26 00:13:59 +01:00
midchildan
da325265b7 launchd: sync option definition with nix-darwin 2023-03-25 23:59:58 +01:00
midchildan
2acea86583 launchd: make Launch Agents config a freeform setting
Because there probably are options we don't know about.
2023-03-25 23:59:58 +01:00
Robert Helgesson
d80bf24dab home-manager: error out when showing news in flake 2023-03-25 16:30:58 +01:00
Robert Helgesson
225d1fb77e hstr: fix sorting in CODEOWNERS 2023-03-25 16:03:16 +01:00
Denis Kaynar
99680311f1 hstr: add module 2023-03-25 15:54:19 +01:00
Nick Cao
3ace6a31dd im/fcitx: drop as fcitx 4 has been removed from nixpkgs (#3804)
Reference: https://github.com/NixOS/nixpkgs/pull/220776
2023-03-25 15:32:31 +01:00
midchildan
885a504f80 syncthing: add Darwin support 2023-03-25 13:09:55 +01:00
Adam Stephens
2f8d24b7f5 zoxide: enable nushell integration 2023-03-25 11:47:07 +01:00
Robert Helgesson
a34aaad2ae gpg: fix URL of key in test case
Fixes #3803
2023-03-25 09:57:33 +01:00
Robert Helgesson
db37c53760 docs: bump nmd 2023-03-24 20:01:16 +01:00
Pavel Borzenkov
363c46b248 programs/alot: make Sent and Drafts folder optional (#3798)
Some of the email providers (like GMail and Fastmail) save Sent messages
automatically, so make the folders optional in the configuration.

Make Drafts folder optional as well, to allow it to be configured
manually in the extraConf with location outside of the maildir.
2023-03-22 11:25:02 +01:00
Gaétan Lepage
c6a7bc90ca zathura: add documentation for mode-specific mappings (#3797) 2023-03-22 10:50:13 +01:00
Damien Cassou
486ba3de4e copyq: add module 2023-03-22 08:33:34 +01:00
Sefa Eyeoglu
e60080ddfb listenbrainz-mpd: add module 2023-03-22 08:21:11 +01:00
Chuang Zhu
e386ec640e mpv: add scriptOpts option, fix tests (#3491) 2023-03-21 11:33:36 +01:00
Damien Cassou
a8f5ca239f borgmatic: optionally exclude HM symlinks from backup
Co-authored-by: Naïm Favier <n@monade.li>
Co-authored-by: Robert Helgesson <robert@rycee.net>
2023-03-21 08:56:23 +01:00
Damien Cassou
2ddd4e151d borgmatic: change type of extraConfigOption
Switched to `yamlFormat.type` since the output file format is YAML.
2023-03-21 08:55:17 +01:00
Damien Cassou
2bf15d3835 docs: reference Stylix in 3rd-party extensions 2023-03-21 08:50:31 +01:00
Robert Helgesson
7720f200ea home-manager: make generated home.nix more helpful
This adds a few commented example configuration elements to help guide
the user to possible usages.
2023-03-21 08:41:28 +01:00
Dan
c509a7d5ff Translate using Weblate (Ukrainian)
Currently translated at 100.0% (31 of 31 strings)

Co-authored-by: Dan <denqwerta@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/uk/
Translation: Home Manager/Home Manager CLI
2023-03-20 00:23:04 +01:00
gallegonovato
abc8378e21 Translate using Weblate (Spanish)
Currently translated at 100.0% (31 of 31 strings)

Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/es/
Translation: Home Manager/Home Manager CLI
2023-03-20 00:23:04 +01:00
Robert Helgesson
69bf0fedbe Translate using Weblate (Swedish)
Currently translated at 100.0% (31 of 31 strings)

Co-authored-by: Robert Helgesson <robert@rycee.net>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/sv/
Translation: Home Manager/Home Manager CLI
2023-03-20 00:23:04 +01:00
Hosted Weblate
7217ca165b Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-03-20 00:23:04 +01:00
Robert Helgesson
1b8bf5c327 home-manager: avoid stray error message
Failure to create the global profiles directory is not actually an
error since we can recover. Therefore, avoid printing the mkdir error
message.
2023-03-19 23:32:23 +01:00
Alejandro Angulo
bcc417b80f exa: removed stale comment (#3789) 2023-03-19 18:14:05 +01:00
Naïm Favier
3239e0b40f Revert "starship: condition nushell integration on nushell 0.73+" (#3778)
This reverts commit c7231c06e9.
2023-03-17 16:31:35 +01:00
Naïm Favier
62cc5d815c .github: bump install-nix-action (#3723)
The new release addresses the issue with Nix 2.14.

https://github.com/cachix/install-nix-action/releases/tag/v20
2023-03-17 14:12:40 +01:00
Naïm Favier
c7231c06e9 starship: condition nushell integration on nushell 0.73+ (#3776)
Older versions are not supported: https://starship.rs/#nushell
2023-03-17 14:11:30 +01:00
Thiago Kenji Okada
b832390db3 i3status-rust: update it to handle 0.30.x releases (#3773)
* i3status-rust: update it to handle 0.30.x releases

0.30.0 is a major release that brings many breaking changes to the
configuration file. See:
https://github.com/greshake/i3status-rust/blob/master/NEWS.md#i3status-rust-0300

The only one that actually affects the module though is the change in
how the theme/icons are defined. Other changes are mostly on how to
specify formatting/blocks, and since we just generate the TOML as-is, it
needs changes in the user side.

So most changes in this commit are documentation updates, having
up-to-date examples from things that changed, e.g.: the new `click`
attribute that now can be applied to any block.

* i3status-rust: only use new format if i3status-rust >= 0.30.0

* news: document the i3status-rust changes

* i3status-rust: add thiagokokada as maintainer
2023-03-16 12:48:55 +01:00
polykernel
5e94669f8e home.pointerCursor: set common XCURSOR_* environment variables by default (#3663)
The `XCURSOR_*` environment variables specified in libxcursor
are used by many applications and libraries to load and configure
cursor settings. Setting these variables is a no-op if ignored but
is useful as a fallback when other sources of configuration are
unreliable.

This commit sets some commonly used `XCURSOR_*` environment variables
(i.e XCURSOR_THEME, XCURSOR_SIZE) by default when `home.pointerCursor`
is enabled.
2023-03-16 10:05:07 +01:00
Robert Helgesson
c8cb60b8a1 home-manager: add init command to main tool
The init command is essentially the old install script but integrated
into the home-manager tool. This simplifies things slightly since we
can use the existing code infrastructure.

The init command is Nix flake aware in the sense that, if we detect
that the user's Nix setup supports flakes, then we also create an
initial `flake.nix` file.

Finally, we update the installation instructions for the Nix flakes
standalone setup to use the new init command.

Zsh completion update provided by Anund <anundm@gmail.com>.
2023-03-15 22:47:04 +01:00
Kylie McClain
95201931f2 qutebrowser: allow for specifying multiple commands in bindings (#3322)
This command adds the ability to specify lists of qutebrowser
commands as values for key bindings, which avoids the need for
concatenating commands with ` ;; `.
2023-03-15 19:22:12 +01:00
dependabot[bot]
2bd74d92bc ci: bump DeterminateSystems/update-flake-lock from 16 to 17
Bumps [DeterminateSystems/update-flake-lock](https://github.com/DeterminateSystems/update-flake-lock) from 16 to 17.
- [Release notes](https://github.com/DeterminateSystems/update-flake-lock/releases)
- [Commits](https://github.com/DeterminateSystems/update-flake-lock/compare/v16...v17)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-15 13:17:28 +00:00
gallegonovato
85196310e1 Translate using Weblate (Spanish)
Currently translated at 100.0% (30 of 30 strings)

Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/es/
Translation: Home Manager/Home Manager CLI
2023-03-15 12:53:38 +01:00
Luna Jernberg
5b798e2b99 Translate using Weblate (Swedish)
Currently translated at 100.0% (30 of 30 strings)

Co-authored-by: Luna Jernberg <droidbittin@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/sv/
Translation: Home Manager/Home Manager CLI
2023-03-15 12:53:38 +01:00
Robert Helgesson
5eec450c75 Merge translation updates 2023-03-15 12:52:50 +01:00
Janik
215af6252d atuin: add disable key options (#3754)
Co-authored-by: Janik H <janik@aq0.de>
2023-03-15 11:52:48 +01:00
Hosted Weblate
af4e1af1ae Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-03-14 23:12:06 +01:00
Suwon Park
2fa7d28699 Translate using Weblate (Korean)
Currently translated at 100.0% (15 of 15 strings)

Co-authored-by: Suwon Park <sepiabrown@naver.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ko/
Translation: Home Manager/Home Manager Modules
2023-03-14 23:12:05 +01:00
Robert Helgesson
cae54dc45c home-manager: change default configuration home
This changes the default configuration location for Home Manager
configurations from

    $XDG_CONFIG_HOME/nixpkgs

to

    $XDG_CONFIG_HOME/home-manager

The old location is still supported but using it will trigger a
warning message.

Fixes #3640
2023-03-14 23:10:54 +01:00
Robert Helgesson
da15dd1f27 docs: minor typographic improvement in release note 2023-03-14 21:44:06 +01:00
Robert Helgesson
8d2b898532 docs: update description of uninstall command
The removal of Home Manager generations is now non-optional.
2023-03-13 22:50:48 +01:00
Felix Leitz
24c1a6335e vscode: add options for global and user snippets (#3765)
Co-authored-by: Felix Leitz <felix.leitz92@gmail.com>
2023-03-13 18:45:03 +01:00
Olli Helenius
7fe539dfbb Fix path to Kitty theme files (#3764)
The theme files were moved to `share/kitty-themes` in this nixpkgs
commit:

  3e29ae4159
2023-03-13 14:37:26 +01:00
Robert Helgesson
46f637bd80 Merge translation updates 2023-03-13 00:07:38 +01:00
Turmoil Nailsis
118a9f79fd Translate using Weblate (Japanese)
Currently translated at 100.0% (15 of 15 strings)

Co-authored-by: Turmoil Nailsis <indianrunner@duck.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ja/
Translation: Home Manager/Home Manager Modules
2023-03-11 23:06:43 +01:00
Dan
dd6c5acd86 Translate using Weblate (Ukrainian)
Currently translated at 100.0% (15 of 15 strings)

Co-authored-by: Dan <denqwerta@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/uk/
Translation: Home Manager/Home Manager Modules
2023-03-11 23:06:43 +01:00
Weblate
7783e1b949 Add translation using Weblate (Ukrainian)
Co-authored-by: Weblate <noreply@weblate.org>
2023-03-11 23:06:43 +01:00
gallegonovato
4bc153e9c8 Translate using Weblate (Spanish)
Currently translated at 100.0% (15 of 15 strings)

Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/es/
Translation: Home Manager/Home Manager Modules
2023-03-11 23:06:43 +01:00
Robert Helgesson
609bc04c21 Translate using Weblate (Swedish)
Currently translated at 100.0% (15 of 15 strings)

Co-authored-by: Robert Helgesson <robert@rycee.net>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/sv/
Translation: Home Manager/Home Manager Modules
2023-03-11 23:06:43 +01:00
Dan
564aea1c43 Translate using Weblate (Ukrainian)
Currently translated at 100.0% (29 of 29 strings)

Add translation using Weblate (Ukrainian)

Co-authored-by: Dan <denqwerta@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/uk/
Translation: Home Manager/Home Manager CLI
2023-03-11 23:06:43 +01:00
Hosted Weblate
9a8e3ad21a Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-03-11 23:06:43 +01:00
Kim A. Ødegaard
a410f8d658 Translate using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: Kim A. Ødegaard <kim@dyktig.no>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/nb_NO/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-03-11 23:06:43 +01:00
Robert Helgesson
bf5712c586 home-manager: slightly expand option description 2023-03-11 22:44:26 +01:00
Gaetan Lepage
7224d7c54c zellij: fix typo 2023-03-10 17:15:39 +01:00
h7x4
c03d1e75a1 zellij: switch config lang from yaml to kdl for 0.32.0 2023-03-10 16:48:11 +01:00
h7x4
fce9dbfeb4 lib: add generator for KDL
Added a generator for the KDL document language.
This is in order for home-manager to natively generate
the new config format for zellij, as described in nix-community#3364.

There is not a one to one mapping between KDL and nix types,
but attrset translation is heavily based on KDLs JSON-IN-KDL microsyntax.
The exception here is the `_args` and `_props` arguments, which lets you
specify arguments and properties as described in the spec.

See more here:
- https://kdl.dev/
- https://github.com/kdl-org/kdl/blob/main/SPEC.md

The generator also conforms to the interface from the nixpkgs manual:
https://nixos.org/manual/nixpkgs/stable/#sec-generators

Co-authored-by: Gaetan Lepage <gaetan@glepage.com>
2023-03-10 16:48:10 +01:00
cbarrete
36999b8d19 docs: simplify flake-specific instructions in the documentation (#3737)
Install home-manager via `nix run` rather than `nix-build` then running
the activation script out of the store manually.

Co-authored-by: Cédric Barreteau <cbarrete@users.noreply.github.com>
2023-03-08 11:29:47 +01:00
Robert Helgesson
f69816489d home-manager: handle missing per-user profiles directory
Specifically, if the global per-user profiles path do not exist and we
cannot create it during the activation, then place our profile in the
Home Manager data directory. We prefer to use the global location,
though, since it makes it visible to `nix-collect-garbage`.

This is intended to improve compatibility with Nix version 2.14 and
later, which no longer creates the per-user directories.

Also, use the Home Manager data directory to manage the gcroot for the
current generation. It does not have to sit in the global per-user
gcroots directory since it should never be eligible for GC.
2023-03-07 23:53:06 +01:00
Robert Helgesson
0f3dfc16d0 home-manager: fix nix-env uninstall command 2023-03-07 23:53:05 +01:00
Turmoil Nailsis
defd16c5d5 Translate using Weblate (Japanese)
Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: Turmoil Nailsis <indianrunner@duck.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ja/
Translation: Home Manager/Home Manager CLI
2023-03-07 11:38:51 +01:00
home-manager-bot
04d6cad675 flake.lock: Update (#3654)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/2caf4ef5005ecc68141ecb4aac271079f7371c44' (2023-01-30)
  → 'github:nixos/nixpkgs/3c5319ad3aa51551182ac82ea17ab1c6b0f0df89' (2023-03-04)
• Updated input 'utils':
    'github:numtide/flake-utils/5aed5285a952e0b949eb3ba02c12fa4fcfef535f' (2022-11-02)
  → 'github:numtide/flake-utils/3db36a8b464d0c4532ba1c7dda728f4576d6d073' (2023-02-13)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-03-06 14:28:31 +01:00
amesgen
e314f6cf21 broot: remove unnecessary IFD 2023-03-05 13:27:21 +01:00
Guangqing Chen
68ba595783 xfconf: fix dbus may not be started in the startup of NixOS. (#3707) 2023-03-05 09:47:06 +01:00
Naïm Favier
3c18113bd7 mpd: add extraArgs (#3735)
Allow passing arguments to the MPD command line. Currently the only
interesting one is `--verbose`.
2023-03-05 09:41:34 +01:00
Robert Helgesson
b9e3a29864 recoll: fix generation of string lists
The updated implementation will quote string lists as per the
description at

  https://www.lesbonscomptes.com/recoll/usermanual/#RCL.INSTALL.CONFIG

Fixes #3732
2023-03-02 20:01:51 +01:00
Sylvain Fankhauser
547a3bc8d4 git: allow tags to be unsigned when signing.signByDefault=true (#3479) 2023-03-02 12:27:57 +01:00
Rosario Pulella
db1c22626a mako: programs.mako -> services.mako (#3265) 2023-03-02 11:58:42 +01:00
Robert Helgesson
f807788035 docs: add chapter on 3rd-party extensions
Fixes #3459
2023-03-01 22:09:38 +01:00
Naïm Favier
ef7d316578 exa: always configure exa alias (#3721)
Otherwise the `icons`, `git` and `extraOptions` options have no effect
unless `enableAliases` is true.
2023-02-28 22:50:55 +01:00
Naïm Favier
ddcbf676ba specialization: fix name conflict inside NixOS module (#3718)
If used inside the NixOS/nix-darwin module, we get conflicting definitions
of `name` inside the specialization: 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
2023-02-28 22:22:22 +01:00
Naïm Favier
9438e56a7b .github: pin nix 2.13 in workflows (#3720)
2.14 has a bug related to profile locations that breaks nix-env, which
in turn breaks cachix. Pin to 2.13 for now.

More info at https://github.com/NixOS/nixpkgs/pull/218858#issuecomment-1448758169
2023-02-28 22:03:28 +01:00
Joel Höner
4bac341868 exa: add more options (#3505)
* exa: add more options

* exa: use `escapeShellArgs`

* exa: don't hardcode executable path in aliases

Prevents aliases from going stale in open terminals when the system is updated.

* exa: use `command` for self-referential alias

Otherwise fish complains about the recursive call.

Drop the aliases from ion shell since it doesn't implement the POSIX
`command` built-in.

* exa: re-add ion aliases

* exa: drop `command`

Fish doesn't complain about recursion if `exa` isn't escaped.

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-02-28 18:24:36 +01:00
patwid
305daba44a aerc: update auth mechanisms (#3714) 2023-02-27 22:32:12 +01:00
Maximilian Bosch
ab7c8f4a84 modules/redshift-gammastep: install package into the profile (#3710)
This is needed to make sure that the tray icon is actually found.
Otherwise an empty icon indicating that it wasn't found is shown.
2023-02-27 15:49:49 +01:00
Maximilian Bosch
635bbcdd6f modules/git: make options passed to less(1) for diff-so-fancy configurable (#3704)
The `-X` prevents that screen is cleared when showing a diff that's
larger than my screen.

I.e. when running `git diff` and press `q`, the last thing I want to see
is the prompt with `git diff` and *not* the part of the diff I browsed,
to be clear

    $ git diff
    $ <cursor>

Considering that this is somewhat opinionated, I decided to build an
option which allows you to pass arbitrary commands to the less
invocation.
2023-02-27 13:04:46 +01:00
siflfran
bf76afbb06 Set the SHELL environment variable for keychain in .xsession (#3695)
Xsession (and hence ~/.xsession) is executed in bash but does not set
SHELL to the full path to bash. In case the user's login shell is
something other than bash then SHELL is set to that shell. Keychain
inspects the SHELL variable to find out what shell it has to generate
code for, so in .xsession it generates code for the user's login shell
instead for bash.

This change forces SHELL to bash for keychain when invoked from
.xsession, the same way it's done when generating keychain's code for
bash integration.

Closes #3693
2023-02-26 19:55:27 +01:00
Robert Helgesson
fc3432bac2 home-manager: make --version report 23.05-pre
It is a bit misleading to report 22.11 when running from the master
branch.
2023-02-26 17:07:31 +01:00
Robert Helgesson
d68cd7f7df flake: avoid recursive set 2023-02-26 17:07:30 +01:00
Robert Helgesson
7b6e507151 docs: slight improvement of Flake documentation 2023-02-26 16:20:40 +01:00
Gabriel Arazas
693d76eeb8 programs.gpg: update references to respective manpages (#3648) 2023-02-26 09:30:45 +01:00
Lord-Valen
664945b3e0 starship: Use mkEnableOption (#3701) 2023-02-24 23:15:57 +01:00
Anton Plotnikov
4295fdfa6b avizo: add module
PR #3601
2023-02-22 23:26:41 +01:00
Kira Bruneau
564b82b354 firefox: fix search options without a default engine 2023-02-21 22:13:10 +01:00
Albert Peschar
c7c69ec405 launchd: fix example of StartCalendarInterval 2023-02-21 21:52:39 +01:00
Olmo Kramer
5e889b385c mpd-mpris: add module 2023-02-20 23:43:42 +01:00
Naïm Favier
72ce74d3ea qt: auto-detect style package from name (#3692)
* qt: auto-detect style package from name

* qt: test package auto-detection
2023-02-20 12:30:29 +01:00
Robert Helgesson
ebb21e1bf6 direnv: nushell integration should not be read only
Fixes #3689
2023-02-20 07:43:27 +01:00
dependabot[bot]
6ea501044b ci: bump cachix/install-nix-action from 18 to 19
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 18 to 19.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v18...v19)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-19 22:48:19 +00:00
ssantos
ae6f1895d5 Translate using Weblate (Portuguese)
Currently translated at 100.0% (14 of 14 strings)

Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/pt/
Translation: Home Manager/Home Manager Modules
2023-02-19 23:45:20 +01:00
Weblate
bdcd1bde4e Add translation using Weblate (Portuguese)
Co-authored-by: Weblate <noreply@weblate.org>
2023-02-19 23:45:20 +01:00
ssantos
aa4c685096 Translate using Weblate (Portuguese)
Currently translated at 100.0% (32 of 32 strings)

Add translation using Weblate (Portuguese)

Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/pt/
Translation: Home Manager/Home Manager CLI
2023-02-19 23:45:19 +01:00
Natsu Kagami
9e9a0e43fe owncloud-client: add package option 2023-02-19 23:33:03 +01:00
James Williams
81f16a1e3c prezto: add missing use of yesNo
Specifically, this fixes evaluation of prompt.showReturnVal.
2023-02-19 23:20:59 +01:00
Naïm Favier
5ffb0f1f81 tests: fix gnupg stub (#3685)
systemd now depends on `gnupg.override`, so we need a stub for systemd too.
2023-02-19 11:19:00 +01:00
Kiran Ostrolenk
da72e6fc6b keychain: add nushell integration 2023-02-14 09:41:45 +00:00
Sumner Evans
2dce7f1a55 tests: fix formatting (tab -> spaces) (#3660)
Signed-off-by: Sumner Evans <me@sumnerevans.com>
2023-02-09 10:37:26 +01:00
Naïm Favier
1232d0e133 Revert "mbsync: make passwordCommand escaping consistent" (#3657)
This reverts commit e2c1756e3a.
2023-02-08 21:39:10 +01:00
Nathan van Doorn
e631d78ddf vscode: fix erroneous application of lib.optional (#3655) 2023-02-08 12:18:28 +01:00
Nathan van Doorn
d7a5a28fc3 vscode: add extensions.json file in extensions dir (#3588)
* vscode: add extensions.json file in extensions dir

This change generates an 'extensions.json` file the same way that
nixpkgs' vscode-with-extensions does, and makes sure it is placed in the
directory with the extensions.

* vscode: remove leftover trace

Co-authored-by: Naïm Favier <n@monade.li>

* vscode: fix adding extensions.json with mutable extension dir

Co-authored-by: Naïm Favier <n@monade.li>

* vscode: let vscode regenerate the mutable extensions.json

* Remove nixpkgs duplication; only apply on vscodes new enough to need it

* Use lib.versionAtLeast

Co-authored-by: Naïm Favier <n@monade.li>

* Format vscode.nix

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-02-08 11:00:27 +01:00
Kylie McClain
6d95d98b6b xsuspender: fix typo that made debug option a noop (#3653) 2023-02-08 00:15:20 +01:00
Robert Helgesson
02ac667557 docs: bump nmd
Fixes cross-compilation.
2023-02-07 23:28:21 +01:00
Robert Helgesson
7529a2674a scmpuff: clean up tests
Stub the scmpuff package. Also remove unnecessary `config` wrapping.
2023-02-07 22:19:10 +01:00
midchildan
edb3645383 systemd: remove platform assertion
Allow modules to define systemd services on macOS. It won't actually
have any effect, but it would allow modules to define both systemd
services and launchd agents without boilerplate conditionals.

As a consequence of this change, each module would have to check for
compatibility with the OS target instead.
2023-02-07 21:54:25 +01:00
midchildan
17dc593930 modules: add platform assertions 2023-02-07 21:54:24 +01:00
Naïm Favier
d6b1d42682 activation-init.sh: remove shebang, execute bit
This is not a standalone script, it's only meant to be included from the
activation script.
2023-02-07 21:47:19 +01:00
Naïm Favier
b70362bf9b nix: fix package assertion
Sync it with the condition for generating nix.conf so that it triggers
if `extraOptions` is set but `package` isn't.
2023-02-07 11:35:12 +01:00
Robert Helgesson
c43d4a3d6d firefox: manage add-ons per-profile
Internally we already managed them per-profile but exposed a global
option to maintain backwards compatibility. The benefit to having
per-profile extensions is quite large though, so it is time to switch.

Users of the global extensions option will get an error message that
indicates how to edit their configuration to work again.
2023-02-05 23:54:56 +01:00
Guillaume Desforges
9621e9ab80 programs.neovim: add extraLuaConfig (#3639)
* programs.neovim: add extraLuaConfig

Add a configuration option to add custom lua configuration lines to
`lua.init`.

* apply review: formatting

* apply review: fix test
2023-02-05 12:09:26 +01:00
Kira Bruneau
9f4268e6b6 firefox: support passing any json value to settings (#3580)
Firefox internally only supports bool, int, and string types for
preferences, but often stores objects, arrays and floats as strings.

This change makes it nicer to specify those type of preferences in
Nix, and it also makes it possible to merge objects & arrays across
multiple modules.
2023-02-05 11:23:22 +01:00
Stanislav Asunkin
e3f28ddb0d tmux: fix secureSocket environment variable (#3593) 2023-02-05 11:22:41 +01:00
Bernardo Meurer
6d2ba4654d home-manager: pass --refresh to nix (#3624)
This flag is useful to force Nix to re-fetch cached flakes. Without it,
you cannot deploy from a non-local flake in quick succession, since the
caching causes the flake to not be re-fetched.
2023-02-05 11:14:03 +01:00
Damien Cassou
ca69be9335 borgmatic: Do not inhibit idle in service (#3637)
This reflects a systemd service sample file change made in borgmatic
1.7.6, commit 2e9f70d49647d47fb4ca05f428c592b0e4319544:

    When backing up a machine with a monitor using logind to control
    idle timeout and things like DPMS, borgmatic can block the screen
    from turning on/off with systemd-inhibit. This is because by
    default systemd-inhibit will block
    "idle:sleep:shutdown". Borgmatic does not need to care about idle,
    only about suspend and shutdown. So, add an explicit `--what` flag
    for what borgmatic should inhibit.

    For more information see systemd-inhibit(1).
2023-02-05 11:13:04 +01:00
Tomo
ffc022b6a7 vim-vint: add module (#3604)
* vim-vint: add module

* vim-vint: add tests

* maintainers: add tomodachi94

* vim-vint: fix tests

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-02-05 11:12:28 +01:00
Jacob Birkett
e716961d78 modules: java: fix setting JAVA_HOME (#3638)
Some JVMs pass through `home` as a derivation rather than as a string, as `openjdk` does. Since the module option for session variables expects a string, this is a type error. I suspect that this incorrect, and have changed the assignment here to coerce the `cfg.package.home` attribute to a string to be safe.

After discussing with @NobbZ, we have decided it is best to mitigate this problem in HM rather than to make potentially breaking changes to Nixpkgs.

Please do mention if you think we ought to propose a change to Nixpkgs instead.
2023-02-05 11:02:57 +01:00
Sleroq
2ffc6d6496 tmux: mouse support (#3642)
Co-authored-by: Sleroq <sleroq@sleroq.link>
2023-02-05 11:02:14 +01:00
Jarkad
e2c1756e3a mbsync: make passwordCommand escaping consistent (#3630)
* Fix mbsync passwordCommand escaping

* email: use lib.escapeShellArgs

Co-authored-by: Naïm Favier <n@monade.li>

* mbsync: update tests

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-02-03 23:22:11 +01:00
Gaetan Lepage
d1c7730bb7 services.autorandr: add module 2023-02-02 21:54:53 +01:00
home-manager-bot
4a95852490 flake.lock: Update (#3619)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/5ed481943351e9fd354aeb557679624224de38d5' (2023-01-20)
  → 'github:nixos/nixpkgs/2caf4ef5005ecc68141ecb4aac271079f7371c44' (2023-01-30)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-02-02 03:00:28 +01:00
Loïc Reynier
2f62da9837 git: unset pager while using difftastic (#3633) 2023-02-02 02:58:17 +01:00
Zack
782cb855b2 home-manager: edit homeManagerConfiguration err (#3632)
* home-manager: edit `homeManagerConfiguration` err

This adds https://nix-community.github.io/home-manager/release-notes.html#sec-release-22.11-highlights
to the homeManagerConfiguration arguments error.

* home-manager: `homeManagerConfiguration` indent

Moved URL of the release notes for 22.11 to the same line so that
./format doesn't add extra whitespace

---------

Co-authored-by: zaporter <opensource@zackporter.com>
2023-02-01 11:25:13 +01:00
David Houston
1d94de5604 pass-secret-service: various improvements
Allow setting the application package and storePath used by the
config. Since the `programs.password-store` Home Manager module sets
config values via global environment variables, the default behavior
of the module should continue to behave as before for the user.

Additionally,

- Adds a few tests.

- Use "escapeShellArg" function call to the path parameter call to
  ensure paths with spaces work.

- Allow not setting storePath, which will cause `pass_secret_service`
  to default to using `~/.password-store`.

- If `pass-secret-service` is enabled, set its store path to default
  to the one defined in our password-store environment settings.

- Add myself (houstdav000) as maintainer.
2023-01-31 23:19:09 +01:00
Mario Rodas
1c6f3054ca rbenv: add module 2023-01-31 23:09:53 +01:00
Sefa Eyeoglu
69696fe539 wlogout: add module (#3629) 2023-01-31 17:06:18 +01:00
Mario Rodas
08a778d803 papis: add module 2023-01-28 18:51:48 +01:00
Lin Jian
bb4b25b302 bash: format using nixfmt
PR #3609
2023-01-26 23:18:39 +01:00
dependabot[bot]
8f39c67c4c ci: bump DeterminateSystems/update-flake-lock from 15 to 16
Bumps [DeterminateSystems/update-flake-lock](https://github.com/DeterminateSystems/update-flake-lock) from 15 to 16.
- [Release notes](https://github.com/DeterminateSystems/update-flake-lock/releases)
- [Commits](https://github.com/DeterminateSystems/update-flake-lock/compare/v15...v16)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-26 21:58:41 +00:00
Lars Mühmel
7efca2ca18 files: allow disabling creation of a file
PR #3622
2023-01-26 22:31:16 +01:00
Mario Rodas
c59f0eac51 treewide: fix typos (#3618) 2023-01-24 11:30:04 +01:00
Robert Helgesson
12d43fd40a docs: bump nmd
Fixes #3612
2023-01-23 23:07:09 +01:00
home-manager-bot
ab25abf9e5 flake.lock: Update (#3549)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-01-23 13:41:59 +01:00
Robert Helgesson
275ab72891 docs: bump nmd
Fixes #3605
2023-01-20 22:36:43 +01:00
Dixon Sean Low Yan Feng
7026e1a934 gpg-agent: fix SSH support for fish 2023-01-18 23:49:05 +01:00
Kira Bruneau
866a4ddcb3 firefox: refactor search.json.mozlz4 generation
The new setup should be easier to read.
2023-01-18 23:25:04 +01:00
Robert Helgesson
2c29ae48f9 docs: bump nmd 2023-01-18 12:26:16 +01:00
Robert Helgesson
6c5b08a0c1 docs: fetch nmd from sourcehut 2023-01-18 12:26:15 +01:00
Naïm Favier
bd3efacb82 docs: mention how to override the home-manager flake input (#3556) 2023-01-17 10:35:01 +01:00
Bikal Lem
3e42035fc0 opam: fix enableFishIntegration (#3597)
Fish shell doesn't require arguments to `eval` to be double quoted
like in a bash shell. At the moment doing so gives us the following
error:

~/.config/fish/config.fish (line 12): $(...) is not supported. In fish, please use '(/nix/store/8asq…)'.
eval "$(/nix/store/8asqgnhs89wzyjvs8p1n5hvxn7lkn9wa-opam-2.1.3/bin/opam env --shell=fish)"
      ^
from sourcing file ~/.config/fish/config.fish
	called during startup
source: Error while reading file “/home/user/.config/fish/config.fish”

This commit fixes the above error.
2023-01-15 13:48:02 -07:00
arcnmx
d633afe0d9 i3-sway: config.focus.wrapping deprecates forceWrapping (#3467)
Stop using the legacy syntax described in the i3 documentation:
https://i3wm.org/docs/userguide.html#_focus_wrapping
2023-01-15 19:20:13 +01:00
Robert Helgesson
2827b53064 docs: bump nmd
- Fix paragraphs in option field texts containing Markdown.

- Fix generation of documentation for options with Markdown in
  multiple fields.

- Support AsciiDoc in module option documentation.
2023-01-15 00:11:26 +01:00
Zhaofeng Li
176e455371 home-manager: Add home-manager search path to EXTRA_NIX_PATH (#3241) 2023-01-10 10:35:00 +01:00
stephaneyfx
950aace44e i3: Do not set i3 package (#3585)
Resolves https://github.com/nix-community/home-manager/issues/3584
2023-01-10 09:57:38 +01:00
Kornelijus Tvarijanavičius
b0a3689878 Translate using Weblate (Lithuanian)
Currently translated at 84.3% (27 of 32 strings)

Co-authored-by: Kornelijus Tvarijanavičius <kornelijus@tvaria.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/lt/
Translation: Home Manager/Home Manager CLI
2023-01-10 00:18:26 +01:00
Weblate
efb7b11974 Add translation using Weblate (Lithuanian)
Co-authored-by: Weblate <noreply@weblate.org>
2023-01-10 00:18:25 +01:00
Kornelijus Tvarijanavičius
6816934f41 Add translation using Weblate (Lithuanian)
Co-authored-by: Kornelijus Tvarijanavičius <kornelitvari@protonmail.com>
2023-01-10 00:18:24 +01:00
Eric Ho
19dccb46f4 Translate using Weblate (Chinese (Traditional))
Currently translated at 92.8% (13 of 14 strings)

Co-authored-by: Eric Ho <eric913@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/zh_Hant/
Translation: Home Manager/Home Manager Modules
2023-01-10 00:18:23 +01:00
Petter K
5344183861 Translate using Weblate (Norwegian Bokmål)
Currently translated at 87.5% (28 of 32 strings)

Co-authored-by: Petter K <petterkarlsrud@me.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/nb_NO/
Translation: Home Manager/Home Manager CLI
2023-01-10 00:18:23 +01:00
Robert Helgesson
f1b1594e7b docs: bump nmd
Fixes #3579
2023-01-09 23:06:21 +01:00
Naïm Favier
69806e9378 files: avoid surprises when linking files (#3018) 2023-01-09 13:00:21 +01:00
Yurii Matsiuk
4f0c1afba7 firefox: remove https-everywhere from example
See b70c44e857
2023-01-09 12:30:26 +01:00
Gaétan Lepage
684bdb386c i3: remove i3/i3-gaps distinction (#3563) 2023-01-08 22:05:36 +01:00
Robert Helgesson
9e565f0d9d docs: bump nmd
Fixes #3573
2023-01-07 12:08:34 +01:00
Olmo Kramer
2cff1c7642 ncmpcpp: Allow str type values for mpdMusicDir option (#3565)
The default value of `programs.ncmpcpp.mpdMusicDir` is taken from
`services.mpd.musicDirectory` if the mpd module is enabled, which has
type `either path str`. `programs.ncmpcpp.mpdMusicDir` did not accept
`str` values, though, so an error was raised when the default value was
used and `services.mpd.musicDirectory` was set to a value of type `str`.

This commit changes the type of `programs.ncmpcpp.mpdMusicDir` to also
accept `str` to reflect the type of `services.mpd.musicDirectory`.

Fixes #3560
2023-01-07 11:59:51 +01:00
Robert Helgesson
709a87fe33 docs: bump nmd
- Introduces support for Markdown documentation in modules.
2023-01-06 23:51:39 +01:00
Anton
1786883425 easyeffects: add package option (#3568) 2023-01-05 21:49:20 -07:00
Robert Helgesson
3ecd5305a4 docs: bump nmd
- Simplifies DocBook build by generation version DocBook 5 files
  directly.

- Make DocBook generate consistent anchor IDs.
2023-01-05 22:40:52 +01:00
polykernel
54245e1820 home.pointerCursor: use mkDefault to set XCURSOR_PATH (#3553)
fixes https://github.com/nix-community/home-manager/issues/3551
2023-01-03 22:21:40 +01:00
corbinallison
498c46ea5d fluxbox: fix a typo, windowMenu -> windowmenu (#3544) 2023-01-03 13:09:52 -07:00
Martin Weinelt
d01e7280ad i3-sway: Use foot as default terminal on sway (#3490) 2023-01-03 19:26:08 +01:00
Wiseh
c1a830c8fa feh: Add package option (#3552)
Co-authored-by: Naïm Favier <n@monade.li>
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2023-01-02 20:36:23 +01:00
Naïm Favier
dd99675ee8 vim,neovim: add defaultEditor (#3496)
Also rename `vim_configurable` to `vim-full` per https://github.com/NixOS/nixpkgs/pull/204438
2022-12-29 22:36:05 +01:00
Naïm Favier
c8f6322303 home-environment: use lazyAttrsOf for home.sessionVariables (#3541)
* home-environment: use `lazyAttrsOf` for `home.sessionVariables`

`attrs` has unreasonable merge semantics and is deprecated. `attrsOf`
doesn't support variables depending on each other as is recommended in
the option's description.

* home-environment: restrict `sessionVariables` type

The consumer is `toString`, but we don't want to accept e.g. lists.
2022-12-29 22:33:15 +01:00
leifhelm
079a33a015 i3: Fix escaping in documentation
In nix `${` is escaped like this `''${` and not like this `\${`
2022-12-29 17:41:04 +01:00
Stanislav Asunkin
cbacdaba3c man: update database cache generation
Specifically, use the configured man-db package for generating the
database cache.
2022-12-29 13:52:46 +01:00
Loric Brevet
f97f191fe7 kakoune: update hooks (#3418)
Some hooks were removed in Kakoune, and some were added. This PR updates the list so they are aligned with the latest version of Kakoune.
Removed

mawww/kakoune@e4fb70e

    NormalBegin
    NormalEnd
    InsertBegin
    InsertEnd

mawww/kakoune@78419bc

    InsertCompletionSelect

Added

mawww/kakoune@c8839e7

    ClientCreate
    ClientClose

mawww/kakoune@47ba36c

    RegisterModified

mawww/kakoune@f2cc7bc

    User
2022-12-29 13:42:24 +01:00
Ramses
a993eac106 neovim: fix extraLuaPackages type. (#3533)
Assigning to `programs.neovim.extraLuaPackages` a function taking a lua package set as input
and returning a list of packages, as described in the documentation,
threw an error because the rest of the code assumed that the value was always a plain list.
Using `lib.types.coercedTo`, we can accept such functions, as per the documentation,
as well as plain lists, which we then convert to a function ignoring its input argument.
We print a warning when a plain list is assigned, since the function
form is preferred, as it ensures that the right lua package set is used.

For the lua packages, we also get the lua package set from the
finalPackage, to make sure that we are always using the same package set
as the actual unwrapped neovim package being built.

For `programs.neovim.extraPythonPackages` I did the same.

I updated the test case so that we test both ways of setting these options.
2022-12-29 01:48:45 +01:00
Robert Helgesson
fa1bc088ea gitui: update default theme to match upstream
Fixes #3506
2022-12-28 23:20:37 +01:00
Jarosław Wygoda
fb49fbc368 clipman: add module 2022-12-28 23:02:08 +01:00
Robert Helgesson
8745cc9a21 parcellite: add basic test case 2022-12-28 22:16:47 +01:00
Even Brenden
d38dbec809 parcellite: add extraOptions option
Even though `--no-icon` is currently the only viable option for both
parcellite and clipit, other options may be added to later releases.
2022-12-28 22:16:39 +01:00
mat ess
e70550577f fish: set tmp $HOME to silence errors 2022-12-28 21:27:34 +01:00
Mika Naylor
3ad22341a2 direnv: enable nushell integration
This enables nushell integration by default for direnv, similar to
bash/zsh/fish. The slightly verbose way of setting this is to ensure
that peoples' existing nushell configuration isn't overwritten, only
appended to, as would be the case if we just used the integration
example from the nushell docs:

  https://www.nushell.sh/cookbook/direnv.html

Closes #3520
2022-12-28 21:09:31 +01:00
github-actions[bot]
5a570962a9 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/757b82211463dd5ba1475b6851d3731dfe14d377' (2022-12-16)
  → 'github:nixos/nixpkgs/fad51abd42ca17a60fc1d4cb9382e2d79ae31836' (2022-12-25)
2022-12-28 20:52:03 +01:00
Robert Helgesson
d7a3c26854 broot: simplify test slightly 2022-12-28 20:49:19 +01:00
Robert Helgesson
18b56e3f7d broot: update test to match upstream changes
Fixes #3527
2022-12-28 20:36:15 +01:00
Marcel Transier
a62e4c88d7 starship: re-add ion integration
which was apparently mistakenly removed in commit 7ae7250
2022-12-28 18:16:31 +01:00
Aidan Gauland
646ac0ad17 starship: fix nushell integration
Overwrite starship/init.nu if already exists, since this is a cache
file for sourcing in `init.nu`.
2022-12-28 17:37:42 +01:00
Anders Kaseorg
c55fa26ce0 home-manager: pass -L/--print-build-logs to nix build
When building from a flake, `nix build` hides the build output by
default, with a `-L`/`--print-build-logs` option to show it. Pass this
option along from `home-manager` if the user provides it.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2022-12-25 12:09:29 +01:00
Robert Helgesson
939731b8cb cachix-agent: add module 2022-12-25 09:54:43 +01:00
Robert Helgesson
d7eee202e5 home-environment: explicitly use coreutils
Before we used dirname and readlink from the ambient environment,
which caused problems when they don't behave as expected.

Fixes #3516
2022-12-23 22:40:33 +01:00
Robert Helgesson
eb9ff9556d bash: escape historyIgnore value
Since this option is very unlikely to contain a shell variable we
should be safe doing a full shell escaping.

Fixes #3249
2022-12-23 10:02:39 +01:00
Robert Helgesson
0f8bf4f92e herbstluftwm: merge improvements 2022-12-21 00:20:28 +01:00
David Armstrong Lewis
b44f56dfcd nushell: support darwin config file locations
Previously the nushell module did not differentiate between Linux and
Darwin when deciding where to place config files, whereas nushell
does. This commit fixes that.
2022-12-20 23:57:11 +01:00
Olmo Kramer
47bb9e7569 herbstluftwm: Reset mousebinds on (re)load
Keybinds and rules were already reset, but now also the mousebinds are.
2022-12-19 22:40:24 +01:00
Olmo Kramer
1a0a5f5037 herbstluftwm: Fix error when no tags set
The default value for `xsession.windowManager.herbstluftwm.tags` is an
empty list, but the config file uses `builtins.head` on it, which causes
an error upon evaluation. With this change the tags configuration is
skipped if the list is empty.
2022-12-19 22:40:24 +01:00
Kamal Al Marhubi
e7eba9cc46 home-manager: refine flake URI lookup
Depending on DHCP settings you might end up with different output from
running `hostname`. Eg, your local hostname is `mylaptop`, and your
home router is configured with a local domain of `.hoome.arpa`. In
this case:

    $ hostname
    mylaptop.home.arpa
    $ hostname -s
    mylaptop

If you then go to cafe which has its router configured with `.lan` as
its local domain. Then, if your DHCP settings accept the local domain
from the router,

    $ hostname
    myalaptop.lan
    $ hostname -s
    mylaptop

With the pre-existing behaviour, if you had a
`"me@mylaptop.home.arpa"` entry in `outputs.homeConfigurations`,
running `home-manager switch` would fail:

    $ home-manager switch
    error: flake 'git+file:///home/me/.config/nixpkgs' does not provide
    attribute 'packages.aarch64-darwin.homeConfigurations."me".activationPackage',
    'legacyPackages.aarch64-darwin.homeConfigurations."me".activationPackage'
    or 'homeConfigurations."me".activationPackage'

After this commit, you can put configuration in a `"me@mylaptop"`
entry in `outputs.homeConfigurations`, and everything will work on
either network.
2022-12-19 15:12:44 +01:00
github-actions[bot]
37713c6b04 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/b72b8b94cf0c012b0252a9100a636cad69696666' (2022-12-02)
  → 'github:nixos/nixpkgs/757b82211463dd5ba1475b6851d3731dfe14d377' (2022-12-16)
2022-12-18 03:59:28 +00:00
Marijan Petričević
7d55a72d4c lazygit: add package option (#3456) 2022-12-16 09:55:29 -07:00
Matthew Toohey
b7eb400d41 pistol: refactor
This pull requests refactors the pistol configuration options, since
the current options are deficient in a few ways.

Closes #3486
2022-12-16 17:05:30 +01:00
Walter Franzini
d744c2bb9b Translate using Weblate (Italian)
Currently translated at 92.8% (13 of 14 strings)

Co-authored-by: Walter Franzini <walter.franzini@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/it/
Translation: Home Manager/Home Manager Modules
2022-12-16 16:37:31 +01:00
1sixth
3f0d04aeca treewide: replace replaceChars with replaceStrings
replaceChars is a deprecated alias, see
05a2dfd674
for details.
2022-12-16 16:34:59 +01:00
Norbert Melzer
b3565b3447 java: remove IFD
The previous variant used IFD to generate the `JAVA_HOME` variable and relied on internal hooks of the `java` package, this failed for a user cross compiling their configuration.

This PR changes that and uses the `home` attribute, as documented in the very last sentence of the https://nixos.org/manual/nixpkgs/stable/#sec-language-java chapter.
2022-12-16 16:13:08 +01:00
Gaetan Lepage
0e9e86b179 megasync: add module 2022-12-16 16:01:49 +01:00
Matt Bryant
e412025fff borgmatic: allow lists in extraConfig
In particular, we should be able to specify `exclude_backups` in our
configuration.

Fixes #3489
2022-12-13 23:34:49 +01:00
Robert Helgesson
263f6e4523 i3status-rust: fix tests
Nix 2.12.0 slightly changed the JSON output format. This updates the
i3status-rust test cases to match.
2022-12-13 22:10:22 +01:00
Gaetan Lepage
054d9e3187 gpg: update hash in test 2022-12-08 16:36:10 +01:00
Robert Helgesson
2af0d07678 home-manager: use hostname from Nixpkgs
Before the home-manager tool got hostname from the system, which was
not declarative or reproducible.
2022-12-05 23:45:07 +01:00
mat ess
7e81e7ae2b fish: always run fish_indent 2022-12-05 23:16:39 +01:00
dependabot[bot]
747e36476f ci: bump DeterminateSystems/update-flake-lock from 14 to 15
Bumps [DeterminateSystems/update-flake-lock](https://github.com/DeterminateSystems/update-flake-lock) from 14 to 15.
- [Release notes](https://github.com/DeterminateSystems/update-flake-lock/releases)
- [Commits](https://github.com/DeterminateSystems/update-flake-lock/compare/v14...v15)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 13:04:10 +00:00
Robert Helgesson
8faa86f134 ci: bump 22.05 to 22.11 in dependabot setup 2022-12-05 13:42:53 +01:00
Mario Rodas
b5c083300b treewide: fix typos 2022-12-05 12:58:02 +01:00
Robert Helgesson
c3060ab937 emacs: add note about inhibit-startup-message 2022-12-05 12:56:17 +01:00
Mario Rodas
6ce326cef9 treewide: use liberachat and OFTC in examples
Freenode was taken over by a wannabe bitcoin millionaire [1], which
prompted the migration of communities to Libera Chat and OFTC [2].

[1] https://blog.bofh.it/debian/id_461
[2] https://hackaday.com/2021/05/20/freenode-debacle-prompts-staff-exodus-new-network/
2022-12-05 10:38:54 +01:00
Mario Rodas
e3e2abaef5 yt-dlp: fix settings example
The yt-dlp settings should be an attribute set.
2022-12-03 04:20:00 +00:00
James Chen-Smith
90b0e5f440 flake: correct nix-darwin flake description
Corrects copy/paste mistake in the nix-darwin flake description.
2022-12-04 15:26:36 +01:00
anna
e56714a057 types: allow non-integer font sizes 2022-12-04 14:29:34 +01:00
David
2b02f8c7cb thunderbird: use account id for IMAP directory name
This allows users to have multiple accounts on the same domain within
the same profile.

Fixes #3448.
2022-12-04 13:49:29 +01:00
github-actions[bot]
17bbfcb824 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/a115bb9bd56831941be3776c8a94005867f316a7' (2022-11-27)
  → 'github:nixos/nixpkgs/b72b8b94cf0c012b0252a9100a636cad69696666' (2022-12-02)
2022-12-04 13:35:15 +01:00
Robert Helgesson
7bfe3cd9b0 firefox: fix expected bookmarks in test 2022-12-04 13:29:25 +01:00
Robert Helgesson
848ae0d6bb neovim: avoid aliased package 2022-12-04 13:13:19 +01:00
Loïc Reynier
15d94f3058 pet: don't create file without snippets 2022-12-04 12:28:03 +01:00
Robert Helgesson
65700a4fd1 polybar: fix restart trigger
The old trigger would actually never cause a restart since the path
doesn't change. With this change the trigger is now using the actual
configuration path in the Nix store, which depends on the content.
2022-12-04 12:12:32 +01:00
toastal
9fb1bb9794 himalaya: 0.6.x config updates
Some properties were renamed. Big changes however include `backend` and
`sender` enum options.
2022-12-04 09:34:47 +01:00
toastal
05d71f517b email: add signature delimiter
While this is created to match `himalaya`’s configuration API, this
could easly be reused for other programs that consume the email module
by concatination the strings.
2022-12-04 09:34:22 +01:00
toastal
9e266ca2a7 maintainers: add toastal
I wish there there were a contribution option outside of the proprietary
closed-source, Microsoft GitHub platform :(
2022-12-04 09:29:21 +01:00
mat ess
ca48fced83 fish: format user and generated .fish files
Adds a `fishIndent` wrapper to pass fish scripts to the built in
`fish_indent` function.
2022-12-04 09:07:54 +01:00
Kylie McClain
518dca61c0 mpd-discord-rpc: fix typo 2022-12-04 00:29:50 +01:00
maximsmol
eb3598cf44 just: deprecate module
The module is no longer necessary since completions work out of the
box now.
2022-12-03 10:13:47 +01:00
Robert Helgesson
71fa4cdf9c home-manager: update stable version to 22.11 2022-12-02 11:49:58 +01:00
Andrew Marshall
478610aa37 neovim: Source neovimRcContent directly from store (#3444)
The previous version linked the file into home, then sourced that. Since
nothing else expects that file to be there, this is unnecessary.
Additionally, doing so made it impossible to test a built config without
switching, e.g. using `XDG_CONFIG_HOME=… nvim` or `nvim -u`. This
remedies that, at least for this particular reference.

To test this, change from asserting contents of the config file to
actually starting nvim, outputting sentinel values, and then asserting
their values are present. This way it’s tested that nvim loaded the
config, rather than that some config is in a specific place.

This is all in one commit as the test, as written now, would not have
worked before since the previously hard-coded home path was not an
actual file in the test environment.
2022-11-30 17:19:31 +01:00
Mario Rodas
e38ce0ae16 direnv: fix direnv configuration path
Direnv >=2.21.0 uses [1] $XDG_CONFIG_HOME/direnv/config.toml as
configuration path.

[1] 54cb3c5a91
2022-11-30 11:45:39 +01:00
github-actions[bot]
724395e653 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/20fc948445a6c22d4e8d5178e9a6bc6e1f5417c8' (2022-11-21)
  → 'github:nixos/nixpkgs/a115bb9bd56831941be3776c8a94005867f316a7' (2022-11-27)
2022-11-30 03:59:14 +00:00
Matthieu Coudron
3b0a446bbf ci: autolabel more programs to 'mail'
More specifically Thunderbird and Himalaya.
2022-11-29 17:49:44 +01:00
li
63cef13e49 pueue: fix for empty settings
PR #3230
2022-11-29 17:39:24 +01:00
Robert Helgesson
cd2a826f33 ssh: make news item conditional 2022-11-29 13:25:48 +01:00
Nick Cao
02c0546033 dbus: fix dbus-run-session command
Specifically, inform the command about the absolute path of
dbus-daemon. Otherwise it will try running dbus-daemon from PATH,
which may not always work.

PR #3405
2022-11-29 13:23:42 +01:00
Nicholas Sielicki
50c9bccb6a bat: add extraPackages option
The bat program has a few additional packages in Nixpkgs, allow for
these to be specified via Home Manager.
2022-11-27 19:19:21 +01:00
Peter Kling
fa671f1795 programs.zsh: set ZPLUG_HOME before loading zplug (#2987)
ZPLUG_HOME must be set before loading zplug, since otherwise it is ignored.
2022-11-27 18:50:46 +01:00
Leix b
f7fed4dd3d picom: add egl backend to options (#3441)
Mirrors: 2beff9375c
2022-11-27 18:48:48 +01:00
Jakub Fišer
1bdbebc3f8 ssh: add generic Match support for matchBlocks (#2992)
* ssh: add generic Match support for matchBlocks

Introduce conservative support for actual `Match`
blocks in ssh config.

"Conservative" means this PR doesn'tt try to process
the `match` expression and simply uses it as a string
provided by the user.

If set, `match` has precedence over `host` meaning
if both are set, `match` is used and `host` is ignored.

* Add news entry
2022-11-27 16:15:32 +01:00
Philipp Mildenberger
7ae7250df8 starship: add nushell integration support 2022-11-27 09:13:20 +01:00
Philipp Mildenberger
4a12f304e0 nushell: add options 'extraConfig' and 'extraEnv' 2022-11-27 09:09:09 +01:00
Loric Brevet
e999dfe7cb kakoune: allow custom package (#3434) 2022-11-27 01:49:15 +01:00
Andrew Marshall
cc58d31953 flake: Expose tests to allow running purely (#3412)
* flake: Expose tests to allow running purely

The existing way to run tests with `nix-shell` relies on impure usage of
`<nixpkgs>`. This can lead to failures when the local nixpkgs is
incompatible with the locked one. I.e., where CI is passing but a
contributor may experience a failure.

So, expose tests as `devShells.tests` to use the locked nixpkgs and
allow easy invocation via `nix develop`.

* tests: Remove impure path

With Nix 2.10+ and pure evaluation mode e.g.

```
nix run nixpkgs/nixos-unstable#nixVersions.nix_2_10 -- develop -i .#tests.zplug-modules
```

this test would fail with:

> error: the path '~/.customZplugHome' can not be resolved in pure mode

Since the test only cares that it is a path, rather than anything about
its contents, use a dummy empty directory.
2022-11-27 01:37:24 +01:00
home-manager-bot
5c98a8d860 flake.lock: Update (#3403)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/3bacde6273b09a21a8ccfba15586fb165078fb62' (2022-11-05)
  → 'github:nixos/nixpkgs/20fc948445a6c22d4e8d5178e9a6bc6e1f5417c8' (2022-11-21)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-11-27 01:24:34 +01:00
h7x4
64f7a77517 polybar: don't generate config if no options are set (#3383)
* polybar: don't generate config if no options are set

* polybar: add h7x4 as maintainer
2022-11-27 01:17:28 +01:00
Nicholas Sielicki
bf99255fc9 kitty: silently drop darwin-specific options (#3394)
Rather than reject a configuration when this option is set, just
silently ignore it when the platform isn't darwin. The name makes it
obvious that it won't be applied outside of darwin, and this allows
people to use the same configuration between hosts without any special concern.

Co-authored-by: Nicholas Sielicki <git@opensource.nslick.com>
2022-11-27 01:16:33 +01:00
Robert Helgesson
62cb5bcf93 Switch master branch version to 23.05 2022-11-24 23:13:38 +01:00
2698 changed files with 114452 additions and 36790 deletions

35
.builds/manual.yml Normal file
View File

@@ -0,0 +1,35 @@
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
- nixos.jq
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="$(jq -r .release < release.json)"
fi
rsync --delete -r --info=stats \
"result/share/doc/home-manager/" \
"hm-web:/srv/www/home-manager.dev/manual/$dirName"

24
.editorconfig Normal file
View File

@@ -0,0 +1,24 @@
# http://editorconfig.org
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
# The JSON files contain newlines inconsistently
[*.json]
insert_final_newline = ignore
# Makefiles always use tabs for indentation
[Makefile]
indent_style = tab
[*.md]
trim_trailing_whitespace = false
[*.plist]
insert_final_newline = false

42
.git-blame-ignore-revs Normal file
View File

@@ -0,0 +1,42 @@
# This file contains a list of commits that are not likely what you
# are looking for in a blame, such as mass reformatting or renaming.
#
# $ git config blame.ignoreRevsFile .git-blame-ignore-revs
# Treewide nixfmt-rfc-style
cba2f9ce95c8d10b66cacf05a275e3ad71959638
# Treewide remove with lib
0b491b460f52e87e23eb17bbf59c6ae64b7664c1
95711f926676018d279ba09fe7530d03b5d5b3e2
5e193cdcab61b5e7096ef3c132fdc0149e14f2d9
55cf1f16324e694c991e846ad5fc897f0f75ac64
a710f337d6f541f5ba50bc2d5daa6c34e9ee5834
10dca990ae02aaf41ff12c5b18dd3dcf258c0d04
d7f451d7b13bbe075abecfd345f8b149a000216a
65413f297f8c4c42a99270c15bce7bda1bfea724
b5976017741653251258112f7e6ee5d8b9e3a832
e0be70bcf94be20f8f0f6d215d909b614ab6ebeb
e30c6a41bc8548738341d10c0b17f8fead8e55ee
b5142d46a3f912ef99e9cec3e51d757fbeaf14ea
56374cc64d58451b359bb4e8502387d3a96e7c7b
32531e457215000b739da6cd40acfb080823f396
34d524f3edcf3a04c00ad2c09c24ec9d35d937f9
439a125afef8c97308ec0c6db75d38e15d92208d
5031c6d2978109336637977c165f82aa49fa16a7
b34b56689dcc75294e14e8c95db4e054a4e9573f
234613d77c939ff2e2c0f2c476a56d80930e5b8b
e3baf274f47678df6289c7482353cb6d38b7be5d
c90cd85b04ff3348978b05ba73ffc8e1b74b9fce
2d731a33b193209cb88b874e508ea912765f7d99
20fd9686b85dc64657a176466e23d0f3a5e1f760
96dee79b178d295b716052feca3ee46abc085abe
97d7946b5e107dd03cc82f21165251d4e0159655
0dfec9deb275854a56c97c356c40ef72e3a2e632
4b2d3b03becc184f2d1485e109c6a55f94d5f886
# Treewide remove lib.mdDoc
9f9e277b60a6e6915ad3a129e06861044b50fdf2
# Treewide replace usage of literalExample
bd11e2c5e67385970e59e55ba7a4c35d1ffaee4d

561
.github/CODEOWNERS vendored
View File

@@ -1,561 +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/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/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

@@ -3,7 +3,7 @@ name: Feature request
about: Ask for a new feature to be added (module, program, etc.)
title: ''
labels: feature request
assignees: rycee, berbiche, sumnerevans
assignees: rycee, berbiche
---

View File

@@ -5,7 +5,7 @@ labels: [bug, triage]
# We cannot use nix-community/home-manager
# See https://github.com/dear-github/dear-github/issues/170
assignees: [rycee, berbiche, sumnerevans]
assignees: [rycee, berbiche]
body:
- type: checkboxes

View File

@@ -15,15 +15,17 @@ pull-request.
Also make sure to read the guidelines found at
https://github.com/nix-community/home-manager/blob/master/docs/contributing.adoc#sec-guidelines
https://nix-community.github.io/home-manager/#sec-guidelines
-->
- [ ] Change is backwards compatible.
- [ ] Code formatted with `./format`.
- [ ] Code formatted with `nix fmt` or
`nix-shell -p treefmt nixfmt-rfc-style deadnix keep-sorted --run treefmt`.
- [ ] Code tested through `nix-shell --pure tests -A run.all`.
- [ ] Code tested through `nix-shell --pure tests -A run.all`
or `nix build --reference-lock-file flake.lock ./tests#test-all` using Flakes.
- [ ] Test cases updated/added. See [example](https://github.com/nix-community/home-manager/commit/f3fbb50b68df20da47f9b0def5607857fcc0d021#diff-b61a6d542f9036550ba9c401c80f00ef).
@@ -35,10 +37,15 @@ Also make sure to read the guidelines found at
{long description}
```
See [CONTRIBUTING](https://github.com/nix-community/home-manager/blob/master/docs/contributing.adoc#sec-commit-style) for more information and [recent commit messages](https://github.com/nix-community/home-manager/commits/master) for examples.
See [CONTRIBUTING](https://nix-community.github.io/home-manager/#sec-commit-style) for more information and [recent commit messages](https://github.com/nix-community/home-manager/commits/master) for examples.
- If this PR adds a new module
- [ ] 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/a51598236f23c89e59ee77eb8e0614358b0e896c/modules/programs/lesspipe.nix#L11).
- [ ] 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"
directory: "/"
target-branch: "release-22.05"
target-branch: "release-24.11"
schedule:
interval: "weekly"
commit-message:

590
.github/labeler.yml vendored
View File

@@ -1,16 +1,576 @@
"audio":
- changed-files:
- any-glob-to-any-file:
- modules/services/amberol.nix
- modules/programs/beets.nix
- modules/programs/cava.nix
- modules/programs/cavalier.nix
- modules/programs/cmus.nix
- modules/programs/ncmpcpp.nix
- modules/programs/ncspot.nix
- modules/programs/spotify-player.nix
- modules/programs/timidity.nix
- modules/services/easyeffects.nix
- modules/services/fluidsynth.nix
- modules/services/librespot.nix
- modules/services/listenbrainz-mpd.nix
- modules/services/mopidy.nix
- modules/services/mpd-discord-rpc.nix
- modules/services/mpd-mpris.nix
- modules/services/mpd.nix
- modules/services/mpdris2.nix
- modules/services/mpdscribble.nix
- modules/services/mpris-proxy.nix
- modules/services/pasystray.nix
- modules/services/playerctld.nix
- modules/services/pulseeffects.nix
- modules/services/spotifyd.nix
- tests/modules/services/mpd/**/*
"automation":
- changed-files:
- any-glob-to-any-file:
- modules/services/caffeine.nix
- modules/services/darkman.nix
- modules/services/devilspie2.nix
- modules/services/espanso.nix
- modules/services/keynav.nix
- modules/services/skhd.nix
"backup":
- changed-files:
- any-glob-to-any-file:
- modules/programs/borgmatic.nix
- modules/programs/rclone.nix
- modules/programs/restic.nix
- modules/services/borgmatic.nix
- tests/modules/programs/borgmatic/**/*
- tests/modules/services/borgmatic/**/*
"bars":
- changed-files:
- any-glob-to-any-file:
- modules/programs/eww.nix
- modules/programs/sketchybar.nix
- modules/programs/waybar.nix
- modules/programs/xmobar.nix
- modules/programs/yambar.nix
- modules/services/polybar.nix
- modules/services/taffybar.nix
- tests/modules/programs/waybar/**/*
- tests/modules/services/polybar/**/*
"browsers":
- changed-files:
- any-glob-to-any-file:
- modules/misc/mozilla-messaging-hosts.nix
- modules/programs/chromium.nix
- modules/programs/firefox/**/*
- modules/programs/floorp.nix
- modules/programs/librewolf.nix
- modules/programs/qutebrowser.nix
- tests/modules/programs/chromium/**/*
- tests/modules/programs/firefox/**/*
- tests/modules/programs/qutebrowser/**/*
"calendar":
- changed-files:
- any-glob-to-any-file:
- modules/*/vdirsyncer*.nix
- modules/accounts/calendar.nix
- modules/programs/khal*.nix
- modules/programs/qcal.nix
- tests/modules/programs/khal/**/*
"clipboard":
- changed-files:
- any-glob-to-any-file:
- modules/services/clipcat.nix
- modules/services/cliphist.nix
- modules/services/clipman.nix
- modules/services/clipmenu.nix
- modules/services/clipse.nix
- modules/services/copyq.nix
- modules/services/parcellite.nix
- modules/services/pbgopy.nix
- tests/modules/services/clipman/**/*
- tests/modules/services/copyq/**/*
"cli-tools":
- changed-files:
- any-glob-to-any-file:
- modules/programs/antidote.nix
- modules/programs/atuin.nix
- modules/programs/autojump.nix
- modules/programs/bashmount.nix
- modules/programs/bat.nix
- modules/programs/bottom.nix
- modules/programs/boxxy.nix
- modules/programs/broot.nix
- modules/programs/btop.nix
- modules/programs/carapace.nix
- modules/programs/dircolors.nix
- modules/programs/direnv.nix
- modules/programs/eza.nix
- modules/programs/fastfetch.nix
- modules/programs/fd.nix
- modules/programs/fzf.nix
- modules/programs/hstr.nix
- modules/programs/htop.nix
- modules/programs/hwatch.nix
- modules/programs/hyfetch.nix
- modules/programs/jq*.nix
- modules/programs/just.nix
- modules/programs/keychain.nix
- modules/programs/less.nix
- modules/programs/lesspipe.nix
- modules/programs/lsd.nix
- modules/programs/man.nix
- modules/programs/mcfly.nix
- modules/programs/navi.nix
- modules/programs/nix-your-shell.nix
- modules/programs/pay-respects.nix
- modules/programs/pazi.nix
- modules/programs/pet.nix
- modules/programs/pistol.nix
- modules/programs/pls.nix
- modules/programs/readline.nix
- modules/programs/ripgrep*.nix
- modules/programs/scmpuff.nix
- modules/programs/script-directory.nix
- modules/programs/sesh.nix
- modules/programs/skim.nix
- modules/programs/superfile.nix
- modules/programs/tealdeer.nix
- modules/programs/television.nix
- modules/programs/thefuck.nix
- modules/programs/tmate.nix
- modules/programs/tmux.nix
- modules/programs/topgrade.nix
- modules/programs/translate-shell.nix
- modules/programs/uv.nix
- modules/programs/watson.nix
- modules/programs/z-lua.nix
- modules/programs/zellij.nix
- modules/programs/zk.nix
- modules/programs/zoxide.nix
- modules/programs/zplug.nix
- tests/modules/programs/fzf/**/*
- tests/modules/programs/tmux/**/*
"contacts":
- changed-files:
- any-glob-to-any-file:
- modules/accounts/contacts.nix
- modules/programs/abook.nix
- modules/programs/khard.nix
- tests/modules/programs/abook/**/*
- tests/modules/programs/khard/**/*
"containers":
- changed-files:
- any-glob-to-any-file:
- modules/services/podman-linux/**/*
- modules/programs/distrobox.nix
"desktop-ui":
- changed-files:
- any-glob-to-any-file:
- modules/services/avizo.nix
- modules/services/blanket.nix
- modules/services/flameshot.nix
- modules/programs/gnome-shell.nix
- modules/services/gromit-mpx.nix
- modules/services/linux-wallpaperengine.nix
- modules/services/random-background.nix
- modules/services/volnoti.nix
- modules/services/wob.nix
- modules/services/wpaperd.nix
"desktop-utilities":
- changed-files:
- any-glob-to-any-file:
- modules/services/autorandr.nix
- modules/services/blueman-applet.nix
- modules/services/gnome-keyring.nix
- modules/services/lxqt-policykit-agent.nix
- modules/services/network-manager-applet.nix
- modules/services/polkit-gnome.nix
- modules/services/sctd.nix
- modules/services/snixembed.nix
- modules/services/status-notifier-watcher.nix
- modules/services/systembus-notify.nix
- modules/services/trayscale.nix
- modules/services/udiskie.nix
- modules/services/unclutter.nix
- modules/services/xembed-sni-proxy.nix
"dev-tools":
- changed-files:
- any-glob-to-any-file:
- modules/programs/bacon.nix
- modules/programs/bun.nix
- modules/programs/darcs.nix
- modules/programs/earthly.nix
- modules/programs/eclipse.nix
- modules/programs/go.nix
- modules/programs/gradle.nix
- modules/programs/granted.nix
- modules/programs/java.nix
- modules/programs/jetbrains-remote.nix
- modules/programs/kubecolor.nix
- modules/programs/lazydocker.nix
- modules/programs/matplotlib.nix
- modules/programs/mercurial.nix
- modules/programs/mergiraf.nix
- modules/programs/mise.nix
- modules/programs/mods.nix
- modules/programs/mr.nix
- modules/programs/nh.nix
- modules/programs/nix-index.nix
- modules/programs/nix-init.nix
- modules/programs/numbat.nix
- modules/programs/octant.nix
- modules/programs/opam.nix
- modules/programs/openstackclient.nix
- modules/programs/pgcli.nix
- modules/programs/piston-cli.nix
- modules/programs/poetry.nix
- modules/programs/pyenv.nix
- modules/programs/pylint.nix
- modules/programs/python*.nix
- modules/programs/pywal.nix
- modules/programs/rbenv.nix
- modules/programs/ruff.nix
- modules/programs/sagemath.nix
- modules/programs/sbt.nix
- modules/programs/sftpman.nix
- modules/programs/smug.nix
- modules/programs/sqls.nix
- modules/programs/tex-fmt.nix
- modules/programs/texlive.nix
- modules/programs/vim-vint.nix
- modules/programs/visidata.nix
- modules/services/lorri.nix
- tests/modules/programs/go/**/*
- tests/modules/programs/java/**/*
"editors":
- changed-files:
- any-glob-to-any-file:
- modules/programs/emacs.nix
- modules/programs/helix.nix
- modules/programs/kakoune.nix
- modules/programs/lapce.nix
- modules/programs/micro.nix
- modules/programs/ne.nix
- modules/programs/neovide.nix
- modules/programs/neovim.nix
- modules/programs/vim*.nix
- modules/programs/vscode.nix
- modules/programs/zed-editor.nix
- modules/services/emacs.nix
- tests/modules/programs/emacs/**/*
- tests/modules/programs/helix/**/*
- tests/modules/programs/neovim/**/*
- tests/modules/programs/vim/**/*
"file-manager":
- changed-files:
- any-glob-to-any-file:
- modules/programs/joshuto.nix
- modules/programs/lf.nix
- modules/programs/nnn.nix
- modules/programs/ranger.nix
- modules/programs/vifm.nix
- modules/programs/xplr.nix
- modules/programs/yazi.nix
- tests/modules/programs/lf/**/*
- tests/modules/programs/nnn/**/*
- tests/modules/programs/ranger/**/*
- tests/modules/programs/yazi/**/*
"gaming":
- changed-files:
- any-glob-to-any-file:
- modules/programs/kodi.nix
- modules/services/ludusavi.nix
- modules/programs/lutris.nix
- modules/programs/mangohud.nix
- modules/programs/sm64ex.nix
"git":
- changed-files:
- any-glob-to-any-file:
- modules/programs/gh*.nix
- modules/programs/git*.nix
- modules/programs/jujutsu.nix
- modules/programs/lazygit.nix
- modules/programs/sapling.nix
- modules/services/git-sync.nix
- tests/modules/programs/git/**/*
"mail":
- modules/programs/alot*.nix
- tests/modules/programs/alot/*
- modules/programs/mujmap.nix
- tests/modules/programs/mujmap/*
- modules/programs/notmuch.nix
- modules/programs/neomutt*
- tests/modules/programs/neomutt/*
- modules/programs/getmail*
- modules/*/mbsync*
- tests/modules/programs/mbsync/*
"neovim":
- modules/programs/neovim.nix
- tests/modules/programs/neovim/**/*
- changed-files:
- any-glob-to-any-file:
- modules/*/mbsync*
- modules/programs/aerc*.nix
- modules/programs/alot*.nix
- modules/programs/getmail*
- modules/programs/himalaya.nix
- modules/programs/lieer.nix
- modules/programs/meli.nix
- modules/programs/msmtp*
- modules/programs/mu.nix
- modules/programs/mujmap.nix
- modules/programs/neomutt*
- modules/programs/notmuch*.nix
- modules/programs/offlineimap*.nix
- modules/programs/thunderbird.nix
- modules/services/imapnotify*.nix
- modules/services/lieer.nix
- modules/services/muchsync.nix
- tests/modules/programs/aerc/*
- tests/modules/programs/alot/*
- tests/modules/programs/himalaya/*
- tests/modules/programs/mbsync/*
- tests/modules/programs/mujmap/*
- tests/modules/programs/neomutt/*
- tests/modules/programs/thunderbird/*
"messaging":
- changed-files:
- any-glob-to-any-file:
- modules/programs/chawan.nix
- modules/programs/discocss.nix
- modules/programs/element-desktop.nix
- modules/programs/halloy.nix
- modules/programs/havoc.nix
- modules/programs/hexchat.nix
- modules/programs/iamb.nix
- modules/programs/irssi.nix
- modules/programs/nheko.nix
- modules/programs/pidgin.nix
- modules/programs/senpai.nix
- modules/programs/tiny.nix
- modules/programs/vesktop.nix
- modules/services/pantalaimon.nix
- tests/modules/programs/irssi/**/*
- tests/modules/programs/nheko/**/*
"monitoring":
- changed-files:
- any-glob-to-any-file:
- modules/services/activitywatch.nix
- modules/services/batsignal.nix
- modules/services/cbatticon.nix
- modules/services/conky.nix
- modules/services/glance.nix
- modules/services/poweralertd.nix
"notification":
- changed-files:
- any-glob-to-any-file:
- modules/programs/noti.nix
- modules/services/dunst.nix
- modules/services/fnott.nix
- modules/services/mako.nix
- modules/services/notify-osd.nix
- modules/services/swaync.nix
- modules/services/twmn.nix
- tests/modules/services/dunst/**/*
- tests/modules/services/mako/**/*
"productivity":
- changed-files:
- any-glob-to-any-file:
- modules/programs/comodoro.nix
- modules/programs/info.nix
- modules/programs/joplin-desktop.nix
- modules/programs/ledger.nix
- modules/programs/newsboat.nix
- modules/programs/obsidian.nix
- modules/programs/onlyoffice.nix
- modules/programs/pandoc.nix
- modules/programs/papis.nix
- modules/programs/pubs.nix
- modules/programs/taskwarrior.nix
- modules/programs/todoman.nix
- modules/services/comodoro.nix
- modules/services/rsibreak.nix
- modules/services/safeeyes.nix
- modules/services/taskwarrior-sync.nix
"password-manager":
- changed-files:
- any-glob-to-any-file:
- modules/programs/browserpass.nix
- modules/programs/keepassxc.nix
- modules/programs/password-store.nix
- modules/programs/rbw.nix
- modules/services/pass-secret-service.nix
- tests/modules/programs/keepassxc/**/*
- tests/modules/programs/password-store/**/*
"photo":
- changed-files:
- any-glob-to-any-file:
- modules/programs/feh.nix
- modules/programs/gallery-dl.nix
- modules/programs/imv.nix
- modules/programs/pqiv.nix
- modules/programs/swayimg.nix
- modules/programs/wallust.nix
"shell":
- changed-files:
- any-glob-to-any-file:
- modules/lib/zsh.nix
- modules/programs/bash*.nix
- modules/programs/fish.nix
- modules/programs/ion.nix
- modules/programs/nushell.nix
- modules/programs/oh-my-posh.nix
- modules/programs/powerline-go.nix
- modules/programs/starship.nix
- modules/programs/zsh*.nix
- tests/modules/programs/bash/**/*
- tests/modules/programs/fish/**/*
- tests/modules/programs/nushell/**/*
- tests/modules/programs/zsh/**/*
"sync":
- changed-files:
- any-glob-to-any-file:
- modules/services/davmail.nix
- modules/services/dropbox.nix
- modules/services/etesync-dav.nix
- modules/services/kdeconnect.nix
- modules/services/megasync.nix
- modules/services/nextcloud-client.nix
- modules/programs/onedrive.nix
- modules/services/owncloud-client.nix
- modules/programs/rtorrent.nix
- modules/services/syncthing.nix
- modules/services/unison.nix
- tests/modules/services/dropbox/**/*
- tests/modules/services/syncthing/**/*
"system":
- changed-files:
- any-glob-to-any-file:
- modules/programs/gpg.nix
- modules/programs/home-manager.nix
- modules/programs/ssh.nix
- modules/services/gpg-agent.nix
- modules/services/home-manager*.nix
- modules/services/kbfs.nix
- modules/services/keybase.nix
- modules/services/nix-gc.nix
- modules/services/ssh-agent.nix
- modules/services/yubikey-agent.nix
- tests/modules/services/home-manager*/**/*
"system-tools":
- changed-files:
- any-glob-to-any-file:
- modules/programs/aria2.nix
- modules/services/arrpc.nix
- modules/services/cachix-agent.nix
- modules/services/fusuma.nix
- modules/services/grobi.nix
- modules/services/hound.nix
- modules/services/jankyborders.nix
- modules/services/ollama.nix
- modules/services/opensnitch-ui.nix
- modules/services/osmscout-server.nix
- modules/services/plan9port.nix
- modules/services/psd.nix
- modules/services/pueue.nix
- modules/services/recoll.nix
- modules/services/signaturepdf.nix
- modules/services/tahoe-lafs.nix
- modules/services/tldr-update.nix
"terminal":
- changed-files:
- any-glob-to-any-file:
- modules/programs/alacritty.nix
- modules/programs/foot.nix
- modules/programs/ghostty.nix
- modules/programs/gnome-terminal.nix
- modules/programs/kitty.nix
- modules/programs/ptyxis.nix
- modules/programs/rio.nix
- modules/programs/terminator.nix
- modules/programs/termite.nix
- modules/programs/urxvt.nix
- modules/programs/waveterm.nix
- modules/programs/wezterm.nix
- tests/modules/programs/alacritty/**/*
- tests/modules/programs/foot/**/*
- tests/modules/programs/kitty/**/*
"video":
- changed-files:
- any-glob-to-any-file:
- modules/programs/freetube.nix
- modules/programs/mpv.nix
- modules/programs/mpvpaper.nix
- modules/programs/obs-studio.nix
- modules/programs/streamlink.nix
- modules/programs/yt-dlp.nix
- modules/services/jellyfin-mpv-shim.nix
- modules/services/plex-mpv-shim.nix
- tests/modules/programs/mpv/**/*
"remote-desktop":
- changed-files:
- any-glob-to-any-file:
- modules/programs/looking-glass-client.nix
- modules/services/barrier.nix
- modules/services/remmina.nix
- modules/services/wayvnc.nix
"wayland":
- changed-files:
- any-glob-to-any-file:
- modules/programs/anyrun.nix
- modules/programs/bemenu.nix
- modules/programs/fuzzel.nix
- modules/programs/hyprlock.nix
- modules/programs/kickoff.nix
- modules/programs/onagre.nix
- modules/programs/sway-easyfocus.nix
- modules/programs/swaylock.nix
- modules/programs/swayr.nix
- modules/programs/tofi.nix
- modules/programs/waybar.nix
- modules/programs/waylogout.nix
- modules/programs/wayprompt.nix
- modules/programs/wlogout.nix
- modules/programs/wofi.nix
- modules/services/fnott.nix
- modules/services/hypridle.nix
- modules/services/hyprpaper.nix
- modules/services/hyprpolkitagent.nix
- modules/services/hyprsunset.nix
- modules/services/kanshi.nix
- modules/services/mako.nix
- modules/services/shikane.nix
- modules/services/swayidle.nix
- modules/services/swaync.nix
- modules/services/swayosd.nix
- modules/services/swww.nix
- modules/services/way-displays.nix
- modules/services/wlsunset.nix
- modules/services/wluma.nix
- modules/services/wpaperd.nix
- tests/modules/programs/swaylock/**/*
- tests/modules/programs/waybar/**/*
"window-managers":
- changed-files:
- any-glob-to-any-file:
- modules/programs/aerospace.nix
- modules/programs/i3bar-river.nix
- modules/programs/i3blocks.nix
- modules/programs/i3status-rust.nix
- modules/programs/i3status.nix
- modules/services/window-managers/**/*
"x11":
- changed-files:
- any-glob-to-any-file:
- modules/programs/i3*.nix
- modules/programs/rofi*.nix
- modules/programs/tint2.nix
- modules/programs/xmobar.nix
- modules/programs/yambar.nix
- modules/services/betterlockscreen.nix
- modules/services/dunst.nix
- modules/services/dwm-status.nix
- modules/services/picom.nix
- modules/services/polybar.nix
- modules/services/screen-locker.nix
- modules/services/stalonetray.nix
- modules/services/sxhkd.nix
- modules/services/taffybar.nix
- modules/services/trayer.nix
- modules/services/xcape.nix
- modules/services/xembed-sni-proxy.nix
- modules/services/xidlehook.nix
- modules/services/xscreensaver.nix
- modules/services/xsettingsd.nix
- modules/services/xsuspender.nix
- tests/modules/programs/i3*/**/*
- tests/modules/programs/rofi/**/*
- tests/modules/services/picom/**/*
- tests/modules/services/polybar/**/*

43
.github/workflows/backport.yml vendored Normal file
View File

@@ -0,0 +1,43 @@
# Based on
# https://github.com/NixOS/nixpkgs/blob/2566f9dc/.github/workflows/backport.yml
name: Backport
on:
pull_request_target:
types:
- closed
- labeled
jobs:
backport:
name: Backport Pull Request
if: >
vars.CI_APP_ID
&& github.event.pull_request.merged == true
&& (
github.event.action != 'labeled'
|| startsWith(github.event.label.name, 'backport')
)
runs-on: ubuntu-24.04-arm
steps:
- name: Create GitHub App token
uses: actions/create-github-app-token@v2
id: app-token
with:
app-id: ${{ vars.CI_APP_ID }}
private-key: ${{ secrets.CI_APP_PRIVATE_KEY }}
- uses: actions/checkout@v4
with:
token: ${{ steps.app-token.outputs.token }}
ref: ${{ github.event.pull_request.head.sha }}
- name: Create backport PRs
id: backport
uses: korthout/backport-action@v3
with:
# See https://github.com/korthout/backport-action#inputs
github_token: ${{ steps.app-token.outputs.token }}
branch_name: backport/${target_branch}/${pull_number}
copy_labels_pattern: .*

15
.github/workflows/conflicts.yml vendored Normal file
View File

@@ -0,0 +1,15 @@
on:
push:
branches:
- master
jobs:
triage:
runs-on: ubuntu-latest
if: github.repository_owner == 'nix-community'
steps:
- uses: mschilde/auto-label-merge-conflicts@master
with:
CONFLICT_LABEL_NAME: "merge conflict"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
MAX_RETRIES: 5
WAIT_MS: 10000

View File

@@ -10,12 +10,11 @@ jobs:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v21
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v31
with:
install_url: https://releases.nixos.org/nix/nix-2.13.3/install
nix_path: nixpkgs=channel:nixos-unstable
- uses: cachix/cachix-action@v12
- uses: cachix/cachix-action@v16
with:
name: nix-community
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
@@ -23,7 +22,7 @@ jobs:
nix-build -A docs.html
cp -r result/share/doc/home-manager public
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public

View File

@@ -11,14 +11,14 @@ on:
permissions:
contents: read
pull-requests: write
issues: write
jobs:
labels:
runs-on: ubuntu-latest
if: github.repository_owner == 'nix-community'
steps:
- uses: actions/labeler@v4
- uses: actions/labeler@v5
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
sync-labels: true

View File

@@ -4,28 +4,118 @@ on:
schedule:
- cron: "30 2 * * *"
jobs:
changes:
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
outputs:
docs: ${{ steps.changes.outputs.docs }}
format: ${{ steps.changes.outputs.format }}
hm: ${{ steps.changes.outputs.hm }}
tests: ${{ steps.changes.outputs.tests }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: changes
with:
filters: |
tests:
- 'flake.lock'
- 'flake.nix'
- 'modules/**'
- 'nix-darwin/**'
- 'nixos/**'
- 'tests/**'
docs:
- '**.md'
- 'docs/**'
- 'flake.lock'
- 'flake.nix'
- 'modules/**'
format:
- '**/*.nix'
hm:
- 'flake.lock'
- 'flake.nix'
- 'home-manager/**'
tests:
needs: changes
# This job MUST always run to satisfy branch protection rules.
# The `always()` function ensures it runs even if `changes` is skipped (on a schedule).
if: always()
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v21
with:
install_url: https://releases.nixos.org/nix/nix-2.13.3/install
nix_path: nixpkgs=channel:nixos-22.11
- uses: cachix/cachix-action@v12
with:
name: nix-community
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- run: |
if grep -R --exclude stdlib-extended.nix literalExample modules ; then
echo "Error: literalExample should be replaced by literalExpression" > /dev/stderr
exit 1
fi
- run: nix-build -A docs.jsonModuleMaintainers
- run: ./format -c
- run: nix-shell . -A install
- run: nix-shell --arg enableBig false --pure tests -A run.all
- uses: actions/checkout@v4
- name: Get Nixpkgs revision from flake.lock
id: get-nixpkgs
run: |
echo "rev=$(jq -r '.nodes.nixpkgs.locked.rev' flake.lock)" >> "$GITHUB_OUTPUT"
- uses: cachix/install-nix-action@v31
if: github.event_name == 'schedule' || needs.changes.outputs.docs == 'true' || needs.changes.outputs.tests == 'true' || needs.changes.outputs.hm == 'true' || needs.changes.outputs.format == 'true'
with:
nix_path: nixpkgs=https://github.com/NixOS/nixpkgs/archive/${{ steps.get-nixpkgs.outputs.rev }}.tar.gz
extra_nix_config: |
experimental-features = nix-command flakes
- name: Build docs
if: github.event_name == 'schedule' || needs.changes.outputs.docs == 'true'
run: nix build --show-trace .#docs-jsonModuleMaintainers
- name: Format Check
if: github.event_name == 'schedule' || needs.changes.outputs.format == 'true'
run: nix fmt -- --ci
- name: Test init --switch with locked inputs
# FIXME: nix broken on darwin on unstable
if: matrix.os != 'macos-latest' && (github.event_name == 'schedule' || needs.changes.outputs.hm == 'true')
run: |
# Copy lock file to home directory for consistent testing
mkdir -p ~/.config/home-manager
cp flake.lock ~/.config/home-manager/
nix run .#home-manager -- init --switch --override-input home-manager .
- name: Uninstall
# FIXME: nix broken on darwin on unstable
if: matrix.os != 'macos-latest' && (github.event_name == 'schedule' || needs.changes.outputs.hm == 'true')
run: yes | nix run . -- uninstall
- name: Run tests
if: github.event_name == 'schedule' || needs.changes.outputs.tests == 'true'
run: nix build -j auto --show-trace --option allow-import-from-derivation false --reference-lock-file flake.lock "./tests#test-all-no-big"
env:
GC_INITIAL_HEAP_SIZE: 4294967296
- name: Run tests (with IFD)
if: github.event_name == 'schedule' || needs.changes.outputs.tests == 'true'
run: nix build -j auto --show-trace --reference-lock-file flake.lock "./tests#test-all-no-big"
env:
GC_INITIAL_HEAP_SIZE: 4294967296
- name: Generate Job Summary
if: github.event_name == 'pull_request'
shell: bash
run: |
echo "### Test Job Summary" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "A summary of tasks triggered by file changes in this PR:" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
if [[ "${{ needs.changes.outputs.docs }}" == "true" ]]; then
echo "- ✅ **Docs Build:** Triggered" >> $GITHUB_STEP_SUMMARY
else
echo "- ☑️ **Docs Build:** Skipped (no relevant files changed)" >> $GITHUB_STEP_SUMMARY
fi
if [[ "${{ needs.changes.outputs.format }}" == "true" ]]; then
echo "- ✅ **Format Check:** Triggered" >> $GITHUB_STEP_SUMMARY
else
echo "- ☑️ **Format Check:** Skipped (no relevant files changed)" >> $GITHUB_STEP_SUMMARY
fi
if [[ "${{ needs.changes.outputs.hm }}" == "true" ]]; then
echo "- ✅ **Home Manager Tests:** Triggered" >> $GITHUB_STEP_SUMMARY
else
echo "- ☑️ **Home Manager Tests:** Skipped (no relevant files changed)" >> $GITHUB_STEP_SUMMARY
fi
if [[ "${{ needs.changes.outputs.tests }}" == "true" ]]; then
echo "- ✅ **General Tests:** Triggered" >> $GITHUB_STEP_SUMMARY
else
echo "- ☑️ **General Tests:** Skipped (no relevant files changed)" >> $GITHUB_STEP_SUMMARY
fi

View File

@@ -8,15 +8,54 @@ on:
jobs:
update:
runs-on: ubuntu-latest
if: github.event_name != 'schedule' || github.repository_owner == 'nix-community'
strategy:
matrix:
branch: [master, release-25.05]
steps:
- name: Create GitHub App token
uses: actions/create-github-app-token@v2
id: app-token
with:
app-id: ${{ vars.CI_APP_ID }}
private-key: ${{ secrets.CI_APP_PRIVATE_KEY }}
- name: Get GitHub App user info
id: user-info
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
slug: ${{ steps.app-token.outputs.app-slug }}
run: |
name="$slug[bot]"
id=$(gh api "/users/$name" --jq .id)
{
echo "id=$id"
echo "name=$name"
echo "email=$id+$name@users.noreply.github.com"
} >> "$GITHUB_OUTPUT"
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
ref: ${{ matrix.branch }}
- name: Install Nix
uses: cachix/install-nix-action@v21
with:
install_url: https://releases.nixos.org/nix/nix-2.13.3/install
uses: cachix/install-nix-action@v31
- name: Update flake.lock
uses: DeterminateSystems/update-flake-lock@v19
uses: DeterminateSystems/update-flake-lock@v25
with:
token: ${{ secrets.GH_TOKEN_FOR_UPDATES }}
token: ${{ steps.app-token.outputs.token }}
git-committer-name: ${{ steps.user-info.outputs.name }}
git-committer-email: ${{ steps.user-info.outputs.email }}
git-author-name: ${{ steps.user-info.outputs.name }}
git-author-email: ${{ steps.user-info.outputs.email }}
pr-labels: dependencies
pr-body: |
Automated update by the [update-flake-lock] GitHub Action.
```
{{ env.GIT_COMMIT_MESSAGE }}
```
This PR was most recently updated by workflow run [${{ github.run_id }}].
[update-flake-lock]: https://github.com/DeterminateSystems/update-flake-lock
[${{ github.run_id }}]: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
base-branch: ${{ matrix.branch }}

137
.github/workflows/update-maintainers.yml vendored Normal file
View File

@@ -0,0 +1,137 @@
name: Update maintainers list
on:
schedule:
# Update every Monday at 9 AM UTC
- cron: "0 9 * * 1"
workflow_dispatch:
inputs:
create_pr:
description: 'Create PR even if no changes'
required: false
default: false
type: boolean
jobs:
update-maintainers:
runs-on: ubuntu-latest
if: github.event_name != 'schedule' || github.repository_owner == 'nix-community'
steps:
- name: Create GitHub App token
uses: actions/create-github-app-token@v2
id: app-token
with:
app-id: ${{ vars.CI_APP_ID }}
private-key: ${{ secrets.CI_APP_PRIVATE_KEY }}
- name: Get GitHub App user info
id: user-info
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
slug: ${{ steps.app-token.outputs.app-slug }}
run: |
name="$slug[bot]"
id=$(gh api "/users/$name" --jq .id)
{
echo "id=$id"
echo "name=$name"
echo "email=$id+$name@users.noreply.github.com"
} >> "$GITHUB_OUTPUT"
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ steps.app-token.outputs.token }}
- name: Get Nixpkgs revision from flake.lock
id: get-nixpkgs
run: |
echo "rev=$(jq -r '.nodes.nixpkgs.locked.rev' flake.lock)" >> "$GITHUB_OUTPUT"
- name: Install Nix
uses: cachix/install-nix-action@v31
with:
nix_path: nixpkgs=https://github.com/NixOS/nixpkgs/archive/${{ steps.get-nixpkgs.outputs.rev }}.tar.gz
- name: Setup Git
run: |
git config user.name "${{ steps.user-info.outputs.name }}"
git config user.email "${{ steps.user-info.outputs.email }}"
- name: Generate updated maintainers list
run: |
echo "📋 Generating updated all-maintainers.nix..."
./lib/python/generate-all-maintainers.py
- name: Check for changes
id: check-changes
run: "if git diff --quiet all-maintainers.nix; then\n echo \"No changes to all-maintainers.nix\"\n echo \"has_changes=false\" >> \"$GITHUB_OUTPUT\"\nelse\n echo \"Changes detected in all-maintainers.nix\"\n echo \"has_changes=true\" >> \"$GITHUB_OUTPUT\"\n \n # Get change statistics\n added=$(git diff --numstat all-maintainers.nix | cut -f1)\n removed=$(git diff --numstat all-maintainers.nix | cut -f2)\n echo \"changes_summary=+$added -$removed lines\" >> \"$GITHUB_OUTPUT\"\nfi\n"
- name: Validate generated file
if: steps.check-changes.outputs.has_changes == 'true'
run: |
echo "🔍 Validating generated all-maintainers.nix..."
if nix eval --file ./all-maintainers.nix --json > /dev/null; then
echo "✅ Generated file has valid Nix syntax"
else
echo "❌ Generated file has invalid Nix syntax"
exit 1
fi
- name: Create Pull Request
if: steps.check-changes.outputs.has_changes == 'true' || github.event.inputs.create_pr == 'true'
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: |
# Create a new branch for the update
branch_name="maintainers/update-$(date +%Y%m%d%H%M%S)"
git checkout -b "$branch_name"
# Commit the changes
git add all-maintainers.nix
git commit -m "maintainers: update all-maintainers.nix
Automated update of the master maintainers list combining:
- Home Manager specific maintainers from modules/lib/maintainers.nix
- Nixpkgs maintainers referenced in Home Manager modules
Changes: ${{ steps.check-changes.outputs.changes_summary || 'No content changes' }}
Generated by: lib/python/generate-all-maintainers.py"
# Push the branch
git push origin "$branch_name"
# Create the pull request
gh pr create \
--title "maintainers: update all-maintainers.nix" \
--body "$(cat <<'EOF'
## 📋 Summary
This PR updates the master maintainers list (`all-maintainers.nix`) which combines:
- **Home Manager specific maintainers** from `modules/lib/maintainers.nix`
- **Nixpkgs maintainers** referenced in Home Manager modules
## 🔄 Changes
**Statistics:** ${{ steps.check-changes.outputs.changes_summary || 'No content changes (format/comment updates only)' }}
The updated list includes all maintainers needed for review assignments across the Home Manager project.
## 🤖 Automation
- **Generated by:** `lib/python/generate-all-maintainers.sh`
- **Trigger:** ${{ github.event_name == 'schedule' && 'Scheduled weekly update' || 'Manual workflow dispatch' }}
- **Validation:** File syntax verified with `nix eval`
## 📚 Usage
This file can be imported and used for maintainer lookups:
```nix
let allMaintainers = import ./all-maintainers.nix; in
# Access any maintainer by name: allMaintainers.username
```
---
🤖 *This PR was automatically created by the [update-maintainers workflow](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})*
EOF
)" \
--label "dependencies" \
--label "maintainers"
- name: Summary
run: |
if [[ "${{ steps.check-changes.outputs.has_changes }}" == "true" ]]; then
echo "✅ Successfully created PR with maintainer updates"
echo "📊 Changes: ${{ steps.check-changes.outputs.changes_summary }}"
else
echo " No changes detected - maintainers list is up to date"
fi

View File

@@ -18,15 +18,3 @@ pages:
rules:
- if: $CI_COMMIT_BRANCH == "master"
when: always
Deploy NUR:
stage: deploy
variables:
HM_BRANCH: $CI_COMMIT_REF_NAME
HM_COMMIT_SHA: $CI_COMMIT_SHA
trigger:
project: rycee/nur-expressions
branch: master
rules:
- if: $CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH =~ /^release-/
when: always

View File

@@ -1 +0,0 @@
22.11

View File

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

View File

@@ -17,4 +17,4 @@ test-install:
HOME=$(shell mktemp -d) NIX_PATH=${NIX_PATH} nix-shell . -A install
format:
./format
nix-shell -p treefmt nixfmt-rfc-style deadnix keep-sorted --run "treefmt --config-file ./treefmt.toml"

165
README.md
View File

@@ -1,135 +1,128 @@
Home Manager using Nix
======================
This project provides a basic system for managing a user environment
using the [Nix][] package manager together with the Nix libraries
found in [Nixpkgs][]. It allows declarative configuration of user
specific (non global) packages and dotfiles.
This project provides a basic system for managing a user environment using the
[Nix][] package manager together with the Nix libraries found in [Nixpkgs][]. It
allows declarative configuration of user specific (non-global) packages and
dotfiles.
Usage
-----
Before attempting to use Home Manager please read the warning below.
Before attempting to use Home Manager please read [the warning
below](#words-of-warning).
For a systematic overview of Home Manager and its available options,
please see
For a systematic overview of Home Manager and its available options, please see:
- the [Home Manager manual][manual],
- the [Home Manager configuration options][configuration options], and
- the 3rd party [Home Manager option search](https://mipmip.github.io/home-manager-option-search/).
- [Home Manager manual][manual]
- [Home Manager configuration options][configuration options]
- [3rd party Home Manager option
search](https://home-manager-options.extranix.com/)
If you would like to contribute to Home Manager
then please have a look at the [contributing][] chapter of the manual.
If you would like to contribute to Home Manager, then please have a look at
["Contributing" in the manual][contributing].
Releases
--------
Home Manager is developed against `nixpkgs-unstable` branch, which often causes
it to contain tweaks for changes/packages not yet released in stable [NixOS][].
To avoid breaking users' configurations, Home Manager is released in branches
corresponding to NixOS releases (e.g. `release-25.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
----------------
Unfortunately, it is quite possible to get difficult to understand
errors when working with Home Manager, such as infinite loops with no
clear source reference. You should therefore be comfortable using the
Nix language and the various tools in the Nix ecosystem. Reading
through the [Nix Pills][] document is a good way to familiarize
yourself with them.
Unfortunately, it is quite possible to get difficult to understand errors when
working with Home Manager. You should therefore be comfortable using the [Nix][]
language and the various tools in the Nix ecosystem.
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
very simple configuration and gradually make it more elaborate as you
learn.
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 very simple configuration
and gradually make it more elaborate as you learn.
In some cases Home Manager cannot detect whether it will overwrite a
previous manual configuration. For example, the Gnome Terminal module
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
generation or from manual configuration.
In some cases Home Manager cannot detect whether it will overwrite a previous
manual configuration. For example, the Gnome Terminal module 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 generation or from manual
configuration.
Home Manager targets [NixOS][] unstable and NixOS version 22.11 (the
current stable version), it may or may not work on other Linux
distributions and NixOS versions.
Home Manager targets [NixOS][] unstable and NixOS version 25.05 (the current
stable version), it may or may not work on other Linux distributions and NixOS
versions.
Also, the `home-manager` tool does not explicitly support rollbacks at
the moment so if your home directory gets messed up you'll have to fix
it yourself. See the [rollbacks][] section for instructions on how to
manually perform a rollback.
Also, the `home-manager` tool does not explicitly support rollbacks at the
moment so if your home directory gets messed up you'll have to fix it yourself.
See the [rollbacks][] section for instructions on how to manually perform a
rollback.
Now when your expectations have been built up and you are eager to try
all this out you can go ahead and read the rest of this text.
Now when your expectations have been built up and you are eager to try all this
out you can go ahead and read the rest of this text.
Contact
-------
You can chat with us on IRC in the channel [#home-manager][] on [OFTC][].
There is also a [Matrix room](https://matrix.to/#/#hm:rycee.net),
which is bridged to the IRC channel.
You can chat with us on IRC in the channel [#home-manager][] on [OFTC][]. There
is also a [Matrix room](https://matrix.to/#/#hm:rycee.net), which is bridged to
the IRC channel.
Installation
------------
Home Manager can be used in three primary 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
[Standalone installation][manual standalone install] in the manual
for instructions on how to perform this installation.
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 ["Standalone installation" in the
manual][manual standalone install] 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 [NixOS module installation][manual nixos
install] in the manual for a description of this setup.
1. 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 ["NixOS module" in the manual][manual nixos install] for a description of
this setup.
3. As a module within a [nix-darwin][] system configuration. This
allows the user profiles to be built together with the system when
running `darwin-rebuild`. See [nix-darwin module
installation][manual nix-darwin install] in the manual for a
1. As a module within a [nix-darwin] system configuration. This allows the user
profiles to be built together with the system when running `darwin-rebuild`.
See ["nix-darwin module" in the manual][manual nix-darwin install] for a
description of this setup.
Home Manager provides both the channel-based setup and the flake-based one.
See [Nix Flakes][manual nix flakes] for a description of the flake-based setup.
Home Manager provides both the channel-based setup and the flake-based one. See
[Nix Flakes][manual nix flakes] for a description of the flake-based setup.
Translations
------------
Home Manager has basic support for internationalization through
[gettext](https://www.gnu.org/software/gettext/). The translations are
hosted by [Weblate](https://weblate.org/). If you would like to
contribute to the translation effort then start by going to the
[Home Manager Weblate project](https://hosted.weblate.org/engage/home-manager/).
[gettext](https://www.gnu.org/software/gettext/). The translations are hosted by
[Weblate](https://weblate.org/). If you would like to contribute to the
translation effort then start by going to the [Home Manager Weblate
project](https://hosted.weblate.org/engage/home-manager/).
<a href="https://hosted.weblate.org/engage/home-manager/">
<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>
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
-------
This project is licensed under the terms of the [MIT license](LICENSE).
[Nix]: https://nixos.org/explore.html
[NixOS]: https://nixos.org/
[Nixpkgs]: https://github.com/NixOS/nixpkgs
[manual]: https://nix-community.github.io/home-manager/index.html
[contributing]: https://nix-community.github.io/home-manager/#ch-contributing
[manual usage]: https://nix-community.github.io/home-manager/#ch-usage
[configuration options]: https://nix-community.github.io/home-manager/options.html
[#home-manager]: https://webchat.oftc.net/?channels=home-manager
[Nix Flakes]: https://wiki.nixos.org/wiki/Flakes
[NixOS]: https://nixos.org/
[Nix]: https://nixos.org/explore.html
[Nixpkgs]: https://github.com/NixOS/nixpkgs
[OFTC]: https://oftc.net/
[Nix Pills]: https://nixos.org/guides/nix-pills/
[Nix Flakes]: https://nixos.wiki/wiki/Flakes
[nix-darwin]: https://github.com/LnL7/nix-darwin
[manual standalone install]: https://nix-community.github.io/home-manager/index.html#sec-install-standalone
[manual nixos install]: https://nix-community.github.io/home-manager/index.html#sec-install-nixos-module
[manual nix-darwin install]: https://nix-community.github.io/home-manager/index.html#sec-install-nix-darwin-module
[manual nix flakes]: https://nix-community.github.io/home-manager/index.html#ch-nix-flakes
[rollbacks]: https://nix-community.github.io/home-manager/index.html#sec-usage-rollbacks
[configuration options]: https://nix-community.github.io/home-manager/options.xhtml
[contributing]: https://nix-community.github.io/home-manager/#ch-contributing
[manual nix flakes]: https://nix-community.github.io/home-manager/#ch-nix-flakes
[manual nix-darwin install]: https://nix-community.github.io/home-manager/#sec-install-nix-darwin-module
[manual nixos install]: https://nix-community.github.io/home-manager/#sec-install-nixos-module
[manual standalone install]: https://nix-community.github.io/home-manager/#sec-install-standalone
[manual]: https://nix-community.github.io/home-manager/
[nix-darwin]: https://github.com/nix-darwin/nix-darwin
[rollbacks]: https://nix-community.github.io/home-manager/index.xhtml#sec-usage-rollbacks

1762
all-maintainers.nix Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,19 +1,36 @@
{ pkgs ? import <nixpkgs> { } }:
{
pkgs ? import <nixpkgs> { },
}:
rec {
docs = with import ./docs { inherit pkgs; }; {
html = manual.html;
manPages = manPages;
json = options.json;
jsonModuleMaintainers = jsonModuleMaintainers; # Unstable, mainly for CI.
let
path = builtins.path {
path = ./.;
name = "home-manager-source";
};
home-manager = pkgs.callPackage ./home-manager { path = toString ./.; };
in
rec {
docs =
let
releaseInfo = pkgs.lib.importJSON ./release.json;
in
with import ./docs {
inherit pkgs;
inherit (releaseInfo) release isReleaseBranch;
};
{
install =
pkgs.callPackage ./home-manager/install.nix { inherit home-manager; };
inherit manPages jsonModuleMaintainers;
inherit (manual) html htmlOpenTool;
inherit (options) json;
};
home-manager = pkgs.callPackage ./home-manager { inherit path; };
install = pkgs.callPackage ./home-manager/install.nix { inherit home-manager; };
nixos = import ./nixos;
lib = import ./lib { inherit (pkgs) lib; };
path = ./.;
inherit path;
}

View File

@@ -1,258 +0,0 @@
[[ch-contributing]]
== Contributing
:open-issues: https://github.com/nix-community/home-manager/issues
:new-issue: https://github.com/nix-community/home-manager/issues/new
:fork-a-repo: https://help.github.com/articles/fork-a-repo/
:create-a-pull-request: https://help.github.com/articles/creating-a-pull-request/
:seven-rules: https://chris.beams.io/posts/git-commit/#seven-rules
:news-nix: https://github.com/nix-community/home-manager/blob/master/modules/misc/news.nix
:nixfmt: https://github.com/serokell/nixfmt/
:example-commit-message: https://github.com/nix-community/home-manager/commit/69f8e47e9e74c8d3d060ca22e18246b7f7d988ef
Contributions to Home Manager are very welcome. To make the process as smooth as possible for both you and the Home Manager maintainers we provide some guidelines that we ask you to follow. See <<sec-contrib-getting-started>> for information on how to set up a suitable development environment and <<sec-guidelines>> for the actual guidelines.
This text is mainly directed at those who would like to make code contributions to Home Manager. If you just want to report a bug then first look among the already {open-issues}[open issues], if you find one matching yours then feel free to comment on it to add any additional information you may have. If no matching issue exists then go to the {new-issue}[new issue] page and write a description of your problem. Include as much information as you can, ideally also include relevant excerpts from your Home Manager configuration.
[[sec-contrib-getting-started]]
=== Getting started
If you have not previously forked Home Manager then you need to do that first. Have a look at GitHub's {fork-a-repo}[Fork a repo] for instructions on how to do this.
Once you have a fork of Home Manager you should create a branch starting at the most recent `master` branch. Give your branch a reasonably descriptive name. Commit your changes to this branch and when you are happy with the result and it fulfills <<sec-guidelines>> then push the branch to GitHub and {create-a-pull-request}[create a pull request].
Assuming your clone is at `$HOME/devel/home-manager` then you can make the `home-manager` command use it by either
1. overriding the default path by using the `-I` command line option:
+
[source,console]
$ home-manager -I home-manager=$HOME/devel/home-manager
+
or
2. changing the default path by ensuring your configuration includes
+
[source,nix]
----
programs.home-manager.enable = true;
programs.home-manager.path = "$HOME/devel/home-manager";
----
+
and running `home-manager switch` to activate the change. Afterwards, `home-manager build` and `home-manager switch` will use your cloned repository.
The first option is good if you only temporarily want to use your clone.
[[sec-guidelines]]
=== Guidelines
: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
:rfc-42: https://github.com/Infinisil/rfcs/blob/config-option/rfcs/0042-config-option.md
: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 you are uncertain how these rules affect the change you would like to make then feel free to start a discussion in the {irc-home-manager}[#home-manager] IRC channel, ideally before you start developing.
[[sec-guidelines-back-compat]]
==== Maintain backward compatibility
Your contribution should not cause another user's existing configuration to break unless there is a very good reason and the change should be announced to the user through an {assertions}[assertion] or similar.
Remember that Home Manager is used in many different environments and you should consider how your change may effect others. For example,
- Does your change work for people that do not use NixOS? Consider other GNU/Linux distributions and macOS.
- Does your change work for people whose configuration is built on one system and deployed on another system?
[[sec-guidelines-forward-compat]]
==== Keep forward compatibility in mind
The master branch of Home Manager tracks the unstable channel of Nixpkgs, which may update package versions at any time. It is therefore important to consider how a package update may affect your code and try to reduce the risk of breakage.
The most effective way to reduce this risk is to follow the advice in <<sec-guidelines-valuable-options>>.
[[sec-guidelines-valuable-options]]
==== Add only valuable options
When creating a new module it is tempting to include every option supported by the software. This is _strongly_ discouraged. Providing many options increases maintenance burden and risk of breakage considerably. This is why only the most {valuable-options}[important software options] should be modeled explicitly. Less important options should be expressible through an `extraConfig` escape hatch.
A good rule of thumb for the first implementation of a module is to only add explicit options for those settings that absolutely must be set for the software to function correctly. It follows that a module for software that provides sensible default values for all settings would require no explicit options at all.
If the software uses a structured configuration format like a JSON, YAML, INI, TOML, or even a plain list of key/value pairs then consider using a `settings` option as described in {rfc-42}[Nix RFC 42].
[[sec-guidelines-add-tests]]
==== Add relevant tests
If at all possible, make sure to add new tests and expand existing tests so that your change will keep working in the future. See <<sec-tests>> for more information about the Home Manager test suite.
All contributed code _must_ pass the test suite.
[[sec-guidelines-module-maintainer]]
==== Add relevant documentation
:docbook: https://tdg.docbook.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.
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:
[source,console]
$ nix-build -A docs.html
$ xdg-open ./result/share/doc/home-manager/index.html
When you have made changes to a module, it is a good idea to check that the man page version of the module options looks good:
[source,console]
$ nix-build -A docs.manPages
$ man ./result/share/man/man5/home-configuration.nix.5.gz
==== Add yourself as a module maintainer
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.
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 channel and participate when they have opportunity.
[[sec-guidelines-code-style]]
==== Format your code
Make sure your code is formatted as described in <<sec-code-style>>. To maintain consistency throughout the project you are encouraged to browse through existing code and adopt its style also in new code.
[[sec-guidelines-commit-message-style]]
==== Format your commit messages
Similar to <<sec-guidelines-code-style>> we encourage a consistent commit message format as described in <<sec-commit-style>>.
[[sec-guidelines-news-style]]
==== Format your news entries
If your contribution includes a change that should be communicated to users of Home Manager then you can add a news entry. The entry must be formatted as described in <<sec-news>>.
When new modules are added a news entry should be included but you do not need to create this entry manually. The merging maintainer will create the entry for you. This is to reduce the risk of merge conflicts.
[[sec-guidelines-conditional-modules]]
==== Use conditional modules and news
Home Manager includes a number of modules that are only usable on some of the supported platforms. The most common example of platform specific modules are those that define systemd user services, which only works on Linux systems.
If you add a module that is platform specific then make sure to include a condition in the `loadModule` function call. This will make the module accessible only on systems where the condition evaluates to `true`.
Similarly, if you are adding a news entry then it should be shown only to users that may find it relevant, see <<sec-news>> for a description of conditional news.
[[sec-guidelines-licensing]]
==== Mind the license
The Home Manager project is covered by the MIT license and we can only accept contributions that fall under this license, or are licensed in a compatible way. When you contribute self written code and documentation it is assumed that you are doing so under the MIT license.
A potential gotcha with respect to licensing are option descriptions. Often it is convenient to copy from the upstream software documentation. When this is done it is important to verify that the license of the upstream documentation allows redistribution under the terms of the MIT license.
[[sec-commit-style]]
=== Commits
The commits in your pull request should be reasonably self-contained, that is, each commit should make sense in isolation. In particular, you will be asked to amend any commit that introduces syntax errors or similar problems even if they are fixed in a later commit.
The commit messages should follow the {seven-rules}[seven rules], except for "Capitalize the subject line". We also ask you to include the affected code component or module in the first line. That is, a commit message should follow the template
----
{component}: {description}
{long description}
----
where `{component}` refers to the code component (or module) your change affects, `{description}` is a very brief description of your change, and `{long description}` is an optional clarifying description. As a rare exception, if there is no clear component, or your change affects many components, then the `{component}` part is optional. See <<ex-commit-message>> for a commit message that fulfills these requirements.
[[ex-commit-message]]
.Compliant commit message
===============================================================================
The commit {example-commit-message}[69f8e47e9e74c8d3d060ca22e18246b7f7d988ef] contains the commit message
----
starship: allow running in Emacs if vterm is used
The vterm buffer is backed by libvterm and can handle Starship prompts
without issues.
----
which ticks all the boxes necessary to be accepted in Home Manager.
===============================================================================
Finally, when adding a new module, say `programs/foo.nix`, we use the fixed commit format `foo: add module`. You can, of course, still include a long description if you wish.
[[sec-code-style]]
=== Code Style
The code in Home Manager is formatted by the {nixfmt}[nixfmt] tool and the formatting is checked in the pull request tests. Run the `format` tool inside the project repository before submitting your pull request.
Keep lines at a reasonable width, ideally 80 characters or less. This also applies to string literals.
We prefer `lowerCamelCase` for variable and attribute names with the accepted exception of variables directly referencing packages in Nixpkgs which use a hyphenated style. For example, the Home Manager option `services.gpg-agent.enableSshSupport` references the `gpg-agent` package in Nixpkgs.
[[sec-news]]
=== News
Home Manager includes a system for presenting news to the user. When making a change you, therefore, have the option to also include an associated news entry. In general, a news entry should only be added for truly noteworthy news. For example, a bug fix or new option does generally not need a news entry.
If you do have a change worthy of a news entry then please add one in {news-nix}[`news.nix`] but you should follow some basic guidelines:
- The entry timestamp should be in ISO-8601 format having "+00:00" as time zone. For example, "2017-09-13T17:10:14+00:00". A suitable timestamp can be produced by the command
+
[source,console]
$ date --iso-8601=second --universal
- The entry condition should be as specific as possible. For example, if you are changing or deprecating a specific option then you could restrict the news to those users who actually use this option.
- Wrap the news message so that it will fit in the typical terminal, that is, at most 80 characters wide. Ideally a bit less.
- Unlike commit messages, news will be read without any connection to the Home Manager source code. It is therefore important to make the message understandable in isolation and to those who do not have knowledge of the Home Manager internals. To this end it should be written in more descriptive, prose like way.
- If you refer to an option then write its full attribute path. That is, instead of writing
+
----
The option 'foo' has been deprecated, please use 'bar' instead.
----
+
it should read
+
----
The option 'services.myservice.foo' has been deprecated, please
use 'services.myservice.bar' instead.
----
- A new module, say `foo.nix`, should always include a news entry that has a message along the lines of
+
----
A new module is available: 'services.foo'.
----
+
If the module is platform specific, e.g., a service module using systemd, then a condition like
+
[source,nix]
condition = hostPlatform.isLinux;
+
should be added. If you contribute a module then you don't need to add this entry, the merger will create an entry for you.
[[sec-tests]]
=== Tests
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.
The full Home Manager test suite can be run by executing
[source,console]
$ nix-shell --pure tests -A run.all
in the project root. List all test cases through
[source,console]
$ nix-shell --pure tests -A list
and run an individual test, for example `alacritty-empty-settings`, through
[source,console]
$ nix-shell --pure tests -A run.alacritty-empty-settings

View File

@@ -1,102 +1,224 @@
{ pkgs
{
pkgs,
# Note, this should be "the standard library" + HM extensions.
, lib ? import ../modules/lib/stdlib-extended.nix pkgs.lib }:
# Note, this should be "the standard library" + HM extensions.
lib ? import ../modules/lib/stdlib-extended.nix pkgs.lib,
release,
isReleaseBranch,
}:
let
nmdSrc = fetchTarball {
url =
"https://gitlab.com/api/v4/projects/rycee%2Fnmd/repository/archive.tar.gz?sha=b75d312b4f33bd3294cd8ae5c2ca8c6da2afc169";
sha256 = "0c2nq28rw4v559s3f1nf6y2p6fladgmbqgbsyf3vzs2przn5qn37";
};
nmd = import nmdSrc { inherit lib pkgs; };
# Recursively replace each derivation in the given attribute set
# with the same derivation but with the `outPath` attribute set to
# the string `"\${pkgs.attribute.path}"`. This allows the
# documentation to refer to derivations through their values without
# establishing an actual dependency on the derivation output.
#
# This is not perfect, but it seems to cover a vast majority of use
# cases.
#
# Caveat: even if the package is reached by a different means, the
# path above will be shown and not e.g.
# `${config.services.foo.package}`.
scrubDerivations =
prefixPath: attrs:
let
scrubDerivation =
name: value:
let
pkgAttrName = prefixPath + "." + name;
in
if lib.isAttrs value then
scrubDerivations pkgAttrName value
// lib.optionalAttrs (lib.isDerivation value) {
outPath = "\${${pkgAttrName}}";
}
else
value;
in
lib.mapAttrs scrubDerivation attrs;
# Make sure the used package is scrubbed to avoid actually
# instantiating derivations.
scrubbedPkgsModule = {
imports = [{
_module.args = {
pkgs = lib.mkForce (nmd.scrubDerivations "pkgs" pkgs);
pkgs_i686 = lib.mkForce { };
};
}];
imports = [
{
_module.args = {
pkgs = lib.mkForce (scrubDerivations "pkgs" pkgs);
pkgs_i686 = lib.mkForce { };
};
}
];
};
dontCheckDefinitions = { _module.check = false; };
buildModulesDocs = args:
nmd.buildModulesDocs ({
moduleRootPaths = [ ./.. ];
mkModuleUrl = path:
"https://github.com/nix-community/home-manager/blob/master/${path}#blob-path";
channelName = "home-manager";
} // args);
hmModulesDocs = buildModulesDocs {
modules = import ../modules/modules.nix {
inherit lib pkgs;
check = false;
} ++ [ scrubbedPkgsModule ];
docBook.id = "home-manager-options";
dontCheckDefinitions = {
_module.check = false;
};
nixosModuleDocs = buildModulesDocs {
modules = [ ../nixos scrubbedPkgsModule dontCheckDefinitions ];
docBook = {
id = "nixos-options";
optionIdPrefix = "nixos-opt";
gitHubDeclaration =
user: repo: subpath:
let
urlRef = if isReleaseBranch then "release-${release}" else "master";
in
{
url = "https://github.com/${user}/${repo}/blob/${urlRef}/${subpath}";
name = "<${repo}/${subpath}>";
};
};
nixDarwinModuleDocs = buildModulesDocs {
modules = [ ../nix-darwin scrubbedPkgsModule dontCheckDefinitions ];
docBook = {
id = "nix-darwin-options";
optionIdPrefix = "nix-darwin-opt";
};
};
hmPath = toString ./..;
docs = nmd.buildDocBookDocs {
pathName = "home-manager";
projectName = "Home Manager";
modulesDocs = [ hmModulesDocs nixDarwinModuleDocs nixosModuleDocs ];
documentsDirectory = ./.;
documentType = "book";
chunkToc = ''
<toc>
<d:tocentry xmlns:d="http://docbook.org/ns/docbook" linkend="book-home-manager-manual"><?dbhtml filename="index.html"?>
<d:tocentry linkend="ch-options"><?dbhtml filename="options.html"?></d:tocentry>
<d:tocentry linkend="ch-nixos-options"><?dbhtml filename="nixos-options.html"?></d:tocentry>
<d:tocentry linkend="ch-nix-darwin-options"><?dbhtml filename="nix-darwin-options.html"?></d:tocentry>
<d:tocentry linkend="ch-tools"><?dbhtml filename="tools.html"?></d:tocentry>
<d:tocentry linkend="ch-release-notes"><?dbhtml filename="release-notes.html"?></d:tocentry>
</d:tocentry>
</toc>
'';
};
buildOptionsDocs =
args@{
modules,
includeModuleSystemOptions ? true,
...
}:
let
options =
(lib.evalModules {
inherit modules;
class = "homeManager";
}).options;
in
pkgs.buildPackages.nixosOptionsDoc (
{
options =
if includeModuleSystemOptions then options else builtins.removeAttrs options [ "_module" ];
transformOptions =
opt:
opt
// {
# Clean up declaration sites to not refer to the Home Manager
# source tree.
declarations = map (
decl:
if lib.hasPrefix hmPath (toString decl) then
gitHubDeclaration "nix-community" "home-manager" (
lib.removePrefix "/" (lib.removePrefix hmPath (toString decl))
)
else if decl == "lib/modules.nix" then
# TODO: handle this in a better way (may require upstream
# changes to nixpkgs)
gitHubDeclaration "NixOS" "nixpkgs" decl
else
decl
) opt.declarations;
};
}
// builtins.removeAttrs args [
"modules"
"includeModuleSystemOptions"
]
);
in {
inherit nmdSrc;
options = {
json = hmModulesDocs.json.override {
path = "share/doc/home-manager/options.json";
};
};
manPages = docs.manPages;
manual = { inherit (docs) html htmlOpenTool; };
# Unstable, mainly for CI.
jsonModuleMaintainers = pkgs.writeText "hm-module-maintainers.json" (let
result = lib.evalModules {
modules = import ../modules/modules.nix {
hmOptionsDocs = buildOptionsDocs {
modules =
import ../modules/modules.nix {
inherit lib pkgs;
check = false;
} ++ [ scrubbedPkgsModule ];
}
++ [ scrubbedPkgsModule ];
variablelistId = "home-manager-options";
};
nixosOptionsDocs = buildOptionsDocs {
modules = [
../nixos
scrubbedPkgsModule
dontCheckDefinitions
];
includeModuleSystemOptions = false;
variablelistId = "nixos-options";
optionIdPrefix = "nixos-opt-";
};
nixDarwinOptionsDocs = buildOptionsDocs {
modules = [
../nix-darwin
scrubbedPkgsModule
dontCheckDefinitions
];
includeModuleSystemOptions = false;
variablelistId = "nix-darwin-options";
optionIdPrefix = "nix-darwin-opt-";
};
release-config = builtins.fromJSON (builtins.readFile ../release.json);
revision = "release-${release-config.release}";
# Generate the `man home-configuration.nix` package
home-configuration-manual =
pkgs.runCommand "home-configuration-reference-manpage"
{
nativeBuildInputs = [
pkgs.buildPackages.installShellFiles
pkgs.nixos-render-docs
];
allowedReferences = [ "out" ];
}
''
# Generate manpages.
mkdir -p $out/share/man/man5
mkdir -p $out/share/man/man1
nixos-render-docs -j $NIX_BUILD_CORES options manpage \
--revision ${revision} \
--header ${./home-configuration-nix-header.5} \
--footer ${./home-configuration-nix-footer.5} \
${hmOptionsDocs.optionsJSON}/share/doc/nixos/options.json \
$out/share/man/man5/home-configuration.nix.5
cp ${./home-manager.1} $out/share/man/man1/home-manager.1
'';
# Generate the HTML manual pages
home-manager-manual = pkgs.callPackage ./home-manager-manual.nix {
home-manager-options = {
home-manager = hmOptionsDocs.optionsJSON;
nixos = nixosOptionsDocs.optionsJSON;
nix-darwin = nixDarwinOptionsDocs.optionsJSON;
};
in builtins.toJSON result.config.meta.maintainers);
inherit revision;
};
html = home-manager-manual;
htmlOpenTool = pkgs.callPackage ./html-open-tool.nix { } { inherit html; };
in
{
options = {
# TODO: Use `hmOptionsDocs.optionsJSON` directly once upstream
# `nixosOptionsDoc` is more customizable.
json =
pkgs.runCommand "options.json"
{
meta.description = "List of Home Manager options in JSON format";
}
''
mkdir -p $out/{share/doc,nix-support}
cp -a ${hmOptionsDocs.optionsJSON}/share/doc/nixos $out/share/doc/home-manager
substitute \
${hmOptionsDocs.optionsJSON}/nix-support/hydra-build-products \
$out/nix-support/hydra-build-products \
--replace-fail \
'${hmOptionsDocs.optionsJSON}/share/doc/nixos' \
"$out/share/doc/home-manager"
'';
};
manPages = home-configuration-manual;
manual = { inherit html htmlOpenTool; };
# Unstable, mainly for CI.
jsonModuleMaintainers = pkgs.writeText "hm-module-maintainers.json" (
let
result = lib.evalModules {
modules =
import ../modules/modules.nix {
inherit lib pkgs;
check = false;
}
++ [ scrubbedPkgsModule ];
class = "homeManager";
};
in
builtins.toJSON result.config.meta.maintainers
);
}

View File

@@ -1,189 +0,0 @@
[[ch-faq]]
== Frequently Asked Questions (FAQ)
=== Why is there a collision error when switching generation?
Home Manager currently installs packages into the user environment, precisely as if the packages were installed through `nix-env --install`. This means that you will get a collision error if your Home Manager configuration attempts to install a package that you already have installed manually, that is, packages that shows up when you run `nix-env --query`.
For example, imagine you have the `hello` package installed in your environment
[source,console]
----
$ nix-env --query
hello-2.10
----
and your Home Manager configuration contains
[source,nix]
----
home.packages = [ pkgs.hello ];
----
Then attempting to switch to this configuration will result in an error similar to
[source,console]
----
$ home-manager switch
these derivations will be built:
/nix/store/xg69wsnd1rp8xgs9qfsjal017nf0ldhm-home-manager-path.drv
[…]
Activating installPackages
replacing old home-manager-path
installing home-manager-path
building path(s) /nix/store/b5c0asjz9f06l52l9812w6k39ifr49jj-user-environment
Wide character in die at /nix/store/64jc9gd2rkbgdb4yjx3nrgc91bpjj5ky-buildenv.pl line 79.
collision between /nix/store/fmwa4axzghz11cnln5absh31nbhs9lq1-home-manager-path/bin/hello and /nix/store/c2wyl8b9p4afivpcz8jplc9kis8rj36d-hello-2.10/bin/hello; use nix-env --set-flag priority NUMBER PKGNAME to change the priority of one of the conflicting packages
builder for /nix/store/b37x3s7pzxbasfqhaca5dqbf3pjjw0ip-user-environment.drv failed with exit code 2
error: build of /nix/store/b37x3s7pzxbasfqhaca5dqbf3pjjw0ip-user-environment.drv failed
----
The solution is typically to uninstall the package from the environment using `nix-env --uninstall` and reattempt the Home Manager generation switch.
You could also opt to unistall _all_ of the packages from your profile with `nix-env --uninstall '*'`.
=== Why are the session variables not set?
:foreign-env: https://github.com/oh-my-fish/plugin-foreign-env
Home Manager is only able to set session variables automatically if it manages your Bash, Z shell, or fish shell configuration. To enable such management you use <<opt-programs.bash.enable>>, <<opt-programs.zsh.enable>>, or <<opt-programs.fish.enable>>.
If you don't want to let Home Manager manage your shell then you will have to manually source the `~/.nix-profile/etc/profile.d/hm-session-vars.sh` file in an appropriate way. In Bash and Z shell this can be done by adding
[source,bash]
----
. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
----
to your `.profile` and `.zshrc` files, respectively. The `hm-session-vars.sh` file should work in most Bourne-like shells. For fish shell, it is possible to source it using {foreign-env}[the foreign-env plugin]
[source,bash]
----
fenv source "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh" > /dev/null
----
=== How to set up a configuration for multiple users/machines?
:post-your-homenix: https://www.reddit.com/r/NixOS/comments/9bb9h9/post_your_homemanager_homenix_file/
A typical way to prepare a repository of configurations for multiple logins and machines is to prepare one "top-level" file for each unique combination.
For example, if you have two machines, called "kronos" and "rhea" on which you want to configure your user "jane" then you could create the files
- `kronos-jane.nix`,
- `rhea-jane.nix`, and
- `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.
The `kronos-jane.nix` and `rhea-jane.nix` files follow the format
[source,nix]
----
{ ... }:
{
imports = [ ./common.nix ];
# Various options that are specific for this machine/user.
}
----
while the `common.nix` file contains configuration shared across the two logins. Of course, instead of just a single `common.nix` file you can have multiple ones, even one per program or service.
You can get some inspiration from the {post-your-homenix}[Post your home-manager home.nix file!] Reddit thread.
=== Why do I get an error message about `ca.desrt.dconf` or `dconf.service`?
You are most likely trying to configure something that uses dconf
but the DBus session is not aware of the dconf service.
The full error you might get is
----
error: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name ca.desrt.dconf was not provided by any .service files
----
or
----
error: GDBus.Error:org.freedesktop.systemd1.NoSuchUnit: Unit dconf.service not found.
----
The solution on NixOS is to add
[source,nix]
programs.dconf.enable = true;
to your system configuration.
=== How do I install packages from Nixpkgs unstable?
If you are using a stable version of Nixpkgs but would like to install some particular packages from Nixpkgs unstable or some other channel then you can import the unstable Nixpkgs and refer to its packages within your configuration. Something like
[source,nix]
----
{ pkgs, config, ... }:
let
pkgsUnstable = import <nixpkgs-unstable> {};
in
{
home.packages = [
pkgsUnstable.foo
];
# …
}
----
should work provided you have a Nix channel called `nixpkgs-unstable`.
You can add the `nixpkgs-unstable` channel by running
[source,console]
----
$ nix-channel --add https://nixos.org/channels/nixpkgs-unstable nixpkgs-unstable
$ nix-channel --update
----
Note, the package will not be affected by any package overrides, overlays, etc.
=== How do I override the package used by a module?
:nixpkgs-overlays: https://nixos.org/nixpkgs/manual/#chap-overlays
By default Home Manager will install the package provided by your chosen `nixpkgs` channel but occasionally you might end up needing to change this package. This can typically be done in two ways.
1. If the module provides a `package` option, such as `programs.beets.package`, then this is the recommended way to perform the override. For example,
+
[source,nix]
programs.beets.package = pkgs.beets.override { enableCheck = true; };
2. If no `package` option is available then you can typically override the relevant package using an {nixpkgs-overlays}[overlay].
+
For example, if you want to use the `programs.skim` module but use the `skim` package from Nixpkgs unstable, then a configuration like
+
[source,nix]
----
{ pkgs, config, ... }:
let
pkgsUnstable = import <nixpkgs-unstable> {};
in
{
programs.skim.enable = true;
nixpkgs.overlays = [
(self: super: {
skim = pkgsUnstable.skim;
})
];
# …
}
----
+
should work OK.

45
docs/flake.lock generated Normal file
View File

@@ -0,0 +1,45 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1743938762,
"narHash": "sha256-UgFYn8sGv9B8PoFpUfCa43CjMZBl1x/ShQhRDHBFQdI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "74a40410369a1c35ee09b8a1abee6f4acbedc059",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs",
"scss-reset": "scss-reset"
}
},
"scss-reset": {
"flake": false,
"locked": {
"lastModified": 1683906868,
"narHash": "sha256-cif5Sx8Ca5vxdw/mNAgpulLH15TwmzyJFNM7JURpoaE=",
"owner": "andreymatin",
"repo": "scss-reset",
"rev": "5a7bd491ac82441e6283fb0d5d54644b913b30c7",
"type": "github"
},
"original": {
"owner": "andreymatin",
"ref": "1.4.2",
"repo": "scss-reset",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

89
docs/flake.nix Normal file
View File

@@ -0,0 +1,89 @@
{
description = "Support developing Home Manager documentation";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
scss-reset = {
url = "github:andreymatin/scss-reset/1.4.2";
flake = false;
};
};
outputs =
{
nixpkgs,
scss-reset,
...
}:
let
supportedSystems = [
"aarch64-darwin"
"aarch64-linux"
"i686-linux"
"x86_64-darwin"
"x86_64-linux"
];
# Note, this should be "the standard library" + HM extensions.
lib = import ../modules/lib/stdlib-extended.nix nixpkgs.lib;
forAllSystems = lib.genAttrs supportedSystems;
flakePkgs = pkgs: {
p-build = pkgs.writeShellScriptBin "p-build" ''
set -euo pipefail
export PATH=${
lib.makeBinPath [
pkgs.coreutils
pkgs.rsass
]
}
tmpfile=$(mktemp -d)
trap "rm -r $tmpfile" EXIT
ln -s "${scss-reset}/build" "$tmpfile/scss-reset"
rsass --load-path="$tmpfile" --style compressed \
./static/style.scss > ./static/style.css
echo "Generated ./static/style.css"
'';
};
releaseInfo = lib.importJSON ../release.json;
in
{
devShells = forAllSystems (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
fpkgs = flakePkgs pkgs;
in
{
default = pkgs.mkShell {
name = "hm-docs";
packages = [ fpkgs.p-build ];
};
}
);
# Expose the docs outputs
packages = forAllSystems (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
docs = import ./default.nix {
inherit pkgs lib;
release = releaseInfo.release;
isReleaseBranch = releaseInfo.isReleaseBranch;
};
in
{
inherit (docs) manPages jsonModuleMaintainers;
inherit (docs.manual) html htmlOpenTool;
inherit (docs.options) json;
}
);
};
}

View File

@@ -0,0 +1,3 @@
.SH "AUTHORS"
.PP
Home Manager contributors

View File

@@ -0,0 +1,17 @@
.TH "HOME-CONFIGURATION\&.NIX" "5" "01/01/1980" "Home Manager"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" enable line breaks after slashes
.cflags 4 /
.SH "NAME"
\fIhome\-configuration\&.nix\fP \- Home Manager configuration specification
.SH "DESCRIPTION"
.sp
The file ~/\&.config/home\-manager/home\&.nix contains the declarative specification of your Home Manager configuration\&. The command \fBhome\-manager\fR takes this file and realises the user environment configuration specified therein\&.
.SH "OPTIONS"
.PP
You can use the following options in
home\-configuration\&.nix:
.PP

View File

@@ -0,0 +1,75 @@
{
stdenv,
lib,
documentation-highlighter,
revision,
home-manager-options,
nixos-render-docs,
}:
let
outputPath = "share/doc/home-manager";
in
stdenv.mkDerivation {
name = "home-manager-manual";
nativeBuildInputs = [ nixos-render-docs ];
src = ./manual;
buildPhase = ''
mkdir -p out/{highlightjs,media}
cp -t out/highlightjs \
${documentation-highlighter}/highlight.pack.js \
${documentation-highlighter}/LICENSE \
${documentation-highlighter}/mono-blue.css \
${documentation-highlighter}/loader.js
substituteInPlace ./options.md \
--subst-var-by \
OPTIONS_JSON \
${home-manager-options.home-manager}/share/doc/nixos/options.json
substituteInPlace ./nixos-options.md \
--subst-var-by \
OPTIONS_JSON \
${home-manager-options.nixos}/share/doc/nixos/options.json
substituteInPlace ./nix-darwin-options.md \
--subst-var-by \
OPTIONS_JSON \
${home-manager-options.nix-darwin}/share/doc/nixos/options.json
cp ${./options.html} out/options.html
cp ${./static/style.css} out/style.css
cp -r ${./release-notes} release-notes
nixos-render-docs manual html \
--manpage-urls ./manpage-urls.json \
--revision ${lib.trivial.revisionWithDefault revision} \
--stylesheet style.css \
--script highlightjs/highlight.pack.js \
--script highlightjs/loader.js \
--toc-depth 1 \
--section-toc-depth 1 \
manual.md \
out/index.xhtml
'';
installPhase = ''
dest="$out/${outputPath}"
mkdir -p "$(dirname "$dest")"
mv out "$dest"
mkdir -p $out/nix-support/
echo "doc manual $dest index.html" >> $out/nix-support/hydra-build-products
'';
passthru = { inherit home-manager-options; };
meta = {
maintainers = [ lib.maintainers.considerate ];
};
}

409
docs/home-manager.1 Normal file
View File

@@ -0,0 +1,409 @@
.Dd January 1, 1980
.Dt home-manager 1
.Os Home Manager
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" enable line breaks after slashes
.cflags 4 /
.Sh NAME
.Nm home-manager
.Nd reconfigure a user environment
.
.
.
.Sh SYNOPSIS
.Nm home-manager
.Bro
.Cm build
.Cm | init Op Fl -switch Ar dir
.Cm | instantiate
.Cm | edit
.Cm | expire-generations Ar timestamp
.Cm | generations
.Cm | help
.Cm | news
.Cm | option Ar option.name
.Cm | packages
.Cm | remove-generations Ar ID \&...
.Cm | switch
.Cm | uninstall
.Brc
.Op Fl A Ar attrPath
.Op Fl I Ar path
.Op Fl -flake Ar flake-uri
.Op Fl b Ar ext
.Op Bro Fl f | Fl -file Brc Ar path
.Op Bro Fl h | Fl -help Brc
.Op Fl -version
.Op Bro Fl n | Fl -dry-run Brc
.Op Fl -option Ar name Ar value
.Op Fl -cores Ar number
.Op Bro Fl j | Fl -max-jobs Brc Ar number
.Op Fl -option
.Op Fl -impure
.Op Fl -keep-failed
.Op Fl -keep-going
.Op Bro Fl L | Fl -print-build-logs Brc
.Op Fl -log-format
.Op Fl -show-trace
.Op Fl -(no-)substitute
.Op Fl -no-out-link
.Op Fl -refresh
.Op Bro Fl v | Fl -verbose Brc
.
.Sh DESCRIPTION
.Pp
This command updates the user environment so that it corresponds to the configuration specified in
$XDG_CONFIG_HOME/home-manager/home.nix
or
$XDG_CONFIG_HOME/home-manager/flake.nix.
.Pp
All operations using this tool expects a sub-command that indicates the operation to perform. It must be one of
.Pp
.Bl -tag -width Ds
.It Cm build
.RS 4
Build configuration into a result directory.
.RE
.It Cm init Op Fl -switch Op Ar dir
.RS 14
Generates an initial home.nix file for the current user. If Nix flakes are
enabled, then this command also generates a flake.nix file.
.sp
If a path
.Ar dir
is given then the configuration will be generated in that directory. Otherwise, the configuration will be generated in
~/.config/home-manager. The output directory will be created if it does not exist.
.sp
If the
.Fl -switch
option is given, then the generated configuration is activated.
.sp
Note, this command will not overwrite any existing files. It is therefore safe to initialize a configuration, edit it, and then re-run the
.Cm init
command with
.Fl -switch
enabled to activate the configuration.
.RE
.Pp
.It Cm instantiate
.RS 15
Instantiate the configuration and print the resulting derivation\&.
.RE
.Pp
.It Cm edit
.RS 16
Open the home configuration using the editor indicated by \fBVISUAL\fR or \fBEDITOR\fR\&.
.RE
.Pp
.It Cm expire-generations Ar timestamp
.RS 4
Remove generations older than
.Ar timestamp
where
.Ar timestamp
is interpreted as in the
.Fl d
argument of the
\fBdate\fR(1)
tool. For example
-30 days or 2018-01-01.
.RE
.PP
.It Cm generations
.RS 4
List all home environment generations\&.
.RE
.Pp
.It Cm help
.RS 4
Print tool help.
.RE
.Pp
.It Cm news
.RS 4
Show news entries in a pager.
.RE
.PP
.It Cm option Ar option.name
.RS 4
Inspect the given option name in the home configuration, like
\fBnixos-option\fR(8)\&.
.RE
.Pp
.It Cm packages
.RS 4
List all packages installed in home-manager-path.
.RE
.Pp
.It Cm remove-generations Ar ID \&...
.RS 4
Remove indicated generations. Use the
.Cm generations
sub-command to find suitable generation numbers.
.RE
.Pp
.It Cm switch
.RS 4
Build and activate the configuration\&.
.RE
.Pp
.It Cm uninstall
.RS 4
Remove Home Manager from the user environment\&. This will
.sp
.RE
.RS 4
.Bl -bullet
.It
remove all managed files from the home directory,
.RE
.sp
.RS 4
.It
remove packages installed through Home Manager from the user profile, and
.RE
.sp
.RS 4
.It
remove all Home Manager generations and make them available for immediate garbage collection\&.
.RE
.El
.sp
.RE
.El
.
.Sh OPTIONS
.Pp
The tool accepts the options
.Pp
.Bl -tag -width Ds
.It Cm Fl A Ar attrPath
.RS 4
Optional attribute that selects a configuration expression in the configuration file. That is, if
home.nix contains
.sp
.if n \{\
.RS 4
.\}
.nf
{
joe\-at\-work = {pkgs, \&.\&.\&.}: { home\&.packages = [ pkgs\&.fortune ]; };
joe\-at\-home = {pkgs, \&.\&.\&.}: { home\&.packages = [ pkgs\&.cowsay ]; };
}
.fi
.if n \{\
.RE
.\}
.sp
then the command
\fBhome\-manager switch \-A joe\-at\-work\fR
will activate the profile containing the fortune program\&.
.RE
.PP
.It Cm Fl I Ar path
.RS 4
Add a path to the Nix expression search path. For example, to build a Home Manager profile using a specific Nixpkgs run
.Cm home-manager Fl I Ar nixpkgs=/absolute/path/to/nixpkgs build.
By default
.Ar <nixpkgs>
is used.
.RE
.Pp
.It Cm Fl -flake Ar flake-uri[#name]
.RS 4
Build Home Manager configuration from the flake, which must contain the output homeConfigurations.name. If no name is specified it will first try username@hostname and then username.
.RE
.Pp
.It Cm Fl b Ar extension
.RS 4
Enable automatic resolution of collisions between unmanaged and managed files\&. The name of the original file will be suffixed by the given extension\&. For example,
.sp
.if n \{\
.RS 4
.\}
.nf
$ \fBhome\-manager \-b bck switch\fR
.fi
.if n \{\
.RE
.\}
.sp
will cause a colliding file
~/\&.config/foo\&.conf
to be moved to
~/\&.config/foo\&.conf\&.bck\&.
.RE
.Pp
.It Cm Fl f Ar path, Fl -file Ar path
.RS 4
Indicates the path to the Home Manager configuration file. If not given,
$XDG_CONFIG_HOME/home-manager/home.nix
is used.
.RE
.Pp
.It Cm Fl h, Fl -help
.RS 4
Prints usage information for the
\fBhome\-manager\fR
tool.
.RE
.Pp
.It Cm Fl -version
.RS 4
Prints the version number of the
\fBhome\-manager\fR
tool.
.RE
.Pp
.It Cm Fl n, Fl -dry-run
.RS 4
Perform a dry-run of the given operation, only prints what actions would be taken.
.RE
.Pp
.It Cm Fl -option Ar name Ar value
.RS 4
Passed on to
\fBnix-build\fR(1)\&.
.RE
.Pp
.It Cm Fl -cores Ar number
.RS 4
Passed on to
\fBnix-build\fR(1)\&.
.RE
.Pp
.It Cm Fl j Ar number, Fl -max-jobs Ar number
.RS 4
Passed on to
\fBnix-build\fR(1)\&.
.RE
.\" TODO
.Pp
.It Cm Fl -debug
.RS 4
Passed on to
\fBnix-build\fR(1)\&.
.RE
.Pp
.It Cm Fl -impure
.RS 4
Passed on to
\fBnix-build\fR(1)\&.
.RE
.Pp
.It Cm Fl -keep-failed
.RS 4
Passed on to
\fBnix-build\fR(1)\&.
.RE
.Pp
.It Cm Fl -keep-going
.RS 4
Passed on to
\fBnix-build\fR(1)\&.
.RE
.Pp
.It Cm Fl L, Fl -print-build-logs
.RS 4
Passed on to
\fBnix build\fR()
when building from a flake\&.
.RE
.Pp
.It Cm Fl -log-format Ar format
.RS 4
Passed on to
\fBnix-build\fR(1)\&.
.RE
.Pp
.It Cm Fl -show-trace
.RS 4
Passed on to
\fBnix-build\fR(1)\&.
.RE
.Pp
.It Cm Fl -(no-)substitute
.RS 4
Passed on to
\fBnix-build\fR(1)\&.
.RE
.Pp
.It Cm Fl -no-out-link
.RS 4
Passed on to
\fBnix-build\fR(1)
when running
\fBhome\-manager build\fR\&.
.RE
.Pp
.It Cm Fl -refresh
.RS 4
Passed on to
\fBnix-build\fR(1)
.RE
.Pp
.It Cm Fl v, Fl -verbose
.RS 4
Activates verbose output\&.
.RE
.El
.Sh FILES
.Pp
$XDG_DATA_HOME/home\-manager/news\-read\-ids
.RS 4
Identifiers of news items that have been shown\&. Can be deleted to reset the read news indicator\&.
.RE
.Sh BUGS
.Pp
Please report any bugs on the
\m[blue]\fBproject issue tracker\fR\m[]\&.
.Sh SEE ALSO
.Pp
\fBhome-configuration.nix\fR(5)
.Sh AUTHOR
.Pp
\fBHome Manager contributors\fR
.RS 4
Author.
.RE
.Sh COPYRIGHT
.br
Copyright \(co 2017\(en2025 Home Manager contributors
.br

48
docs/html-open-tool.nix Normal file
View File

@@ -0,0 +1,48 @@
{
writeShellScriptBin,
makeDesktopItem,
symlinkJoin,
}:
{
html,
pathName ? "home-manager",
projectName ? pathName,
name ? "${pathName}-help",
}:
let
helpScript = writeShellScriptBin name ''
set -euo pipefail
if [[ ! -v BROWSER || -z $BROWSER ]]; then
for candidate in xdg-open open w3m; do
BROWSER="$(type -P $candidate || true)"
if [[ -x $BROWSER ]]; then
break;
fi
done
fi
if [[ ! -v BROWSER || -z $BROWSER ]]; then
echo "$0: unable to start a web browser; please set \$BROWSER"
exit 1
else
exec "$BROWSER" "${html}/share/doc/${pathName}/index.xhtml"
fi
'';
desktopItem = makeDesktopItem {
name = "${pathName}-manual";
desktopName = "${projectName} Manual";
genericName = "View ${projectName} documentation in a web browser";
icon = "nix-snowflake";
exec = "${helpScript}/bin/${name}";
categories = [ "System" ];
};
in
symlinkJoin {
inherit name;
paths = [
helpScript
desktopItem
];
}

View File

@@ -1,332 +0,0 @@
[[ch-installation]]
== Installing Home Manager
:nix-darwin: https://github.com/LnL7/nix-darwin/
Home Manager can be used in three primary 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-install-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-install-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-install-nix-darwin-module>>
for a description of this setup.
[[sec-install-standalone]]
=== Standalone installation
:nix-allowed-users: https://nixos.org/nix/manual/#conf-allowed-users
:nixos-allowed-users: https://nixos.org/nixos/manual/options.html#opt-nix.allowedUsers
:bash: https://www.gnu.org/software/bash/
:zsh: http://zsh.sourceforge.net/
:fish: https://fishshell.com
:plugin-foreign-env: https://github.com/oh-my-fish/plugin-foreign-env
:babelfish: https://github.com/bouk/babelfish
1. Make sure you have a working Nix installation. Specifically, make
sure that your user is able to build and install Nix packages. For
example, you should be able to successfully run a command like
`nix-instantiate '<nixpkgs>' -A hello` without having to switch to the
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
option. On NixOS you can control this option using the
{nixos-allowed-users}[`nix.allowedUsers`] system option.
2. Add the appropriate Home Manager channel. If you are following
Nixpkgs master or an unstable channel you can run
+
[source,console]
----
$ nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
$ nix-channel --update
----
+
and if you follow a Nixpkgs version 22.11 channel you can run
+
[source,console]
----
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-22.11.tar.gz home-manager
$ nix-channel --update
----
+
On non-NixOS, you may have to add
+
[source,bash]
export NIX_PATH=$HOME/.nix-defexpr/channels:/nix/var/nix/profiles/per-user/root/channels${NIX_PATH:+:$NIX_PATH}
+
to your shell (see https://github.com/NixOS/nix/issues/2033[nix#2033]
and
https://discourse.nixos.org/t/where-is-nix-path-supposed-to-be-set/16434/8[this
reply on the Nix Discourse]).
3. Run the Home Manager installation command and create the first Home
Manager generation:
+
[source,console]
$ nix-shell '<home-manager>' -A install
+
Once finished, Home Manager should be active and available in your
user environment.
4. If you do not plan on having Home Manager manage your shell
configuration then you must source the
+
[source,bash]
$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh
+
file in your shell configuration. Alternatively source
+
[source,bash]
/etc/profiles/per-user/$USER/etc/profile.d/hm-session-vars.sh
+
when managing home configuration together with system configuration.
+
This file can be sourced directly by POSIX.2-like shells such as
{bash}[Bash] or {zsh}[Z shell]. {fish}[Fish] users can use utilities
such as {plugin-foreign-env}[foreign-env] or {babelfish}[babelfish].
+
For example, if you use Bash then add
+
[source,bash]
----
. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
----
+
to your `~/.profile` file.
If instead of using channels you want to run Home Manager from a Git
checkout of the repository then you can use the
<<opt-programs.home-manager.path>> option to specify the absolute path
to the repository.
Once installed you can see <<ch-usage>> for a more detailed
description of Home Manager and how to use it.
[[sec-install-nixos-module]]
=== NixOS module
Home Manager provides a NixOS module that allows you to prepare user
environments directly from the system configuration file, which often
is more convenient than using the `home-manager` tool. It also opens
up additional possibilities, for example, to automatically configure
user environments in NixOS declarative containers or on systems
deployed through NixOps.
To make the NixOS module available for use you must `import` it into
your system configuration. This is most conveniently done by adding a
Home Manager channel to the root user. For example, if you are
following Nixpkgs master or an unstable channel, you can run
[source,console]
----
$ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
$ sudo nix-channel --update
----
and if you follow a Nixpkgs version 22.11 channel, you can run
[source,console]
----
$ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-22.11.tar.gz home-manager
$ sudo nix-channel --update
----
It is then possible to add
[source,nix]
imports = [ <home-manager/nixos> ];
to your system `configuration.nix` file, which will introduce a new
NixOS option called `home-manager.users` whose type is an attribute
set that maps user names to Home Manager configurations.
For example, a NixOS configuration may include the lines
[source,nix]
----
users.users.eve.isNormalUser = true;
home-manager.users.eve = { pkgs, ... }: {
home.packages = [ pkgs.atool pkgs.httpie ];
programs.bash.enable = true;
};
----
and after a `sudo nixos-rebuild switch` the user eve's environment should
include a basic Bash configuration and the packages atool and httpie.
[NOTE]
====
If `nixos-rebuild switch` does not result in the environment you expect,
you can take a look at the output of the Home Manager activation script output using
[source,console]
$ systemctl status "home-manager-$USER.service"
====
If you do not plan on having Home Manager manage your shell
configuration then you must add either
[source,bash]
----
. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
----
or
[source,bash]
----
. "/etc/profiles/per-user/$USER/etc/profile.d/hm-session-vars.sh"
----
to your shell configuration, depending on whether
<<nixos-opt-home-manager.useUserPackages>> is enabled. This file can
be sourced directly by POSIX.2-like shells such as {bash}[Bash] or
{zsh}[Z shell]. {fish}[Fish] users can use utilities such as
{plugin-foreign-env}[foreign-env] or {babelfish}[babelfish].
[NOTE]
====
By default packages will be installed to `$HOME/.nix-profile` but they
can be installed to `/etc/profiles` if
[source,nix]
home-manager.useUserPackages = true;
is added to the system configuration. This is necessary if, for
example, you wish to use `nixos-rebuild build-vm`. This option may
become the default value in the future.
====
[NOTE]
====
By default, Home Manager uses a private `pkgs` instance that is
configured via the `home-manager.users.<name>.nixpkgs` options. To
instead use the global `pkgs` that is configured via the system level
`nixpkgs` options, set
[source,nix]
home-manager.useGlobalPkgs = true;
This saves an extra Nixpkgs evaluation, adds consistency, and removes
the dependency on `NIX_PATH`, which is otherwise used for importing
Nixpkgs.
====
Once installed you can see <<ch-usage>> for a more detailed
description of Home Manager and how to use it.
[[sec-install-nix-darwin-module]]
=== nix-darwin module
Home Manager provides a module that allows you to prepare user
environments directly from the {nix-darwin}[nix-darwin] configuration
file, which often is more convenient than using the `home-manager`
tool.
To make the NixOS module available for use you must `import` it into
your system configuration. This is most conveniently done by adding a
Home Manager channel. For example, if you are following Nixpkgs master
or an unstable channel, you can run
[source,console]
----
$ nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
$ nix-channel --update
----
and if you follow a Nixpkgs version 22.11 channel, you can run
[source,console]
----
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-22.11.tar.gz home-manager
$ nix-channel --update
----
It is then possible to add
[source,nix]
imports = [ <home-manager/nix-darwin> ];
to your nix-darwin `configuration.nix` file, which will introduce a
new NixOS option called `home-manager` whose type is an attribute set
that maps user names to Home Manager configurations.
For example, a nix-darwin configuration may include the lines
[source,nix]
----
users.users.eve = {
name = "eve";
home = "/Users/eve";
}
home-manager.users.eve = { pkgs, ... }: {
home.packages = [ pkgs.atool pkgs.httpie ];
programs.bash.enable = true;
};
----
and after a `darwin-rebuild switch` the user eve's environment
should include a basic Bash configuration and the packages atool and
httpie.
If you do not plan on having Home Manager manage your shell
configuration then you must add either
[source,bash]
----
. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
----
or
[source,bash]
----
. "/etc/profiles/per-user/$USER/etc/profile.d/hm-session-vars.sh"
----
to your shell configuration, depending on whether
<<nix-darwin-opt-home-manager.useUserPackages>> is enabled. This file
can be sourced directly by POSIX.2-like shells such as {bash}[Bash] or
{zsh}[Z shell]. {fish}[Fish] users can use utilities such as
{plugin-foreign-env}[foreign-env] or {babelfish}[babelfish].
[NOTE]
====
By default user packages will not be ignored in favor of
`environment.systemPackages`, but they will be installed to
`/etc/profiles/per-user/$USERNAME` if
[source,nix]
home-manager.useUserPackages = true;
is added to the nix-darwin configuration. This option may become the
default value in the future.
====
[NOTE]
====
By default, Home Manager uses a private `pkgs` instance that is
configured via the `home-manager.users.<name>.nixpkgs` options. To
instead use the global `pkgs` that is configured via the system level
`nixpkgs` options, set
[source,nix]
home-manager.useGlobalPkgs = true;
This saves an extra Nixpkgs evaluation, adds consistency, and removes
the dependency on `NIX_PATH`, which is otherwise used for importing
Nixpkgs.
====
Once installed you can see <<ch-usage>> for a more detailed
description of Home Manager and how to use it.

View File

@@ -1,40 +0,0 @@
<refentry xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refmeta>
<refentrytitle><filename>home-configuration.nix</filename></refentrytitle>
<manvolnum>5</manvolnum>
<refmiscinfo class="source">Home Manager</refmiscinfo>
<!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
</refmeta>
<refnamediv>
<refname><filename>home-configuration.nix</filename></refname>
<refpurpose>Home Manager configuration specification</refpurpose>
</refnamediv>
<refsection>
<title>Description</title>
<para>
The file <filename>~/.config/nixpkgs/home.nix</filename> contains the
declarative specification of your Home Manager configuration. The command
<command>home-manager</command> takes this file and realises the user
environment configuration specified therein.
</para>
</refsection>
<refsection>
<title>Options</title>
<para>
You can use the following options in
<filename>home-configuration.nix</filename>:
</para>
<xi:include href="./nmd-result/home-manager-options.xml" />
</refsection>
<refsection>
<title>See also</title>
<para>
<citerefentry>
<refentrytitle>home-manager</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
</para>
</refsection>
</refentry>

View File

@@ -1,662 +0,0 @@
<refentry xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refmeta>
<refentrytitle><command>home-manager</command>
</refentrytitle><manvolnum>1</manvolnum>
<refmiscinfo class="source">Home Manager</refmiscinfo>
</refmeta>
<refnamediv>
<refname><command>home-manager</command>
</refname><refpurpose>reconfigure a user environment</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>home-manager</command> <group choice="req">
<arg choice="plain">
build
</arg>
<arg choice="plain">
instantiate
</arg>
<arg choice="plain">
edit
</arg>
<arg choice="plain">
expire-generations <replaceable>timestamp</replaceable>
</arg>
<arg choice="plain">
generations
</arg>
<arg choice="plain">
help
</arg>
<arg choice="plain">
news
</arg>
<arg choice="plain">
option <replaceable>option.name</replaceable>
</arg>
<arg choice="plain">
packages
</arg>
<arg choice="plain">
remove-generations <replaceable>ID …</replaceable>
</arg>
<arg choice="plain">
switch
</arg>
<arg choice="plain">
uninstall
</arg>
</group>
<sbr />
<arg>
-A <replaceable>attrPath</replaceable>
</arg>
<arg>
-I <replaceable>path</replaceable>
</arg>
<arg>
--flake <replaceable>flake-uri</replaceable>
</arg>
<arg>
-b <replaceable>ext</replaceable>
</arg>
<arg>
<group choice="req">
<arg choice="plain">
-f
</arg>
<arg choice="plain">
--file
</arg>
</group> <replaceable>path</replaceable>
</arg>
<arg>
<group choice="req">
<arg choice="plain">
-h
</arg>
<arg choice="plain">
--help
</arg>
</group>
</arg>
<arg>
--version
</arg>
<arg>
<group choice="req">
<arg choice="plain">
-n
</arg>
<arg choice="plain">
--dry-run
</arg>
</group>
</arg>
<arg>
--option <replaceable>name</replaceable> <replaceable>value</replaceable>
</arg>
<arg>
--cores <replaceable>number</replaceable>
</arg>
<arg>
<group choice="req">
<arg choice="plain">
-j
</arg>
<arg choice="plain">
--max-jobs
</arg>
</group>
<replaceable>number</replaceable>
</arg>
<arg>
--debug
</arg>
<arg>
--impure
</arg>
<arg>
--keep-failed
</arg>
<arg>
--keep-going
</arg>
<arg>
<group choice="req">
<arg choice="plain">
-L
</arg>
<arg choice="plain">
--print-build-logs
</arg>
</group>
</arg>
<arg>
--show-trace
</arg>
<arg>
--(no-)substitute
</arg>
<arg>
--no-out-link
</arg>
<arg>
<group choice="req">
<arg choice="plain">
-v
</arg>
<arg choice="plain">
--verbose
</arg>
</group>
</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsection>
<title>Description</title>
<para>
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>.
</para>
<para>
All operations using this tool expects a sub-command that indicates the
operation to perform. It must be one of
<variablelist>
<varlistentry>
<term>
<option>build</option>
</term>
<listitem>
<para>
Build configuration into a <filename>result</filename> directory.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>instantiate</option>
</term>
<listitem>
<para>
Instantiate the configuration and print the resulting derivation.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>edit</option>
</term>
<listitem>
<para>
Open the home configuration using the editor indicated by
<envar>EDITOR</envar>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>expire-generations <replaceable>timestamp</replaceable></option>
</term>
<listitem>
<para>
Remove generations older than <replaceable>timestamp</replaceable> where
<replaceable>timestamp</replaceable> is interpreted as in the
<option>-d</option> argument of the <citerefentry>
<refentrytitle>date</refentrytitle>
<manvolnum>1</manvolnum> </citerefentry> tool. For example <literal>-30
days</literal> or <literal>2018-01-01</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>generations</option>
</term>
<listitem>
<para>
List all home environment generations.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>help</option>
</term>
<listitem>
<para>
Print tool help.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>news</option>
</term>
<listitem>
<para>
Show news entries in a pager.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>option <replaceable>option.name</replaceable></option>
</term>
<listitem>
<para>
Inspect the given option name in the home configuration, like <citerefentry>
<refentrytitle>nixos-option</refentrytitle>
<manvolnum>8</manvolnum> </citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>packages</option>
</term>
<listitem>
<para>
List all packages installed in <varname>home-manager-path</varname>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>remove-generations <replaceable>ID …</replaceable></option>
</term>
<listitem>
<para>
Remove indicated generations. Use the <option>generations</option>
sub-command to find suitable generation numbers.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>switch</option>
</term>
<listitem>
<para>
Build and activate the configuration.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>uninstall</option>
</term>
<listitem>
<para>
Remove Home Manager from the user environment. This will
<itemizedlist>
<listitem>
<para>
remove all managed files from the home directory,
</para>
</listitem>
<listitem>
<para>
remove packages installed through Home Manager from the user profile,
and
</para>
</listitem>
<listitem>
<para>
optionally remove all Home Manager generations and make them
available for immediate garbage collection.
</para>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsection>
<refsection>
<title>Options</title>
<para>
The tool accepts the options
</para>
<variablelist>
<varlistentry>
<term>
<option>-A <replaceable>attrPath</replaceable></option>
</term>
<listitem>
<para>
Optional attribute that selects a configuration expression in the
configuration file. That is, if <filename>home.nix</filename> contains
<programlisting language="nix">
{
joe-at-work = {pkgs, ...}: { home.packages = [ pkgs.fortune ]; };
joe-at-home = {pkgs, ...}: { home.packages = [ pkgs.cowsay ]; };
}
</programlisting>
then the command <command>home-manager switch -A joe-at-work</command>
will activate the profile containing the fortune program.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-I <replaceable>path</replaceable></option>
</term>
<listitem>
<para>
Add a path to the Nix expression search path. For example, to build a
Home Manager profile using a specific Nixpkgs run <command>home-manager
-I nixpkgs=/absolute/path/to/nixpkgs build</command>. By default
<literal>&lt;nixpkgs&gt;</literal> is used.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--flake <replaceable>flake-uri[#name]</replaceable></option>
</term>
<listitem>
<para>
Build Home Manager configuration from the flake, which must contain the
output homeConfigurations.name. If no name is specified it will first try
username@hostname and then username.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-b <replaceable>extension</replaceable></option>
</term>
<listitem>
<para>
Enable automatic resolution of collisions between unmanaged and managed
files. The name of the original file will be suffixed by the given
extension. For example,
<screen>
<prompt>$</prompt> <userinput>home-manager -b bck switch</userinput>
</screen>
will cause a colliding file <filename>~/.config/foo.conf</filename> to be
moved to <filename>~/.config/foo.conf.bck</filename>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-f <replaceable>path</replaceable></option>
</term>
<term>
<option>--file <replaceable>path</replaceable></option>
</term>
<listitem>
<para>
Indicates the path to the Home Manager configuration file. If not given,
<filename>$XDG_CONFIG_HOME/nixpkgs/home.nix</filename> is used.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-h</option>
</term>
<term>
<option>--help</option>
</term>
<listitem>
<para>
Prints usage information for the <command>home-manager</command> tool.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--version</option>
</term>
<listitem>
<para>
Prints the version number of the <command>home-manager</command> tool.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-n</option>
</term>
<term>
<option>--dry-run</option>
</term>
<listitem>
<para>
Perform a dry-run of the given operation, only prints what actions would
be taken.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--option <replaceable>name</replaceable> <replaceable>value</replaceable></option>
</term>
<listitem>
<para>
Passed on to <citerefentry>
<refentrytitle>nix-build</refentrytitle>
<manvolnum>1</manvolnum> </citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--cores <replaceable>number</replaceable></option>
</term>
<listitem>
<para>
Passed on to <citerefentry>
<refentrytitle>nix-build</refentrytitle>
<manvolnum>1</manvolnum> </citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-j <replaceable>number</replaceable></option>
</term>
<term>
<option>--max-jobs <replaceable>number</replaceable></option>
</term>
<listitem>
<para>
Passed on to <citerefentry>
<refentrytitle>nix-build</refentrytitle>
<manvolnum>1</manvolnum> </citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--debug</option>
</term>
<listitem>
<para>
Passed on to <citerefentry>
<refentrytitle>nix-build</refentrytitle>
<manvolnum>1</manvolnum> </citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--impure</option>
</term>
<listitem>
<para>
Passed on to <citerefentry>
<refentrytitle>nix-build</refentrytitle>
<manvolnum>1</manvolnum> </citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--keep-failed</option>
</term>
<listitem>
<para>
Passed on to <citerefentry>
<refentrytitle>nix-build</refentrytitle>
<manvolnum>1</manvolnum> </citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--keep-going</option>
</term>
<listitem>
<para>
Passed on to <citerefentry>
<refentrytitle>nix-build</refentrytitle>
<manvolnum>1</manvolnum> </citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-L</option>
</term>
<term>
<option>--print-build-logs</option>
</term>
<listitem>
<para>
Passed on to <citerefentry>
<refentrytitle>nix build</refentrytitle>
</citerefentry>
when building from a flake.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--show-trace</option>
</term>
<listitem>
<para>
Passed on to <citerefentry>
<refentrytitle>nix-build</refentrytitle>
<manvolnum>1</manvolnum> </citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--(no-)substitute</option>
</term>
<listitem>
<para>
Passed on to <citerefentry>
<refentrytitle>nix-build</refentrytitle>
<manvolnum>1</manvolnum> </citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--no-out-link</option>
</term>
<listitem>
<para>
Passed on to <citerefentry>
<refentrytitle>nix-build</refentrytitle>
<manvolnum>1</manvolnum> </citerefentry>
when running <command>home-manager build</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-v</option>
</term>
<term>
<option>--verbose</option>
</term>
<listitem>
<para>
Activates verbose output.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsection>
<refsection>
<title>Files</title>
<variablelist>
<varlistentry>
<term>
<filename>$XDG_DATA_HOME/home-manager/news-read-ids</filename>
</term>
<listitem>
<para>
Identifiers of news items that have been shown. Can be deleted to reset
the read news indicator.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsection>
<refsection>
<title>Bugs</title>
<para>
Please report any bugs on the
<link
xlink:href="https://github.com/nix-community/home-manager/issues">project
issue tracker</link>.
</para>
</refsection>
<refsection>
<title>See also</title>
<para>
<citerefentry>
<refentrytitle>home-configuration.nix</refentrytitle>
<manvolnum>5</manvolnum> </citerefentry>
</para>
</refsection>
</refentry>

View File

@@ -1,12 +0,0 @@
<reference xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Home Manager Reference Pages</title>
<info>
<author><personname>Home Manager contributors</personname></author>
<copyright><year>20172022</year><holder>Home Manager contributors</holder>
</copyright>
</info>
<xi:include href="man-configuration.xml" />
<xi:include href="man-home-manager.xml" />
</reference>

View File

@@ -1,56 +0,0 @@
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="book-home-manager-manual">
<info>
<title>Home Manager Manual</title>
</info>
<preface>
<title>Preface</title>
<para>
This manual will eventually describe how to install, use, and extend Home
Manager.
</para>
<para>
If you encounter problems then please reach out on the IRC channel
<link xlink:href="https://webchat.oftc.net/?channels=home-manager">#home-manager</link>
hosted by <link xlink:href="https://oftc.net/">OFTC</link>.
There is also a <link xlink:href="https://matrix.to/#/%23hm:rycee.net">Matrix room</link>,
which is bridged to the IRC channel.
If your problem is caused by a bug in Home Manager then it should
be reported on the
<link xlink:href="https://github.com/nix-community/home-manager/issues">Home Manager issue tracker</link>.
</para>
<note>
<para>
Commands prefixed with <literal>$ sudo</literal> have to be run as root, either
requiring to login as root user or temporarily switching to it using
<literal>sudo</literal> for example.
</para>
</note>
</preface>
<xi:include href="installation.xml" />
<xi:include href="usage.xml" />
<xi:include href="nix-flakes.xml" />
<xi:include href="writing-modules.xml" />
<xi:include href="contributing.xml" />
<xi:include href="faq.xml" />
<appendix xml:id="ch-options">
<title>Configuration Options</title>
<xi:include href="./nmd-result/home-manager-options.xml" />
</appendix>
<appendix xml:id="ch-nixos-options">
<title>NixOS Module Options</title>
<xi:include href="./nmd-result/nixos-options.xml" />
</appendix>
<appendix xml:id="ch-nix-darwin-options">
<title>nix-darwin Module Options</title>
<xi:include href="./nmd-result/nix-darwin-options.xml" />
</appendix>
<appendix xml:id="ch-tools">
<title>Tools</title>
<xi:include href="./man-home-manager.xml" />
</appendix>
<xi:include href="./release-notes/release-notes.xml" />
</book>

14
docs/manual/3rd-party.md Normal file
View File

@@ -0,0 +1,14 @@
# Third-Party Tools and Extensions {#ch-3rd-party}
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.
```{=include=} sections
3rd-party/collections.md
```

11
docs/manual/3rd-party/collections.md vendored Normal file
View File

@@ -0,0 +1,11 @@
# Module Collections {#sec-3rd-party-module-collections}
- [xhmm --- extra Home Manager
modules](https://github.com/schuelermine/xhmm)
A collection of modules maintained by Anselm Schüler.
- [Stylix --- System-wide colorscheming and
typography](https://github.com/danth/stylix/)
Configure your applications to get coherent color scheme and font.

View File

@@ -0,0 +1,27 @@
# Contributing {#ch-contributing}
Contributions to Home Manager are very welcome. To make the process as
smooth as possible for both you and the Home Manager maintainers we
provide some guidelines that we ask you to follow. See [Getting
started](#sec-contrib-getting-started) for information on how to set up
a suitable development environment and [Guidelines](#sec-guidelines) for
the actual guidelines.
This text is mainly directed at those who would like to make code
contributions to Home Manager. If you just want to report a bug then
first look among the already [open
issues](https://github.com/nix-community/home-manager/issues), if you
find one matching yours then feel free to comment on it to add any
additional information you may have. If no matching issue exists then go
to the [new
issue](https://github.com/nix-community/home-manager/issues/new) page
and write a description of your problem. Include as much information as
you can, ideally also include relevant excerpts from your Home Manager
configuration.
```{=include=} sections
contributing/getting-started.md
contributing/guidelines.md
contributing/news.md
contributing/tests.md
```

View File

@@ -0,0 +1,43 @@
# Getting started {#sec-contrib-getting-started}
If you have not previously forked Home Manager then you need to do that
first. Have a look at GitHub's [Fork a
repo](https://help.github.com/articles/fork-a-repo/) for instructions on
how to do this.
Once you have a fork of Home Manager you should create a branch starting
at the most recent `master` branch. Give your branch a reasonably
descriptive name. Commit your changes to this branch and when you are
happy with the result and it fulfills [Guidelines](#sec-guidelines) then
push the branch to GitHub and [create a pull
request](https://help.github.com/articles/creating-a-pull-request/).
Assuming your clone is at `$HOME/devel/home-manager` then you can make
the `home-manager` command use it by either
1. overriding the default path by using the `-I` command line option:
``` shell
$ home-manager -I home-manager=$HOME/devel/home-manager
```
or, if using [flakes](#sec-flakes-standalone):
``` shell
$ home-manager --override-input home-manager ~/devel/home-manager
```
or
2. changing the default path by ensuring your configuration includes
``` nix
programs.home-manager.enable = true;
programs.home-manager.path = "$HOME/devel/home-manager";
```
and running `home-manager switch` to activate the change.
Afterwards, `home-manager build` and `home-manager switch` will use
your cloned repository.
The first option is good if you only temporarily want to use your clone.

View File

@@ -0,0 +1,249 @@
# Guidelines {#sec-guidelines}
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 you are uncertain how these rules affect the change you would like to
make then feel free to start a discussion in the
[#home-manager](https://webchat.oftc.net/?channels=home-manager) IRC
channel, ideally before you start developing.
## Maintain backward compatibility {#sec-guidelines-back-compat}
Your contribution should not cause another user's existing configuration
to break unless there is a very good reason and the change should be
announced to the user through an
[assertion](https://nixos.org/manual/nixos/stable/index.html#sec-assertions)
or similar.
Remember that Home Manager is used in many different environments and
you should consider how your change may effect others. For example,
- Does your change work for people that do not use NixOS? Consider
other GNU/Linux distributions and macOS.
- Does your change work for people whose configuration is built on one
system and deployed on another system?
## Keep forward compatibility in mind {#sec-guidelines-forward-compat}
The master branch of Home Manager tracks the unstable channel of
Nixpkgs, which may update package versions at any time. It is therefore
important to consider how a package update may affect your code and try
to reduce the risk of breakage.
The most effective way to reduce this risk is to follow the advice in
[Add only valuable options](#sec-guidelines-valuable-options).
## Add only valuable options {#sec-guidelines-valuable-options}
When creating a new module it is tempting to include every option
supported by the software. This is *strongly* discouraged. Providing
many options increases maintenance burden and risk of breakage
considerably. This is why only the most [important software
options](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md#valuable-options)
should be modeled explicitly. Less important options should be
expressible through an `extraConfig` escape hatch.
A good rule of thumb for the first implementation of a module is to only
add explicit options for those settings that absolutely must be set for
the software to function correctly. It follows that a module for
software that provides sensible default values for all settings would
require no explicit options at all.
If the software uses a structured configuration format like a JSON,
YAML, INI, TOML, or even a plain list of key/value pairs then consider
using a `settings` option as described in [Nix RFC
42](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md).
## Add relevant tests {#sec-guidelines-add-tests}
If at all possible, make sure to add new tests and expand existing tests
so that your change will keep working in the future. See
[Tests](#sec-tests) for more information about the Home Manager test
suite.
All contributed code *must* pass the test suite.
## Add relevant documentation {#sec-guidelines-module-maintainer}
Many code changes require changing the documentation as well. The
documentation is written in
[Nixpkgs-flavoured Markdown](https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-markup).
All text is hosted in Home Manager's Git repository.
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:
``` shell
$ nix-build -A docs.html
$ xdg-open ./result/share/doc/home-manager/index.xhtml
```
When you have made changes to a module, it is a good idea to check that
the man page version of the module options looks good:
``` shell
$ nix-build -A docs.manPages
$ man ./result/share/man/man5/home-configuration.nix.5.gz
```
## Module Auto-importing {#sec-module-auto-importing}
Home Manager automatically imports all modules from the `modules/programs/` and
`modules/services/` directories. This auto-importing behavior follows these
rules:
- **Nix files**: All `.nix` files in these directories are automatically
imported
- **Directories**: All subdirectories are automatically imported (typically
containing a `default.nix` file)
- **Exclusions**: Files and directories starting with an underscore (`_`) are
excluded from auto-importing
This allows for flexible module organization:
```
modules/programs/
├── git.nix # Single-file module (imported)
├── firefox/ # Multi-file module (imported)
│ ├── default.nix
│ └── addons.nix
├── _experimental.nix # Excluded (starts with _)
└── _wip/ # Excluded directory (starts with _)
└── newfeature.nix
```
When adding a new module, simply place it in the appropriate directory
(`programs/` for user programs, `services/` for user services) and it will be
automatically discovered and included in the Home Manager module system.
## Add yourself as a module maintainer {#_add_yourself_as_a_module_maintainer}
Every new module *must* include a named maintainer using the
`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 nixpkgs maintainer list then you can use that
entry. If you are not then you can add yourself to
`modules/lib/maintainers.nix` in the Home Manager project.
As a maintainer you are expected to respond to issues and
pull-requests associated with your module.
Maintainers are encouraged to join the IRC or Matrix channel and
participate when they have opportunity.
## Format your code {#sec-guidelines-code-style}
Make sure your code is formatted as described in [Code
Style](#sec-code-style). To maintain consistency throughout the project
you are encouraged to browse through existing code and adopt its style
also in new code.
## Format your commit messages {#sec-guidelines-commit-message-style}
Similar to [Format your code](#sec-guidelines-code-style) we encourage a
consistent commit message format as described in
[Commits](#sec-commit-style).
## Format your news entries {#sec-guidelines-news-style}
If your contribution includes a change that should be communicated to
users of Home Manager then you can add a news entry. The entry must be
formatted as described in [News](#sec-news).
When new modules are added a news entry should be included.
## Use conditional modules and news {#sec-guidelines-conditional-modules}
Home Manager includes a number of modules that are only usable on some
of the supported platforms. The most common example of platform specific
modules are those that define systemd user services, which only works on
Linux systems.
If you add a module that is platform specific then make sure to include
a condition in the `loadModule` function call. This will make the module
accessible only on systems where the condition evaluates to `true`.
Similarly, if you are adding a news entry then it should be shown only
to users that may find it relevant, see [News](#sec-news) for a
description of conditional news.
## Mind the license {#sec-guidelines-licensing}
The Home Manager project is covered by the MIT license and we can only
accept contributions that fall under this license, or are licensed in a
compatible way. When you contribute self written code and documentation
it is assumed that you are doing so under the MIT license.
A potential gotcha with respect to licensing are option descriptions.
Often it is convenient to copy from the upstream software documentation.
When this is done it is important to verify that the license of the
upstream documentation allows redistribution under the terms of the MIT
license.
## Commits {#sec-commit-style}
The commits in your pull request should be reasonably self-contained,
that is, each commit should make sense in isolation. In particular, you
will be asked to amend any commit that introduces syntax errors or
similar problems even if they are fixed in a later commit.
The commit messages should follow the [seven
rules](https://chris.beams.io/posts/git-commit/#seven-rules), except for
\"Capitalize the subject line\". We also ask you to include the affected
code component or module in the first line. That is, a commit message
should follow the template
{component}: {description}
{long description}
where `{component}` refers to the code component (or module) your change
affects, `{description}` is a very brief description of your change, and
`{long description}` is an optional clarifying description. As a rare
exception, if there is no clear component, or your change affects many
components, then the `{component}` part is optional. See
[example_title](#ex-commit-message) for a commit message that fulfills
these requirements.
## Example commit {#ex-commit-message}
The commit
[69f8e47e9e74c8d3d060ca22e18246b7f7d988ef](https://github.com/nix-community/home-manager/commit/69f8e47e9e74c8d3d060ca22e18246b7f7d988ef)
contains the commit message
```
starship: allow running in Emacs if vterm is used
The vterm buffer is backed by libvterm and can handle Starship prompts
without issues.
```
which ticks all the boxes necessary to be accepted in Home Manager.
Finally, when adding a new module, say `programs/foo.nix`, we use the
fixed commit format `foo: add module`. You can, of course, still include
a long description if you wish.
## Code Style {#sec-code-style}
The code in Home Manager is formatted by the
[nixfmt](https://github.com/serokell/nixfmt/) tool and the formatting is
checked in the pull request tests. Run the `format` tool inside the
project repository before submitting your pull request.
Keep lines at a reasonable width, ideally 80 characters or less. This
also applies to string literals.
We prefer `lowerCamelCase` for variable and attribute names with the
accepted exception of variables directly referencing packages in Nixpkgs
which use a hyphenated style. For example, the Home Manager option
`services.gpg-agent.enableSshSupport` references the `gpg-agent` package
in Nixpkgs.

View File

@@ -0,0 +1,64 @@
# News {#sec-news}
Home Manager includes a system for presenting news to the user. When
making a change you, therefore, have the option to also include an
associated news entry. In general, a news entry should only be added for
truly noteworthy news. For example, a bug fix or new option does
generally not need a news entry.
If you do have a change worthy of a news entry then please add one in
[`news.nix`](https://github.com/nix-community/home-manager/blob/master/modules/misc/news.nix)
but you should follow some basic guidelines:
- Use the included news entry generator to create a news entry file:
``` shell
$ nix run .#create-news-entry
```
Alternatively, you can directly use the script:
``` shell
$ modules/misc/news/create-news-entry.sh
```
This will create a new file inside the `modules/misc/news` directory
with some placeholder information that you can edit.
- The entry condition should be as specific as possible. For example,
if you are changing or deprecating a specific option then you could
restrict the news to those users who actually use this option.
- Wrap the news message so that it will fit in the typical terminal,
that is, at most 80 characters wide. Ideally a bit less.
- Unlike commit messages, news will be read without any connection to
the Home Manager source code. It is therefore important to make the
message understandable in isolation and to those who do not have
knowledge of the Home Manager internals. To this end it should be
written in more descriptive, prose like way.
- If you refer to an option then write its full attribute path. That
is, instead of writing
The option 'foo' has been deprecated, please use 'bar' instead.
it should read
The option 'services.myservice.foo' has been deprecated, please
use 'services.myservice.bar' instead.
- A new module, say `foo.nix`, should always include a news entry that
has a message along the lines of
A new module is available: 'services.foo'.
If the module is platform specific, e.g., a service module using
systemd, then a condition like
``` nix
condition = hostPlatform.isLinux;
```
should be added. If you contribute a module then you don't need to
add this entry, the merger will create an entry for you.

View File

@@ -0,0 +1,50 @@
# Tests {#sec-tests}
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. For a full reference to the
functions available in test scripts, you can look at NMT's
[bash-lib](https://git.sr.ht/~rycee/nmt/tree/master/item/bash-lib).
The full Home Manager test suite can be run by executing
``` shell
$ nix-build --pure --option allow-import-from-derivation false tests -A build.all
```
in the project root. List all test cases through
``` shell
$ nix-build --pure tests --option allow-import-from-derivation false -A list
```
and run an individual test, for example `alacritty-empty-settings`,
through
``` shell
$ nix-build --pure tests --option allow-import-from-derivation false -A build.alacritty-empty-settings
```
However, those invocations will impurely source the system's Nixpkgs,
and may cause failures. To run against the Nixpkgs from the `flake.lock` file,
use instead e.g.
``` shell
$ nix build --reference-lock-file flake.lock --option allow-import-from-derivation false ./tests#test-all
```
or
``` shell
$ nix build --reference-lock-file flake.lock --option allow-import-from-derivation false ./tests#test-alacritty-empty-settings
```
Some tests may be marked with `enableLegacyIfd`, those may be run by run with e.g.
``` shell
$ nix-build --pure tests --arg enableLegacyIfd true -A build.mytest
```

10
docs/manual/faq.md Normal file
View File

@@ -0,0 +1,10 @@
# Frequently Asked Questions (FAQ) {#ch-faq}
```{=include=} sections
faq/collision.md
faq/session-variables.md
faq/multiple-users-machines.md
faq/ca-desrt-dconf.md
faq/unstable.md
faq/change-package-module.md
```

View File

@@ -0,0 +1,19 @@
# Why do I get an error message about `ca.desrt.dconf` or `dconf.service`? {#_why_do_i_get_an_error_message_about_literal_ca_desrt_dconf_literal_or_literal_dconf_service_literal}
You are most likely trying to configure something that uses dconf but
the DBus session is not aware of the dconf service. The full error you
might get is
error: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name ca.desrt.dconf was not provided by any .service files
or
error: GDBus.Error:org.freedesktop.systemd1.NoSuchUnit: Unit dconf.service not found.
The solution on NixOS is to add
``` nix
programs.dconf.enable = true;
```
to your system configuration.

View File

@@ -0,0 +1,66 @@
# How do I change the package used by a module? {#_how_do_i_change_the_package_used_by_a_module}
By default Home Manager will install the package provided by your chosen
`nixpkgs` channel but occasionally you might end up needing to change
this package. This can typically be done in two ways.
1. If the module provides a `package` option, such as
`programs.beets.package`, then this is the recommended way to
perform the change. For example,
``` nix
programs.beets.package = pkgs.beets.override { pluginOverrides = { beatport.enable = false; }; };
```
See [Nix pill 17](https://nixos.org/guides/nix-pills/nixpkgs-overriding-packages.html)
for more information on package overrides. Alternatively, if you want
to use the `beets` package from Nixpkgs unstable, then a configuration like
``` nix
{ pkgs, config, ... }:
let
pkgsUnstable = import <nixpkgs-unstable> {};
in
{
programs.beets.package = pkgsUnstable.beets;
# …
}
```
should work OK.
3. If no `package` option is available then you can typically change
the relevant package using an
[overlay](https://nixos.org/nixpkgs/manual/#chap-overlays).
For example, if you want to use the `programs.skim` module but use
the `skim` package from Nixpkgs unstable, then a configuration like
``` nix
{ pkgs, config, ... }:
let
pkgsUnstable = import <nixpkgs-unstable> {};
in
{
programs.skim.enable = true;
nixpkgs.overlays = [
(self: super: {
skim = pkgsUnstable.skim;
})
];
# …
}
```
should work OK.

View File

@@ -0,0 +1,47 @@
# Why is there a collision error when switching generation? {#_why_is_there_a_collision_error_when_switching_generation}
Home Manager currently installs packages into the user environment,
precisely as if the packages were installed through `nix-env --install`.
This means that you will get a collision error if your Home Manager
configuration attempts to install a package that you already have
installed manually, that is, packages that shows up when you run
`nix-env --query`.
For example, imagine you have the `hello` package installed in your
environment
``` shell
$ nix-env --query
hello-2.10
```
and your Home Manager configuration contains
``` nix
home.packages = [ pkgs.hello ];
```
Then attempting to switch to this configuration will result in an error
similar to
``` shell
$ home-manager switch
these derivations will be built:
/nix/store/xg69wsnd1rp8xgs9qfsjal017nf0ldhm-home-manager-path.drv
[…]
Activating installPackages
replacing old home-manager-path
installing home-manager-path
building path(s) /nix/store/b5c0asjz9f06l52l9812w6k39ifr49jj-user-environment
Wide character in die at /nix/store/64jc9gd2rkbgdb4yjx3nrgc91bpjj5ky-buildenv.pl line 79.
collision between /nix/store/fmwa4axzghz11cnln5absh31nbhs9lq1-home-manager-path/bin/hello and /nix/store/c2wyl8b9p4afivpcz8jplc9kis8rj36d-hello-2.10/bin/hello; use nix-env --set-flag priority NUMBER PKGNAME to change the priority of one of the conflicting packages
builder for /nix/store/b37x3s7pzxbasfqhaca5dqbf3pjjw0ip-user-environment.drv failed with exit code 2
error: build of /nix/store/b37x3s7pzxbasfqhaca5dqbf3pjjw0ip-user-environment.drv failed
```
The solution is typically to uninstall the package from the environment
using `nix-env --uninstall` and reattempt the Home Manager generation
switch.
You could also opt to unistall *all* of the packages from your profile
with `nix-env --uninstall '*'`.

View File

@@ -0,0 +1,39 @@
# How to set up a configuration for multiple users/machines? {#_how_to_set_up_a_configuration_for_multiple_users_machines}
A typical way to prepare a repository of configurations for multiple
logins and machines is to prepare one \"top-level\" file for each unique
combination.
For example, if you have two machines, called \"kronos\" and \"rhea\" on
which you want to configure your user \"jane\" then you could create the
files
- `kronos-jane.nix`,
- `rhea-jane.nix`, and
- `common.nix`
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
``` nix
{ ... }:
{
imports = [ ./common.nix ];
# Various options that are specific for this machine/user.
}
```
while the `common.nix` file contains configuration shared across the two
logins. Of course, instead of just a single `common.nix` file you can
have multiple ones, even one per program or service.
You can get some inspiration from the [Post your home-manager home.nix
file!](https://www.reddit.com/r/NixOS/comments/9bb9h9/post_your_homemanager_homenix_file/)
Reddit thread.

View File

@@ -0,0 +1,24 @@
# Why are the session variables not set? {#_why_are_the_session_variables_not_set}
Home Manager is only able to set session variables automatically if it
manages your Bash, Z shell, or fish shell configuration. To enable such
management you use [programs.bash.enable](#opt-programs.bash.enable),
[programs.zsh.enable](#opt-programs.zsh.enable), or [programs.fish.enable](#opt-programs.fish.enable).
If you don't want to let Home Manager manage your shell then you will
have to manually source the
`~/.nix-profile/etc/profile.d/hm-session-vars.sh` file in an appropriate
way. In Bash and Z shell this can be done by adding
``` bash
. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
```
to your `.profile` and `.zshrc` files, respectively. The
`hm-session-vars.sh` file should work in most Bourne-like shells. For
fish shell, it is possible to source it using [the foreign-env
plugin](https://github.com/oh-my-fish/plugin-foreign-env)
``` bash
fenv source "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh" > /dev/null
```

View File

@@ -0,0 +1,36 @@
# How do I install packages from Nixpkgs unstable? {#_how_do_i_install_packages_from_nixpkgs_unstable}
If you are using a stable version of Nixpkgs but would like to install
some particular packages from Nixpkgs unstable -- or some other channel
-- then you can import the unstable Nixpkgs and refer to its packages
within your configuration. Something like
``` nix
{ pkgs, config, ... }:
let
pkgsUnstable = import <nixpkgs-unstable> {};
in
{
home.packages = [
pkgsUnstable.foo
];
# …
}
```
should work provided you have a Nix channel called `nixpkgs-unstable`.
You can add the `nixpkgs-unstable` channel by running
``` shell
$ nix-channel --add https://nixos.org/channels/nixpkgs-unstable nixpkgs-unstable
$ nix-channel --update
```
Note, the package will not be affected by any package overrides,
overlays, etc.

View File

@@ -0,0 +1,35 @@
# Installing Home Manager {#ch-installation}
Home Manager can be used in three primary 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
[Standalone installation](#sec-install-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 [NixOS module](#sec-install-nixos-module) for a
description of this setup.
3. As a module within a
[nix-darwin](https://github.com/nix-darwin/nix-darwin/) system
configuration. This allows the user profiles to be built together
with the system when running `darwin-rebuild`. See [nix-darwin
module](#sec-install-nix-darwin-module) for a description of this
setup.
:::{.note}
In this chapter we describe how to install Home Manager in the standard
way using channels. If you prefer to use [Nix
Flakes](https://wiki.nixos.org/wiki/Flakes) then please see the instructions
in [nix flakes](#ch-nix-flakes).
:::
```{=include=} sections
installation/standalone.md
installation/nixos.md
installation/nix-darwin.md
```

View File

@@ -0,0 +1,115 @@
# nix-darwin module {#sec-install-nix-darwin-module}
Home Manager provides a module that allows you to prepare user
environments directly from the
[nix-darwin](https://github.com/nix-darwin/nix-darwin/) configuration file,
which often is more convenient than using the `home-manager` tool.
To make the NixOS module available for use you must `import` it into
your system configuration. This is most conveniently done by adding a
Home Manager channel. For example, if you are following Nixpkgs master
or an unstable channel, you can run
``` shell
$ nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
$ nix-channel --update
```
and if you follow a Nixpkgs version 25.05 channel, you can run
``` shell
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-25.05.tar.gz home-manager
$ nix-channel --update
```
It is then possible to add
``` nix
imports = [ <home-manager/nix-darwin> ];
```
to your nix-darwin `configuration.nix` file, which will introduce a new
NixOS option called `home-manager` whose type is an attribute set that
maps user names to Home Manager configurations.
For example, a nix-darwin configuration may include the lines
``` nix
users.users.eve = {
name = "eve";
home = "/Users/eve";
};
home-manager.users.eve = { pkgs, ... }: {
home.packages = [ pkgs.atool pkgs.httpie ];
programs.bash.enable = true;
# The state version is required and should stay at the version you
# originally installed.
home.stateVersion = "25.05";
};
```
and after a `darwin-rebuild switch` the user eve's environment should
include a basic Bash configuration and the packages atool and httpie.
If you do not plan on having Home Manager manage your shell
configuration then you must add either
``` bash
. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
```
or
``` bash
. "/etc/profiles/per-user/$USER/etc/profile.d/hm-session-vars.sh"
```
to your shell configuration, depending on whether
[home-manager.useUserPackages](#nix-darwin-opt-home-manager.useUserPackages) is enabled. This
file can be sourced directly by POSIX.2-like shells such as
[Bash](https://www.gnu.org/software/bash/) or [Z
shell](http://zsh.sourceforge.net/). [Fish](https://fishshell.com) users
can use utilities such as
[foreign-env](https://github.com/oh-my-fish/plugin-foreign-env) or
[babelfish](https://github.com/bouk/babelfish).
:::{.note}
By default user packages will not be ignored in favor of
`environment.systemPackages`, but they will be installed to
`/etc/profiles/per-user/$USERNAME` if
``` nix
home-manager.useUserPackages = true;
```
is added to the nix-darwin configuration. This option may become the
default value in the future.
:::
:::{.note}
By default, Home Manager uses a private `pkgs` instance that is
configured via the `home-manager.users.<name>.nixpkgs` options. To
instead use the global `pkgs` that is configured via the system level
`nixpkgs` options, set
``` nix
home-manager.useGlobalPkgs = true;
```
This saves an extra Nixpkgs evaluation, adds consistency, and removes
the dependency on `NIX_PATH`, which is otherwise used for importing
Nixpkgs.
:::
:::{.note}
Home Manager will pass `osConfig` as a module argument to any modules
you create. This contains the system's nix-darwin configuration.
``` nix
{ lib, pkgs, osConfig, ... }:
```
:::
Once installed you can see [Using Home Manager](#ch-usage) for a more detailed
description of Home Manager and how to use it.

View File

@@ -0,0 +1,157 @@
# NixOS module {#sec-install-nixos-module}
Home Manager provides a NixOS module that allows you to prepare user
environments directly from the system configuration file, which often is
more convenient than using the `home-manager` tool. It also opens up
additional possibilities, for example, to automatically configure user
environments in NixOS declarative containers or on systems deployed
through NixOps.
To make the NixOS module available for use you must `import` it into
your system configuration. This is most conveniently done by adding a
Home Manager channel to the root user. For example, if you are following
Nixpkgs master or an unstable channel, you can run
``` shell
$ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
$ sudo nix-channel --update
```
and if you follow a Nixpkgs version 25.05 channel, you can run
``` shell
$ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-25.05.tar.gz home-manager
$ sudo nix-channel --update
```
It is then possible to add
``` nix
imports = [ <home-manager/nixos> ];
```
to your system `configuration.nix` file, which will introduce a new
NixOS option called `home-manager.users` whose type is an attribute set
that maps user names to Home Manager configurations.
Alternatively, home-manager installation can be done declaratively through configuration.nix using the following syntax:
```nix
{ config, pkgs, lib, ... }:
let
home-manager = builtins.fetchTarball https://github.com/nix-community/home-manager/archive/release-25.05.tar.gz;
in
{
imports =
[
(import "${home-manager}/nixos")
];
users.users.eve.isNormalUser = true;
home-manager.users.eve = { pkgs, ... }: {
home.packages = [ pkgs.atool pkgs.httpie ];
programs.bash.enable = true;
# The state version is required and should stay at the version you
# originally installed.
home.stateVersion = "25.05";
};
}
```
For example, a NixOS configuration may include the lines
``` nix
users.users.eve.isNormalUser = true;
home-manager.users.eve = { pkgs, ... }: {
home.packages = [ pkgs.atool pkgs.httpie ];
programs.bash.enable = true;
# This value determines the Home Manager release that your configuration is
# compatible with. This helps avoid breakage when a new Home Manager release
# introduces backwards incompatible changes.
#
# You should not change this value, even if you update Home Manager. If you do
# want to update the value, then make sure to first check the Home Manager
# release notes.
home.stateVersion = "24.05"; # Please read the comment before changing.
};
```
and after a `sudo nixos-rebuild switch` the user eve's environment
should include a basic Bash configuration and the packages atool and
httpie.
:::{.note}
If `nixos-rebuild switch` does not result in the environment you expect,
you can take a look at the output of the Home Manager activation script
output using
``` shell
$ systemctl status "home-manager-$USER.service"
```
:::
If you do not plan on having Home Manager manage your shell
configuration then you must add either
``` bash
. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
```
or
``` bash
. "/etc/profiles/per-user/$USER/etc/profile.d/hm-session-vars.sh"
```
to your shell configuration, depending on whether
[home-manager.useUserPackages](#nixos-opt-home-manager.useUserPackages) is enabled. This file can
be sourced directly by POSIX.2-like shells such as
[Bash](https://www.gnu.org/software/bash/) or [Z
shell](http://zsh.sourceforge.net/). [Fish](https://fishshell.com) users
can use utilities such as
[foreign-env](https://github.com/oh-my-fish/plugin-foreign-env) or
[babelfish](https://github.com/bouk/babelfish).
:::{.note}
By default packages will be installed to `$HOME/.nix-profile` but they
can be installed to `/etc/profiles` if
``` nix
home-manager.useUserPackages = true;
```
is added to the system configuration. This is necessary if, for example,
you wish to use `nixos-rebuild build-vm`. This option may become the
default value in the future.
:::
:::{.note}
By default, Home Manager uses a private `pkgs` instance that is
configured via the `home-manager.users.<name>.nixpkgs` options. To
instead use the global `pkgs` that is configured via the system level
`nixpkgs` options, set
``` nix
home-manager.useGlobalPkgs = true;
```
This saves an extra Nixpkgs evaluation, adds consistency, and removes
the dependency on `NIX_PATH`, which is otherwise used for importing
Nixpkgs.
:::
:::{.note}
Home Manager will pass `osConfig` as a module argument to any modules
you create. This contains the system's NixOS configuration.
``` nix
{ lib, pkgs, osConfig, ... }:
```
:::
Once installed you can see [Using Home Manager](#ch-usage) for a more detailed
description of Home Manager and how to use it.

View File

@@ -0,0 +1,75 @@
# Standalone installation {#sec-install-standalone}
1. Make sure you have a working Nix installation. Specifically, make
sure that your user is able to build and install Nix packages. For
example, you should be able to successfully run a command like
`nix-instantiate '<nixpkgs>' -A hello` without having to switch to
the root user. For a multi-user install of Nix this means that your
user must be covered by the
[`allowed-users`](https://nixos.org/nix/manual/#conf-allowed-users)
Nix option. On NixOS you can control this option using the
[`nix.settings.allowed-users`](https://nixos.org/manual/nixos/stable/options.html#opt-nix.settings.allowed-users)
system option.
2. Add the appropriate Home Manager channel. If you are following
Nixpkgs master or an unstable channel you can run
``` shell
$ nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
$ nix-channel --update
```
and if you follow a Nixpkgs version 25.05 channel you can run
``` shell
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-25.05.tar.gz home-manager
$ nix-channel --update
```
3. Run the Home Manager installation command and create the first Home
Manager generation:
``` shell
$ nix-shell '<home-manager>' -A install
```
Once finished, Home Manager should be active and available in your
user environment.
4. If you do not plan on having Home Manager manage your shell
configuration then you must source the
``` bash
$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh
```
file in your shell configuration. Alternatively source
``` bash
/etc/profiles/per-user/$USER/etc/profile.d/hm-session-vars.sh
```
when managing home configuration together with system configuration.
This file can be sourced directly by POSIX.2-like shells such as
[Bash](https://www.gnu.org/software/bash/) or [Z
shell](http://zsh.sourceforge.net/). [Fish](https://fishshell.com)
users can use utilities such as
[foreign-env](https://github.com/oh-my-fish/plugin-foreign-env) or
[babelfish](https://github.com/bouk/babelfish).
For example, if you use Bash then add
``` bash
. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
```
to your `~/.profile` file.
If instead of using channels you want to run Home Manager from a Git
checkout of the repository then you can use the
[home-manager.path](#opt-programs.home-manager.path) option to specify the absolute
path to the repository.
Once installed you can see [Using Home Manager](#ch-usage) for a more detailed
description of Home Manager and how to use it.

View File

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

View File

@@ -0,0 +1,32 @@
{
"gnunet.conf(5)": "https://docs.gnunet.org/users/configuration.html",
"mpd(1)": "https://mpd.readthedocs.io/en/latest/mpd.1.html",
"mpd.conf(5)": "https://mpd.readthedocs.io/en/latest/mpd.conf.5.html",
"nix.conf(5)": "https://nixos.org/manual/nix/stable/command-ref/conf-file.html",
"journald.conf(5)": "https://www.freedesktop.org/software/systemd/man/journald.conf.html",
"logind.conf(5)": "https://www.freedesktop.org/software/systemd/man/logind.conf.html",
"networkd.conf(5)": "https://www.freedesktop.org/software/systemd/man/networkd.conf.html",
"systemd.automount(5)": "https://www.freedesktop.org/software/systemd/man/systemd.automount.html",
"systemd.exec(5)": "https://www.freedesktop.org/software/systemd/man/systemd.exec.html",
"systemd.link(5)": "https://www.freedesktop.org/software/systemd/man/systemd.link.html",
"systemd.mount(5)": "https://www.freedesktop.org/software/systemd/man/systemd.mount.html",
"systemd.netdev(5)": "https://www.freedesktop.org/software/systemd/man/systemd.netdev.html",
"systemd.network(5)": "https://www.freedesktop.org/software/systemd/man/systemd.network.html",
"systemd.nspawn(5)": "https://www.freedesktop.org/software/systemd/man/systemd.nspawn.html",
"systemd.path(5)": "https://www.freedesktop.org/software/systemd/man/systemd.path.html",
"systemd.resource-control(5)": "https://www.freedesktop.org/software/systemd/man/systemd.resource-control.html",
"systemd.scope(5)": "https://www.freedesktop.org/software/systemd/man/systemd.scope.html",
"systemd.service(5)": "https://www.freedesktop.org/software/systemd/man/systemd.service.html",
"systemd.slice(5)": "https://www.freedesktop.org/software/systemd/man/systemd.slice.html",
"systemd.socket(5)": "https://www.freedesktop.org/software/systemd/man/systemd.socket.html",
"systemd.timer(5)": "https://www.freedesktop.org/software/systemd/man/systemd.timer.html",
"systemd.unit(5)": "https://www.freedesktop.org/software/systemd/man/systemd.unit.html",
"systemd-system.conf(5)": "https://www.freedesktop.org/software/systemd/man/systemd-system.conf.html",
"systemd-user.conf(5)": "https://www.freedesktop.org/software/systemd/man/systemd-user.conf.html",
"timesyncd.conf(5)": "https://www.freedesktop.org/software/systemd/man/timesyncd.conf.html",
"tmpfiles.d(5)": "https://www.freedesktop.org/software/systemd/man/tmpfiles.d.html",
"systemd.time(7)": "https://www.freedesktop.org/software/systemd/man/systemd.time.html",
"systemd-fstab-generator(8)": "https://www.freedesktop.org/software/systemd/man/systemd-fstab-generator.html",
"systemd-networkd-wait-online.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-networkd-wait-online.service.html"
}

34
docs/manual/manual.md Normal file
View File

@@ -0,0 +1,34 @@
# Home Manager Manual {#home-manager-manual}
## Version 25.11 (unstable)
```{=include=} preface
preface.md
```
```{=include=} parts
introduction.md
installation.md
usage.md
nix-flakes.md
writing-modules.md
contributing.md
3rd-party.md
faq.md
```
```{=include=} appendix html:into-file=//options.xhtml
options.md
```
```{=include=} appendix html:into-file=//nixos-options.xhtml
nixos-options.md
```
```{=include=} appendix html:into-file=//nix-darwin-options.xhtml
nix-darwin-options.md
```
```{=include=} appendix html:into-file=//release-notes.xhtml
release-notes/release-notes.md
```

View File

@@ -0,0 +1,7 @@
# nix-darwin Configuration Options {#ch-nix-darwin-options}
```{=include=} options
id-prefix: nix-darwin-opt-
list-id: nix-darwin-options
source: @OPTIONS_JSON@
```

36
docs/manual/nix-flakes.md Normal file
View File

@@ -0,0 +1,36 @@
# Nix Flakes {#ch-nix-flakes}
Home Manager is compatible with [Nix
Flakes](https://wiki.nixos.org/wiki/Flakes). But please be aware that this
support is still experimental and may change in backwards
incompatible ways.
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
[Standalone setup](#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 [NixOS module](#sec-flakes-nixos-module) for a
description of this setup.
3. This allows the user profiles to be built together with the system
when running `darwin-rebuild`. See [nix-darwin
module](#sec-flakes-nix-darwin-module) for a description of this
setup.
```{=include=} sections
nix-flakes/prerequisites.md
nix-flakes/standalone.md
nix-flakes/nixos.md
nix-flakes/nix-darwin.md
nix-flakes/flake-parts.md
```

View File

@@ -0,0 +1,39 @@
# flake-parts module {#sec-flakes-flake-parts-module}
When using [flake-parts](https://flake.parts)
you may wish to import Home Manager's flake module,
`flakeModules.home-manager`.
``` nix
{
description = "flake-parts configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
flake-parts.url = "github:hercules-ci/flake-parts";
};
outputs = inputs@{ flake-parts, ... }:
flake-parts.lib.mkFlake { inherit inputs; } {
imports = [
# Import home-manager's flake module
inputs.home-manager.flakeModules.home-manager
];
flake = {
# Define `homeModules`, `homeConfigurations`,
# `nixosConfigurations`, etc here
};
# See flake.parts for more features, such as `perSystem`
};
}
```
The flake module defines the `flake.homeModules` and `flake.homeConfigurations`
options, allowing them to be properly merged if they are defined in multiple
modules.
If you are only defining `homeModules` and/or `homeConfigurations` once in a
single module, flake-parts should work fine without importing
`flakeModules.home-manager`.

View File

@@ -0,0 +1,47 @@
# nix-darwin module {#sec-flakes-nix-darwin-module}
The flake-based setup of the Home Manager nix-darwin module is similar
to that of NixOS. The `flake.nix` would be:
``` nix
{
description = "Darwin configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
darwin.url = "github:nix-darwin/nix-darwin";
darwin.inputs.nixpkgs.follows = "nixpkgs";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = inputs@{ nixpkgs, home-manager, darwin, ... }: {
darwinConfigurations = {
hostname = darwin.lib.darwinSystem {
system = "x86_64-darwin";
modules = [
./configuration.nix
home-manager.darwinModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.jdoe = ./home.nix;
# Optionally, use home-manager.extraSpecialArgs to pass
# arguments to home.nix
}
];
};
};
};
}
```
and it is also rebuilt with the nix-darwin generations. The rebuild
command here may be `darwin-rebuild switch --flake <flake-uri>`.
You can use the above `flake.nix` as a template in `~/.config/darwin` by
``` shell
$ nix flake new ~/.config/darwin -t github:nix-community/home-manager#nix-darwin
```

View File

@@ -0,0 +1,47 @@
# NixOS module {#sec-flakes-nixos-module}
To use Home Manager as a NixOS module, a bare-minimum `flake.nix` would
be as follows:
``` nix
{
description = "NixOS configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = inputs@{ nixpkgs, home-manager, ... }: {
nixosConfigurations = {
hostname = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.jdoe = ./home.nix;
# Optionally, use home-manager.extraSpecialArgs to pass
# arguments to home.nix
}
];
};
};
};
}
```
The Home Manager configuration is then part of the NixOS configuration
and is automatically rebuilt with the system when using the appropriate
command for the system, such as
`nixos-rebuild switch --flake <flake-uri>`.
You can use the above `flake.nix` as a template in `/etc/nixos` by
``` shell
$ nix flake new /etc/nixos -t github:nix-community/home-manager#nixos
```

View File

@@ -0,0 +1,37 @@
# Prerequisites {#sec-flakes-prerequisites}
- Install Nix 2.4 or later, or have it in `nix-shell`.
- Enable experimental features `nix-command` and `flakes`.
- When using NixOS, add the following to your `configuration.nix`
and rebuild your system.
``` nix
nix.settings.experimental-features = "nix-command flakes";
```
- If you are not using NixOS, add the following to `nix.conf`
(located at `~/.config/nix/` or `/etc/nix/nix.conf`).
``` bash
experimental-features = nix-command flakes
```
You may need to restart the Nix daemon with, for example,
`sudo systemctl restart nix-daemon.service`.
- Alternatively, you can enable flakes on a per-command basis with
the following additional flags to `nix` and `home-manager`:
``` shell
$ nix --extra-experimental-features "nix-command flakes" <sub-commands>
$ home-manager --extra-experimental-features "nix-command flakes" <sub-commands>
```
- Prepare your Home Manager configuration (`home.nix`).
Unlike the channel-based setup, `home.nix` will be evaluated when
the flake is built, so it must be present before bootstrap of Home
Manager from the flake. See [Configuration Example](#sec-usage-configuration) for
introduction about writing a Home Manager configuration.

View File

@@ -0,0 +1,62 @@
# Standalone setup {#sec-flakes-standalone}
To prepare an initial Home Manager configuration for your logged in
user, you can run the Home Manager `init` command directly from its
flake.
For example, if you are using the unstable version of Nixpkgs or NixOS,
then to generate and activate a basic configuration run the command
``` shell
$ nix run home-manager/master -- init --switch
```
For Nixpkgs or NixOS version 25.05 run
``` shell
$ nix run home-manager/release-25.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.
``` shell
$ nix run home-manager/$branch -- init
$ # Edit files in ~/.config/home-manager
$ nix run home-manager/$branch -- init --switch
```
Where `$branch` is one of `master` or `release-25.05`.
After the initial activation has completed successfully then building
and activating your flake-based configuration is as simple as
``` shell
$ home-manager switch
```
It is possible to override the default configuration directory, if you
want. For example,
``` shell
$ nix run home-manager/$branch -- init --switch ~/hmconf
$ # And after the initial activation.
$ home-manager switch --flake ~/hmconf
```
::: {.note}
The flake inputs are not automatically updated by Home Manager. You need
to use the standard `nix flake update` command for that.
If you only want to update a single flake input, then the command
`nix flake lock --update-input <input>` can be used.
You can also pass flake-related options such as `--recreate-lock-file`
or `--update-input <input>` to `home-manager` when building or
switching, and these options will be forwarded to `nix build`. See the
[NixOS Wiki page](https://wiki.nixos.org/wiki/Flakes) for details.
:::

View File

@@ -0,0 +1,7 @@
# NixOS Configuration Options {#ch-nixos-options}
```{=include=} options
id-prefix: nixos-opt-
list-id: nixos-options
source: @OPTIONS_JSON@
```

7
docs/manual/options.md Normal file
View File

@@ -0,0 +1,7 @@
# Home Manager Configuration Options {#ch-options}
```{=include=} options
id-prefix: opt-
list-id: home-manager-options
source: @OPTIONS_JSON@
```

20
docs/manual/preface.md Normal file
View File

@@ -0,0 +1,20 @@
# Preface {#preface}
This manual will eventually describe how to install, use, and extend Home
Manager.
If you encounter problems then please reach out on the IRC channel
[#home-manager](https://webchat.oftc.net/?channels=home-manager)
hosted by [OFTC](https://oftc.net/).
There is also a [Matrix room](https://matrix.to/#/%23hm:rycee.net),
which is bridged to the IRC channel.
If your problem is caused by a bug in Home Manager then it should
be reported on the
[Home Manager issue tracker](https://github.com/nix-community/home-manager/issues).
:::{.note}
Commands prefixed with `$ sudo` have to be run as root, either
requiring to login as root user or temporarily switching to it using
`sudo` for example.
:::

64
docs/manual/usage.md Normal file
View File

@@ -0,0 +1,64 @@
# Using Home Manager {#ch-usage}
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*.
Building a configuration produces a directory in the Nix store that
contains all files and programs that should be available in your home
directory and Nix user profile, respectively. The build step also checks
that the configuration is valid and it will fail with an error if you,
for example, assign a value to an option that does not exist or assign a
value of the wrong type. Some modules also have custom assertions that
perform more detailed, module specific, checks.
Concretely, if your configuration contains
``` nix
programs.emacs.enable = "yes";
```
then building it, for example using `home-manager build`, will result in
an error message saying something like
```console
$ home-manager build
error: A definition for option `programs.emacs.enable' is not of type `boolean'. Definition values:
- In `/home/jdoe/.config/home-manager/home.nix': "yes"
(use '--show-trace' to show detailed location information)
```
The message indicates that you must provide a Boolean value for this
option, that is, either `true` or `false`. The documentation of each
option will state the expected type, for
[programs.emacs.enable](#opt-programs.emacs.enable) you will see "Type: boolean". You
there also find information about the default value and a description of
the option. You can find the complete option documentation in
[Home Manager Configuration Options](#ch-options) or directly in the terminal by running
``` shell
man home-configuration.nix
```
Once a configuration is successfully built, it can be activated. The
activation performs the steps necessary to make the files, programs, and
services available in your user environment. The `home-manager switch`
command performs a combined build and activation.
```{=include=} sections
usage/configuration.md
usage/rollbacks.md
usage/dotfiles.md
usage/graphical.md
usage/gpu-non-nixos.md
usage/updating.md
```

View File

@@ -0,0 +1,112 @@
# Configuration Example {#sec-usage-configuration}
A fresh install of Home Manager will generate a minimal
`~/.config/home-manager/home.nix` file containing something like
``` nix
{ config, pkgs, ... }:
{
# Home Manager needs a bit of information about you and the
# paths it should manage.
home.username = "jdoe";
home.homeDirectory = "/home/jdoe";
# 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 = "25.05";
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}
```
You can use this as a base for your further configurations.
::: {.note}
If you are not very familiar with the Nix language and NixOS modules
then it is encouraged to start with small and simple changes. As you
learn you can gradually grow the configuration with confidence.
:::
As an example, let us expand the initial configuration file to also
install the htop and fortune packages, install Emacs with a few extra
packages available, and enable the user gpg-agent service.
To satisfy the above setup we should elaborate the `home.nix` file as
follows:
``` nix
{ config, pkgs, ... }:
{
# Home Manager needs a bit of information about you and the
# paths it should manage.
home.username = "jdoe";
home.homeDirectory = "/home/jdoe";
# Packages that should be installed to the user profile.
home.packages = [
pkgs.htop
pkgs.fortune
];
# 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 = "25.05";
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
programs.emacs = {
enable = true;
extraPackages = epkgs: [
epkgs.nix-mode
epkgs.magit
];
};
services.gpg-agent = {
enable = true;
defaultCacheTtl = 1800;
enableSshSupport = true;
};
}
```
- Nixpkgs packages can be installed to the user profile using
[home.packages](#opt-home.packages).
- The option names of a program module typically start with
`programs.<package name>`.
- Similarly, for a service module, the names start with
`services.<package name>`. Note in some cases a package has both
programs *and* service options -- Emacs is such an example.
To activate this configuration you can run
``` shell
home-manager switch
```
or if you are not feeling so lucky,
``` shell
home-manager build
```
which will create a `result` link to a directory containing an
activation script and the generated home directory files.

View File

@@ -0,0 +1,36 @@
# Keeping your \~ safe from harm {#sec-usage-dotfiles}
To configure programs and services Home Manager must write various
things to your home directory. To prevent overwriting any existing files
when switching to a new generation, Home Manager will attempt to detect
collisions between existing files and generated files. If any such
collision is detected the activation will terminate before changing
anything on your computer.
For example, suppose you have a wonderful, painstakingly created
`~/.config/git/config` and add
``` nix
{
# …
programs.git = {
enable = true;
userName = "Jane Doe";
userEmail = "jane.doe@example.org";
};
# …
}
```
to your configuration. Attempting to switch to the generation will then
result in
``` shell
$ home-manager switch
Activating checkLinkTargets
Existing file '/home/jdoe/.config/git/config' is in the way
Please move the above files and try again
```

View File

@@ -0,0 +1,81 @@
# GPU on non-NixOS systems {#sec-usage-gpu-non-nixos}
To access the GPU, programs need access to OpenGL and Vulkan libraries. While
this works transparently on NixOS, it does not on other Linux systems. A
solution is provided by [NixGL](https://github.com/nix-community/nixGL), which
can be integrated into Home Manager.
To enable the integration, import NixGL into your home configuration, either as
a channel, or as a flake input passed via `extraSpecialArgs`. Then, set the
`nixGL.packages` option to the package set provided by NixGL.
Once integration is enabled, it can be used in two ways: as Nix functions for
wrapping programs installed via Home Manager, and as shell commands for running
programs installed by other means (such as `nix shell`). In either case, there
are several wrappers available. They can be broadly categorized
- by vendor: as Mesa (for Free drivers of all vendors) and Nvidia (for
Nvidia-specific proprietary drivers).
- by GPU selection: as primary and secondary (offloading).
For example, the `mesa` wrapper provides support for running programs on the
primary GPU for Intel, AMD and Nouveau drivers, while the `mesaPrime` wrapper
does the same for the secondary GPU.
**Note:** when using Nvidia wrappers together with flakes, your home
configuration will not be pure and needs to be built using `home-manager switch
--impure`. Otherwise, the build will fail, complaining about missing attribute
`currentTime`.
Wrapper functions are available under `config.lib.nixGL.wrappers`. However, it
can be more convenient to use the `config.lib.nixGL.wrap` alias, which can be
configured to use any of the wrappers. It is intended to provide a customization
point when the same home configuration is used across several machines with
different hardware. There is also the `config.lib.nixGL.wrapOffload` alias for
two-GPU systems.
Another convenience is that all wrapper functions are always available. However,
when `nixGL.packages` option is unset, they are no-ops. This allows them to be
used even when the home configuration is used on NixOS machines. The exception
is the `prime-offload` script which ignores `nixGL.packages` and is installed
into the environment whenever `nixGL.prime.installScript` is set. This script,
which can be used to start a program on a secondary GPU, does not depend on
NixGL and is useful on NixOS systems as well.
Below is an abbreviated example for an Optimus laptop that makes use of both
Mesa and Nvidia wrappers, where the latter is used in dGPU offloading mode. It
demonstrates how to wrap `mpv` to run on the integrated Intel GPU, wrap FreeCAD
to run on the Nvidia dGPU, and how to install the wrapper scripts. It also wraps
Xonotic to run on the dGPU, but uses the wrapper function directly for
demonstration purposes.
```nix
{ config, lib, pkgs, nixgl, ... }:
{
nixGL.packages = nixgl.packages;
nixGL.defaultWrapper = "mesa";
nixGL.offloadWrapper = "nvidiaPrime";
nixGL.installScripts = [ "mesa" "nvidiaPrime" ];
programs.mpv = {
enable = true;
package = config.lib.nixGL.wrap pkgs.mpv;
};
home.packages = [
(config.lib.nixGL.wrapOffload pkgs.freecad)
(config.lib.nixGL.wrappers.nvidiaPrime pkgs.xonotic)
];
}
```
The above example assumes a flake-based setup where `nixgl` was passed from the
flake. When using channels, the example would instead begin with
```nix
{ config, lib, pkgs, ... }:
{
nixGL.packages = import <nixgl> { inherit pkgs; };
# The rest is the same as above
...
```

View File

@@ -0,0 +1,32 @@
# Graphical services {#sec-usage-graphical}
Home Manager includes a number of services intended to run in a
graphical session, for example `xscreensaver` and `dunst`.
Unfortunately, such services will not be started automatically unless
you let Home Manager start your X session. That is, you have something
like
``` nix
{
# …
services.xserver.enable = true;
# …
}
```
in your system configuration and
``` nix
{
# …
xsession.enable = true;
xsession.windowManager.command = "…";
# …
}
```
in your Home Manager configuration.

View File

@@ -0,0 +1,32 @@
# Rollbacks {#sec-usage-rollbacks}
While the `home-manager` tool does not explicitly support rollbacks at
the moment it is relatively easy to perform one manually. The steps to
do so are
1. Run `home-manager generations` to determine which generation you
wish to rollback to:
``` shell
$ home-manager generations
2018-01-04 11:56 : id 765 -> /nix/store/kahm1rxk77mnvd2l8pfvd4jkkffk5ijk-home-manager-generation
2018-01-03 10:29 : id 764 -> /nix/store/2wsmsliqr5yynqkdyjzb1y57pr5q2lsj-home-manager-generation
2018-01-01 12:21 : id 763 -> /nix/store/mv960kl9chn2lal5q8lnqdp1ygxngcd1-home-manager-generation
2017-12-29 21:03 : id 762 -> /nix/store/6c0k1r03fxckql4vgqcn9ccb616ynb94-home-manager-generation
2017-12-25 18:51 : id 761 -> /nix/store/czc5y6vi1rvnkfv83cs3rn84jarcgsgh-home-manager-generation
```
2. Copy the Nix store path of the generation you chose, e.g.,
/nix/store/mv960kl9chn2lal5q8lnqdp1ygxngcd1-home-manager-generation
for generation 763.
3. Run the `activate` script inside the copied store path:
``` shell
$ /nix/store/mv960kl9chn2lal5q8lnqdp1ygxngcd1-home-manager-generation/activate
Starting home manager activation
```

View File

@@ -0,0 +1,12 @@
# Updating {#sec-updating}
If you have installed Home Manager using the Nix channel method then
updating Home Manager is done by first updating the channel. You can
then switch to the updated Home Manager environment.
``` shell
$ nix-channel --update
unpacking channels...
$ home-manager switch
```

View File

@@ -0,0 +1,13 @@
# Writing Home Manager Modules {#ch-writing-modules}
The module system in Home Manager is based entirely on the NixOS module
system so we will here only highlight aspects that are specific for Home
Manager. For information about the module system as such please refer to
the [Writing NixOS
Modules](https://nixos.org/nixos/manual/index.html#sec-writing-modules)
chapter of the NixOS manual.
```{=include=} sections
writing-modules/types.md
```

View File

@@ -0,0 +1,368 @@
# Option Types {#sec-option-types}
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
[programs.ssh.matchBlocks](#opt-programs.ssh.matchBlocks) and [dconf.settings](#opt-dconf.settings).
[]{#sec-option-types-dag}`hm.types.dagOf`
: Options of this type have attribute sets as values where each member
is a node in a [directed acyclic
graph](https://en.wikipedia.org/w/index.php?title=Directed_acyclic_graph&oldid=939656095)
(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
[home.activation](#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`.
[]{#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
``` nix
foo.bar = {
a = hm.dag.entryAnywhere 0;
}
```
and
``` nix
foo.bar = {
a = 0;
}
```
are equivalent.
[]{#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
``` nix
foo.bar = {
a = 0;
b = hm.dag.entryAfter [ "a" ] 1;
}
```
would place `b` after `a` in the graph.
[]{#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
``` nix
foo.bar = {
b = hm.dag.entryBefore [ "a" ] 1;
a = 0;
}
```
would place `b` before `a` in the graph.
[]{#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
``` nix
foo.bar = {
a = 0;
c = hm.dag.entryBetween [ "b" ] [ "a" ] 2;
b = 1;
}
```
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}`.
[]{#sec-option-types-dag-entriesAnywhere}`hm.dag.entriesAnywhere (tag: string) (values: [T]) : Dag<T>`
: Creates a DAG with the given values with each entry labeled
using the given tag. For example
``` nix
foo.bar = hm.dag.entriesAnywhere "a" [ 0 1 ];
```
is equivalent to
``` 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
``` nix
foo.bar =
{ b = 0; }
// hm.dag.entriesAfter "a" [ "b" ] [ 1 2 ];
```
is equivalent to
``` 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
``` nix
foo.bar =
{ b = 0; }
// hm.dag.entriesBefore "a" [ "b" ] [ 1 2 ];
```
is equivalent to
``` 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
``` nix
foo.bar =
{ b = 0; c = 3; }
// hm.dag.entriesBetween "a" [ "b" ] [ "c" ] [ 1 2 ];
```
is equivalent to
``` 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](https://docs.gtk.org/glib/struct.Variant.html#description)
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,
``` nix
foo.bar = hm.gvariant.mkBoolean true;
```
is equivalent to
``` nix
foo.bar = true;
```
[]{#sec-option-types-gvariant-mkString}`hm.gvariant.mkString (v: string)`
: 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,
``` nix
foo.bar = hm.gvariant.mkString "a string";
```
is equivalent to
``` nix
foo.bar = "a string";
```
[]{#sec-option-types-gvariant-mkObjectpath}`hm.gvariant.mkObjectpath (v: string)`
: Takes a Nix value `v` to a GVariant `objectpath` value (GVariant
format string `o`).
[]{#sec-option-types-gvariant-mkUchar}`hm.gvariant.mkUchar (v: string)`
: Takes a Nix value `v` to a GVariant `uchar` value (GVariant
format string `y`).
[]{#sec-option-types-gvariant-mkInt16}`hm.gvariant.mkInt16 (v: int)`
: Takes a Nix value `v` to a GVariant `int16` value (GVariant
format string `n`).
[]{#sec-option-types-gvariant-mkUint16}`hm.gvariant.mkUint16 (v: int)`
: Takes a Nix value `v` to a GVariant `uint16` value (GVariant
format string `q`).
[]{#sec-option-types-gvariant-mkInt32}`hm.gvariant.mkInt32 (v: int)`
: 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,
``` nix
foo.bar = hm.gvariant.mkInt32 7;
```
is equivalent to
``` nix
foo.bar = 7;
```
[]{#sec-option-types-gvariant-mkUint32}`hm.gvariant.mkUint32 (v: int)`
: Takes a Nix value `v` to a GVariant `uint32` value (GVariant
format string `u`).
[]{#sec-option-types-gvariant-mkInt64}`hm.gvariant.mkInt64 (v: int)`
: Takes a Nix value `v` to a GVariant `int64` value (GVariant
format string `x`).
[]{#sec-option-types-gvariant-mkUint64}`hm.gvariant.mkUint64 (v: int)`
: Takes a Nix value `v` to a GVariant `uint64` value (GVariant
format string `t`).
[]{#sec-option-types-gvariant-mkDouble}`hm.gvariant.mkDouble (v: double)`
: 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,
``` nix
foo.bar = hm.gvariant.mkDouble 3.14;
```
is equivalent to
``` nix
foo.bar = 3.14;
```
[]{#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
(GVariant format string `a${type}`). The `type` value can be
constructed using
- `hm.gvariant.type.string` (GVariant format string `s`)
- `hm.gvariant.type.boolean` (GVariant format string `b`)
- `hm.gvariant.type.uchar` (GVariant format string `y`)
- `hm.gvariant.type.int16` (GVariant format string `n`)
- `hm.gvariant.type.uint16` (GVariant format string `q`)
- `hm.gvariant.type.int32` (GVariant format string `i`)
- `hm.gvariant.type.uint32` (GVariant format string `u`)
- `hm.gvariant.type.int64` (GVariant format string `x`)
- `hm.gvariant.type.uint64` (GVariant format string `t`)
- `hm.gvariant.type.double` (GVariant format string `d`)
- `hm.gvariant.type.variant` (GVariant format string `v`)
- `hm.gvariant.type.arrayOf type` (GVariant format string
`a${type}`)
- `hm.gvariant.type.maybeOf type` (GVariant format string
`m${type}`)
- `hm.gvariant.type.tupleOf types` (GVariant format string
`(${lib.concatStrings 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.
[]{#sec-option-types-gvariant-mkEmptyArray}`hm.gvariant.mkEmptyArray type`
: An alias of
[`hm.gvariant.mkArray type []`](#sec-option-types-gvariant-mkArray).
[]{#sec-option-types-gvariant-mkNothing}`hm.gvariant.mkNothing type`
: 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
[`mkArray`](#sec-option-types-gvariant-mkArray) function above.
[]{#sec-option-types-gvariant-mkJust}`hm.gvariant.mkJust element`
: Builds a GVariant maybe value (GVariant format string
`m${element.type}`) containing the given GVariant element.
[]{#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.
[]{#sec-option-types-gvariant-mkVariant}`hm.gvariant.mkVariant element`
: Builds a GVariant variant (GVariant format string `v`) which
contains the value of a GVariant element.
[]{#sec-option-types-gvariant-mkDictionaryEntry}`hm.gvariant.mkDictionaryEntry [key 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

@@ -1,241 +0,0 @@
[[ch-nix-flakes]]
== Nix Flakes
:nixos-wiki-flakes: https://nixos.wiki/wiki/Flakes
Home Manager includes a `flake.nix` file for compatibility with {nixos-wiki-flakes}[Nix Flakes].
The support is still experimental and may change in backwards incompatible ways.
[[sec-flakes-prerequisties]]
=== Prerequisites
* Install Nix 2.4 or later, or have it in `nix-shell`.
* Enable experimental features `nix-command` and `flakes`.
+
** When using NixOS, add the following to your `configuration.nix` and rebuild your system.
+
[source,nix]
nix = {
package = pkgs.nixFlakes;
extraOptions = ''
experimental-features = nix-command flakes
'';
};
+
** If you are not using NixOS, add the following to `nix.conf` (located at `~/.config/nix/` or `/etc/nix/nix.conf`).
+
[source,bash]
experimental-features = nix-command flakes
+
You may need to restart the Nix daemon with, for example, `sudo systemctl restart nix-daemon.service`.
+
** Alternatively, you can enable flakes on a per-command basis with the following additional flags to `nix` and `home-manager`:
+
[source,console]
----
$ nix --extra-experimental-features "nix-command flakes" <sub-commands>
$ home-manager --extra-experimental-features "nix-command flakes" <sub-commands>
----
* Prepare your Home Manager configuration (`home.nix`).
+
Unlike the channel-based setup,
`home.nix` will be evaluated when the flake is built,
so it must be present before bootstrap of Home Manager from the flake.
See <<sec-usage-configuration>> for introduction about
writing a Home Manager configuration.
[[sec-flakes-standalone]]
=== Standalone setup
1. Set up a flake with a `flake.nix` as follows:
+
[source,nix]
----
{
description = "Home Manager configuration of Jane Doe";
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 = "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]
$ nix flake new ~/.config/nixpkgs -t github:nix-community/home-manager
====
2. Install Home Manager and apply the configuration by
+
[source,console]
----
$ nix build --no-link <flake-uri>#homeConfigurations.jdoe.activationPackage
$ "$(nix path-info <flake-uri>#homeConfigurations.jdoe.activationPackage)"/activate
----
+
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`,
building a flake-based configuration is as simple as
+
[source,console]
$ home-manager switch --flake '<flake-uri>#jdoe'
+
once home-manager is installed.
+
Here, `jdoe` is a configuration specified in the flake file,
and `<flake-uri>#jdoe` will be expanded to
`<flake-uri>#homeConfigurations.jdoe.activationPackage`
and be built by Nix.
[NOTE]
====
The flake inputs are not upgraded automatically when switching.
The analogy to the command `home-manager --update ...` is `nix flake update`.
If updating more than one input is undesirable,
the command `nix flake lock --update-input <input-name>` can be used.
You can also pass flake-related options
such as `--recreate-lock-file` or `--update-input [input]`
to `home-manager` when building/switching,
and these options will be forwarded to `nix build`.
See the {nixos-wiki-flakes}[NixOS Wiki page] for detail.
====
[[sec-flakes-nixos-module]]
=== NixOS module
To use Home Manager as a NixOS module,
a bare-minimum `flake.nix` would be as follows:
[source,nix]
----
{
description = "NixOS configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = inputs@{ nixpkgs, home-manager, ... }: {
nixosConfigurations = {
hostname = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.jdoe = import ./home.nix;
# Optionally, use home-manager.extraSpecialArgs to pass
# arguments to home.nix
}
];
};
};
};
}
----
The Home Manager configuration is then part of the NixOS configuration
and is automatically rebuilt with the system when using the appropriate command
for the system, such as `nixos-rebuild switch --flake <flake-uri>`.
You can use the above `flake.nix` as a template in `/etc/nixos` by
[source,console]
$ nix flake new /etc/nixos -t github:nix-community/home-manager#nixos
[[sec-flakes-nix-darwin-module]]
=== nix-darwin module
The flake-based setup of the Home Manager nix-darwin module
is similar to that of NixOS. The `flake.nix` would be:
[source,nix]
----
{
description = "Darwin configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
darwin.url = "github:lnl7/nix-darwin";
darwin.inputs.nixpkgs.follows = "nixpkgs";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = inputs@{ nixpkgs, home-manager, darwin, ... }: {
darwinConfigurations = {
hostname = darwin.lib.darwinSystem {
system = "x86_64-darwin";
modules = [
./configuration.nix
home-manager.darwinModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.jdoe = import ./home.nix;
# Optionally, use home-manager.extraSpecialArgs to pass
# arguments to home.nix
}
];
};
};
};
}
----
and it is also rebuilt with the nix-darwin generations.
The rebuild command here may be `darwin-rebuild switch --flake <flake-uri>`.
You can use the above `flake.nix` as a template in `~/.config/darwin` by
[source,console]
$ nix flake new ~/.config/darwin -t github:nix-community/home-manager#nix-darwin

15
docs/options.html Normal file
View File

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

View File

@@ -1,27 +0,0 @@
[[ch-release-notes]]
[appendix]
== Release Notes
This section lists the release notes for stable versions of Home Manager and the current unstable version.
:leveloffset: 1
include::rl-2211.adoc[]
include::rl-2205.adoc[]
include::rl-2111.adoc[]
include::rl-2105.adoc[]
include::rl-2009.adoc[]
include::rl-2003.adoc[]
include::rl-1909.adoc[]
include::rl-1903.adoc[]
include::rl-1809.adoc[]
:leveloffset: 0

View File

@@ -0,0 +1,22 @@
# Release Notes {#ch-release-notes}
This section lists the release notes for stable versions of Home Manager
and the current unstable version.
```{=include=} chapters
rl-2511.md
rl-2505.md
rl-2411.md
rl-2405.md
rl-2311.md
rl-2305.md
rl-2211.md
rl-2205.md
rl-2111.md
rl-2105.md
rl-2009.md
rl-2003.md
rl-1909.md
rl-1903.md
rl-1809.md
```

View File

@@ -1,4 +1,3 @@
[[sec-release-18.09]]
== Release 18.09
# Release 18.09 {#sec-release-18.09}
The 18.09 release branch became the stable branch in September, 2018.

View File

@@ -1,59 +0,0 @@
[[sec-release-19.03]]
== Release 19.03
The 19.03 release branch became the stable branch in April, 2019.
[[sec-release-19.03-highlights]]
=== Highlights
:opt-home-file-source: opt-home.file._name_.source
This release has the following notable changes:
* The <<{opt-home-file-source}>> option now allows source files to be
hidden, that is, having a name starting with the `.` character. It
also allows the source file name to contain characters not typically
allowed for Nix store paths. For example, your configuration can now
contain things such as
+
[source,nix]
----
home.file."my file".source = ./. + "/file with spaces!";
----
* The type used for the systemd unit options under
<<opt-systemd.user.services>>, <<opt-systemd.user.sockets>>, etc. has
been changed to offer more robust merging of configurations. If you
don't override values within systemd units then you are not affected
by this change. Unfortunately, if you do override unit values you may
encounter errors.
+
In particular, if you get an error saying that a ``unique option'' is
``defined multiple times'' then you need to use the
https://nixos.org/nixos/manual/#sec-option-definitions-setting-priorities[`mkForce`]
function. For example,
+
[source,nix]
----
systemd.user.services.foo.Service.ExecStart = "/foo/bar";
----
+
becomes
+
[source,nix]
----
systemd.user.services.foo.Service.ExecStart = lib.mkForce "/foo/bar";
----
+
We had to make this change because the old merging was causing too
many confusing situations for people.
[[sec-release-19.03-state-version-changes]]
=== State Version Changes
The state version in this release includes the changes below. These
changes are only active if the <<opt-home.stateVersion>> option is set
to ``19.03'' or later.
* There is now an option <<opt-programs.beets.enable>> that defaults
to `false`. Before the module would be active if the
<<opt-programs.beets.settings>> option was non-empty.

View File

@@ -0,0 +1,52 @@
# Release 19.03 {#sec-release-19.03}
The 19.03 release branch became the stable branch in April, 2019.
## Highlights {#sec-release-19.03-highlights}
This release has the following notable changes:
- The [home.file._name_.source](#opt-home.file._name_.source) option now allows source
files to be hidden, that is, having a name starting with the `.`
character. It also allows the source file name to contain characters
not typically allowed for Nix store paths. For example, your
configuration can now contain things such as
``` nix
home.file."my file".source = ./. + "/file with spaces!";
```
- The type used for the systemd unit options under
[systemd.user.sockets](#opt-systemd.user.sockets),
etc. has been changed to offer more robust merging of
configurations. If you don't override values within systemd units
then you are not affected by this change. Unfortunately, if you do
override unit values you may encounter errors.
In particular, if you get an error saying that a "unique option" is
"defined multiple times" then you need to use the
[`mkForce`](https://nixos.org/nixos/manual/#sec-option-definitions-setting-priorities)
function. For example,
``` nix
systemd.user.services.foo.Service.ExecStart = "/foo/bar";
```
becomes
``` nix
systemd.user.services.foo.Service.ExecStart = lib.mkForce "/foo/bar";
```
We had to make this change because the old merging was causing too
many confusing situations for people.
## State Version Changes {#sec-release-19.03-state-version-changes}
The state version in this release includes the changes below. These
changes are only active if the [home.stateVersion](#opt-home.stateVersion) option is
set to "19.03" or later.
- There is now an option [programs.beets.enable](#opt-programs.beets.enable) that
defaults to `false`. Before the module would be active if the
[programs.beets.settings](#opt-programs.beets.settings) option was non-empty.

View File

@@ -1,31 +0,0 @@
[[sec-release-19.09]]
== Release 19.09
The 19.09 release branch became the stable branch in October, 2019.
[[sec-release-19.09-highlights]]
=== Highlights
This release has the following notable changes:
* The `programs.firefox.enableGoogleTalk` and
`programs.firefox.enableIcedTea` options are now deprecated
and will only work if Firefox ESR 52.x is used.
* The `home-manager` tool now provides an `uninstall` sub-command that
can be used to uninstall Home Manager, if used in the standalone
mode. That is, not as a NixOS module.
[[sec-release-19.09-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
"19.09" or later.
* The <<opt-programs.firefox.package>> option now expects a wrapped
Firefox package and defaults to `pkgs.firefox`.
* The options <<opt-home.keyboard.layout>> and
<<opt-home.keyboard.variant>> now default to `null`, which indicates
that the system value should be used.

View File

@@ -0,0 +1,28 @@
# Release 19.09 {#sec-release-19.09}
The 19.09 release branch became the stable branch in October, 2019.
## Highlights {#sec-release-19.09-highlights}
This release has the following notable changes:
- The `programs.firefox.enableGoogleTalk` and
`programs.firefox.enableIcedTea` options are now deprecated and will
only work if Firefox ESR 52.x is used.
- The `home-manager` tool now provides an `uninstall` sub-command that
can be used to uninstall Home Manager, if used in the standalone
mode. That is, not as a NixOS module.
## State Version Changes {#sec-release-19.09-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
\"19.09\" or later.
- The [programs.firefox.package](#opt-programs.firefox.package) option now expects a
wrapped Firefox package and defaults to `pkgs.firefox`.
- The options [home.keyboard.layout](#opt-home.keyboard.layout) and
[home.keyboard.variant](#opt-home.keyboard.variant) now default to `null`, which
indicates that the system value should be used.

View File

@@ -1,126 +0,0 @@
[[sec-release-20.03]]
== Release 20.03
The 20.03 release branch became the stable branch in April, 2020.
[[sec-release-20.03-highlights]]
=== Highlights
This release has the following notable changes:
* Assigning a list to the <<opt-home.file>>, <<opt-xdg.configFile>>,
and <<opt-xdg.dataFile>> options is now deprecated and will produce a
warning message if used. Specifically, if your configuration currently
contains something like
+
[source,nix]
----
home.file = [
{
target = ".config/foo.txt";
text = "bar";
}
]
----
+
then it should be updated to instead use the equivalent attribute set form
+
[source,nix]
----
home.file = {
".config/foo.txt".text = "bar";
}
----
+
Support for the list form will be removed in Home Manager version
20.09.
* The `lib` function attribute given to modules is now enriched with
an attribute `hm` containing extra library functions specific for Home
Manager. More specifically, `lib.hm` is now the same as `config.lib`
and should be the preferred choice since it is more robust.
+
Therefore, if your configuration makes use of, for example,
`config.lib.dag` to create activation script blocks, it is recommended
to change to `lib.hm.dag`.
+
Note, in the unlikely case that you are
+
** using Home Manager's NixOS or nix-darwin module,
** have made your own Home Manager module containing an top-level
option named `config` or `options`, and
** assign to this option in your system configuration inside a plain
attribute set, i.e., without a function argument,
+
then you must update your configuration to perform the option
assignment inside a `config` attribute. For example, instead of
+
[source,nix]
----
home-manager.users.jane = { config = "foo"; };
----
+
use
+
[source,nix]
----
home-manager.users.jane = { config.config = "foo"; };
----
* The `services.compton` module has been deprecated and instead the
new module `services.picom` should be used. This is because Nixpkgs no
longer packages compton, and instead packages the (mostly) compatible
fork called picom.
* The list form of the <<opt-programs.ssh.matchBlocks>> option has
been deprecated and configurations requiring match blocks in a defined
order should switch to using DAG entries instead. For example, a
configuration
+
[source,nix]
----
programs.ssh.matchBlocks = [
{
host = "alpha.foo.com";
user = "jd";
}
{
host = "*.foo.com";
user = "john.doe";
}
];
----
+
can be expressed along the lines of
+
[source,nix]
----
programs.ssh.matchBlocks = {
"*.example.com" = {
user = "john.doe";
}
"alpha.example.com" = lib.hm.dag.entryBefore ["*.example.com"] {
user = "jd";
}
};
----
+
Support for the list form will be removed in Home Manager version
20.09.
[[sec-release-20.03-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
"20.03" or later.
* The <<opt-programs.zsh.history.path>> option is no longer prepended
by `$HOME`, which allows specifying absolute paths, for example,
using the xdg module. Also, the default value is fixed to
`$HOME/.zsh_history` and `dotDir` path is not prepended to it
anymore.
* The newsboat module will now default in displaying `queries` before `urls` in
its main window. This makes sense in the case when one has a lot of URLs and
few queries.

View File

@@ -0,0 +1,122 @@
# Release 20.03 {#sec-release-20.03}
The 20.03 release branch became the stable branch in April, 2020.
## Highlights {#sec-release-20.03-highlights}
This release has the following notable changes:
- Assigning a list to the [home.file](#opt-home.file),
[xdg.dataFile](#opt-xdg.dataFile) options is
now deprecated and will produce a warning message if used.
Specifically, if your configuration currently contains something
like
``` nix
home.file = [
{
target = ".config/foo.txt";
text = "bar";
}
]
```
then it should be updated to instead use the equivalent attribute
set form
``` nix
home.file = {
".config/foo.txt".text = "bar";
}
```
Support for the list form will be removed in Home Manager version
20.09.
- The `lib` function attribute given to modules is now enriched with
an attribute `hm` containing extra library functions specific for
Home Manager. More specifically, `lib.hm` is now the same as
`config.lib` and should be the preferred choice since it is more
robust.
Therefore, if your configuration makes use of, for example,
`config.lib.dag` to create activation script blocks, it is
recommended to change to `lib.hm.dag`.
Note, in the unlikely case that you are
- using Home Manager's NixOS or nix-darwin module,
- have made your own Home Manager module containing an top-level
option named `config` or `options`, and
- assign to this option in your system configuration inside a
plain attribute set, i.e., without a function argument,
then you must update your configuration to perform the option
assignment inside a `config` attribute. For example, instead of
``` nix
home-manager.users.jane = { config = "foo"; };
```
use
``` nix
home-manager.users.jane = { config.config = "foo"; };
```
- The `services.compton` module has been deprecated and instead the
new module `services.picom` should be used. This is because Nixpkgs
no longer packages compton, and instead packages the (mostly)
compatible fork called picom.
- The list form of the [programs.ssh.matchBlocks](#opt-programs.ssh.matchBlocks) option has
been deprecated and configurations requiring match blocks in a
defined order should switch to using DAG entries instead. For
example, a configuration
``` nix
programs.ssh.matchBlocks = [
{
host = "alpha.foo.com";
user = "jd";
}
{
host = "*.foo.com";
user = "john.doe";
}
];
```
can be expressed along the lines of
``` nix
programs.ssh.matchBlocks = {
"*.example.com" = {
user = "john.doe";
}
"alpha.example.com" = lib.hm.dag.entryBefore ["*.example.com"] {
user = "jd";
}
};
```
Support for the list form will be removed in Home Manager version
20.09.
## State Version Changes {#sec-release-20.03-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
\"20.03\" or later.
- The [programs.zsh.history.path](#opt-programs.zsh.history.path) option is no longer
prepended by `$HOME`, which allows specifying absolute paths, for
example, using the xdg module. Also, the default value is fixed to
`$HOME/.zsh_history` and `dotDir` path is not prepended to it
anymore.
- The newsboat module will now default in displaying `queries` before
`urls` in its main window. This makes sense in the case when one has
a lot of URLs and few queries.

View File

@@ -1,96 +0,0 @@
[[sec-release-20.09]]
== Release 20.09
The 20.09 release branch became the stable branch in late September, 2020.
[[sec-release-20.09-highlights]]
=== Highlights
This release has the following notable changes:
* Nothing has happened.
[[sec-release-20.09-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
"20.09" or later.
* The options <<opt-home.homeDirectory>> and <<opt-home.username>> no
longer have default values and must therefore be provided in your
configuration. Previously their values would default to the content of
the environment variables `HOME` and `USER`, respectively.
+
--
Further, the options <<opt-xdg.cacheHome>>, <<opt-xdg.configHome>>,
and <<opt-xdg.dataHome>> will no longer be affected by the
`XDG_CACHE_HOME`, `XDG_CONFIG_HOME`, and `XDG_DATA_HOME` environment
variables. They now unconditionally default to
- `"${config.home.homeDirectory}/.cache"`,
- `"${config.home.homeDirectory}/.config"`, and
- `"${config.home.homeDirectory}/.local/share"`.
If you choose to switch to state version 20.09 then you must set these
options if you use non-default XDG base directory paths.
The initial configuration generated by
[source,console]
$ nix-shell '<home-manager>' -A install
will automatically include these options, when necessary.
--
* Git's `smtpEncryption` option is now set to `tls` only if both <<opt-accounts.email.accounts.\_name_.smtp.tls.enable>> and <<opt-accounts.email.accounts.\_name_.smtp.tls.useStartTls>> are `true`. If only <<opt-accounts.email.accounts.\_name_.smtp.tls.enable>> is `true`, `ssl` is used instead.
* The `nixpkgs` module no longer references `<nixpkgs>`. Before it would do so when building the `pkgs` module argument. Starting with state version 20.09, the `pkgs` argument is instead built from the same Nixpkgs that was used to initialize the Home Manager modules. This is useful, for example, when using Home Manager within a Nix Flake. If you want to keep using `<nixpkgs>` with state version ≥ 20.09 then add
+
[source,nix]
_module.args.pkgsPath = <nixpkgs>;
+
to your Home Manager configuration.
* The options `wayland.windowManager.sway.config.bars` and `opt-xsession.windowManager.i3.config.bars` have been changed so that most of the suboptions are now nullable and default to `null`. The default for these two options has been changed to manually set the old defaults for each suboption. The overall effect is that if the `bars` options is not set, then the default remains the same. On the other hand, something like:
+
--
[source,nix]
----
bars = [ {
command = "waybar";
} ];
----
will now create the config:
....
bar {
swaybar_command waybar
}
....
instead of
....
bar {
font pango:monospace 8
mode dock
hidden_state hide
position bottom
status_command /nix/store/h7s6i9q1z5fxrlyyw5ls8vqxhf5bcs5a-i3status-2.13/bin/i3status
swaybar_command waybar
workspace_buttons yes
strip_workspace_numbers no
tray_output primary
colors {
background #000000
statusline #ffffff
separator #666666
focused_workspace #4c7899 #285577 #ffffff
active_workspace #333333 #5f676a #ffffff
inactive_workspace #333333 #222222 #888888
urgent_workspace #2f343a #900000 #ffffff
binding_mode #2f343a #900000 #ffffff
}
}
....
--

View File

@@ -0,0 +1,112 @@
# Release 20.09 {#sec-release-20.09}
The 20.09 release branch became the stable branch in late September,
2020.
## Highlights {#sec-release-20.09-highlights}
This release has the following notable changes:
- Nothing has happened.
## State Version Changes {#sec-release-20.09-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
\"20.09\" or later.
- The options [home.homeDirectory](#opt-home.homeDirectory) and
[home.username](#opt-home.username) no longer have default values and must
therefore be provided in your configuration. Previously their values
would default to the content of the environment variables `HOME` and
`USER`, respectively.
Further, the options [xdg.cacheHome](#opt-xdg.cacheHome),
[xdg.dataHome](#opt-xdg.dataHome) will no
longer be affected by the `XDG_CACHE_HOME`, `XDG_CONFIG_HOME`, and
`XDG_DATA_HOME` environment variables. They now unconditionally
default to
- `"${config.home.homeDirectory}/.cache"`,
- `"${config.home.homeDirectory}/.config"`, and
- `"${config.home.homeDirectory}/.local/share"`.
If you choose to switch to state version 20.09 then you must set
these options if you use non-default XDG base directory paths.
The initial configuration generated by
``` console
$ nix-shell '<home-manager>' -A install
```
will automatically include these options, when necessary.
- Git's `smtpEncryption` option is now set to `tls` only if both
[accounts.email.accounts._name_.smtp.tls.enable](#opt-accounts.email.accounts._name_.smtp.tls.enable) and
[accounts.email.accounts._name_.smtp.tls.useStartTls](#opt-accounts.email.accounts._name_.smtp.tls.useStartTls) are
`true`. If only
[accounts.email.accounts._name_.smtp.tls.enable](#opt-accounts.email.accounts._name_.smtp.tls.enable) is
`true`, `ssl` is used instead.
- The `nixpkgs` module no longer references `<nixpkgs>`. Before it
would do so when building the `pkgs` module argument. Starting with
state version 20.09, the `pkgs` argument is instead built from the
same Nixpkgs that was used to initialize the Home Manager modules.
This is useful, for example, when using Home Manager within a Nix
Flake. If you want to keep using `<nixpkgs>` with state version ≥
20.09 then add
``` nix
_module.args.pkgsPath = <nixpkgs>;
```
to your Home Manager configuration.
- The options `wayland.windowManager.sway.config.bars` and
`opt-xsession.windowManager.i3.config.bars` have been changed so
that most of the suboptions are now nullable and default to `null`.
The default for these two options has been changed to manually set
the old defaults for each suboption. The overall effect is that if
the `bars` options is not set, then the default remains the same. On
the other hand, something like:
``` nix
bars = [ {
command = "waybar";
} ];
```
will now create the config:
bar {
swaybar_command waybar
}
instead of
bar {
font pango:monospace 8
mode dock
hidden_state hide
position bottom
status_command /nix/store/h7s6i9q1z5fxrlyyw5ls8vqxhf5bcs5a-i3status-2.13/bin/i3status
swaybar_command waybar
workspace_buttons yes
strip_workspace_numbers no
tray_output primary
colors {
background #000000
statusline #ffffff
separator #666666
focused_workspace #4c7899 #285577 #ffffff
active_workspace #333333 #5f676a #ffffff
inactive_workspace #333333 #222222 #888888
urgent_workspace #2f343a #900000 #ffffff
binding_mode #2f343a #900000 #ffffff
}
}

View File

@@ -1,200 +0,0 @@
[[sec-release-21.05]]
== Release 21.05
The 21.05 release branch became the stable branch in May, 2021.
[[sec-release-21.05-highlights]]
=== Highlights
This release has the following notable changes:
* The `opt-programs.broot.verbs` option is now a list rather than an
attribute set. To migrate, move the keys of the attrset into the list
items' `invocation` keys. For example,
+
[source,nix]
----
programs.broot.verbs = {
"p" = { execution = ":parent"; };
};
----
+
becomes
+
[source,nix]
----
programs.broot.verbs = [
{
invocation = "p";
execution = ":parent";
}
];
----
* The <<opt-programs.mpv.package>> option has been changed to allow custom
derivations. The following configuration is now possible:
+
[source,nix]
----
programs.mpv.package = (pkgs.wrapMpv (pkgs.mpv-unwrapped.override {
vapoursynthSupport = true;
}) {
extraMakeWrapperArgs = [
"--prefix" "LD_LIBRARY_PATH" ":" "${pkgs.vapoursynth-mvtools}/lib/vapoursynth"
];
});
----
+
As a result of this change, <<opt-programs.mpv.package>> is no longer the
resulting derivation. Use the newly introduced `programs.mpv.finalPackage`
instead.
* The <<opt-programs.rofi.extraConfig>> option is now an attribute set rather
than a string. To migrate, move each line into the attribute set,
removing the `rofi.` prefix from the keys. For example,
+
[source,nix]
----
programs.rofi.extraConfig = ''
rofi.show-icons: true
rofi.modi: drun,emoji,ssh
'';
----
+
becomes
+
[source,nix]
----
programs.rofi.extraConfig = {
show-icons = true;
modi = "drun,emoji,ssh";
};
----
+
* The <<opt-programs.rofi.theme>> option now supports defining a theme
using an attribute set, the following configuration is now possible:
+
[source,nix]
----
programs.rofi.theme = let
# Necessary to avoid quoting non-string values
inherit (config.lib.formats.rasi) mkLiteral;
in {
"@import" = "~/.config/rofi/theme.rasi";
"*" = {
background-color = mkLiteral "#000000";
foreground-color = mkLiteral "rgba ( 250, 251, 252, 100 % )";
border-color = mkLiteral "#FFFFFF";
width = 512;
};
"#textbox-prompt-colon" = {
expand = false;
str = ":";
margin = mkLiteral "0px 0.3em 0em 0em";
text-color = mkLiteral "@foreground-color";
};
};
----
* The `services.redshift.extraOptions` and `services.gammastep.extraOptions`
options were removed in favor of <<opt-services.redshift.settings>> and
`services.gammastep.settings`, that are now an attribute set rather
than a string. They also support new features not available before, for
example:
+
[source,nix]
----
services.redshift = {
dawnTime = "6:00-7:45";
duskTime = "18:35-20:15";
settings = {
redshift = {
gamma = 0.8;
adjustment-method = "randr";
};
randr = {
screen = 0;
};
};
};
----
+
It is recommended to check either
https://github.com/jonls/redshift/blob/master/redshift.conf.sample[redshift.conf.sample] or
https://gitlab.com/chinstrap/gammastep/-/blob/master/gammastep.conf.sample[gammastep.conf.sample]
for the available additional options in each program.
* Specifying `programs.neomutt.binds.map` or `programs.neomutt.macros.map` as a
single string is now deprecated in favor of specfiying it as a list of
strings.
* The `programs.neovim.configure` is deprecated in favor of other `programs.neovim` options;
please use the other options at your disposal:
+
[source,nix]
----
configure.packages.*.opt -> programs.neovim.plugins = [ { plugin = ...; optional = true; }]
configure.packages.*.start -> programs.neovim.plugins = [ { plugin = ...; }]
configure.customRC -> programs.neovim.extraConfig
----
* Home Manager now respects the `NO_COLOR` environment variable as per
https://no-color.org/[].
* Qt module now supports <<opt-qt.style.name>> to specify a theme name and
<<opt-qt.style.package>> to specify a theme package. If you have set
<<opt-qt.platformTheme>> to `gnome`, a <<opt-qt.style.package>> compatible
with both Qt and Gtk is now required to be set. For instance:
+
[source,nix]
----
qt = {
platformTheme = "gnome";
style = {
name = "adwaita-dark";
package = pkgs.adwaita-qt;
};
};
----
* The library type `fontType` now has a `size` attribute in addition to `name`. For example:
+
[source,nix]
----
font = {
name = "DejaVu Sans";
size = 8;
};
----
* The <<opt-programs.htop.settings>> option is introduced to replace individual
options in `programs.htop`. To migrate, set the htop options directly in
<<opt-programs.htop.settings>>. For example:
+
[source,nix]
----
programs.htop = {
enabled = true;
settings = {
color_scheme = 5;
delay = 15;
highlight_base_name = 1;
highlight_megabytes = 1;
highlight_threads = 1;
};
};
----
[[sec-release-21.05-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
"21.05" or later.
* The `newsboat` module now stores generated configuration in
`$XDG_CONFIG_HOME/newsboat`.

View File

@@ -0,0 +1,194 @@
# Release 21.05 {#sec-release-21.05}
The 21.05 release branch became the stable branch in May, 2021.
## Highlights {#sec-release-21.05-highlights}
This release has the following notable changes:
- The 'opt-programs.broot.verbs\` option is now a list rather than an
attribute set. To migrate, move the keys of the attrset into the
list items' `invocation` keys. For example,
``` nix
programs.broot.verbs = {
"p" = { execution = ":parent"; };
};
```
becomes
``` nix
programs.broot.verbs = [
{
invocation = "p";
execution = ":parent";
}
];
```
- The [programs.mpv.package](#opt-programs.mpv.package) option has been changed to
allow custom derivations. The following configuration is now
possible:
``` nix
programs.mpv.package = (pkgs.wrapMpv (pkgs.mpv-unwrapped.override {
vapoursynthSupport = true;
}) {
extraMakeWrapperArgs = [
"--prefix" "LD_LIBRARY_PATH" ":" "${pkgs.vapoursynth-mvtools}/lib/vapoursynth"
];
});
```
As a result of this change, [programs.mpv.package](#opt-programs.mpv.package) is no
longer the resulting derivation. Use the newly introduced
`programs.mpv.finalPackage` instead.
- The [programs.rofi.extraConfig](#opt-programs.rofi.extraConfig) option is now an attribute
set rather than a string. To migrate, move each line into the
attribute set, removing the `rofi.` prefix from the keys. For
example,
``` nix
programs.rofi.extraConfig = ''
rofi.show-icons: true
rofi.modi: drun,emoji,ssh
'';
```
becomes
``` nix
programs.rofi.extraConfig = {
show-icons = true;
modi = "drun,emoji,ssh";
};
```
- The [programs.rofi.theme](#opt-programs.rofi.theme) option now supports defining a
theme using an attribute set, the following configuration is now
possible:
``` nix
programs.rofi.theme = let
# Necessary to avoid quoting non-string values
inherit (config.lib.formats.rasi) mkLiteral;
in {
"@import" = "~/.config/rofi/theme.rasi";
"*" = {
background-color = mkLiteral "#000000";
foreground-color = mkLiteral "rgba ( 250, 251, 252, 100 % )";
border-color = mkLiteral "#FFFFFF";
width = 512;
};
"#textbox-prompt-colon" = {
expand = false;
str = ":";
margin = mkLiteral "0px 0.3em 0em 0em";
text-color = mkLiteral "@foreground-color";
};
};
```
- The `services.redshift.extraOptions` and
`services.gammastep.extraOptions` options were removed in favor of
[services.redshift.settings](#opt-services.redshift.settings) and
`services.gammastep.settings`, that are now an attribute set rather
than a string. They also support new features not available before,
for example:
``` nix
services.redshift = {
dawnTime = "6:00-7:45";
duskTime = "18:35-20:15";
settings = {
redshift = {
gamma = 0.8;
adjustment-method = "randr";
};
randr = {
screen = 0;
};
};
};
```
It is recommended to check either
[redshift.conf.sample](https://github.com/jonls/redshift/blob/master/redshift.conf.sample)
or
[gammastep.conf.sample](https://gitlab.com/chinstrap/gammastep/-/blob/master/gammastep.conf.sample)
for the available additional options in each program.
- Specifying `programs.neomutt.binds.map` or
`programs.neomutt.macros.map` as a single string is now deprecated
in favor of specfiying it as a list of strings.
- The `programs.neovim.configure` is deprecated in favor of other
`programs.neovim` options; please use the other options at your
disposal:
``` nix
configure.packages.*.opt -> programs.neovim.plugins = [ { plugin = ...; optional = true; }]
configure.packages.*.start -> programs.neovim.plugins = [ { plugin = ...; }]
configure.customRC -> programs.neovim.extraConfig
```
- Home Manager now respects the `NO_COLOR` environment variable as per
<https://no-color.org/>.
- Qt module now supports [qt.style.name](#opt-qt.style.name) to specify a theme
name and [qt.style.package](#opt-qt.style.package) to specify a theme package. If
you have set [qt.platformTheme](#opt-qt.platformTheme) to `gnome`, a
[qt.style.package](#opt-qt.style.package) compatible with both Qt and Gtk is now
required to be set. For instance:
``` nix
qt = {
platformTheme = "gnome";
style = {
name = "adwaita-dark";
package = pkgs.adwaita-qt;
};
};
```
- The library type `fontType` now has a `size` attribute in addition
to `name`. For example:
``` nix
font = {
name = "DejaVu Sans";
size = 8;
};
```
- The [programs.htop.settings](#opt-programs.htop.settings) option is introduced to
replace individual options in `programs.htop`. To migrate, set the
htop options directly in [programs.htop.settings](#opt-programs.htop.settings). For
example:
``` nix
programs.htop = {
enabled = true;
settings = {
color_scheme = 5;
delay = 15;
highlight_base_name = 1;
highlight_megabytes = 1;
highlight_threads = 1;
};
};
```
## State Version Changes {#sec-release-21.05-state-version-changes}
The state version in this release includes the changes below. These
changes are only active if the `home.stateVersion` option is set to
\"21.05\" or later.
- The `newsboat` module now stores generated configuration in
`$XDG_CONFIG_HOME/newsboat`.

View File

@@ -1,73 +0,0 @@
[[sec-release-21.11]]
== Release 21.11
The 21.11 release branch became the stable branch in November, 2021.
[[sec-release-21.11-highlights]]
=== Highlights
This release has the following notable changes:
* All Home Manager modules are now loaded on all platforms. With this
change you will get a more descriptive error message if you attempt to
enable a module that is incompatible with the host platform.
+
Previously, modules that were platform specific would only be loaded
on that particular platform. For example, a module defining a
https://systemd.io/[systemd] service would only be loaded when the
host platform was Linux. This reduced evaluation times, simplified the
generated documentation, and made it impossible to accidentally use
modules that do not support the host platform.
+
While the above benefits are quite nice, avoiding module loads also
brings a few problems. For example, the
https://nix-community.github.io/home-manager/[public documentation]
will only show the options available for Linux hosts and the
documentation cannot make references to options within modules that
are unavailable on some hosts. Finally, users who wish to use the same
configuration file for different platforms cannot do so, even if the
platform incompatible options are unused.
+
Ultimately, the benefits of loading all modules won and the behavior
has now changed. For associated discussion see
https://github.com/nix-community/home-manager/issues/1906[issue #1906].
* Rofi version 1.7.0 removed many options that were used by the module and replaced them with custom themes, which are more flexible and powerful.
+
You can replicate your old configuration by moving those options to <<opt-programs.rofi.theme>>. Keep in mind that the syntax is different so you may need to do some changes.
* Taskwarrior version 2.6.0 respects XDG Specification for the config file now.
Option <<opt-programs.taskwarrior.config>> and friends now generate the config file at
`$XDG_CONFIG_HOME/task/taskrc` instead of `~/.taskrc`.
[[sec-release-21.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
"21.11" or later.
* The <<opt-home.keyboard>> option now defaults to `null`, meaning that Home Manager won't do any keyboard layout management. For example, `setxkbmap` won't be run in X sessions.
* The <<opt-programs.pet.settings>> option no longer place its value inside a `General` attribute.
For example,
+
[source,nix]
programs.pet.settings.editor = "nvim";
+
becomes
+
[source,nix]
programs.pet.settings.General.editor = "nvim";
* The <<opt-programs.waybar.settings>> option now allows defining modules directly under <<opt-programs.waybar.settings>>.
For example,
+
[source,nix]
programs.waybar.settings.modules."custom/my-module" = { };
+
becomes
+
[source,nix]
programs.waybar.settings."custom/my-module" = { };

View File

@@ -0,0 +1,81 @@
# Release 21.11 {#sec-release-21.11}
The 21.11 release branch became the stable branch in November, 2021.
## Highlights {#sec-release-21.11-highlights}
This release has the following notable changes:
- All Home Manager modules are now loaded on all platforms. With this
change you will get a more descriptive error message if you attempt
to enable a module that is incompatible with the host platform.
Previously, modules that were platform specific would only be loaded
on that particular platform. For example, a module defining a
[systemd](https://systemd.io/) service would only be loaded when the
host platform was Linux. This reduced evaluation times, simplified
the generated documentation, and made it impossible to accidentally
use modules that do not support the host platform.
While the above benefits are quite nice, avoiding module loads also
brings a few problems. For example, the [public
documentation](https://nix-community.github.io/home-manager/) will
only show the options available for Linux hosts and the
documentation cannot make references to options within modules that
are unavailable on some hosts. Finally, users who wish to use the
same configuration file for different platforms cannot do so, even
if the platform incompatible options are unused.
Ultimately, the benefits of loading all modules won and the behavior
has now changed. For associated discussion see
[issue #1906](https://github.com/nix-community/home-manager/issues/1906).
- Rofi version 1.7.0 removed many options that were used by the module
and replaced them with custom themes, which are more flexible and
powerful.
You can replicate your old configuration by moving those options to
[programs.rofi.theme](#opt-programs.rofi.theme). Keep in mind that the syntax is
different so you may need to do some changes.
- Taskwarrior version 2.6.0 respects XDG Specification for the config
file now. Option [programs.taskwarrior.config](#opt-programs.taskwarrior.config) and friends
now generate the config file at `$XDG_CONFIG_HOME/task/taskrc`
instead of `~/.taskrc`.
## State Version Changes {#sec-release-21.11-state-version-changes}
The state version in this release includes the changes below. These
changes are only active if the `home.stateVersion` option is set to
\"21.11\" or later.
- The [home.keyboard](#opt-home.keyboard) option now defaults to `null`, meaning
that Home Manager won't do any keyboard layout management. For
example, `setxkbmap` won't be run in X sessions.
- The [programs.pet.settings](#opt-programs.pet.settings) option no longer place its
value inside a `General` attribute. For example,
``` nix
programs.pet.settings.editor = "nvim";
```
becomes
``` nix
programs.pet.settings.General.editor = "nvim";
```
- The [programs.waybar.settings](#opt-programs.waybar.settings) option now allows defining
modules directly under [programs.waybar.settings](#opt-programs.waybar.settings). For
example,
``` nix
programs.waybar.settings.modules."custom/my-module" = { };
```
becomes
``` nix
programs.waybar.settings."custom/my-module" = { };
```

View File

@@ -1,44 +0,0 @@
[[sec-release-22.05]]
== Release 22.05
The 22.05 release branch became the stable branch in May, 2022.
[[sec-release-22.05-highlights]]
=== Highlights
:hm-weblate: https://hosted.weblate.org/projects/home-manager/
This release has the following notable changes:
* The `programs.waybar.settings.modules` option was removed.
Waybar modules should now be declared directly under `programs.waybar.settings`.
* Home Manager now partially support translation of texts into different languages.
Note, the support is quite limited at the moment.
Specifically, it only applies to parts of the system written in the Bash language,
such as the `home-manager` command line tool and the activation script.
+
If you would like to contribute to the translation effort
then you can do so through the {hm-weblate}[Home Manager Weblate project].
* A new module, `launchd.agents` was added.
Use this to enable services based on macOS LaunchAgents.
[[sec-release-22.05-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 "22.05" or later.
* The <<opt-programs.waybar.settings>> option now allows defining modules directly under <<opt-programs.waybar.settings>>.
Defining modules under `programs.waybar.settings.modules` will now be an error.
For example,
+
[source,nix]
programs.waybar.settings.modules."custom/my-module" = { };
+
becomes
+
[source,nix]
programs.waybar.settings."custom/my-module" = { };

View File

@@ -0,0 +1,45 @@
# Release 22.05 {#sec-release-22.05}
The 22.05 release branch became the stable branch in May, 2022.
## Highlights {#sec-release-22.05-highlights}
This release has the following notable changes:
- The `programs.waybar.settings.modules` option was removed. Waybar
modules should now be declared directly under
`programs.waybar.settings`.
- Home Manager now partially support translation of texts into
different languages. Note, the support is quite limited at the
moment. Specifically, it only applies to parts of the system written
in the Bash language, such as the `home-manager` command line tool
and the activation script.
If you would like to contribute to the translation effort then you
can do so through the [Home Manager Weblate
project](https://hosted.weblate.org/projects/home-manager/).
- A new module, `launchd.agents` was added. Use this to enable
services based on macOS LaunchAgents.
## State Version Changes {#sec-release-22.05-state-version-changes}
The state version in this release includes the changes below. These
changes are only active if the `home.stateVersion` option is set to
\"22.05\" or later.
- The [programs.waybar.settings](#opt-programs.waybar.settings) option now allows defining
modules directly under [programs.waybar.settings](#opt-programs.waybar.settings).
Defining modules under `programs.waybar.settings.modules` will now
be an error. For example,
``` nix
programs.waybar.settings.modules."custom/my-module" = { };
```
becomes
``` nix
programs.waybar.settings."custom/my-module" = { };
```

View File

@@ -1,113 +0,0 @@
[[sec-release-22.11]]
== Release 22.11
This is the current unstable branch and the information in this section is therefore not final.
[[sec-release-22.11-highlights]]
=== Highlights
This release has the following notable changes:
* The <<opt-home.stateVersion>> option no longer has a default value.
It used to default to ``18.09'', which was the Home Manager version
that introduced the option. If your configuration does not explicitly
set this option then you need to add
+
[source,nix]
home.stateVersion = "18.09";
+
to your configuration.
* The Flake function `homeManagerConfiguration` has been simplified.
Specifically, the arguments
+
--
- `configuration`,
- `username`,
- `homeDirectory`,
- `stateVersion`,
- `extraModules`, and
- `system`
--
+
have been removed. Instead use the new `modules` argument, which
accepts a list of NixOS modules.
+
Further, the `pkgs` argument is now mandatory and should be set to
`nixpkgs.legacyPackages.${system}` where `nixpkgs` is the Nixpkgs
input of your choice.
+
For example, if your Flake currently contains
+
[source,nix]
----
homeManagerConfiguration {
configuration = import ./home.nix;
system = "x86_64-linux";
username = "jdoe";
homeDirectory = "/home/jdoe";
stateVersion = "22.05";
extraModules = [ ./some-extra-module.nix ];
}
----
+
then you can change it to
+
[source,nix]
----
homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.${system};
modules = [
./home.nix
./some-extra-module.nix
{
home = {
username = "jdoe";
homeDirectory = "/home/jdoe";
stateVersion = "22.05";
};
}
];
}
----
+
Of course, you can move the assignment of <<opt-home.username>>,
<<opt-home.homeDirectory>>, and <<opt-home.stateVersion>> to some
other file or simply place them in your `home.nix`.
* The `services.picom` module has been refactored to use structural
settings.
+
As a result `services.picom.extraOptions` has been removed in favor of
<<opt-services.picom.settings>>. Also, `services.picom.blur*` were
removed since upstream changed the blur settings to be more flexible.
You can migrate the blur settings to use
<<opt-services.picom.settings>> instead.
* The `services.compton` module has been removed. It was deprecated in
release 20.03. Use `services.picom` instead.
[[sec-release-22.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 "22.11" or later.
* The <<opt-services.mpd.musicDirectory>> option now defaults to the
value of <<opt-xdg.userDirs.music>> if <<opt-xdg.userDirs.enable>> is
enabled. Otherwise it is undefined and must be specified in the user
configuration.
* The activation script now resets `PATH` before running. Before, the
user's `PATH` environment variable would be used in the script and
this made it possible for commands in the activation script to run
arbitrary commands accessible to the user. We now restrict the
activation script to commands that are explicitly specified.
+
There is no official way to restore the old behavior. We attempt to
make the activation script as reproducible as possible and honoring
the user's `PATH` reduces reproducibility.
+
If you need to run a command in an activation script block then refer
to the command by its absolute command path, such as
`${pkgs.hello}/bin/hello`.

View File

@@ -0,0 +1,113 @@
# Release 22.11 {#sec-release-22.11}
The 22.11 release branch became the stable branch in November, 2022.
## Highlights {#sec-release-22.11-highlights}
This release has the following notable changes:
- The [home.stateVersion](#opt-home.stateVersion) option no longer has a default
value. It used to default to "18.09", which was the Home Manager
version that introduced the option. If your configuration does not
explicitly set this option then you need to add
``` nix
home.stateVersion = "18.09";
```
to your configuration.
- The Flake function `homeManagerConfiguration` has been simplified.
Specifically, the arguments
- `configuration`,
- `username`,
- `homeDirectory`,
- `stateVersion`,
- `extraModules`, and
- `system`
have been removed. Instead use the new `modules` argument, which
accepts a list of NixOS modules.
Further, the `pkgs` argument is now mandatory and should be set to
`nixpkgs.legacyPackages.${system}` where `nixpkgs` is the Nixpkgs
input of your choice.
For example, if your Flake currently contains
``` nix
homeManagerConfiguration {
configuration = import ./home.nix;
system = "x86_64-linux";
username = "jdoe";
homeDirectory = "/home/jdoe";
stateVersion = "22.05";
extraModules = [ ./some-extra-module.nix ];
}
```
then you can change it to
``` nix
homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.${system};
modules = [
./home.nix
./some-extra-module.nix
{
home = {
username = "jdoe";
homeDirectory = "/home/jdoe";
stateVersion = "22.05";
};
}
];
}
```
Of course, you can move the assignment of [home.username](#opt-home.username),
[home.stateVersion](#opt-home.stateVersion) to
some other file or simply place them in your `home.nix`.
- The `services.picom` module has been refactored to use structural
settings.
As a result `services.picom.extraOptions` has been removed in favor
of [services.picom.settings](#opt-services.picom.settings). Also, `services.picom.blur*`
were removed since upstream changed the blur settings to be more
flexible. You can migrate the blur settings to use
[services.picom.settings](#opt-services.picom.settings) instead.
- The `services.compton` module has been removed. It was deprecated in
release 20.03. Use `services.picom` instead.
## State Version Changes {#sec-release-22.11-state-version-changes}
The state version in this release includes the changes below. These
changes are only active if the `home.stateVersion` option is set to
\"22.11\" or later.
- The [services.mpd.musicDirectory](#opt-services.mpd.musicDirectory) option now defaults to
the value of [xdg.userDirs.music](#opt-xdg.userDirs.music) if
[xdg.userDirs.enable](#opt-xdg.userDirs.enable) is enabled. Otherwise it is
undefined and must be specified in the user configuration.
- The activation script now resets `PATH` before running. Before, the
user's `PATH` environment variable would be used in the script and
this made it possible for commands in the activation script to run
arbitrary commands accessible to the user. We now restrict the
activation script to commands that are explicitly specified.
There is no official way to restore the old behavior. We attempt to
make the activation script as reproducible as possible and honoring
the user's `PATH` reduces reproducibility.
If you need to run a command in an activation script block then
refer to the command by its absolute command path, such as
`${pkgs.hello}/bin/hello`.

View File

@@ -0,0 +1,59 @@
# Release 23.05 {#sec-release-23.05}
The 23.05 release branch became the stable branch in May, 2023.
## Highlights {#sec-release-23.05-highlights}
This release has the following notable changes:
- Firefox add-ons are now managed per-profile. That is, if you are
currently having
``` nix
programs.firefox.extensions = [ foo bar ];
```
in your configuration then you must change it to
``` 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](#sec-flakes-standalone) for
more.
## State Version Changes {#sec-release-23.05-state-version-changes}
The state version in this release includes the changes below. These
changes are only active if the `home.stateVersion` option is set to
\"23.05\" or later.
- The options
- [xsession.windowManager.i3.config.window.titlebar](#opt-xsession.windowManager.i3.config.window.titlebar)
- [xsession.windowManager.i3.config.floating.titlebar](#opt-xsession.windowManager.i3.config.floating.titlebar)
- [wayland.windowManager.sway.config.window.titlebar](#opt-wayland.windowManager.sway.config.window.titlebar)
- [wayland.windowManager.sway.config.floating.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`.

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