Compare commits

...

53 Commits

Author SHA1 Message Date
home-manager-ci[bot]
eda5fd6e0b flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3ff0e34b1383648053bba8ed03f201d3466f90c9?narHash=sha256-CdX2Rtvp5I8HGu9swBmYuq%2BILwRxpXdJwlpg8jvN4tU%3D' (2025-07-24)
  → 'github:NixOS/nixpkgs/c58bc7f5459328e4afac201c5c4feb7c818d604b?narHash=sha256-1jQnuyu82FpiSxowrF/iFK6Toh9BYprfDqfs4BB%2B19M%3D' (2025-11-20)
2025-11-22 18:40:27 +00:00
isabel
3b955f5f0a zed-editor: allow for nullable package (#7220)
(cherry picked from commit 1d595a5b64)
2025-09-21 09:09:05 -05:00
Michael Daniels
6f656618eb nvchecker: add module
(cherry picked from commit 3cb08dd360)
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-09-19 15:22:21 -05:00
dependabot[bot]
f21d916778 ci: bump actions/labeler from 5 to 6 (#7789)
Bumps [actions/labeler](https://github.com/actions/labeler) from 5 to 6.
- [Release notes](https://github.com/actions/labeler/releases)
- [Commits](https://github.com/actions/labeler/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/labeler
  dependency-version: '6'
  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-09-13 19:15:26 -05:00
Martin Weinelt
07fc025fe1 fcitx5: migrate to qt6Packages
This fixes eval because the attribute doesn't exist anymore under
libsForQt5.

(cherry picked from commit 77f348da31)
2025-08-31 17:28:07 -05:00
PerchunPak
f9fa795a29 hyprpanel: deprecate theme.name option
(cherry picked from commit b4b5f008d7)
2025-08-31 17:27:24 -05:00
dependabot[bot]
54b2879ce6 ci: bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [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/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-26 16:51:05 -05:00
xezo360hye
4a44fb9f75 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).

(cherry picked from commit d3f5d870e3)
2025-08-23 07:48:19 +02:00
Louis Orleans
4fb695d108 vscode: specify full path
The script executes in `/usr/local/bin`, so specifying the full path to the `Library` dir is necessary.

(cherry picked from commit c23168acf5)
2025-08-21 13:48:04 +02:00
Louis Orleans
7e96494bf4 vscode: quote path
`mkdir` had an unquoted variable, leading to errors when using paths with spaces (ie: `/Users/me/Library/Application Support/…`)

(cherry picked from commit 9b59dcee0b)
2025-08-21 13:48:04 +02:00
home-manager-ci[bot]
fc3add429f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/92c2e04a475523e723c67ef872d8037379073681?narHash=sha256-yLuz5cz5Z%2Bsn8DRAfNkrd2Z1cV6DaYO9JMrEz4KZo/c%3D' (2025-07-21)
  → 'github:NixOS/nixpkgs/3ff0e34b1383648053bba8ed03f201d3466f90c9?narHash=sha256-CdX2Rtvp5I8HGu9swBmYuq%2BILwRxpXdJwlpg8jvN4tU%3D' (2025-07-24)
2025-07-27 07:06:08 +02:00
Friedrich Altheide
0b9bf983db yarn: improve docs
(cherry picked from commit a1817d1c0e)
2025-07-25 16:43:59 -05:00
Friedrich Altheide
1e9c01bbbb docker-cli: Improve docs, fix enviornment variable
(cherry picked from commit 26e33ea5c0)
2025-07-25 16:43:59 -05:00
home-manager-ci[bot]
7b5a978e00 yarn: add module (#7526) (#7529)
(cherry picked from commit e9c599e40c)

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Co-authored-by: Friedrich Altheide <11352905+FriedrichAltheide@users.noreply.github.com>
2025-07-23 11:30:31 -05:00
Friedrich Altheide
9b9eb96dcd docker-cli: enable module in 25.05 2025-07-23 10:31:59 -05:00
home-manager-ci[bot]
9555dfc96b flake.lock: Update (#7521)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/32a4e87942101f1c9f9865e04dc3ddb175f5f32e?narHash=sha256-f3pO%2B9lg66mV7IMmmIqG4PL3223TYMlnlw%2Bpnpelbss%3D' (2025-07-15)
  → 'github:NixOS/nixpkgs/92c2e04a475523e723c67ef872d8037379073681?narHash=sha256-yLuz5cz5Z%2Bsn8DRAfNkrd2Z1cV6DaYO9JMrEz4KZo/c%3D' (2025-07-21)

Co-authored-by: home-manager-ci[bot] <214323736+home-manager-ci[bot]@users.noreply.github.com>
2025-07-23 09:54:46 -05:00
dependabot[bot]
fce051eaf8 ci: bump DeterminateSystems/update-flake-lock from 24 to 27
Bumps [DeterminateSystems/update-flake-lock](https://github.com/determinatesystems/update-flake-lock) from 24 to 27.
- [Release notes](https://github.com/determinatesystems/update-flake-lock/releases)
- [Commits](https://github.com/determinatesystems/update-flake-lock/compare/v24...v27)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-22 17:35:07 +02:00
home-manager-ci[bot]
adf195f021 flake.lock: Update (#7504)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/dfcd5b901dbab46c9c6e80b265648481aafb01f8?narHash=sha256-Kt1UIPi7kZqkSc5HVj6UY5YLHHEzPBkgpNUByuyxtlw%3D' (2025-07-13)
  → 'github:NixOS/nixpkgs/32a4e87942101f1c9f9865e04dc3ddb175f5f32e?narHash=sha256-f3pO%2B9lg66mV7IMmmIqG4PL3223TYMlnlw%2Bpnpelbss%3D' (2025-07-15)

Co-authored-by: home-manager-ci[bot] <214323736+home-manager-ci[bot]@users.noreply.github.com>
2025-07-20 18:56:44 -05:00
home-manager-ci[bot]
c718918222 flake.lock: Update (#7485)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/10e687235226880ed5e9f33f1ffa71fe60f2638a?narHash=sha256-3MxxkU8ZXMHXcbFz7UE4M6qnIPTYGcE/7EMqlZNnVDE%3D' (2025-07-10)
  → 'github:NixOS/nixpkgs/dfcd5b901dbab46c9c6e80b265648481aafb01f8?narHash=sha256-Kt1UIPi7kZqkSc5HVj6UY5YLHHEzPBkgpNUByuyxtlw%3D' (2025-07-13)

Co-authored-by: home-manager-ci[bot] <214323736+home-manager-ci[bot]@users.noreply.github.com>
2025-07-17 14:22:04 -05:00
Austin Horstman
2e00ed310c Revert "dunst: UWSM compatibility (#7472)" (#7473)
This reverts commit 8597e85e2c.
2025-07-14 20:52:54 -05:00
fcoelhomrc
8597e85e2c dunst: UWSM compatibility (#7472)
Added Install field for systemd service, which is needed for autostart to work properly under compositors launched under UWSM
2025-07-14 16:13:16 -05:00
home-manager-ci[bot]
c262667906 flake.lock: Update (#7449) 2025-07-13 02:23:42 -05:00
Friedrich Altheide
c6a01e54af docker-cli: add module (#7411)
(cherry picked from commit 729c5e5465)
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-10 23:35:17 -05:00
Matthieu Coudron
05d7a84f50 fix meli eval warning (#7267)
(cherry picked from commit 8fabeb9c14)
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-10 23:35:17 -05:00
Austin Horstman
e5c04e12ab ci: fix bars labeler (#7253)
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
(cherry picked from commit faeab32528)
2025-07-10 23:35:17 -05:00
Austin Horstman
8fa7c99260 ci: labels dedupe and reorganize
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
(cherry picked from commit 7ccda8574f)
2025-07-10 23:35:17 -05:00
Austin Horstman
7155ba92cf ci: sort label categories
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
(cherry picked from commit 5118087a15)
2025-07-10 23:35:17 -05:00
Austin Horstman
b91b373bb0 Revert "ci: fix bars labeler"
This reverts commit 9380e94095.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-10 23:35:17 -05:00
Austin Horstman
d65bfb3a5b ci: add more modules to labeler
Lots of missing modules from existing categories. Adding some more.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
(cherry picked from commit b6bd7c629f)
2025-07-10 23:35:17 -05:00
home-manager-ci[bot]
524da5f6c0 flake.lock: Update (#7420)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7a732ed41ca0dd64b4b71b563ab9805a80a7d693?narHash=sha256-u7ubvtxdTnFPpV27AHpgoKn7qHuE7sgWgza/1oj5nzA%3D' (2025-07-03)
  → 'github:NixOS/nixpkgs/29e290002bfff26af1db6f64d070698019460302?narHash=sha256-t75Shs76NgxjZSgvvZZ9qOmz5zuBE8buUaYD28BMTxg%3D' (2025-07-05)

Co-authored-by: home-manager-ci[bot] <214323736+home-manager-ci[bot]@users.noreply.github.com>
2025-07-10 14:21:49 -05:00
home-manager-ci[bot]
9b0873b46c flake.lock: Update (#7394)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b43c397f6c213918d6cfe6e3550abfe79b5d1c51?narHash=sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y%3D' (2025-06-29)
  → 'github:NixOS/nixpkgs/7a732ed41ca0dd64b4b71b563ab9805a80a7d693?narHash=sha256-u7ubvtxdTnFPpV27AHpgoKn7qHuE7sgWgza/1oj5nzA%3D' (2025-07-03)

Co-authored-by: home-manager-ci[bot] <214323736+home-manager-ci[bot]@users.noreply.github.com>
2025-07-06 08:57:13 -05:00
home-manager-ci[bot]
501cfec827 flake.lock: Update (#7369)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c7ab75210cb8cb16ddd8f290755d9558edde7ee1?narHash=sha256-kMhs%2BYzV4vPGfuTpD3mwzibWUE6jotw5Al2wczI0Pv8%3D' (2025-06-22)
  → 'github:NixOS/nixpkgs/b43c397f6c213918d6cfe6e3550abfe79b5d1c51?narHash=sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y%3D' (2025-06-29)

Co-authored-by: home-manager-ci[bot] <214323736+home-manager-ci[bot]@users.noreply.github.com>
2025-07-02 09:58:22 -05:00
home-manager-bot
366f00797b flake.lock: Update (#7322)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8f1b52b04f2cb6e5ead50bd28d76528a2f0380ef?narHash=sha256-OGcDEz60TXQC%2BgVz5sdtgGJdKVYr6rwdzQKuZAJQpCA%3D' (2025-06-04)
  → 'github:NixOS/nixpkgs/c7ab75210cb8cb16ddd8f290755d9558edde7ee1?narHash=sha256-kMhs%2BYzV4vPGfuTpD3mwzibWUE6jotw5Al2wczI0Pv8%3D' (2025-06-22)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-24 14:18:48 -05:00
Austin Horstman
7942f52bd8 tests/flake.nix: update nixpkgs branch
Accidentally left on unstable.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-24 13:54:33 -05:00
Austin Horstman
0288326507 ci: disable home-manager install tests on darwin
nix broken on latest channel update

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
(cherry picked from commit 4c9e99e8e8)
2025-06-24 13:54:33 -05:00
Austin Horstman
dd2612ca5e 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>
(cherry picked from commit 05b8c95064)
2025-06-24 13:54:33 -05:00
Austin Horstman
8c3352d32f tests/thefuck: explicit stubbing
Avoid the removal alias exception

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
(cherry picked from commit 812b43b45d)
2025-06-24 13:54:33 -05:00
Austin Horstman
f69497fd57 tests/neovim: stub meta.teams
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
(cherry picked from commit 85e68c6a38)
2025-06-24 13:54:33 -05:00
Austin Horstman
e0c65f2577 ci: labeler issues permissions
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
(cherry picked from commit: 8de4753879)
2025-06-24 13:54:33 -05:00
Austin Horstman
9380e94095 ci: fix bars labeler
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
(cherry picked from commit 60658954fb)
2025-06-24 13:54:33 -05:00
Austin Horstman
6136aca7ac 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>
(cherry picked from commit ac3c38be05)
2025-06-24 13:54:33 -05:00
Austin Horstman
4c586c78e4 tests: create no-big and ifd test outputs.
Allows flake access to override easier.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
(cherry picked from commit a08adba6e0)
2025-06-24 13:54:33 -05:00
Austin Horstman
f7cf1c59a2 tests: pass enableLegacyIfd arg
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
(cherry picked from commit f8008b5602)
2025-06-24 13:54:33 -05:00
home-manager-ci[bot]
d457fa3c76 programs/hyprpanel: init (#7303) (#7321)
(cherry picked from commit f5098b0740)

Co-authored-by: Perchun Pak <git@perchun.it>
2025-06-24 11:42:55 -05:00
Rosario Pulella
7aae0ee71a dconf: revert: dconf: Provide dconf (#7216)
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:58 -05:00
Cole Helbling
b949584034 flake.lock: relock (#7213)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d89fc19e405cb2d55ce7cc114356846a0ee5e956?narHash=sha256-3e%2BAVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ%3D' (2025-05-10)
  → 'github:NixOS/nixpkgs/8f1b52b04f2cb6e5ead50bd28d76528a2f0380ef?narHash=sha256-OGcDEz60TXQC%2BgVz5sdtgGJdKVYr6rwdzQKuZAJQpCA%3D' (2025-06-04)
2025-06-05 09:51:34 -05:00
home-manager-bot
282e1e029c darwinScrublist: update (#7157) (#7168)
(cherry picked from commit da282034f4)

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Co-authored-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-30 23:17:53 -05:00
Austin Horstman
afe9ce8b20 dconf: Fix Gio module variable breakage (#7146) (#7163)
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
(cherry picked from commit d3a3aee558)

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Co-authored-by: Thomas Mühlbacher <tmuehlbacher@posteo.net>
2025-05-30 12:44:53 -05:00
Sebastian Klähn
0d13ea58d5 activitywatch: Proper watcher name in example (#7136) 2025-05-28 22:05:45 -05:00
Rosario Pulella
529d2aac54 dconf: Fix dconf config not apply correctly (#7131) 2025-05-28 13:11:16 -05:00
Austin Horstman
83665c39fa ci: pin nix_path to nixos-25.05
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-25 21:33:28 -05:00
Austin Horstman
15a220935d flake.nix: pin to nixos-25.05
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-25 21:33:28 -05:00
Robert Helgesson
d0bbd22148 home-manager: mark as release branch 2025-05-18 10:27:11 +02:00
45 changed files with 1423 additions and 466 deletions

942
.github/labeler.yml vendored
View File

@@ -1,377 +1,577 @@
"mail":
- changed-files:
- any-glob-to-any-file:
- modules/programs/aerc*.nix
- modules/programs/alot*.nix
- tests/modules/programs/aerc/*
- tests/modules/programs/alot/*
- modules/programs/mujmap.nix
- tests/modules/programs/mujmap/*
- modules/programs/notmuch*.nix
- modules/programs/neomutt*
- tests/modules/programs/neomutt/*
- modules/programs/getmail*
- modules/*/mbsync*
- tests/modules/programs/mbsync/*
- modules/programs/himalaya.nix
- tests/modules/programs/himalaya/*
- modules/programs/thunderbird.nix
- tests/modules/programs/thunderbird/*
- modules/services/imapnotify*.nix
- modules/programs/mu.nix
- modules/programs/lieer.nix
- modules/services/lieer.nix
- modules/programs/msmtp*
- modules/programs/offlineimap*.nix
- modules/services/muchsync.nix
"neovim":
- changed-files:
- any-glob-to-any-file:
- modules/programs/neovim.nix
- tests/modules/programs/neovim/**/*
"editors":
- changed-files:
- any-glob-to-any-file:
- modules/programs/neovim.nix
- tests/modules/programs/neovim/**/*
- modules/programs/vim*.nix
- modules/programs/emacs.nix
- modules/services/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/vscode.nix
- modules/programs/zed-editor.nix
- tests/modules/programs/vim/**/*
- tests/modules/programs/emacs/**/*
- tests/modules/programs/helix/**/*
"program: firefox":
"audio":
- changed-files:
- any-glob-to-any-file:
- modules/programs/firefox/**/*
- tests/modules/programs/firefox/**/*
- modules/misc/mozilla-messaging-hosts.nix
- modules/programs/floorp.nix
- modules/programs/librewolf.nix
- 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/programs/firefox/**/*
- tests/modules/programs/firefox/**/*
- modules/misc/mozilla-messaging-hosts.nix
- modules/programs/floorp.nix
- modules/programs/librewolf.nix
- modules/programs/chromium.nix
- modules/programs/qutebrowser.nix
- tests/modules/programs/chromium/**/*
- tests/modules/programs/qutebrowser/**/*
"shell":
- changed-files:
- any-glob-to-any-file:
- modules/lib/zsh.nix
- modules/programs/zsh*.nix
- modules/programs/bash*.nix
- modules/programs/fish.nix
- modules/programs/nushell.nix
- modules/programs/ion.nix
- tests/modules/programs/zsh/**/*
- tests/modules/programs/bash/**/*
- tests/modules/programs/fish/**/*
- tests/modules/programs/nushell/**/*
- modules/programs/starship.nix
- modules/programs/oh-my-posh.nix
- modules/programs/powerline-go.nix
- 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/programs/khal*.nix
- modules/*/vdirsyncer*.nix
- modules/accounts/calendar.nix
- modules/programs/qcal.nix
- modules/programs/todoman.nix
- tests/modules/programs/khal/**/*
"contacts":
- changed-files:
- any-glob-to-any-file:
- modules/accounts/contacts.nix
- modules/programs/khard.nix
- modules/programs/abook.nix
- tests/modules/programs/khard/**/*
- tests/modules/programs/abook/**/*
"terminal":
- changed-files:
- any-glob-to-any-file:
- modules/programs/alacritty.nix
- modules/programs/foot.nix
- modules/programs/kitty.nix
- modules/programs/wezterm.nix
- modules/programs/termite.nix
- modules/programs/terminator.nix
- modules/programs/urxvt.nix
- modules/programs/gnome-terminal.nix
- modules/programs/rio.nix
- modules/programs/ghostty.nix
- tests/modules/programs/alacritty/**/*
- tests/modules/programs/kitty/**/*
- tests/modules/programs/foot/**/*
"file-manager":
- changed-files:
- any-glob-to-any-file:
- modules/programs/ranger.nix
- modules/programs/lf.nix
- modules/programs/nnn.nix
- modules/programs/joshuto.nix
- modules/programs/vifm.nix
- modules/programs/xplr.nix
- modules/programs/yazi.nix
- tests/modules/programs/ranger/**/*
- tests/modules/programs/lf/**/*
- tests/modules/programs/nnn/**/*
- tests/modules/programs/yazi/**/*
"git":
- changed-files:
- any-glob-to-any-file:
- modules/programs/git*.nix
- modules/programs/lazygit.nix
- modules/programs/gh*.nix
- modules/programs/jujutsu.nix
- modules/programs/sapling.nix
- modules/services/git-sync.nix
- tests/modules/programs/git/**/*
"media":
- changed-files:
- any-glob-to-any-file:
- modules/programs/mpv.nix
- modules/programs/ncmpcpp.nix
- modules/programs/cmus.nix
- modules/programs/ncspot.nix
- modules/programs/spotify-player.nix
- modules/programs/foliate.nix
- modules/programs/freetube.nix
- modules/programs/yt-dlp.nix
- modules/programs/kodi.nix
- modules/programs/obs-studio.nix
- modules/programs/feh.nix
- modules/programs/imv.nix
- modules/programs/pqiv.nix
- modules/programs/swayimg.nix
- modules/programs/zathura.nix
- modules/programs/sioyek.nix
- modules/services/mpd*.nix
- modules/services/spotifyd.nix
- modules/services/librespot.nix
- tests/modules/programs/mpv/**/*
- tests/modules/services/mpd/**/*
"wayland":
- changed-files:
- any-glob-to-any-file:
- modules/programs/waybar.nix
- modules/programs/fuzzel.nix
- modules/programs/tofi.nix
- modules/programs/wofi.nix
- modules/programs/anyrun.nix
- modules/programs/swaylock.nix
- modules/programs/wlogout.nix
- modules/programs/waylogout.nix
- modules/programs/swayr.nix
- modules/services/swayidle.nix
- modules/services/swayosd.nix
- modules/services/swaync.nix
- modules/services/wlsunset.nix
- modules/services/wluma.nix
- modules/services/wpaperd.nix
- modules/services/swww.nix
- modules/services/kanshi.nix
- modules/services/way-displays.nix
- modules/services/fnott.nix
- modules/services/mako.nix
- modules/services/hypridle.nix
- modules/services/hyprpaper.nix
- modules/services/hyprsunset.nix
- modules/services/hyprpolkitagent.nix
- modules/programs/hyprlock.nix
- tests/modules/programs/waybar/**/*
- tests/modules/programs/swaylock/**/*
"x11":
- changed-files:
- any-glob-to-any-file:
- modules/programs/rofi*.nix
- modules/programs/i3*.nix
- modules/programs/tint2.nix
- modules/programs/xmobar.nix
- modules/programs/eww.nix
- modules/services/picom.nix
- modules/services/polybar.nix
- modules/services/dunst.nix
- modules/services/screen-locker.nix
- modules/services/betterlockscreen.nix
- modules/services/xscreensaver.nix
- modules/services/xidlehook.nix
- modules/services/xsuspender.nix
- modules/services/xsettingsd.nix
- modules/services/stalonetray.nix
- modules/services/trayer.nix
- modules/services/taffybar.nix
- tests/modules/programs/rofi/**/*
- tests/modules/programs/i3*/**/*
- tests/modules/services/picom/**/*
- tests/modules/services/polybar/**/*
"cli-tools":
- changed-files:
- any-glob-to-any-file:
- modules/programs/bat.nix
- modules/programs/eza.nix
- modules/programs/lsd.nix
- modules/programs/ripgrep*.nix
- modules/programs/fd.nix
- modules/programs/fzf.nix
- modules/programs/skim.nix
- modules/programs/jq*.nix
- modules/programs/direnv.nix
- modules/programs/zoxide.nix
- modules/programs/atuin.nix
- modules/programs/mcfly.nix
- modules/programs/tealdeer.nix
- modules/programs/htop.nix
- modules/programs/btop.nix
- modules/programs/bottom.nix
- modules/programs/fastfetch.nix
- modules/programs/hyfetch.nix
- modules/programs/tmux.nix
- modules/programs/zellij.nix
- modules/programs/tmate.nix
- modules/programs/dircolors.nix
- modules/programs/thefuck.nix
- modules/programs/navi.nix
- modules/programs/just.nix
- modules/programs/pls.nix
- tests/modules/programs/tmux/**/*
- tests/modules/programs/fzf/**/*
"password-manager":
- changed-files:
- any-glob-to-any-file:
- modules/programs/password-store.nix
- modules/programs/browserpass.nix
- modules/programs/keepassxc.nix
- modules/programs/rbw.nix
- modules/services/pass-secret-service.nix
- tests/modules/programs/password-store/**/*
- tests/modules/programs/keepassxc/**/*
"dev-tools":
- changed-files:
- any-glob-to-any-file:
- modules/programs/go.nix
- modules/programs/java.nix
- modules/programs/python*.nix
- modules/programs/pyenv.nix
- modules/programs/rbenv.nix
- modules/programs/opam.nix
- modules/programs/bun.nix
- modules/programs/gradle.nix
- modules/programs/sbt.nix
- modules/programs/texlive.nix
- modules/programs/ruff.nix
- modules/programs/pylint.nix
- modules/programs/mise.nix
- modules/programs/nix-index.nix
- modules/programs/nix-init.nix
- modules/programs/nh.nix
- modules/programs/bacon.nix
- modules/programs/sqls.nix
- modules/services/lorri.nix
- tests/modules/programs/go/**/*
- tests/modules/programs/java/**/*
"sync":
- changed-files:
- any-glob-to-any-file:
- modules/services/syncthing.nix
- modules/services/dropbox.nix
- modules/services/nextcloud-client.nix
- modules/services/owncloud-client.nix
- modules/services/kdeconnect.nix
- modules/services/unison.nix
- tests/modules/services/syncthing/**/*
- tests/modules/services/dropbox/**/*
"system":
- changed-files:
- any-glob-to-any-file:
- modules/services/home-manager*.nix
- modules/services/nix-gc.nix
- modules/programs/home-manager.nix
- modules/services/gpg-agent.nix
- modules/programs/gpg.nix
- modules/services/ssh-agent.nix
- modules/programs/ssh.nix
- modules/services/keybase.nix
- modules/services/kbfs.nix
- modules/services/yubikey-agent.nix
- tests/modules/services/home-manager*/**/*
- 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/clipman.nix
- modules/services/cliphist.nix
- modules/services/clipmenu.nix
- modules/services/copyq.nix
- modules/services/parcellite.nix
- modules/services/clipse.nix
- tests/modules/services/clipman/**/*
- tests/modules/services/copyq/**/*
"notification":
- changed-files:
- any-glob-to-any-file:
- modules/services/dunst.nix
- modules/services/mako.nix
- modules/services/swaync.nix
- modules/services/notify-osd.nix
- modules/services/twmn.nix
- modules/services/fnott.nix
- modules/programs/noti.nix
- tests/modules/services/dunst/**/*
- tests/modules/services/mako/**/*
"backup":
- changed-files:
- any-glob-to-any-file:
- modules/programs/borgmatic.nix
- modules/services/borgmatic.nix
- modules/programs/rclone.nix
- modules/programs/restic.nix
- tests/modules/programs/borgmatic/**/*
- tests/modules/services/borgmatic/**/*
- 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
- modules/programs/docker-cli.nix
"desktop-ui":
- changed-files:
- any-glob-to-any-file:
- modules/services/avizo.nix
- modules/services/blanket.nix
- modules/services/flameshot.nix
- modules/programs/gnome-shell.nix
- modules/services/gromit-mpx.nix
- modules/services/linux-wallpaperengine.nix
- modules/services/random-background.nix
- modules/services/volnoti.nix
- modules/services/wob.nix
- modules/services/wpaperd.nix
"desktop-utilities":
- changed-files:
- any-glob-to-any-file:
- modules/services/autorandr.nix
- modules/services/blueman-applet.nix
- modules/services/gnome-keyring.nix
- modules/services/lxqt-policykit-agent.nix
- modules/services/network-manager-applet.nix
- modules/services/polkit-gnome.nix
- modules/services/sctd.nix
- modules/services/snixembed.nix
- modules/services/status-notifier-watcher.nix
- modules/services/systembus-notify.nix
- modules/services/trayscale.nix
- modules/services/udiskie.nix
- modules/services/unclutter.nix
- modules/services/xembed-sni-proxy.nix
"dev-tools":
- changed-files:
- any-glob-to-any-file:
- modules/programs/bacon.nix
- modules/programs/bun.nix
- modules/programs/darcs.nix
- modules/programs/earthly.nix
- modules/programs/eclipse.nix
- modules/programs/go.nix
- modules/programs/gradle.nix
- modules/programs/granted.nix
- modules/programs/java.nix
- modules/programs/jetbrains-remote.nix
- modules/programs/kubecolor.nix
- modules/programs/lazydocker.nix
- modules/programs/matplotlib.nix
- modules/programs/mercurial.nix
- modules/programs/mergiraf.nix
- modules/programs/mise.nix
- modules/programs/mods.nix
- modules/programs/mr.nix
- modules/programs/nh.nix
- modules/programs/nix-index.nix
- modules/programs/nix-init.nix
- modules/programs/numbat.nix
- modules/programs/octant.nix
- modules/programs/opam.nix
- modules/programs/openstackclient.nix
- modules/programs/pgcli.nix
- modules/programs/piston-cli.nix
- modules/programs/poetry.nix
- modules/programs/pyenv.nix
- modules/programs/pylint.nix
- modules/programs/python*.nix
- modules/programs/pywal.nix
- modules/programs/rbenv.nix
- modules/programs/ruff.nix
- modules/programs/sagemath.nix
- modules/programs/sbt.nix
- modules/programs/sftpman.nix
- modules/programs/smug.nix
- modules/programs/sqls.nix
- modules/programs/tex-fmt.nix
- modules/programs/texlive.nix
- modules/programs/vim-vint.nix
- modules/programs/visidata.nix
- modules/services/lorri.nix
- tests/modules/programs/go/**/*
- tests/modules/programs/java/**/*
"editors":
- changed-files:
- any-glob-to-any-file:
- modules/programs/emacs.nix
- modules/programs/helix.nix
- modules/programs/kakoune.nix
- modules/programs/lapce.nix
- modules/programs/micro.nix
- modules/programs/ne.nix
- modules/programs/neovide.nix
- modules/programs/neovim.nix
- modules/programs/vim*.nix
- modules/programs/vscode.nix
- modules/programs/zed-editor.nix
- modules/services/emacs.nix
- tests/modules/programs/emacs/**/*
- tests/modules/programs/helix/**/*
- tests/modules/programs/neovim/**/*
- tests/modules/programs/vim/**/*
"file-manager":
- changed-files:
- any-glob-to-any-file:
- modules/programs/joshuto.nix
- modules/programs/lf.nix
- modules/programs/nnn.nix
- modules/programs/ranger.nix
- modules/programs/vifm.nix
- modules/programs/xplr.nix
- modules/programs/yazi.nix
- tests/modules/programs/lf/**/*
- tests/modules/programs/nnn/**/*
- tests/modules/programs/ranger/**/*
- tests/modules/programs/yazi/**/*
"gaming":
- changed-files:
- any-glob-to-any-file:
- modules/programs/kodi.nix
- modules/services/ludusavi.nix
- modules/programs/lutris.nix
- modules/programs/mangohud.nix
- modules/programs/sm64ex.nix
"git":
- changed-files:
- any-glob-to-any-file:
- modules/programs/gh*.nix
- modules/programs/git*.nix
- modules/programs/jujutsu.nix
- modules/programs/lazygit.nix
- modules/programs/sapling.nix
- modules/services/git-sync.nix
- tests/modules/programs/git/**/*
"mail":
- changed-files:
- any-glob-to-any-file:
- modules/*/mbsync*
- modules/programs/aerc*.nix
- modules/programs/alot*.nix
- modules/programs/getmail*
- modules/programs/himalaya.nix
- modules/programs/lieer.nix
- modules/programs/meli.nix
- modules/programs/msmtp*
- modules/programs/mu.nix
- modules/programs/mujmap.nix
- modules/programs/neomutt*
- modules/programs/notmuch*.nix
- modules/programs/offlineimap*.nix
- modules/programs/thunderbird.nix
- modules/services/imapnotify*.nix
- modules/services/lieer.nix
- modules/services/muchsync.nix
- tests/modules/programs/aerc/*
- tests/modules/programs/alot/*
- tests/modules/programs/himalaya/*
- tests/modules/programs/mbsync/*
- tests/modules/programs/mujmap/*
- tests/modules/programs/neomutt/*
- tests/modules/programs/thunderbird/*
"messaging":
- changed-files:
- any-glob-to-any-file:
- modules/programs/irssi.nix
- modules/programs/senpai.nix
- modules/programs/hexchat.nix
- modules/programs/nheko.nix
- modules/programs/iamb.nix
- modules/programs/pidgin.nix
- modules/services/pantalaimon.nix
- tests/modules/programs/irssi/**/*
- tests/modules/programs/nheko/**/*
- 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/**/*

View File

@@ -10,10 +10,10 @@ jobs:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: cachix/install-nix-action@v31
with:
nix_path: nixpkgs=channel:nixos-unstable
nix_path: nixpkgs=channel:nixos-25.05
- uses: cachix/cachix-action@v16
with:
name: nix-community

View File

@@ -11,13 +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@v5
- uses: actions/labeler@v6
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
sync-labels: true

View File

@@ -11,10 +11,11 @@ jobs:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: cachix/install-nix-action@v31
with:
nix_path: nixpkgs=channel:nixos-unstable
# TODO: Adjust uninstall to not need channel
nix_path: nixpkgs=channel:nixos-25.05
extra_nix_config: |
experimental-features = nix-command flakes
- run: |
@@ -22,15 +23,24 @@ jobs:
echo "Error: literalExample should be replaced by literalExpression" > /dev/stderr
exit 1
fi
- run: nix-build --show-trace -A docs.jsonModuleMaintainers
- run: nix build --show-trace .#docs-jsonModuleMaintainers
- run: ./format --ci
- run: nix-shell --show-trace . -A install
- run: yes | home-manager -I home-manager=. uninstall
- name: Test init --switch with locked inputs
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 .
# FIXME: nix broken on darwin
if: matrix.os != 'macos-latest'
- run: yes | nix run . -- uninstall
# FIXME: nix broken on darwin
if: matrix.os != 'macos-latest'
- name: Run tests
run: nix-build -j auto --show-trace --arg enableBig false --pure --option allow-import-from-derivation false tests -A build.all
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)
run: nix-build -j auto --show-trace --arg enableBig false --pure --arg enableLegacyIfd true tests -A build.all
run: nix build -j auto --show-trace --reference-lock-file flake.lock "./tests#test-all-no-big"
env:
GC_INITIAL_HEAP_SIZE: 4294967296

View File

@@ -11,11 +11,11 @@ jobs:
if: github.event_name != 'schedule' || github.repository_owner == 'nix-community'
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Install Nix
uses: cachix/install-nix-action@v31
- name: Update flake.lock
uses: DeterminateSystems/update-flake-lock@v24
uses: DeterminateSystems/update-flake-lock@v27
with:
token: ${{ secrets.GH_TOKEN_FOR_UPDATES }}
pr-labels: dependencies

8
flake.lock generated
View File

@@ -2,16 +2,16 @@
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1746904237,
"narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=",
"lastModified": 1763622513,
"narHash": "sha256-1jQnuyu82FpiSxowrF/iFK6Toh9BYprfDqfs4BB+19M=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956",
"rev": "c58bc7f5459328e4afac201c5c4feb7c818d604b",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}

View File

@@ -1,7 +1,7 @@
{
description = "Home Manager for Nix";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
outputs =
{

View File

@@ -16,7 +16,7 @@ in
i18n.inputMethod.fcitx5 = {
fcitx5-with-addons = lib.mkOption {
type = lib.types.package;
default = pkgs.libsForQt5.fcitx5-with-addons;
default = pkgs.qt6Packages.fcitx5-with-addons;
example = lib.literalExpression "pkgs.kdePackages.fcitx5-with-addons";
description = ''
The fcitx5 package to use.

View File

@@ -33,7 +33,8 @@ in
options = {
dconf = {
enable = lib.mkEnableOption "dconf" // {
enable = lib.mkOption {
type = types.bool;
# 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
@@ -42,6 +43,13 @@ in
# re-enabled, unclear whether there's actual value in it though.
default = !pkgs.stdenv.hostPlatform.isDarwin;
visible = false;
description = ''
Whether to enable dconf settings.Add commentMore actions
Note, if you use NixOS then you must add
`programs.dconf.enable = true`
to your system configuration. Otherwise you will see a systemd error
message when your configuration is activated.
'';
};
settings = lib.mkOption {
@@ -76,77 +84,70 @@ in
};
};
config = lib.mkIf cfg.enable (
{
home.packages = [ pkgs.dconf ];
dbus.packages = [ pkgs.dconf ];
home.sessionVariables.GIO_EXTRA_MODULES = "${pkgs.dconf.lib}/lib/gio/modules";
}
// lib.mkIf (cfg.settings != { }) {
# Make sure the dconf directory exists.
xdg.configFile."dconf/.keep".source = builtins.toFile "keep" "";
config = lib.mkIf (cfg.enable && cfg.settings != { }) {
# Make sure the dconf directory exists.
xdg.configFile."dconf/.keep".source = builtins.toFile "keep" "";
home.extraBuilderCommands = ''
mkdir -p $out/state/
ln -s ${stateDconfKeys} $out/state/${stateDconfKeys.name}
'';
home.extraBuilderCommands = ''
mkdir -p $out/state/
ln -s ${stateDconfKeys} $out/state/${stateDconfKeys.name}
'';
home.activation.dconfSettings = lib.hm.dag.entryAfter [ "installPackages" ] (
let
iniFile = pkgs.writeText "hm-dconf.ini" (toDconfIni cfg.settings);
home.activation.dconfSettings = lib.hm.dag.entryAfter [ "installPackages" ] (
let
iniFile = pkgs.writeText "hm-dconf.ini" (toDconfIni cfg.settings);
statePath = "state/${stateDconfKeys.name}";
statePath = "state/${stateDconfKeys.name}";
cleanup = pkgs.writeShellScript "dconf-cleanup" ''
set -euo pipefail
cleanup = pkgs.writeShellScript "dconf-cleanup" ''
set -euo pipefail
${config.lib.bash.initHomeManagerLib}
${config.lib.bash.initHomeManagerLib}
PATH=${
lib.makeBinPath [
pkgs.dconf
pkgs.jq
]
}''${PATH:+:}$PATH
PATH=${
lib.makeBinPath [
pkgs.dconf
pkgs.jq
]
}''${PATH:+:}$PATH
oldState="$1"
newState="$2"
oldState="$1"
newState="$2"
# Can't do cleanup if we don't know the old state.
if [[ ! -f $oldState ]]; then
exit 0
fi
# Reset all keys that are present in the old generation but not the new
# one.
jq -r -n \
--slurpfile old "$oldState" \
--slurpfile new "$newState" \
'($old[] - $new[])[]' \
| while read -r key; do
verboseEcho "Resetting dconf key \"$key\""
run $DCONF_DBUS_RUN_SESSION dconf reset "$key"
done
'';
in
''
if [[ -v DBUS_SESSION_BUS_ADDRESS ]]; then
export DCONF_DBUS_RUN_SESSION=""
else
export DCONF_DBUS_RUN_SESSION="${pkgs.dbus}/bin/dbus-run-session --dbus-daemon=${pkgs.dbus}/bin/dbus-daemon"
# Can't do cleanup if we don't know the old state.
if [[ ! -f $oldState ]]; then
exit 0
fi
if [[ -v oldGenPath ]]; then
${cleanup} \
"$oldGenPath/${statePath}" \
"$newGenPath/${statePath}"
fi
# Reset all keys that are present in the old generation but not the new
# one.
jq -r -n \
--slurpfile old "$oldState" \
--slurpfile new "$newState" \
'($old[] - $new[])[]' \
| while read -r key; do
verboseEcho "Resetting dconf key \"$key\""
run $DCONF_DBUS_RUN_SESSION dconf reset "$key"
done
'';
in
''
if [[ -v DBUS_SESSION_BUS_ADDRESS ]]; then
export DCONF_DBUS_RUN_SESSION=""
else
export DCONF_DBUS_RUN_SESSION="${pkgs.dbus}/bin/dbus-run-session --dbus-daemon=${pkgs.dbus}/bin/dbus-daemon"
fi
run $DCONF_DBUS_RUN_SESSION ${pkgs.dconf}/bin/dconf load / < ${iniFile}
if [[ -v oldGenPath ]]; then
${cleanup} \
"$oldGenPath/${statePath}" \
"$newGenPath/${statePath}"
fi
unset DCONF_DBUS_RUN_SESSION
''
);
}
);
run $DCONF_DBUS_RUN_SESSION ${pkgs.dconf}/bin/dconf load / < ${iniFile}
unset DCONF_DBUS_RUN_SESSION
''
);
};
}

View File

@@ -169,6 +169,8 @@ in
The location to put the GTK configuration file.
'';
};
force = lib.mkEnableOption "GTK 2 config force overwrite without creating a backup";
};
gtk3 = {
@@ -294,10 +296,14 @@ in
cfg.cursorTheme
];
home.file.${cfg2.configLocation}.text =
lib.concatMapStrings (l: l + "\n") (lib.mapAttrsToList formatGtk2Option gtkIni)
+ cfg2.extraConfig
+ "\n";
home.file.${cfg2.configLocation} = {
text =
lib.concatMapStrings (l: l + "\n") (lib.mapAttrsToList formatGtk2Option gtkIni)
+ cfg2.extraConfig
+ "\n";
inherit (cfg2) force;
};
home.sessionVariables.GTK2_RC_FILES = cfg2.configLocation;

View File

@@ -0,0 +1,9 @@
{
time = "2025-09-15T22:14:27+00:00";
condition = true;
message = ''
A new module is available: `programs.nvchecker`.
`nvchecker` checks if a new version of some software was released.
'';
}

View File

@@ -95,6 +95,7 @@ let
./programs/direnv.nix
./programs/discocss.nix
./programs/distrobox.nix
./programs/docker-cli.nix
./programs/earthly.nix
./programs/eclipse.nix
./programs/element-desktop.nix
@@ -137,6 +138,7 @@ let
./programs/htop.nix
./programs/hyfetch.nix
./programs/hyprlock.nix
./programs/hyprpanel.nix
./programs/i3bar-river.nix
./programs/i3blocks.nix
./programs/i3status-rust.nix
@@ -211,6 +213,7 @@ let
./programs/notmuch.nix
./programs/numbat.nix
./programs/nushell.nix
./programs/nvchecker.nix
./programs/obs-studio.nix
./programs/octant.nix
./programs/offlineimap.nix
@@ -317,6 +320,7 @@ let
./programs/xmobar.nix
./programs/xplr.nix
./programs/yambar.nix
./programs/yarn/default.nix
./programs/yazi.nix
./programs/yt-dlp.nix
./programs/z-lua.nix

View File

@@ -0,0 +1,65 @@
{
lib,
pkgs,
config,
...
}:
let
inherit (lib)
mkIf
mkEnableOption
mkOption
;
cfg = config.programs.docker-cli;
jsonFormat = pkgs.formats.json { };
in
{
meta.maintainers = [ lib.maintainers.friedrichaltheide ];
options.programs.docker-cli = {
enable = mkEnableOption "management of docker client config";
configDir = mkOption {
type = lib.types.str;
default = ".docker";
description = ''
Folder relative to the user's home directory where the Docker CLI settings should be stored.
'';
};
settings = mkOption {
type = jsonFormat.type;
default = { };
example = lib.literalExpression ''
{
"proxies" = {
"default" = {
"httpProxy" = "http://proxy.example.org:3128";
"httpsProxy" = "http://proxy.example.org:3128";
"noProxy" = "localhost";
};
};
'';
description = ''
Available configuration options for the Docker CLI see:
<https://docs.docker.com/reference/cli/docker/#docker-cli-configuration-file-configjson-properties
'';
};
};
config = mkIf cfg.enable {
home = {
sessionVariables = {
DOCKER_CONFIG = "${config.home.homeDirectory}/${cfg.configDir}";
};
file = {
"${cfg.configDir}/config.json" = {
source = jsonFormat.generate "config.json" cfg.settings;
};
};
};
};
}

View File

@@ -0,0 +1,140 @@
{
pkgs,
lib,
config,
...
}:
let
cfg = config.programs.hyprpanel;
jsonFormat = pkgs.formats.json { };
in
{
meta.maintainers = [ lib.maintainers.perchun ];
options.programs.hyprpanel = {
enable = lib.mkEnableOption "HyprPanel";
package = lib.mkPackageOption pkgs "hyprpanel" { };
settings = lib.mkOption {
type = jsonFormat.type;
default = { };
example = lib.literalExpression ''
bar.battery.label = true;
bar.bluetooth.label = false;
bar.clock.format = "%H:%M:%S";
bar.layouts = {
"*" = {
left = [
"dashboard"
"workspaces"
"media"
];
middle = [ "windowtitle" ];
right = [
"volume"
"network"
"bluetooth"
"notifications"
];
};
};
'';
description = ''
Configuration written to
{file}`$XDG_CONFIG_HOME/hyprpanel/config.json`.
See <https://hyprpanel.com/configuration/settings.html#home-manager-module>
for the full list of options.
'';
};
systemd.enable = lib.mkEnableOption "HyprPanel systemd integration" // {
default = true;
};
dontAssertNotificationDaemons = lib.mkOption {
default = true;
example = false;
description = ''
Whether to check for other notification daemons.
You might want to set this to false, because hyprpanel's notification
daemon is buggy and you may prefer something else.
'';
type = lib.types.bool;
};
};
config = lib.mkIf cfg.enable {
assertions = [
{
assertion = cfg.dontAssertNotificationDaemons && !config.services.swaync.enable;
message = ''
Only one notification daemon can be enabled at once. You have enabled
swaync and hyprpanel at once.
If you dont want to use hyprpanel's notification daemon, set
`programs.hyprpanel.dontAssertNotificationDaemons` to true.
'';
}
];
home.packages = [ cfg.package ];
programs.hyprpanel.settings = lib.mkIf config.services.hypridle.enable {
# fix hypridle module if user uses systemd service
bar.customModules.hypridle.startCommand = lib.mkDefault "systemctl --user start hypridle.service";
bar.customModules.hypridle.stopCommand = lib.mkDefault "systemctl --user stop hypridle.service";
bar.customModules.hypridle.isActiveCommand = lib.mkDefault "systemctl --user status hypridle.service | grep -q 'Active: active (running)' && echo 'yes' || echo 'no'";
};
xdg.configFile.hyprpanel = lib.mkIf (cfg.settings != { }) {
target = "hyprpanel/config.json";
source = jsonFormat.generate "hyprpanel-config" (
if cfg.settings ? theme && cfg.settings.theme ? name then
lib.warn ''
`settings.theme.name` option has been removed, because the
hyprpanel module has been ported to downstream home-manager and
implementing it would require IFD
(https://nix.dev/manual/nix/2.26/language/import-from-derivation)
Replace it with:
```nix
programs.hyprpanel = {
theme = {
# paste content of https://github.com/Jas-SinghFSU/HyprPanel/blob/2c0c66a/themes/${cfg.settings.theme.name}.json
};
};
```
'' cfg.settings
else
cfg.settings
);
# hyprpanel replaces it with the same file, but without new line in the end
force = true;
};
systemd.user.services.hyprpanel = lib.mkIf cfg.systemd.enable {
Unit = {
Description = "Bar/Panel for Hyprland with extensive customizability";
Documentation = "https://hyprpanel.com/getting_started/hyprpanel.html";
PartOf = [ config.wayland.systemd.target ];
After = [ config.wayland.systemd.target ];
ConditionEnvironment = "WAYLAND_DISPLAY";
X-Restart-Triggers = lib.optional (cfg.settings != { }) "${config.xdg.configFile.hyprpanel.source}";
};
Service = {
ExecStart = "${cfg.package}/bin/hyprpanel";
ExecReload = "${pkgs.coreutils}/bin/kill -SIGUSR2 $MAINPID";
Restart = "on-failure";
KillMode = "mixed";
};
Install = {
WantedBy = [ config.wayland.systemd.target ];
};
};
};
}

View File

@@ -0,0 +1,113 @@
{
lib,
pkgs,
config,
...
}:
let
tomlFormat = pkgs.formats.toml { };
cfg = config.programs.nvchecker;
configDir =
if pkgs.stdenv.hostPlatform.isDarwin then
"${config.home.homeDirectory}/Library/Application Support/nvchecker"
else
"${config.xdg.configHome}/nvchecker";
in
{
meta.maintainers = [ lib.maintainers.mdaniels5757 ];
options.programs.nvchecker = {
enable = lib.mkEnableOption "nvchecker";
package = lib.mkPackageOption pkgs "nvchecker" { nullable = true; };
settings =
let
envDocs = ''
Environment variables and `~` are expanded,
and relative paths are relative to
{file}`''${config.home.homeDirectory}/Library/Application Support/nvchecker/nvchecker/` (on Darwin)
or {file}`''${config.xdg.configHome}/nvchecker/` (otherwise).
'';
in
lib.mkOption {
type = lib.types.submodule {
freeformType = tomlFormat.type;
options.__config__ = lib.mkOption {
type = lib.types.submodule {
freeformType = tomlFormat.type;
options = {
oldver = lib.mkOption {
# doesn't matter if absolute/relative or (not) in store
type = lib.types.pathWith { };
default = "old_ver.json";
description = ''
The file to store 'old' (i.e. installed) version information in.
${envDocs}
'';
};
newver = lib.mkOption {
# doesn't matter if absolute/relative or (not) in store
type = lib.types.pathWith { };
default = "new_ver.json";
description = ''
The file to store 'new' (i.e. available) versions in.
${envDocs}
'';
};
};
};
default = { };
defaultText = lib.literalExpression ''
{
oldver = "old_ver.json";
newver = "new_ver.json";
};
'';
description = ''
See <https://nvchecker.readthedocs.io/en/stable/usage.html#configuration-files>.
${envDocs}
'';
};
};
default = { };
defaultText = lib.literalExpression ''
__config__ = {
oldver = "old_ver.json";
newver = "new_ver.json";
};
'';
example = lib.literalExpression ''
{
__config__ = {
oldver = "my_custom_oldver.json";
newver = "~/seperately_placed_newver.json";
keyfile = "keyfile.toml";
};
nvchecker = {
source = "github";
github = "lilydjwg/nvchecker";
};
}
'';
description = ''
Configuration written to
{file}`$HOME/Library/Application Support/nvchecker/nvchecker.toml` (on Darwin) or
{file}`$XDG_CONFIG_HOME/nvchecker/nvchecker.toml` (otherwise).
See <https://nvchecker.readthedocs.io/en/stable/usage.html#configuration-files>
for the full list of options.
${envDocs}
'';
};
};
config = lib.mkIf cfg.enable {
home.packages = lib.mkIf (cfg.package != null) [ cfg.package ];
home.file."${configDir}/nvchecker.toml".source = lib.mkIf (cfg.settings != { }) (
tomlFormat.generate "nvchecker.toml" cfg.settings
);
};
}

View File

@@ -46,7 +46,7 @@ let
userDir =
if pkgs.stdenv.hostPlatform.isDarwin then
"Library/Application Support/${configDir}/User"
"${config.home.homeDirectory}/Library/Application Support/${configDir}/User"
else
"${config.xdg.configHome}/${configDir}/User";
@@ -350,7 +350,7 @@ in
file_write="$file_write$([ "$file_write" != "" ] && echo "...")$profile"
done
mkdir -p $(dirname "$file")
mkdir -p "$(dirname "$file")"
echo "{}" > "$file"
fi

View File

@@ -0,0 +1,53 @@
{
lib,
pkgs,
config,
...
}:
let
inherit (lib)
mkIf
mkEnableOption
mkOption
;
cfg = config.programs.yarn;
yamlFormat = pkgs.formats.yaml { };
in
{
meta.maintainers = [ lib.maintainers.friedrichaltheide ];
options.programs.yarn = {
enable = mkEnableOption "management of yarn config";
settings = mkOption {
type = yamlFormat.type;
default = { };
example = lib.literalExpression ''
{
httpProxy = "http://proxy.example.org:3128";
httpsProxy = "http://proxy.example.org:3128";
}
'';
description = ''
Available configuration options for yarn see:
<https://yarnpkg.com/configuration/yarnrc>
'';
};
};
config = mkIf cfg.enable {
home = {
file =
let
yarnRcFileName = ".yarnrc.yml";
in
{
"${yarnRcFileName}" = {
source = yamlFormat.generate "${yarnRcFileName}" cfg.settings;
};
};
};
};
}

View File

@@ -31,7 +31,7 @@ in
programs.zed-editor = {
enable = lib.mkEnableOption "Zed, the high performance, multiplayer code editor from the creators of Atom and Tree-sitter";
package = lib.mkPackageOption pkgs "zed-editor" { };
package = lib.mkPackageOption pkgs "zed-editor" { nullable = true; };
extraPackages = mkOption {
type = with types; listOf package;
@@ -128,7 +128,7 @@ in
};
config = mkIf cfg.enable {
home.packages =
home.packages = mkIf (cfg.package != null) (
if cfg.extraPackages != [ ] then
[
(pkgs.symlinkJoin {
@@ -143,7 +143,8 @@ in
})
]
else
[ cfg.package ];
[ cfg.package ]
);
home.file = mkIf (cfg.installRemoteServer && (cfg.package ? remote_server)) (
let
@@ -184,5 +185,12 @@ in
}
) cfg.themes
);
assertions = [
{
assertion = cfg.extraPackages != [ ] -> cfg.package != null;
message = "{option}programs.zed-editor.extraPackages requires non null {option}programs.zed-editor.package";
}
];
};
}

View File

@@ -210,7 +210,7 @@ in
};
};
aw-watcher-windows = {
aw-watcher-window = {
package = pkgs.activitywatch;
settings = {
poll_time = 1;

View File

@@ -1,4 +1,4 @@
{
"release": "25.05",
"isReleaseBranch": false
"isReleaseBranch": true
}

View File

@@ -85,6 +85,7 @@ let
"lsd"
"lieer"
"mbsync"
"meli"
"mergiraf"
"micro"
"mise"

View File

@@ -1,6 +1,7 @@
{
pkgs ? import <nixpkgs> { },
enableBig ? true,
enableLegacyIfd ? false,
}:
let
@@ -142,6 +143,7 @@ let
];
test.enableBig = enableBig;
test.enableLegacyIfd = enableLegacyIfd;
}
)
];
@@ -190,6 +192,7 @@ import nmtSrc {
./modules/programs/darcs
./modules/programs/dircolors
./modules/programs/direnv
./modules/programs/docker-cli
./modules/programs/earthly
./modules/programs/emacs
./modules/programs/eza
@@ -377,6 +380,7 @@ import nmtSrc {
./modules/programs/halloy
./modules/programs/hexchat
./modules/programs/hyprlock
./modules/programs/hyprpanel
./modules/programs/i3bar-river
./modules/programs/i3blocks
./modules/programs/i3status-rust
@@ -389,6 +393,7 @@ import nmtSrc {
./modules/programs/mpvpaper
./modules/programs/ncmpcpp-linux
./modules/programs/nh
./modules/programs/nvchecker
./modules/programs/onagre
./modules/programs/onedrive
./modules/programs/pqiv
@@ -410,6 +415,7 @@ import nmtSrc {
./modules/programs/wofi
./modules/programs/xmobar
./modules/programs/yambar
./modules/programs/yarn
./modules/programs/yt-dlp
./modules/services/activitywatch
./modules/services/avizo

View File

@@ -15,7 +15,7 @@
{
description = "Tests of Home Manager for Nix";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
outputs =
{ nixpkgs, ... }:
@@ -51,8 +51,32 @@
renameTestPkg = n: lib.nameValuePair "integration-test-${n}";
in
lib.mapAttrs' renameTestPkg tests;
testAllNoBig =
let
tests = import ./. {
inherit pkgs;
enableBig = false;
};
in
lib.nameValuePair "test-all-no-big" tests.build.all;
testAllNoBigIfd =
let
tests = import ./. {
inherit pkgs;
enableBig = false;
enableLegacyIfd = true;
};
in
lib.nameValuePair "test-all-no-big-ifd" tests.build.all;
in
testPackages // integrationTestPackages
testPackages
// integrationTestPackages
// (lib.listToAttrs [
testAllNoBig
testAllNoBigIfd
])
);
};
}

View File

@@ -0,0 +1,4 @@
{
docker-cli = ./example-config.nix;
docker-cli-empty-config = ./empty-config.nix;
}

View File

@@ -0,0 +1,17 @@
{
config,
...
}:
let
cfgDocker = config.programs.docker-cli;
in
{
programs.docker-cli = {
configDir = ".docker2";
};
nmt.script = ''
assertFileNotRegex home-path/etc/profile.d/hm-session-vars.sh 'DOCKER_CONFIG'
assertPathNotExists home-files/${cfgDocker.configDir}
'';
}

View File

@@ -0,0 +1,9 @@
{
"proxies": {
"default": {
"httpProxy": "http://proxy.example.org:3128",
"httpsProxy": "http://proxy.example.org:3128",
"noProxy": "localhost"
}
}
}

View File

@@ -0,0 +1,37 @@
{
config,
...
}:
{
programs.docker-cli = {
enable = true;
configDir = ".docker2";
settings = {
"proxies" = {
"default" = {
"httpProxy" = "http://proxy.example.org:3128";
"httpsProxy" = "http://proxy.example.org:3128";
"noProxy" = "localhost";
};
};
};
};
nmt.script =
let
cfgDocker = config.programs.docker-cli;
configTestPath = "home-files/${cfgDocker.configDir}/config.json";
configHomePath = "/home/hm-user/${cfgDocker.configDir}";
in
''
assertFileContains home-path/etc/profile.d/hm-session-vars.sh \
'export DOCKER_CONFIG="${configHomePath}"'
assertPathNotExists home-files/.docker/config.json
assertFileExists ${configTestPath}
assertFileContent ${configTestPath} \
${./example-config.json}
'';
}

View File

@@ -0,0 +1,31 @@
{
"bar": {
"battery": {
"label": true
},
"bluetooth": {
"label": false
},
"clock": {
"format": "%H:%M:%S"
},
"layouts": {
"*": {
"left": [
"dashboard",
"workspaces",
"media"
],
"middle": [
"windowtitle"
],
"right": [
"volume",
"network",
"bluetooth",
"notifications"
]
}
}
}
}

View File

@@ -0,0 +1,34 @@
{ config, ... }:
{
programs.hyprpanel = {
enable = true;
package = config.lib.test.mkStubPackage { name = "hyprpanel"; };
settings = {
bar.battery.label = true;
bar.bluetooth.label = false;
bar.clock.format = "%H:%M:%S";
bar.layouts = {
"*" = {
left = [
"dashboard"
"workspaces"
"media"
];
middle = [ "windowtitle" ];
right = [
"volume"
"network"
"bluetooth"
"notifications"
];
};
};
};
};
nmt.script = ''
assertFileContent \
"home-files/.config/hyprpanel/config.json" \
${./basic-config.json}
'';
}

View File

@@ -0,0 +1,4 @@
{
hyprpanel-basic-config = ./basic-config.nix;
hyprpanel-with-hypridle = ./with-hypridle.nix;
}

View File

@@ -0,0 +1,38 @@
{
"bar": {
"battery": {
"label": true
},
"bluetooth": {
"label": false
},
"clock": {
"format": "%H:%M:%S"
},
"customModules": {
"hypridle": {
"isActiveCommand": "systemctl --user status hypridle.service | grep -q 'Active: active (running)' && echo 'yes' || echo 'no'",
"startCommand": "systemctl --user start hypridle.service",
"stopCommand": "systemctl --user stop hypridle.service"
}
},
"layouts": {
"*": {
"left": [
"dashboard",
"workspaces",
"media"
],
"middle": [
"windowtitle"
],
"right": [
"volume",
"network",
"bluetooth",
"notifications"
]
}
}
}
}

View File

@@ -0,0 +1,35 @@
{ config, ... }:
{
services.hypridle.enable = true;
programs.hyprpanel = {
enable = true;
package = config.lib.test.mkStubPackage { name = "hyprpanel"; };
settings = {
bar.battery.label = true;
bar.bluetooth.label = false;
bar.clock.format = "%H:%M:%S";
bar.layouts = {
"*" = {
left = [
"dashboard"
"workspaces"
"media"
];
middle = [ "windowtitle" ];
right = [
"volume"
"network"
"bluetooth"
"notifications"
];
};
};
};
};
nmt.script = ''
assertFileContent \
"home-files/.config/hyprpanel/config.json" \
${./with-hypridle.json}
'';
}

View File

@@ -30,6 +30,7 @@
mainProgram = stub;
license = [ stub ];
maintainers = [ stub ];
teams = [ stub ];
platforms = lib.platforms.all;
};
};

View File

@@ -0,0 +1,27 @@
{ pkgs, ... }:
let
configDir =
if pkgs.stdenv.hostPlatform.isDarwin then
"Library/Application Support/nvchecker"
else
".config/nvchecker";
in
{
programs.nvchecker = {
enable = true;
settings = {
__config__ = {
keyfile = "keyfile.toml";
};
nvchecker = {
source = "github";
github = "lilydjwg/nvchecker";
};
};
};
nmt.script = ''
assertFileExists "home-files/${configDir}/nvchecker.toml"
assertFileContent "home-files/${configDir}/nvchecker.toml" "${./basic-config.toml}"
'';
}

View File

@@ -0,0 +1,8 @@
[__config__]
keyfile = "keyfile.toml"
newver = "new_ver.json"
oldver = "old_ver.json"
[nvchecker]
github = "lilydjwg/nvchecker"
source = "github"

View File

@@ -0,0 +1,4 @@
{
nvchecker-basic-config = ./basic-config.nix;
nvchecker-empty-config = ./empty-config.nix;
}

View File

@@ -0,0 +1,16 @@
{ pkgs, ... }:
let
configDir =
if pkgs.stdenv.hostPlatform.isDarwin then
"Library/Application Support/nvchecker"
else
".config/nvchecker";
in
{
programs.nvchecker.enable = true;
nmt.script = ''
assertFileExists "home-files/${configDir}/nvchecker.toml"
assertFileContent "home-files/${configDir}/nvchecker.toml" "${./empty-config.toml}"
'';
}

View File

@@ -0,0 +1,3 @@
[__config__]
newver = "new_ver.json"
oldver = "old_ver.json"

View File

@@ -1,6 +1,10 @@
{ config, ... }:
{
programs = {
thefuck.enable = true;
thefuck = {
enable = true;
package = config.lib.test.mkStubPackage { outPath = "@thefuck@"; };
};
thefuck.enableBashIntegration = false;
thefuck.enableFishIntegration = false;
thefuck.enableZshIntegration = false;

View File

@@ -1,7 +1,9 @@
{ config, ... }:
{
programs = {
thefuck = {
enable = true;
package = config.lib.test.mkStubPackage { outPath = "@thefuck@"; };
enableInstantMode = true;
};
bash.enable = true;

View File

@@ -1,6 +1,10 @@
{ config, ... }:
{
programs = {
thefuck.enable = true;
thefuck = {
enable = true;
package = config.lib.test.mkStubPackage { outPath = "@thefuck@"; };
};
bash.enable = true;
fish.enable = true;
zsh.enable = true;

View File

@@ -0,0 +1,4 @@
{
yarn = ./example-config.nix;
yarn-empty-config = ./empty-config.nix;
}

View File

@@ -0,0 +1,12 @@
{
programs.yarn = {
settings = {
httpProxy = "http://proxy.example.org:3128";
httpsProxy = "http://proxy.example.org:3128";
};
};
nmt.script = ''
assertPathNotExists home-files/.yarnrc.yml
'';
}

View File

@@ -0,0 +1,20 @@
{
programs.yarn = {
enable = true;
settings = {
httpProxy = "http://proxy.example.org:3128";
httpsProxy = "http://proxy.example.org:3128";
};
};
nmt.script =
let
configPath = "home-files/.yarnrc.yml";
in
''
assertFileExists ${configPath}
assertFileContent ${configPath} \
${./example-config.yml}
'';
}

View File

@@ -0,0 +1,2 @@
httpProxy: http://proxy.example.org:3128
httpsProxy: http://proxy.example.org:3128