Compare commits

...
Author SHA1 Message Date
dependabot[bot]andAustin Horstman 44831a7eab ci: bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [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/v5...v6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 07:59:49 -06:00
isabelandAustin Horstman 3b955f5f0a zed-editor: allow for nullable package (#7220)
(cherry picked from commit 1d595a5b64)
2025-09-21 09:09:05 -05:00
Michael DanielsandAustin Horstman 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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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 WeineltandAustin Horstman 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
PerchunPakandAustin Horstman f9fa795a29 hyprpanel: deprecate theme.name option
(cherry picked from commit b4b5f008d7)
2025-08-31 17:27:24 -05:00
dependabot[bot]andAustin Horstman 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
xezo360hyeandRobert Helgesson 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 OrleansandRobert Helgesson 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 OrleansandRobert Helgesson 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]andRobert Helgesson 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 AltheideandAustin Horstman 0b9bf983db yarn: improve docs
(cherry picked from commit a1817d1c0e)
2025-07-25 16:43:59 -05:00
Friedrich AltheideandAustin Horstman 1e9c01bbbb docker-cli: Improve docs, fix enviornment variable
(cherry picked from commit 26e33ea5c0)
2025-07-25 16:43:59 -05:00
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 AltheideandAustin Horstman 9b9eb96dcd docker-cli: enable module in 25.05 2025-07-23 10:31:59 -05:00
home-manager-ci[bot]GitHubhome-manager-ci[bot] <214323736+home-manager-ci[bot]@users.noreply.github.com>
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]andRobert Helgesson 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]GitHubhome-manager-ci[bot] <214323736+home-manager-ci[bot]@users.noreply.github.com>
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]GitHubhome-manager-ci[bot] <214323736+home-manager-ci[bot]@users.noreply.github.com>
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 HorstmanandGitHub 2e00ed310c Revert "dunst: UWSM compatibility (#7472)" (#7473)
This reverts commit 8597e85e2c.
2025-07-14 20:52:54 -05:00
fcoelhomrcandGitHub 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]andGitHub c262667906 flake.lock: Update (#7449) 2025-07-13 02:23:42 -05:00
Friedrich AltheideandAustin Horstman 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 CoudronandAustin Horstman 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]GitHubhome-manager-ci[bot] <214323736+home-manager-ci[bot]@users.noreply.github.com>
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]GitHubhome-manager-ci[bot] <214323736+home-manager-ci[bot]@users.noreply.github.com>
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]GitHubhome-manager-ci[bot] <214323736+home-manager-ci[bot]@users.noreply.github.com>
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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
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 PulellaandGitHub 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 HelblingandGitHub 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
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
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ähnandGitHub 0d13ea58d5 activitywatch: Proper watcher name in example (#7136) 2025-05-28 22:05:45 -05:00
Rosario PulellaandGitHub 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
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
awwpotatoandGitHub 74d31e1165 ptyxis: init module (#7075) 2025-05-16 15:29:26 -05:00
Michael HoangandGitHub 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 DeGrootandGitHub a1a72d18ee pgcli: init (#7072) 2025-05-15 22:50:09 -05:00
Damien CassouandAustin Horstman 098e365dd8 borgmatic: add darwin-specific documentation to services.borgmatic.frequency 2025-05-15 15:16:49 -05:00
Damien CassouandAustin Horstman 8ae36f8ea2 nix-gc: fix documentation 2025-05-15 15:16:49 -05:00
JessandGitHub dbc90cc3ae rclone: declarative mounts (#7060) 2025-05-15 13:33:51 -05:00
Jonathan BouchardandGitHub 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 SchellingandGitHub 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 PulellaandAustin Horstman ec8205c3d7 dconf: set env var 2025-05-15 13:30:08 -05:00
Rosario PulellaandAustin Horstman 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 PulellaandGitHub c310818dca mako: Fix missing dbus service file (#7065) 2025-05-15 13:28:43 -05:00
Damien CassouandAustin Horstman c09ccd7d39 services.borgmatic: add initial support for darwin 2025-05-15 13:07:13 -05:00
Damien CassouandAustin Horstman 34d44d7f1b services.borgmatic: wrap systemd configuration within a isLinux condition 2025-05-15 13:07:13 -05:00
Damien CassouandAustin Horstman 1c2fccef83 services.nix-gc: extract darwin agent interval code to new library file 2025-05-15 13:07:13 -05:00
Damien CassouandAustin Horstman 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 PulellaandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
andre4ik3andGitHub 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 OkadaandGitHub 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 OkadaandAustin Horstman 7c1cefb983 zsh: avoid IFD while sourcing prezto 2025-05-13 19:59:12 -05:00
Thiago Kenji OkadaandAustin Horstman 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
awwpotatoandGitHub b44c39cf46 foliate: fix theme settings example (#7053) 2025-05-13 19:06:18 -05:00
awwpotatoandGitHub 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
awwpotatoandGitHub 535a541b42 halloy: fix themes example (#7046) 2025-05-12 22:18:52 -05:00
awwpotatoandGitHub 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
awwpotatoandGitHub 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
jaredmontoyaandGitHub f0a7db5ec1 direnv: update nushell env conversion logic (#7015) 2025-05-12 15:28:52 -05:00
awwpotatoandGitHub 0b24658ec0 halloy: add themes option (#7043) 2025-05-12 13:08:49 -05:00
pancho horrilloandGitHub 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
awwpotatoandGitHub c74665abd6 bacon: add prefs location to settings decription (#7030) 2025-05-11 19:29:02 -05:00
jaredmontoyaandAustin Horstman 7a3f3e5507 misc: fix mozilla native messaging hosts 2025-05-11 18:53:40 -05:00
jaredmontoyaandAustin Horstman a48fecda09 files: add home.file.<name>.ignorelinks 2025-05-11 18:53:40 -05:00
Aguirre MatteoandGitHub 910292fe34 halloy: add module (#7034) 2025-05-11 18:52:09 -05:00
Alex HamiltonandAustin Horstman ecb2162422 numbat: add module
Numbat is a scientific calculator with full support for physical units.
2025-05-11 18:51:14 -05:00
Alex HamiltonandAustin Horstman 563e1b6cb0 maintainers: add Aehmlo 2025-05-11 18:51:14 -05:00
awwpotatoandGitHub 5daf23a38f zellij: add themes option (#7031) 2025-05-11 18:47:55 -05:00
Adolfo Jayme BarrientosandRobert Helgesson 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]andRobert Helgesson 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
awwpotatoandGitHub 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 beeandAustin Horstman 13289f0642 services.autorandr: improve systemd unit description 2025-05-10 16:16:08 -05:00
Maya the beeandAustin Horstman 1875b5a160 services.autorandr: improve configurability
Add `matchEdid` and `extraOptions` for configuration.
2025-05-10 16:16:08 -05:00
Maya the beeandAustin Horstman 555f88ad34 services.autorandr: add package option 2025-05-10 16:16:08 -05:00
Maya the beeandAustin Horstman 4f44221724 services.autorandr: add lowlevl to maintainers 2025-05-10 16:16:08 -05:00
Maya the beeandAustin Horstman 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 HorstmanandGitHub e95a7c5b6f Revert "direnv: update nushell env conversion logic (#6999)" (#7014)
This reverts commit f2b5bf55aa.
2025-05-09 08:48:41 -05:00
Aguirre MatteoandGitHub 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 TanandGitHub 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
KiraandGitHub 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 horrilloandGitHub 3be7c80a11 wayprompt: add news entry for linux (#7009) 2025-05-09 08:22:25 -05:00
pancho horrilloandGitHub 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
B1kkuandGitHub 8f723d6135 lutris: fix runners not working due to wrong config name (#7008) 2025-05-09 08:21:19 -05:00
Aguirre MatteoandGitHub 9e10d73cea onlyoffice: use pkgs.formats and use mkIf in config file generation (#7006) 2025-05-09 08:20:05 -05:00
Aguirre MatteoandGitHub ce1ba0e9f3 neovide: fix error when no settings are declared (#7005) 2025-05-09 08:19:03 -05:00
Aguirre MatteoandGitHub 8d2ee39915 waveterm: add module (#7004) 2025-05-09 08:17:40 -05:00
pancho horrilloandGitHub 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
B1kkuandGitHub 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 horrilloandGitHub 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 HorstmanandGitHub 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" OrandGitHub 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
PlumeandGitHub 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 horrilloandGitHub 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 GibsonandGitHub 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
ScribblyBirbandGitHub 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 MarshallandAustin Horstman 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 MarshallandAustin Horstman ae44268529 prezto: Remove unnecessary import-from-derivation 2025-05-07 10:34:18 -05:00
RamsesandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
awwpotatoandGitHub 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
awwpotatoandGitHub 35535345be television: add shell integrations (#6983) 2025-05-06 21:35:55 -05:00
Aguirre MatteoandGitHub 60964ff845 mako: fix example config (#6987) 2025-05-06 21:06:15 -05:00
Aguirre MatteoandGitHub 8a318641ac sway-easyfocus: add module (#6976) 2025-05-04 21:46:28 -05:00
Austin HorstmanandGitHub 5f1f472565 mako: use ini atom type (#6977)
Fix backwards compatibility
2025-05-04 21:44:38 -05:00
Nick K.andGitHub 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
awwpotatoandGitHub 8167af657c mako: fix criterias typo (#6968) 2025-05-04 09:17:09 -05:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 MatteoandGitHub 621986fed3 i3bar-river: add module (#6967) 2025-05-03 19:12:02 -05:00
Aguirre MatteoandGitHub 64f7d5e6b9 wofi: allow path to style.css (#6966) 2025-05-03 19:11:10 -05:00
Aguirre MatteoandGitHub 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 HorstmanandGitHub 94f4c66660 tests/darwinScrublist: add more packages (#6965) 2025-05-03 19:08:12 -05:00
Ihar HrachyshkaandGitHub 75268f6252 tests: enable all firefox tests on darwin (plus derivations) (#6960) 2025-05-03 10:51:18 -05:00
Ihar HrachyshkaandGitHub 929f8ee836 thunderbird: deprecate darwinSetupWarning option (#6531)
nixpkgs support thunderbird for darwin now
2025-05-03 10:40:34 -05:00
MithicSpiritandGitHub 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 MatteoandGitHub 123297c57e onagre: add module (#6958) 2025-05-02 22:09:45 -05:00
Dawid CiężarkiewiczandRobert Helgesson 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 MatteoandGitHub d6b0c05457 visidata: add module (#6956) 2025-05-02 11:14:19 -05:00
Joaquín TriñanesandGitHub 355a6b937d nushell: throw instead of abort (#6870) 2025-05-02 08:45:16 -05:00
JessandGitHub 2eabb26d08 restic: allow the convenience script to source environmentFile (#6947) 2025-05-02 08:23:57 -05:00
Aguirre MatteoandGitHub f15be4feb6 clipcat: add module (#6946) 2025-05-02 08:22:35 -05:00
milanglacierandGitHub c5cad190ba zsh: update doc to show how to add initContent at multiple location. (#6945) 2025-05-02 08:18:11 -05:00
Aguirre MatteoandGitHub 669e813c75 element-desktop: add module (#6935) 2025-05-02 08:17:24 -05:00
Marien ZwartandRobert Helgesson 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 ZwartandRobert Helgesson 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 horrilloandGitHub 81431b6d6f gpg-agent: fix typo (#6950)
See https://github.com/NixOS/nixpkgs/blob/46e634be05ce9dc6d4db8e664515ba10b78151ae/pkgs/by-name/wa/wayprompt/package.nix#L60
2025-05-01 15:11:25 -05:00
JessandAustin Horstman 5f217e5a31 restic: change service type from simple to oneshot
Fixes #6930
2025-04-30 14:19:59 -05:00
JessandAustin Horstman 7f301a4d96 restic: fix certain integration tests 2025-04-30 14:19:59 -05:00
June SteppandGitHub 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
nakooandGitHub c9c2c1a14e kime: fix systemd service (#6911) 2025-04-30 14:18:20 -05:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 EdwardsandGitHub 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
isabelandGitHub 84d262115e nixos,darwin: add osClass (_class) as a specialArg (#6906) 2025-04-29 20:37:59 -05:00
Austin HorstmanandGitHub 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
octvsandGitHub 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
awwpotatoandGitHub c803a38927 nh: add path option for flake (#6898) 2025-04-28 21:27:29 -05:00
zowoqandGitHub 4d2baba75e espanso: fix alias in news (#6931) 2025-04-28 21:20:13 -05:00
Aguirre MatteoandGitHub 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 OkadaandGitHub 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. RipsandGitHub 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 MatteoandGitHub 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 HorstmanandGitHub 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
Gugu72andGitHub 2a264c17d5 zsh: add type to zprof.enable option (#6916) 2025-04-27 14:29:57 -05:00
Patrick StevensandGitHub adb3fbc584 neomutt: use correct neomutt in config file (#6915) 2025-04-27 14:27:52 -05:00
phanirithvijandAustin Horstman 0fbd8207e9 news: forward args to file news entries
Signed-off-by: phanirithvij <phanirithvij2000@gmail.com>
2025-04-27 11:36:10 -05:00
phanirithvijandAustin Horstman 9c3b33c2a7 espanso: add wayland test
Signed-off-by: phanirithvij <phanirithvij2000@gmail.com>
2025-04-27 11:36:10 -05:00
phanirithvijandAustin Horstman 6ed700bfe4 espanso: fix test
Signed-off-by: phanirithvij <phanirithvij2000@gmail.com>
2025-04-27 11:36:10 -05:00
phanirithvijandAustin Horstman 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
phanirithvijandAustin Horstman 1d2f0b3d4b espanso: add phanirithvij as maintainer
Signed-off-by: phanirithvij <phanirithvij2000@gmail.com>
2025-04-27 11:36:10 -05:00
Aguirre MatteoandGitHub 50bb714a82 rmpc: add module (#6910) 2025-04-27 09:32:40 -05:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 MatteoandGitHub 2f5819a962 onedrive: add module (#6907) 2025-04-26 16:40:10 -05:00
CoolioandGitHub 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
B1kkuandGitHub 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 MarshallandAustin Horstman 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 MarshallandAustin Horstman 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
K900andRobert Helgesson abfad3d295 treewide: substituteAll -> replaceVars/substitute
substituteAll is now officially deprecated.
2025-04-24 13:40:11 +02:00
awwpotatoandGitHub d31710fb2c fcitx5: fix iniFormat usage (#6899) 2025-04-23 15:10:12 -05:00
awwpotatoandGitHub 6d1f834ca6 fcitx5: add upstream options (#6892) 2025-04-23 11:51:43 -05:00
awwpotatoandGitHub 59de2dfb0a workflows: only run conflicts and update flake on main repo (#6893) 2025-04-23 11:25:45 -05:00
Austin HorstmanandGitHub 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
awwpotatoandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
awwpotatoandAustin Horstman 1d0e13904b i18n.inputMethod: add awwpotato as maintainer 2025-04-22 20:48:01 -07:00
awwpotatoandAustin Horstman 585bae4bbb i18n.inputMethod: align enable option with nixos
see: https://github.com/NixOS/nixpkgs/pull/310708
2025-04-22 20:48:01 -07:00
awwpotatoandGitHub 7ef3137035 vesktop: fix config path on darwin (#6889) 2025-04-22 22:41:31 -05:00
Austin HorstmanandGitHub 97a62d8eef tests/default: add zoxide darwin stub (#6888) 2025-04-22 21:37:14 -05:00
awwpotatoandGitHub 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 HorstmanandGitHub 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 HorstmanandGitHub 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 CoudronandGitHub b99e3e46b8 ci: fixed redundant rule (#6883) 2025-04-22 17:52:24 -05:00
FlameopathicandGitHub 6899001a76 fcitx5: add themes and classicUiConfig options (#6876) 2025-04-22 14:30:45 -05:00
Benedikt M. RipsandGitHub 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 CoudronandGitHub b925865c74 ci: label msmtp changes with "mail" (#6881) 2025-04-22 18:32:11 +02:00
zincentimeterandGitHub 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. RipsandGitHub cf0c5e0105 xdg-autostart: fix runCommandNoCCLocal deprecation (#6880) 2025-04-22 09:05:27 -05:00
Johan EklundandGitHub ce8dc1f77a xsettingsd: Remove erroneous lib. insertion (#6877) 2025-04-22 07:34:49 -05:00
Austin HorstmanandGitHub 81541ea36d lorri: fix missing makeSearchPath (#6875) 2025-04-21 14:55:32 -07:00
Josh HeinrichsandGitHub 42d90297b3 git: support maintenance on darwin (#6868) 2025-04-21 14:25:57 -07:00
awwpotatoandGitHub 22b326b42b television: add module (#6866) 2025-04-21 12:26:20 -05:00
be4e5ec62c nix-init: add module (#6864)
Co-authored-by: uncenter <47499684+uncenter@users.noreply.github.com>
2025-04-21 12:25:56 -05:00
awwpotatoandGitHub 08b85bd000 vesktop: add support for multiple themes (#6860) 2025-04-21 12:25:22 -05:00
Joaquín TriñanesandGitHub ca8367117a atuin: Fix deprecated string type warning (#6861) 2025-04-21 12:23:08 -05:00
Austin HorstmanandGitHub 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 HorstmanandGitHub 82ee14ff60 treewide: remove with lib (#6871)
Remove from services.
2025-04-21 11:00:59 -05:00
alois31andGitHub 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
OughieandAustin Horstman 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 SeifertandGitHub b0cc092405 shikane: init module (#4096) 2025-04-20 20:21:46 -05:00
awwpotatoandGitHub 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 LenzandAustin Horstman 1d2d6b9568 uv: init module 2025-04-20 14:32:29 -07:00
LilleAilaandAustin Horstman 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
LilleAilaandAustin Horstman 3cecde80a5 maintainers: added lilleaila 2025-04-20 13:47:45 -07:00
awwpotatoandGitHub 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 GrouwstraandAustin Horstman aa2c7ac404 wallust: add module
closes #6566
2025-04-20 13:16:28 -07:00
Kiara GrouwstraandAustin Horstman 48bbe7bc48 maintainers: add kiara 2025-04-20 13:16:28 -07:00
JessandGitHub f98314bb06 restic: init module (#6729) 2025-04-19 22:53:06 -07:00
awwpotatoandGitHub bb8d286649 zed-editor: add themes option (#6832) 2025-04-20 00:29:44 -05:00
awwpotatoandGitHub e8b68f99c6 eza: add theme option (#6850) 2025-04-20 00:24:26 -05:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 SandhuandGitHub b8d186abf8 fish: allow multiple commands for command option in abbreviations (#6851) 2025-04-20 00:23:07 -05:00
Austin HorstmanandGitHub 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 BandGitHub 9676e8a52a inori: init module (#6289) 2025-04-19 09:05:58 -05:00
Austin HorstmanandGitHub ae84885d9b workflows/conflicts: init (#6845)
Add labeler for merge conflicts
2025-04-18 22:23:32 -05:00
Austin HorstmanandGitHub 307281bfda labeler: expand labels (#6846)
Add rules, fill in missing files for existing rules.
2025-04-18 22:23:21 -05:00
Austin HorstmanandGitHub 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-brasherandAustin Horstman 54b494a77f keepassxc: add module 2025-04-18 11:35:36 -07:00
octvsandGitHub 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 HorstmanandGitHub 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
isabelandAustin Horstman e72178b84e tests/atuin: add theme test 2025-04-17 11:03:18 -07:00
isabelandAustin Horstman 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 HorstmanandGitHub 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 BarraganandGitHub 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
S1rDev10usandGitHub b35bccc32d home-manager-auto-expire: fix spelling error (#6829) 2025-04-16 13:41:23 -05:00
Jacob BirkettandGitHub 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
LesVuandGitHub 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 LearyandGitHub 5d48f3ded3 mcfly: Fix mcfly-fzf initialization crash for fish and zsh (#6827) 2025-04-16 09:11:07 -05:00
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
fazziandGitHub 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 ChristensenandGitHub 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 NiveriandAustin Horstman d5cdf55bd9 direnv: add tests for silent option 2025-04-14 13:51:24 -07:00
Marius NiveriandAustin Horstman 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 WaglerandGitHub 5a096a8822 superfile: initial support (#6610)
Add initial support for `superfile` file manager.
2025-04-14 14:36:40 -05:00
Austin HorstmanandGitHub 273ad32fbb tests/nh: init tests (#6819) 2025-04-14 12:07:02 -05:00
awwpotatoandGitHub 3375414477 helix: fix str + path theme (#6816) 2025-04-14 08:29:24 -05:00
Austin HorstmanandGitHub 85dd758c70 yazi: remove assertions (#6817)
Contains IFD and unnecessarily restricts user's configuration.
2025-04-14 10:18:50 +02:00
Austin HorstmanandGitHub 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
1adeptandGitHub ac3c1f4fa4 foot: enable duplicate key-bindings (#6815)
closes #5873
2025-04-13 17:46:54 -05:00
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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
awwpotatoandGitHub 4f898f373d helix: add support for path and string themes (#6814) 2025-04-13 13:59:21 -05:00
Johan LarssonandGitHub 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 HorstmanandGitHub e43c6bcb10 anyrun: init module (#6804) 2025-04-11 09:06:03 -05:00
andre4ik3andGitHub 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 LarssonandGitHub f0c69ede70 way-displays: init module (#6791) 2025-04-11 08:15:26 -05:00
Amadej KastelicandGitHub e15c4203ea hyprland: plugins use hyprctl from path (#6801) 2025-04-11 07:59:55 -05:00
Matthieu CoudronandGitHub 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 BrandlandGitHub 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
SorkiandGitHub 543caa313a xmonad: fix binary name lookup on armv7l when cross-compiled (#6795) 2025-04-10 15:28:09 -05:00
Bruno BigrasandGitHub 8638a0b287 sesh: add icons option (#6794)
Display icons next to results ({option}`--icons` argument).
2025-04-10 15:02:01 -05:00
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
FlameopathicandGitHub 92266c9a6f btop: adjust themes option example (#6793) 2025-04-10 12:29:47 -05:00
Amadej KastelicandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 FelberandGitHub 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 HorstmanandGitHub a1036d4d3e tests: stub notmuch darwin (#6788)
Building causing massive CI delays
2025-04-09 08:59:49 -05:00
Gaétan LepageandGitHub fcb8a2b62b swaylock: fix path values in config file (#6786) 2025-04-09 08:22:57 -05:00
Cole MickensandGitHub 4040c5779c modules/programs/ssh: support identityAgent (#6783) 2025-04-08 23:16:14 -05:00
Austin HorstmanandGitHub 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 MasonandAustin Horstman 7137c8ae4e tests/aerospace: include on-window-detected 2025-04-08 08:17:43 -07:00
Alex MasonandAustin Horstman 95861b5d9f aerospace: Add flattenOnWindowDetected function 2025-04-08 08:17:43 -07:00
Alex EpeldeandGitHub 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 KarjalainenandGitHub 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 HorstmanandGitHub 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 SancheandAustin Horstman 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
FlameopathicandGitHub 0daadc7784 btop: add themes option (#6777) 2025-04-08 09:08:40 -05:00
Austin HorstmanandGitHub 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 HorstmanandGitHub 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 HorstmanandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 OkadaandGitHub 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 StalinskyandAustin Horstman b5e2956513 redshift/gammastep: add tray tests 2025-04-05 06:36:25 -07:00
Evyatar StalinskyandAustin Horstman 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
jaredmontoyaandGitHub 0f5908daf8 home-environment: enable home aliases for nushell (#6754) 2025-04-04 12:49:34 -05:00
Austin HorstmanandGitHub 07547d29e1 swaync: use lib.getExe (#6755) 2025-04-04 12:30:26 -05:00
LemmusLemmusandGitHub 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 TaiandGitHub a802defb16 playerctld: add to $PATH (#6753) 2025-04-04 10:41:39 -05:00
Pim SnelandGitHub 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 HorstmanandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
jaredmontoyaandAustin Horstman 180fd43eea pay-respects: allow setting custom options 2025-04-02 09:28:45 -05:00
jaredmontoyaandAustin Horstman 812a12d014 oh-my-posh: build-time nushell config generation 2025-04-02 09:28:45 -05:00
jaredmontoyaandAustin Horstman 287cbbbf80 nix-your-shell: build-time nushell config generation 2025-04-02 09:28:45 -05:00
jaredmontoyaandAustin Horstman dde05a0b10 carapace: build-time nushell config generation 2025-04-02 09:28:45 -05:00
jaredmontoyaandAustin Horstman 3722855a1c atuin: build-time nushell config generation 2025-04-02 09:28:45 -05:00
jaredmontoyaandAustin Horstman 267f6ada1e zoxide: build-time nushell config generation 2025-04-02 09:28:45 -05:00
jaredmontoyaandAustin Horstman 98d718b46d starship: build-time nushell config generation 2025-04-02 09:28:45 -05:00
krabodyanandGitHub 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 OkadaandAustin Horstman 5ee44bc7c2 news: add services.home-manager.autoExpire entry 2025-04-01 20:14:26 -05:00
Thiago Kenji OkadaandAustin Horstman 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
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 LedoandGitHub e355ae93a3 docs: add docs for mkOutOfStoreSymlink (#6660) 2025-04-02 02:06:02 +02:00
Yiheng HeandGitHub 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 StummandGitHub f4d9d1e2ad broot: get rid of IFDs (#6723) 2025-04-01 12:07:51 -05:00
Austin HorstmanandGitHub 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 HorstmanandGitHub 55cf1f1632 firefox: fix missing lib (#6744) 2025-04-01 08:25:30 -05:00
Hoang NguyenandGitHub 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 HorstmanandGitHub 5e193cdcab msmtp: fix missing inherits (#6741) 2025-03-31 23:28:55 -05:00
Austin HorstmanandGitHub 0b491b460f treewide: remove with lib (#6735)
Continuation of `with lib;` cleanup.
2025-03-31 22:32:16 -05:00
wyyllouandGitHub 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 BertandGitHub 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 SavitskyandGitHub b6fd653ef8 newsboat: add a package option to the module (#6717) 2025-03-30 13:40:01 -05:00
Olmo KramerandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 GaspardandGitHub 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 ZakariaandGitHub 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
ToborandGitHub 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
TarowandGitHub 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 HorstmanandGitHub f1d4acaa10 treewide: use mkPackageOption (#6727) 2025-03-29 11:48:55 -05:00
カワリミ人形andGitHub 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
MichaelandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 MeyerandGitHub 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 TakataandGitHub 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 BandGitHub b14a70c40f fzf: update zsh integration to be after plugins (#6716) 2025-03-27 12:49:40 -05:00
Clément BandGitHub 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 SteinbachandGitHub 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 ŚlagaandGitHub ce287a5cd3 mpdscribble: add module (#6259) 2025-03-25 21:44:04 -05:00
Aneesh BhaveandGitHub 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 LaFreniereandGitHub 2321c6889b ripgrep-all: Add module (#5459) 2025-03-25 18:48:21 -05:00
Alex EpeldeandGitHub 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]: https://github.com/nix-community/home-manager/blob/6c2b79403e9ae852fbf1d55b29f2ea4d2aa43255/modules/services/blueman-applet.nix
[2]: https://github.com/nix-community/home-manager/blob/6c2b79403e9ae852fbf1d55b29f2ea4d2aa43255/modules/services/network-manager-applet.nix
2025-03-25 18:48:07 -05:00
FeaandGitHub 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 HorstmanandGitHub f565da89e7 davmail: add package option (#6705) 2025-03-25 16:25:32 -05:00
Bob van der LindenandGitHub 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-candAustin Horstman 8bef8b7a0a direnv: fix typo 2025-03-25 13:15:08 -05:00
royce-candAustin Horstman 529906d6a2 podman: fix typo 2025-03-25 13:15:08 -05:00
royce-candAustin Horstman 5abb21dc10 distrobox: fix typo 2025-03-25 13:15:08 -05:00
Zhaofeng LiandGitHub 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-candGitHub 2980606556 distrobox: replace hardcoded path with config package's path (#6701) 2025-03-25 13:13:37 -05:00
Austin HorstmanandGitHub 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 CoudronandGitHub 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ýandAustin Horstman 0394c71f2b zellij: Add additional options for integrating with shells 2025-03-24 13:48:39 -05:00
ManuelandGitHub 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 BruneauandGitHub ad0614a1ec firefox: don't show migration warning when bookmarks isn't set (#6689) 2025-03-23 18:13:55 -05:00
Kira BruneauandGitHub 4f4538467f firefox: fix migrate search v7 test for all firefox forks (#6690) 2025-03-23 16:36:33 -05:00
Kira BruneauandGitHub 0e75a40458 firefox: fix assertion when missing force for extensions (#6688) 2025-03-23 14:04:29 -05:00
brickedandAustin Horstman ecbcd792e1 firefox: check if bookmarks attrset is of correct type 2025-03-23 14:04:01 -05:00
brickedandAustin Horstman d7f451d7b1 firefox: replace with-lib-expression with inherit-expression 2025-03-23 14:04:01 -05:00
brickedandAustin Horstman 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
awwpotatoandGitHub 5ff90f09d1 wofi: merge multiple style definitions (#6673) 2025-03-23 16:48:23 +01:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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. RipsandGitHub 57e9a8a290 davmail: init module (#6674) 2025-03-23 09:01:35 -05:00
Austin HorstmanandGitHub 9172a6f956 skhd: add module (#6682) 2025-03-22 22:49:54 -05:00
JessandAustin Horstman 7853236fae rclone: ensure remotes have a type field 2025-03-22 21:52:23 -05:00
JessandAustin Horstman 7a08b8c898 rclone: correctly escape whitespace in secrets 2025-03-22 21:52:23 -05:00
Austin HorstmanandGitHub 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 HorstmanandGitHub 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 MatteoandGitHub 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
wikikerandAustin Horstman 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 LindenandAustin Horstman 29c6f2b0cb polkit-gnome: init module 2025-03-20 23:08:16 -05:00
Bob van der LindenandAustin Horstman 5503a758f9 lxqt-policykit-agent: init module 2025-03-20 23:08:16 -05:00
Bob van der LindenandAustin Horstman 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
hauskensandAustin Horstman 46efc3b2e1 lazydocker: add module 2025-03-20 17:14:14 -05:00
Michael CooperandRobert Helgesson 20ec3c1049 mcfly: Fix swapped shell names 2025-03-20 23:11:49 +01:00
Michael CooperandGitHub 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
CatandGitHub 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 MatteoandGitHub c36cc49e55 onlyoffice: add module (#6667) 2025-03-20 11:34:43 -05:00
Austin HorstmanandGitHub 94605dcade tests/firefox: add applicationName to mock (#6668) 2025-03-20 00:15:57 -05:00
novenaryandGitHub 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 SandhuandGitHub 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 LepageandGitHub 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 UnderwoodandAustin Horstman 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 BruneauandAustin Horstman 8b629b5424 firefox: migrate search config to v12 2025-03-19 15:16:09 -05:00
Kira BruneauandAustin Horstman b44d79a5b2 firefox: migrate search config to v11 2025-03-19 15:16:09 -05:00
Kira BruneauandAustin Horstman 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
hauskensandAustin Horstman 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
~noodlez1232andAustin Horstman 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
TarowandGitHub 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 HassanandAustin Horstman bb72d79f5d podman: use type in attr name of built quadlets 2025-03-19 14:08:12 -05:00
Nicholas HassanandAustin Horstman 8bb071912b podman: warn if values match a quadlet only by name 2025-03-19 14:08:12 -05:00
Nicholas HassanandAustin Horstman 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 HassanandAustin Horstman 4108ec3aa8 podman: use dependency quadlets directly in build for generator 2025-03-19 14:08:12 -05:00
JessandAustin Horstman 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
JessandAustin Horstman 66f565db48 maintainers: add jess 2025-03-19 13:49:44 -05:00
Kira BruneauandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
imsuckandAustin Horstman 62dc8c30ef home-manager: add autocomplete for --log-format 2025-03-19 13:32:33 -05:00
imsuckandAustin Horstman 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 HeandGitHub 22a36aa709 swww: add swww service module for swww-daemon (#6543) 2025-03-18 14:32:10 -05:00
Reputable2772andGitHub 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
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 ChuandGitHub 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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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 ZhangandAustin Horstman f55c5f6569 kubecolor: create oc alias conditionally 2025-03-17 14:53:32 -05:00
Jennings ZhangandAustin Horstman f9f766c600 kubecolor: add oc alias 2025-03-17 14:53:32 -05:00
Jennings ZhangandAustin Horstman e94ec0a6cd kubecolor: add enableZshIntegration option for completion 2025-03-17 14:53:32 -05:00
Austin HorstmanandGitHub 5a6e5a59a4 tests: stub more expected packages darwin (#6649)
Get ahead of random breakages blocking ci.
2025-03-17 14:14:02 -05:00
CnTengandAustin Horstman 4e12151c9e megasync: add option to enable wayland 2025-03-14 07:39:07 -05:00
CnTengandAustin Horstman e30c6a41bc megasync: remove with lib 2025-03-14 07:39:07 -05:00
isabelandGitHub 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
JdogzzandGitHub 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 AlekseevandGitHub 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 GarniauxandGitHub 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 ChuandGitHub 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
isabelandAustin Horstman 74f2ed6a64 test/home-cursor: add new .enable check 2025-03-12 09:51:58 -05:00
isabelandAustin Horstman dcc20acf93 home-cursor: add doticons option 2025-03-12 09:51:58 -05:00
isabelandAustin Horstman 00712ac0fb home-cursor: use .enable pattern 2025-03-12 09:51:58 -05:00
isabelandAustin Horstman 32531e4572 home-cursor: explicit lib usage 2025-03-12 09:51:58 -05:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 LepageandGitHub 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ćandGitHub 5871e21c11 screen-locker: add lockCmdEnv option (#6592) 2025-03-12 07:31:54 -05:00
LynnandGitHub c630dfa8ab nix-darwin: respect username setting of home-manager in activation script (#5881) 2025-03-11 08:53:55 -05:00
Raine GodmaireandGitHub 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 LearyandGitHub 7fb8678716 Fix missing styleName for kde6 (#6597) 2025-03-10 14:35:47 -05:00
Leandro Emmanuel Reina KipermanandGitHub 3593ee59a4 xdg-mime: Fix cross compilation (#6500) 2025-03-10 14:32:06 +01:00
Ilya SavitskyandGitHub 744f749dd6 mods: add a mods module (#6339) 2025-03-09 23:05:08 -05:00
bamhm182andGitHub 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
carschandlerandGitHub 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
JonoandGitHub 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 OkadaandGitHub 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 LeungandGitHub 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 OkadaandAustin Horstman cf47e7ea21 qt: use home.sessionSearchVariables 2025-03-09 09:36:41 -05:00
Thiago Kenji OkadaandAustin Horstman ab56fd8db8 targets/generic-linux: use home.sessionSearchVariables for XCURSOR_PATH 2025-03-09 09:36:41 -05:00
Thiago Kenji OkadaandAustin Horstman 5094e32cce home-cursor: use home.sessionSearchVariables for XCURSOR_PATH 2025-03-09 09:36:41 -05:00
Thiago Kenji OkadaandAustin Horstman daab32302b debug: use home.sessionSearchVariables for NIX_DEBUG_INFO_DIRS 2025-03-09 09:36:41 -05:00
Thiago Kenji OkadaandAustin Horstman 601f8d073c im/fcitx5: use home.sessionSearchVariables for QT_PLUGIN_PATH 2025-03-09 09:36:41 -05:00
Thiago Kenji OkadaandAustin Horstman 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 LearyandGitHub 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
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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 KaraolidisandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 HorstmanandGitHub 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 AymanandGitHub 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](https://github.com/zsh-users/zsh-syntax-highlighting/blob/e0165eaa730dd0fa321a6a6de74f092fe87630b0/highlighters/main/main-highlighter.zsh#L32).
2025-03-08 19:37:10 +01:00
Austin HorstmanandGitHub 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 HorstmanandGitHub 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 HorstmanandGitHub 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 EyeogluandGitHub 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 HorstmanandGitHub 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 GodmaireandGitHub 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 MarshallandGitHub 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
toborwinnerandRobert Helgesson 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
def0dbbcea vscode: Support Cursor AI (#6417)
Co-authored-by: Hyunggyu Jang <hyunggyu.jang@42dot.ai>
2025-03-05 12:39:42 +01:00
Karl HandGitHub 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
VonfryandGitHub 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 CoudronandGitHub 3f08cd8ef7 ci: add labels for firefox (#6520) 2025-03-04 22:14:44 +01:00
HPsauciiandGitHub 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 CarrollandGitHub 30da431093 librewolf: support darwin (#6561)
Remove linux platform assertion.
2025-03-01 08:55:01 -06:00
Zeremonienmeister BerberandGitHub 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 MendezandGitHub 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 HorstmanandGitHub 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
gmvarandGitHub 343646e092 kitty: add action aliases config (#6538) 2025-02-27 12:12:56 -06:00
Austin HorstmanandGitHub 0208592b59 idlehook: fix service.restart merge (#6544) 2025-02-27 11:32:59 -06:00
Austin HorstmanandGitHub 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
EmanuelandGitHub 11e6d20803 ghostty: fix typo (#6541) 2025-02-27 11:32:19 -05:00
Damien CassouandGitHub b8869e4ead mpd: Add support for darwin (#6517) 2025-02-26 20:53:00 -06:00
Even BrendenandGitHub 6be185eb76 screen-locker: set Restart=always for all services (#6534) 2025-02-26 15:41:55 -06:00
Even BrendenandGitHub 44b86a72e7 xidlehook: set Restart=always (#6533) 2025-02-26 15:41:15 -06:00
Thomas ZegerandGitHub 53c587d263 tmux: fix shell example (#5361) 2025-02-26 08:21:11 -06:00
Kilian MioandGitHub 87743e9383 firefox: deprecate vendorPath (#6519)
This is a reaction to PR #6460
2025-02-26 08:20:52 -06:00
eulaliaandGitHub 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
DSOverlordandGitHub 74f0a8546e clipse: add additional options (#6525) 2025-02-25 08:39:21 -06:00
Bruno BELANYIandGitHub 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 HorstmanandGitHub 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 TaiandGitHub b5ab2c7fda waybar: support enable inspect from service (#5922) 2025-02-23 07:45:42 -06:00
Austin HorstmanandGitHub ed030a7879 chromium: optional nativeMessagingHosts (#6515)
Should only be generating when provided
2025-02-22 21:58:48 -06:00
Seth FlynnandGitHub 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 HrachyshkaandAustin Horstman 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 HrachyshkaandAustin Horstman 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
moniandGitHub 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
novenaryandAustin Horstman cb3f6e9b59 htop: write-protect entire configuration directory
Fixes #4947
2025-02-22 11:55:15 -08:00
novenaryandAustin Horstman 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 VranaandAustin Horstman 413e9b35f1 dircolors: respect preferXdgDirectories if set 2025-02-22 11:50:20 -08:00
Brieuc DuboisandGitHub 61d8fc9af0 firefox: Allow to add PKCS11 modules (#5608) 2025-02-22 12:51:06 -06:00
Artem StarikovandGitHub 90504b9a89 thunderbird: allow managing feed accounts (#5613) 2025-02-22 12:33:41 -06:00
eulaliaandGitHub 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
Reputable2772andGitHub 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 NetliukhandGitHub 4949081d1e jqp: add module (#5716) 2025-02-22 10:23:01 -06:00
DSOverlordandGitHub 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 SouzaandAustin Horstman 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 AugustoandGitHub f4a07823a2 chromium: add nativeMessagingHosts option (#6019) 2025-02-22 01:10:22 -06:00
Hoang NguyenandGitHub 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
eum3landGitHub c31b4e330e accounts/email: provide realName option for alias (#6106) 2025-02-22 01:03:07 -06:00
NAHOandGitHub f0f0d1ade2 docs: update copyright year 2025-02-22 00:55:13 -06:00
Austin HorstmanandGitHub 439a125afe tests: remove with lib (#6511) 2025-02-21 23:20:07 -06:00
Austin HorstmanandGitHub 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
TheStachelfischandGitHub 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]andAustin Horstman 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
1444andGitHub e512de4722 wluma: init module (#6463) 2025-02-21 18:24:26 -06:00
ChlorodoseandGitHub 9f74e14a2d fcitx5: make boot after graphical session (#6432) 2025-02-21 16:37:07 -06:00
truelecterandGitHub 6eed33a3ac jetbrains-remote: do not fail if files do not exist yet (#6502) 2025-02-21 16:34:36 -06:00
Bruno BELANYIandGitHub dde2fba628 home-cursor: add sway support (#6459) 2025-02-21 16:16:56 -06:00
Alejandro Masó BonillaandHosted Weblate 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 ThievonandGitHub bdf73272a8 swayimg: add module (#6506) 2025-02-21 12:15:02 -06:00
Ihar HrachyshkaandAustin Horstman 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 HrachyshkaandAustin Horstman 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 HrachyshkaandAustin Horstman 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 HrachyshkaandAustin Horstman 5f5ff39778 firefox: remove with keyword use
Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
2025-02-21 09:28:22 -08:00
Ihar HrachyshkaandAustin Horstman 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 HrachyshkaandAustin Horstman 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 HrachyshkaandAustin Horstman 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 HrachyshkaandAustin Horstman 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 AugustoandGitHub 3c82285348 vinegar: add module (#6494) 2025-02-21 07:48:51 -06:00
isabelandGitHub 0c0b0ac8af flake-module: use raw for homeConfgurations and deferredModule for modules (#6504) 2025-02-20 08:12:30 -06:00
Austin HorstmanandGitHub 1c189f0114 tests/home-cursor: init (#6496)
Working on module and needed test to verify expected behavior.
2025-02-19 13:18:30 -06:00
brickedandGitHub 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
isabelandGitHub 4044ad191f fish: accept multiple events (#6489) 2025-02-18 15:22:42 -06:00
Austin HorstmanandGitHub 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
isabelandGitHub 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
ljyothandGitHub 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
HPsauciiandAustin Horstman 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
HPsauciiandAustin Horstman 3a0cf8f1aa maintainers: add HPsaucii 2025-02-17 12:17:38 -08:00
IliaandGitHub edad23ebc1 mako: add max-history option (#6009) 2025-02-17 12:10:04 -07:00
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
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
WeathercoldandGitHub c1ea92cdfb nh: change flake option type to singleLineStr (#6468) 2025-02-17 03:00:43 -08:00
Austin HorstmanandGitHub 5c5697b82a git: support not configuring signing.format (#6478) 2025-02-17 03:00:03 -08:00
SandroandGitHub 30b9cd6f1a mpv: drop old wrapMpv compatibility (#6024)
wrapMpv doesn't exist anymore for a while.
2025-02-17 10:28:26 +01:00
brickedandGitHub 662fa98bf4 nixpkgs-disabled: warn instead of assert (#6466)
Temporarily fixes backwards compatibility as issued in #6172.
2025-02-16 19:39:24 -06:00
EmilyandGitHub 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
isabelandGitHub b15e9ec676 flake-module: set _class (#6461)
This should *help* prevent bad imports.
2025-02-16 13:57:15 -06:00
Sizhe ZhaoandGitHub e5bc9c2af1 git: reduce priority of signing.format (#6465) 2025-02-16 13:55:03 -06:00
Kilian MioandGitHub 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
DevinandGitHub 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 KlingandAustin Horstman 45c07fcf7d formatting according to HM's format tool 2025-02-15 14:35:04 -08:00
Peter KlingandAustin Horstman 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 KlingandAustin Horstman 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 KlingandAustin Horstman 26454abc03 provide RUNTIME_DIRECTORY manually if not given by systemd 2025-02-15 14:35:04 -08:00
Peter KlingandAustin Horstman 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 KlingandAustin Horstman 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 KlingandAustin Horstman 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
sinavirandSumner Evans 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 HorstmanandGitHub 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
SofandGitHub 67b9f9de22 vscode: add windsurf directories (#6427) 2025-02-14 15:16:26 -06:00
Calum MacRaeandGitHub 582d3cd42d yubikey-agent: init service module (#6446) 2025-02-14 15:10:24 -06:00
EmilyandGitHub 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
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öderandGitHub 22b418c13f bash: Make HISTFILESIZE and HISTSIZE nullable (#6443) 2025-02-13 08:58:45 -06:00
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ørensenandGitHub 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 ChristensenandAustin Horstman 1f6fa87808 eww: added tests 2025-02-12 09:38:53 -08:00
Christoffer Hald ChristensenandAustin Horstman f8729b11ee eww: fix confDir config using missing attribute "types.isNull" 2025-02-12 09:38:53 -08:00
David ArnoldandGitHub 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 CoudronandGitHub 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 AulerandAustin Horstman 9c8169b446 git-worktree-switcher: init module 2025-02-11 09:18:04 -06:00
Yuki KobayashiandGitHub 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
PopeRigbyandGitHub ba4a1a1102 ludusavi: create Ludusavi module (#5626) 2025-02-10 18:23:20 -06:00
isabelandGitHub 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
MithicSpiritandAustin Horstman 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]andRobert Helgesson 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 PakandGitHub 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
NAHOandRobert Helgesson 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
bittin1ddc447d824349b2andRobert Helgesson 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 FragosoandRobert Helgesson 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 SouzaandGitHub 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 CassouandRobert Helgesson 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 BruneauandGitHub 15bd673658 firefox: remove old unused test file (#6403) 2025-02-06 12:00:06 +01:00
Kira BruneauandGitHub 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 BruneauandGitHub 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
VladimirandHosted Weblate 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-onandHosted Weblate 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 PanandHosted Weblate 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
Gavagai53andHosted Weblate 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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ørensenandGitHub 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
JanikandGitHub 78576b817f home-manager: add lib support for non-flake users (#5429) 2025-02-04 22:29:41 +01:00
Matthieu CoudronandGitHub 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 AugustoandGitHub 066ba0c5cf flake-module: rename homeModules to homeManagerModules (#6392) 2025-02-03 13:19:46 -06:00
Austin HorstmanandGitHub 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 NguyenandGitHub dae6d3460c git: add default value null to programs.git.signing.key (#6032) 2025-02-01 17:52:06 +01:00
Timon SchellingandGitHub 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
utzuroandGitHub 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 SturgeonandGitHub 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 HorstmanandGitHub 7a45774684 aerospace: enable option desc fix (#6375) 2025-01-30 11:25:49 -06:00
Austin HorstmanandGitHub c621c26c4c aerospace: cleanup 2025-01-30 17:22:03 +01:00
ckgxrgandRobert Helgesson 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
ckgxrgandRobert Helgesson 41f3dbd795 linux-wallpaperengine: add ckgxrg as maintainer 2025-01-30 10:01:37 +01:00
Norbert MelzerandGitHub 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 EyeogluandGitHub 9ce5d0b888 xdg-autostart: add module (#5251)
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2025-01-29 18:45:54 -06:00
diniamoandGitHub 7636b24867 hyprland: make package nullable (#5742) 2025-01-29 18:40:05 -06:00
chayleafandGitHub ba3338ab99 waybar: allow setting layer to overlay (#5729) 2025-01-29 18:39:21 -06:00
Florian KlinkandGitHub 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 HorstmanandGitHub 6fbbfb9240 Revert "thunderbird: add native host support (#6292)" (#6371) 2025-01-29 17:11:30 -06:00
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 GuptaandGitHub 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 HrachyshkaandGitHub 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
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
anundandGitHub 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: https://github.com/clo4/ghostty-hm-module/blob/887e13a6e7acf5ffaab0119d96e476d84db90904/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 HorstmanandGitHub 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 FufezanandGitHub 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 SuetinandRobert Helgesson 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 MarshallandGitHub 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ñanesandRobert Helgesson 82455a84e3 nushell: allow multi-word aliases
Also fix invalid alias in test
2025-01-29 18:22:08 +01:00
Joaquín TriñanesandRobert Helgesson 709aaab1a5 nushell: set env in config.nu file 2025-01-29 18:22:07 +01:00
Joaquín TriñanesandRobert Helgesson 46c83c07b9 nushell: add settings option 2025-01-29 18:22:07 +01:00
Joaquín TriñanesandRobert Helgesson 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 LepageandRobert Helgesson 1b4f2a4816 zed-editor: add installRemoteServer option 2025-01-29 11:09:51 +01:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 KovnatskyandGitHub 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 DOUINandRobert Helgesson e9068facd7 himalaya: adjust package for released v1.0.0 2025-01-24 09:30:08 +01:00
Clément DOUINandRobert Helgesson 2ae3dd460f himalaya: add xdg desktop entry 2025-01-24 09:30:08 +01:00
Clément DOUINandRobert Helgesson 5f5a9d5cd2 himalaya: make use of lib.getExe 2025-01-24 09:30:08 +01:00
Clément DOUINandRobert Helgesson 44ee9bc826 himalaya: improve service 2025-01-24 09:30:08 +01:00
Anton TetovandRobert Helgesson 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 TetovandRobert Helgesson a2362a6496 nh: check osConfig for null before accessing 2025-01-24 08:37:11 +01:00
leoTlrandGitHub 7b9ece1bf3 tealdeer: update docs link
Repo is now at https://github.com/tealdeer-rs/tealdeer.
2025-01-23 22:59:39 +01:00
quasigodandGitHub 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 LepageandRobert Helgesson 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
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 SenhajiandRobert Helgesson 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 horrilloandGitHub 96dee79b17 lsd: remove with lib; 2025-01-21 17:53:23 +01:00
Nova LearyandGitHub 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
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
wrvsrxandGitHub 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
cupiditasandGitHub 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 HorstmanandGitHub 97d7946b5e {hypridle, hyrpaper}: remove with lib; (#6318)
* hypridle: remove with lib;

* hyprpaper: remove with lib;
2025-01-18 18:35:49 +01:00
JdogzzandGitHub 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 PrudentandGitHub 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 EnevoldsenandHosted Weblate 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
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 HrachyshkaandGitHub 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 HeckemannandGitHub 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
greenpsiandGitHub 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ómezandGitHub 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:
<https://github.com/flightlessmango/MangoHud/blob/0575c8eb1f61692a2e5ca152c4f8ed70bef55ee2/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 LarsenandGitHub 2532b500c3 ollama: add module (#5735) 2025-01-10 12:31:03 +01:00
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. StageandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 NguyenandSumner Evans 54b330ac06 go: add telemetry options 2025-01-08 09:39:32 -07:00
Thiago Kenji OkadaandGitHub 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
1444andGitHub 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
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 BaserdemandGitHub 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 DongandGitHub 20665c6efa home-manager: remove path: URI type for flake default
This reverts commit 536b3fb883.
2025-01-07 00:01:32 +01:00
programmerlexiandHosted Weblate 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 BurgunandHosted Weblate 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 BeyerandGitHub 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
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
midirhee12andGitHub 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 OkadaandRobert Helgesson 14cb0c8cfa fnott: use config.wayland.systemd.target
Also add missing `ConditionEnvironment`.
2025-01-03 17:38:06 +01:00
Thiago Kenji OkadaandRobert Helgesson 656ae5aba2 clipman: use config.wayland.systemd.target
Also add `ConditionEnvironment`.
2025-01-03 17:38:06 +01:00
Thiago Kenji OkadaandRobert Helgesson a6db8c8f6c hypridle: use config.wayland.systemd.target 2025-01-03 17:38:06 +01:00
Thiago Kenji OkadaandRobert Helgesson da12f0b143 hyprpaper: use config.wayland.systemd.target 2025-01-03 17:38:06 +01:00
Thiago Kenji OkadaandRobert Helgesson 8f48fea0f8 avizo: use config.wayland.systemd.target 2025-01-03 17:38:06 +01:00
Thiago Kenji OkadaandRobert Helgesson adcf0b6281 wob: use config.wayland.systemd.target 2025-01-03 17:38:06 +01:00
Thiago Kenji OkadaandRobert Helgesson 51ba4aacec swayosd: use config.wayland.systemd.target 2025-01-03 17:38:05 +01:00
Thiago Kenji OkadaandRobert Helgesson 4cbc8a58ab swaync: use config.wayland.systemd.target 2025-01-03 17:38:05 +01:00
Thiago Kenji OkadaandRobert Helgesson d3c500a8f8 kanshi: use config.wayland.systemd.target
Also add `ConditionEnvironment`.
2025-01-03 17:38:05 +01:00
Thiago Kenji OkadaandRobert Helgesson 8587c2ff0e waybar: use config.wayland.systemd.target
Also add `ConditionEnvironment`.
2025-01-03 17:37:42 +01:00
Thiago Kenji OkadaandRobert Helgesson 89fe48b1c1 swayidle: use config.wayland.systemd.target
Also add `Unit.After`.
2025-01-03 17:37:16 +01:00
Thiago Kenji OkadaandRobert Helgesson 0734cfab07 wayland: add module 2025-01-03 17:10:41 +01:00
Drewry PopeandGitHub 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-onandHosted Weblate 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
தமிழ்நேரம்andHosted Weblate 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 AugustoandGitHub 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 LarsenandGitHub 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 AugustoandRobert Helgesson 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 PickandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 SerwinandGitHub 10e99c43cd copyq: add option to disable XWayland 2024-12-28 11:16:56 +01:00
EmmChrissandRobert Helgesson b7a7cd5dd1 pqiv: fix condition for writing pqivrc file
Specifically, write the configuration if either settings or
extraConfig are set.
2024-12-28 00:56:55 +01:00
Kiara GrouwstraandRobert Helgesson 19398e505a lesspipe: allow configuring package 2024-12-28 00:51:42 +01:00
Robert Helgesson 35b98d20ca treewide: change pacien to euxane
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" OrandGitHub f1b1786ea7 swayr: avoid IFD 2024-12-23 23:21:39 +01:00
VojtechStepandRobert Helgesson 8264bfe3a0 mu: add integration tests 2024-12-23 10:00:12 +01:00
VojtechStepandRobert Helgesson 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 BourgeoisandRobert Helgesson 8bea1a2005 nixgl: forward override calls to wrapped package 2024-12-23 09:22:06 +01:00
David ChocholatýandHosted Weblate edb8b00e4d Translate using Weblate (Czech)
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
musjjandRobert Helgesson 1f74238a4c xresources: allow floating point values 2024-12-22 19:48:53 +01:00
Robert HelgessonandGitHub cb27edb522 waybar: add systemd restart triggers
Fixes #3186
2024-12-22 11:13:25 +01:00
brickedandRobert Helgesson f47b6c153a cavalier: add module 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 HrachyshkaandRobert Helgesson 51160a097a thunderbird: implement extensions for profiles
Closes: #5654
2024-12-21 23:54:29 +01:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 CiechanowskiandRobert Helgesson 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ýandGitHub 99f54cdfef yazi: fix example option for settings 2024-12-21 18:04:53 +01:00
Robert Helgesson 1395379a7a home-manager: improve path handling when building news
Fixes #6217
2024-12-19 16:30:15 +01:00
Austin HorstmanandGitHub 832920a608 thunderbird: add profileVersion
Similar to what we did for firefox for darwin support.
2024-12-19 16:29:18 +01:00
Simone RagusaandGitHub 83ecd50915 docs: fix typo in 24.11 release notes 2024-12-16 11:23:18 +01:00
DaRacciandRobert Helgesson 66c5d8b628 zed-editor: fix always generating settings.json
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 CoudronandGitHub 3066cc58f5 kanshi: dont write config in absence of nix settings (#6198) 2024-12-12 23:48:46 +01:00
Matthieu CoudronandGitHub 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 CoudronandGitHub 15151bb5e7 gpg: fix hash of test (#6200)
would fail on tests
2024-12-12 20:18:22 +01:00
DDoSolitaryandGitHub 6e5b2d9e80 home-manager: support username with special chars (#5609)
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 KarjalainenandRobert Helgesson f26aa4b76f gpg-agent: fix GCR DBus package note
D-Bus services are queried from Home Manager packages too. NixOS is
not required.
2024-12-11 00:26:35 +01:00
Aly RaffaufandGitHub c6a5fbfd99 qt: install kio when qt.platformTheme = "kde" 2024-12-11 00:16:07 +01:00
Aidan GaulandandRobert Helgesson 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
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
alois31andGitHub 9ebaa80a22 thunderbird: set the correct SMTP server for aliases (#6177)
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 HandGitHub 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 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 HeckemannandRobert Helgesson 65912bc684 imapnotify: provide an option for setting PATH
Including some useful presetting for notmuch and mbsync.
2024-12-05 10:08:50 +01:00
eljammandRobert Helgesson 0daaded612 starship: replace eval with source for fish
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
eljammandRobert Helgesson 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áš KucharczykandGitHub 1cd17a2f76 mangohud: fix a non-working example
The example for settingsPerApplication is missing a semicolon.
2024-12-04 20:56:44 +01:00
Nova LearyandGitHub 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
LorenzBischofandRobert Helgesson ad48eb25cd etesync-dav: update default server URL 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 OpterandRobert Helgesson 8f4f57f9a6 qt: update tooling for Plasma 6 2024-12-04 09:21:37 +01:00
Ricky TiggandHosted Weblate 7080328318 Translate using Weblate (Finnish)
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 WilkandGitHub 5b5de4338f kakoune: fix color scheme package XDG file 2024-12-04 08:59:32 +01:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 NarravulaandRobert Helgesson dfdf59b2d5 atuin: make daemon log level configurable 2024-12-03 00:11:05 +01:00
Varun NarravulaandRobert Helgesson f8bc330a13 atuin: capitalize mentions of "atuin" 2024-12-03 00:09:57 +01:00
Varun NarravulaandRobert Helgesson c56aa0f51d atuin: assert version >= 18.2.0 when daemon is enabled 2024-12-03 00:09:57 +01:00
Varun NarravulaandRobert Helgesson 33c236f1d5 atuin: add water-sucks as maintainer 2024-12-03 00:09:57 +01:00
Varun NarravulaandRobert Helgesson 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 BELANYIandRobert Helgesson bf23fe4108 tmux: add 'focusEvents'
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
873e39d5f4 podman-container: fix tests and failing podman 5.3.0 service
Co-authored-by: Dylan Wilson <dylan@bytepen.com>
2024-12-02 11:05:28 +01:00
FeaandGitHub 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
paumrandGitHub c1fee8d4a6 alot: make package used by module configurable 2024-12-01 21:38:04 +01:00
Igor RzegockiandRobert Helgesson 8632735050 kubecolor: add module 2024-12-01 20:35:09 +01:00
Terje LarsenandRobert Helgesson e71e678d18 nix-your-shell: add module 2024-12-01 20:20:16 +01:00
Gaétan LepageandGitHub 7f78e2d1c6 yazi: update keymap config 2024-12-01 18:47:01 +01:00
Nova LearyandGitHub 441fae847d zsh-abbr: add package option 2024-12-01 18:23:18 +01:00
Robert Helgesson 4964f3c6fc home-manager: prepare 24.11 release 2024-12-01 10:31:51 +01:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 MicklasandGitHub 819f682269 lorri: fix ReadWritePaths for new gcroots behavior 2024-11-29 13:43:55 +01:00
Philip WilkandRobert Helgesson 2f7739d010 kakoune: add colorSchemePackage option
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 WilliamsandRobert Helgesson b721965238 mopidy: ignore collisions between extensions 2024-11-28 12:12:32 +01:00
Jordan WilliamsandRobert Helgesson 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
EtherbloomandGitHub 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
GenandGitHub f83dc9f25a tmux: set sensibleOnTop = false as a default
Fixes #5952
2024-11-28 11:30:10 +01:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 WilliamsandRobert Helgesson a9953635d7 mopidy: restart service on config changes
Also extend basic configuration test a bit to verify the restart
trigger.
2024-11-24 22:04:15 +01:00
Ingo ReitzandGitHub 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 WilliamsandGitHub 83002f1846 mopidy: restart the systemd service on failure 2024-11-24 19:26:14 +01:00
Tomodachi94andRobert Helgesson 98bf8de65d volnoti: use cfg.package instead of pkgs 2024-11-24 19:06:58 +01:00
Tomodachi94andRobert Helgesson f9fd45c512 volnoti: add self to maintainers 2024-11-24 17:54:00 +01:00
Christian SegundoandGitHub 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ómezandRobert Helgesson 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ómezandGitHub 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
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
92fef254a9 podman: install package and create config files
Co-authored-by: Dylan Wilson <dylan@bytepen.com>
2024-11-23 22:36:33 +01:00
klchen0112andRobert Helgesson ba9367b5a9 emacs: add darwin service 2024-11-23 19:15:47 +01:00
Nithin S VarrierandRobert Helgesson 16fe78182e conky: update systemd exec path to config package
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-smhandRobert Helgesson 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 2024-11-22 20:32:42 +01:00
Robert Helgesson a46e702093 espanso: fix test failure 2024-11-19 15:05:03 +01:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 KaraolidisandRobert Helgesson a42fa14b53 syncthing: expand declarative configuration
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
wadsaekandHosted Weblate 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 BevilacquaandHosted Weblate 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
chayleafandRobert Helgesson 0bd5e9c76c librewolf: hide bookmarks option 2024-11-18 22:14:54 +01:00
chayleafandRobert Helgesson 18462998b1 librewolf: use mkFirefoxModule 2024-11-18 22:14:54 +01:00
Ilham AMandGitHub f3a2ff6958 zsh-abbr: update source path (#6084) 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 KoniuszyandRobert Helgesson 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 PresaandGitHub 5056a1cf0c version: allow 25.05 as state version
Nixpkgs updated upstream:
https://github.com/NixOS/nixpkgs/commit/90fcf3aa7eba70f18dad15b634e9336b997d25ac
2024-11-17 09:34:39 +01:00
Andrew MarshallandGitHub 1bd5616e33 lib/file-type: Make force option visible (#6003)
This is something that is useful, we should not hide it from the docs.
2024-11-16 20:54:20 +01:00
NanotwerpandGitHub 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
JanyandGitHub d154a557da aerc: add support of account gpg config (#5298) 2024-11-16 18:38:16 +01:00
Michael HoangandGitHub 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 HoangandGitHub 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
gmvarandGitHub 1d0862ee2d feh: add themes option (#6074)
- added themes option
- added themes test
- updated broken man page links
2024-11-14 18:16:21 +01:00
Gaétan LepageandGitHub 35b055009a kanshi: add package to home.packages 2024-11-13 23:07:20 +01:00
RedEtherbloomandRobert Helgesson 3c044aefe6 git-sync: add example to repository option 2024-11-13 23:03:24 +01:00
RedEtherbloomandRobert Helgesson 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
RedEtherbloomandRobert Helgesson 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
RedEtherbloomandRobert Helgesson 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
RedEtherbloomandRobert Helgesson 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 MoissonandGitHub 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 LepageandGitHub 7309007271 news: fix typo 2024-11-10 11:38:24 +01:00
rodrigovillarbelloandRobert Helgesson 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
sinavirandGitHub 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 HassanandRobert Helgesson 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 GorodetskyandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
TomoandGitHub 05d9bee4a5 git-credential-oauth: fix use of mkIf and add tests
Closes #6005
2024-10-27 07:45:32 +01:00
William PhetsinorathandRobert Helgesson 93435d27d2 direnv: add support for mise integration 2024-10-26 00:16:39 +02:00
nyadiiaandRobert Helgesson 0c0268a3c8 eza: add color option 2024-10-25 16:02:28 +02:00
TomoandGitHub 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 BELANYIandRobert Helgesson 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)andRobert Helgesson 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 VarlecandRobert Helgesson 8bd6e0a1a8 nixgl: add support for channel-based configuration 2024-10-25 10:20:38 +02:00
Jure VarlecandRobert Helgesson 7a5879707b nixgl: API rework for flexibility and dual-GPU 2024-10-25 10:20:38 +02:00
Mel BourgeoisandRobert Helgesson e61f87969a nixgl: Improve option documentation 2024-10-25 10:20:38 +02:00
7dee0dc8f0 nixgl: reference lib directly
Co-authored-by: V. <150687949+vigress8@users.noreply.github.com>
2024-10-25 10:20:38 +02:00
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
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 BourgeoisandRobert Helgesson 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 BourgeoisandRobert Helgesson 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 BourgeoisandRobert Helgesson 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
LuflosiandRobert Helgesson 82378b3f7f htop: use attrsOf instead of attrs as settings type 2024-10-25 10:08:11 +02:00
diniamoandRobert Helgesson c7cfdb3864 spotify-player: add support for actions
Actions were added in the v0.19.1 release.
2024-10-25 10:04:48 +02:00
DrymarchonShaunandRobert Helgesson eea1bc6072 gpg-agent: use $TTY parameter in zsh integration 2024-10-25 09:53:41 +02:00
Willi CarlsenandRobert Helgesson 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 HorstmanandGitHub 5ec753a1fc modules/neovim: fix config generation (#5976) 2024-10-22 00:58:46 +02:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 HavadarandRobert Helgesson 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 TitorandRobert Helgesson 892a6443b7 nh: add module 2024-10-20 10:54:45 +02:00
ScharadaandRobert Helgesson 122f70545b firefox: change container.json version to 5 2024-10-19 09:02:11 +02:00
Muhammad Talal AnwarandGitHub 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:

https://github.com/espanso/espanso/blob/b421bcf73fa13506938d62425459d6c16c6a8d0a/espanso/src/res/linux/systemd.service#L5-L7C1
2024-10-19 09:01:11 +02:00
joygnuandRobert Helgesson 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
K900andRobert Helgesson cb93ab1c99 direnv: remove nushell hack 2024-10-18 15:26:47 +02:00
K900andRobert Helgesson 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
libewaandRobert Helgesson 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
xwjqvandRobert Helgesson 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. OllieandRobert Helgesson 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 MarozasandHosted Weblate 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 IllmerandHosted Weblate 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
AtomicDudeandHosted Weblate 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ñanesandRobert Helgesson 628b15d275 nushell: allow arbitrary environment variables 2024-10-17 12:54:19 +02:00
Joaquín TriñanesandRobert Helgesson edf15f1549 nushell: create generator helpers 2024-10-17 12:54:19 +02:00
Joaquín TriñanesandRobert Helgesson 994a0baf7b nushell: add joaquintrinanes as maintainer 2024-10-17 12:54:19 +02:00
SergeyandRobert Helgesson 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 BruneauandGitHub 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 TiwareeandGitHub d57112db87 pls: fixed perm argument to pass via pls 2024-10-12 11:43:52 +02:00
Kilian MioandGitHub 2b13611eae floorp: add module
Also fix tests for Firefox module derivatives.
2024-10-12 00:21:33 +02:00
Perchun PakandGitHub 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
aabccd021andRobert Helgesson 5828309542 vifm: add module 2024-10-11 12:54:39 +02:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 CassouandGitHub 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 VoynovandGitHub 8bb5d53c58 docs: add XDG_*_HOME mentions to xdg.*Home options 2024-10-10 21:22:52 +02:00
SandroandGitHub d47d33254f home-manager-manual: expose options.json 2024-10-10 20:29:24 +02:00
Utkarsh SharmaandHosted Weblate 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 GallionandGitHub 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 BruneauandGitHub 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 JindalandGitHub 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
MithicSpiritandGitHub 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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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 AbbeeleandRobert Helgesson 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ørensenandGitHub 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 BalmelliandRobert Helgesson 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
K900andRobert Helgesson 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
K900andGitHub 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
K900andGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
K900andGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 NuckollsandRobert Helgesson 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 BrownandRobert Helgesson 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
bhougland18andRobert Helgesson 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
leoTlrandGitHub 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 BrownandGitHub 8d7e352a4b poweralertd: Enable passing CLI args to the daemon 2024-09-20 09:44:52 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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
mgdbbrtandGitHub f48b181f01 ssh-agent: use POSIX conforming if condition 2024-09-20 09:38:42 +02:00
alejandro-anguloandRobert Helgesson 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
iniwandGitHub 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
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 ThaiandRobert Helgesson 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
brickedandGitHub 87c7d4df16 firefox: fix policies availability 2024-09-19 18:22:39 +02:00
Coutinho de SouzaandGitHub 451606f4a8 polybar: fix type of systemd Service.Environment
See #5854
2024-09-19 18:19:27 +02:00
Coutinho de SouzaandGitHub 480d589cdd opensnitch-client: fix type of systemd Service.Environment
See #5854
2024-09-19 18:18:59 +02:00
Coutinho de SouzaandGitHub 7540dcc789 opensnitch-ui: fix type of systemd Service.Environment
See #5854
2024-09-19 18:18:36 +02:00
Coutinho de SouzaandGitHub dcc1a9e659 nextcloud-client: fix type of systemd Service.Environment
See #5854
2024-09-19 18:18:08 +02:00
Coutinho de SouzaandGitHub 06c6695c8c grobi: fix type of systemd Service.Environment
See #5854
2024-09-19 18:17:44 +02:00
Coutinho de SouzaandGitHub 3670a03586 hound: fix type of systemd Service.Environment
See #5854
2024-09-19 18:17:05 +02:00
Coutinho de SouzaandGitHub cacf2d27f6 kbfs: fix type of systemd Service.Environment
See #5854
2024-09-19 18:16:40 +02:00
Coutinho de SouzaandGitHub 397750d269 xsettings: fix type of systemd Service.Environment
See #5854
2024-09-19 18:15:43 +02:00
Coutinho de SouzaandGitHub 336c792b19 rsibreak: fix type of systemd Service.Environment
See #5854
2024-09-19 18:15:20 +02:00
Coutinho de SouzaandGitHub 80092fae03 mpd: fix type of systemd Service.Environment
See #5854
2024-09-19 18:14:54 +02:00
Coutinho de SouzaandGitHub 10fd27c291 kdeconnect: fix type of systemd Service.Environment
See #5854
2024-09-19 18:14:28 +02:00
Coutinho de SouzaandGitHub ffc3a473e6 xembed-sni-proxy: fix type of systemd Service.Environment
See #5854
2024-09-19 18:13:59 +02:00
Coutinho de SouzaandGitHub 1d8296c46f flameshot: fix type of systemd Service.Environment
See #5854
2024-09-19 18:13:03 +02:00
Coutinho de SouzaandGitHub b6204ff489 xscreensaver: fix type of systemd Service.Environment 2024-09-19 18:08:54 +02:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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_CashandRobert Helgesson 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
brickedandGitHub 4a4a8b1454 firefox: fix languagepacks policy 2024-09-17 19:20:22 +02:00
Andrew MarshallandRobert Helgesson 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 MarshallandRobert Helgesson 76bf779881 sway: un-extract single-use variable 2024-09-16 00:51:30 +02:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
sdaqoandRobert Helgesson 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 AugustoandRobert Helgesson c6e4ec39df z-lua: add support for fish abbreviations 2024-09-14 11:53:10 +02:00
Heitor AugustoandRobert Helgesson 0d118885b2 lsd: add support for fish abbreviations 2024-09-14 11:53:10 +02:00
Heitor AugustoandRobert Helgesson f69e61a2d7 pls: add support for fish abbreviations 2024-09-14 11:53:10 +02:00
Languages add-onandHosted Weblate 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 ThomasandHosted Weblate 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
NikSneandHosted Weblate 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 EspositoandRobert Helgesson 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 BagabasandRobert Helgesson 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 AugustoandRobert Helgesson 503af483e1 eza: add support for fish abbreviations 2024-09-13 12:12:18 +02:00
Heitor AugustoandRobert Helgesson 076c78eded fish: add preferAbbrs option 2024-09-13 12:04:56 +02:00
NitroSniperandRobert Helgesson 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 LeslieandRobert Helgesson 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. TaskinandGitHub 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]: https://git.sr.ht/~emersion/kanshi/commit/1ed86ce523553240ceb81e9d466b88d3554a66bb
[2]: https://git.sr.ht/~emersion/kanshi/tree/1605f7c81314d004104b7a1b149656947369c999/item/doc/kanshi.5.scd#L78
[3]: https://git.sr.ht/~emersion/kanshi/tree/1605f7c81314d004104b7a1b149656947369c999/item/doc/kanshi.5.scd#L80
2024-09-13 10:51:33 +02:00
Chet GurevitchandRobert Helgesson cb3ab5928c helix: add example for use with evil-helix 2024-09-13 10:49:07 +02:00
Chet GurevitchandRobert Helgesson ea244c5ae2 helix: remove outdated language-server comment 2024-09-13 10:49:06 +02:00
Zachary HandGitHub 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 BagabasandRobert Helgesson 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
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 LaiandRobert Helgesson 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
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 GloverandRobert Helgesson 10541f19c5 pqiv: add boolean support 2024-09-09 16:50:17 +02:00
Paul MeyerandGitHub be47a2bdf2 k9s: remove katexochen as maintainer 2024-09-09 08:34:44 +02:00
Sefa EyeogluandRobert Helgesson 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 MorganandGitHub 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
NAHOandRobert Helgesson 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
DCsunsetandRobert Helgesson 127ccc3eb7 i3/sway: support str type for font size 2024-09-06 15:23:08 +02:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 ÁkosandHosted Weblate 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 BELANYIandGitHub b00bdf59c0 xdg: add option 'xdg.stateFile' 2024-09-06 14:55:36 +02:00
LuluandGitHub 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 GerhardsenandRobert Helgesson 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 LovandRobert Helgesson 471e3eb0a1 git: add option to provide difftastic package 2024-09-01 10:42:46 +02:00
name_snrlandRobert Helgesson 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 HamrikandHosted Weblate 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
sudoforgeandGitHub 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 HamiltonandGitHub 2598861031 bash: add package option 2024-08-18 15:15:31 +02:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
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
Ladas552andGitHub 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 <https://github.com/fastfetch-cli/fastfetch/blob/b3ac696312824cce12df76e398b5362973cde481/CHANGELOG.md?plain=1#L85>
2024-08-07 09:21:46 +02:00
AnomalocarididandRobert Helgesson a6c743980e dunst: use -config flag when configFile is set 2024-08-06 11:28:17 +02:00
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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 TanandGitHub 58cef37962 nix-gc: remove extraneous quotes from shell script 2024-07-31 08:27:17 +02:00
Jakub NowakandGitHub 4fcd54df7c firefox: fix userChrome example
Example CSS wasn't valid for Firefox 69+.
2024-07-30 08:33:10 +02:00
Ninja3047andRobert Helgesson d34aaf7b3b nix-gc: set service type to oneshot 2024-07-30 07:54:40 +02:00
Ninja3047andRobert Helgesson 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
brickedandRobert Helgesson 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 SidhartaandGitHub 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
nikitax44andGitHub a11cfcd0a1 micro: add package option 2024-07-28 23:00:57 +02:00
Milo MoissonandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
Tomodachi94andRobert Helgesson 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 RezaandGitHub bc2b96acda zsh: add programs.zsh.autosuggestions.strategy option (#5396)
defaults to history
2024-07-26 14:28:33 +02:00
Cezary DrożakandRobert Helgesson 304a011325 firefox: add languagePacks option
Port the programs.firefox.languagePacks option from NixOS
2024-07-24 22:15:38 +02:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 GloverandGitHub 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 LevyandRobert Helgesson 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. TaskinandGitHub 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. TaskinandGitHub 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 HodappandGitHub 90ae324e2c sd-switch: respect xdg directory specifications 2024-07-11 23:48:33 +02:00
JohannandRobert Helgesson 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 XianyiandGitHub 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
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 RenandGitHub 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
0x4A6FandGitHub 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 KondrakandGitHub 6ea6fafa3e mpv: remove tadeokondrak as maintainer 2024-07-05 01:09:47 +02:00
TheRealGramdalfandGitHub c23060ce95 hyprland: emphasize usage of the NixOS module 2024-07-05 01:07:22 +02:00
novenaryandRobert Helgesson 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
uncenterandGitHub e915831472 yazi: allow literal string for initLua 2024-07-03 23:36:14 +02:00
sg-qwtandGitHub 269cc18d94 sway: fix systemd variables example 2024-07-04 03:43:38 +08:00
Sumner EvansandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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 TakataandRobert Helgesson 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őandGitHub 7e68e55d2e glance: add module 2024-06-28 17:24:13 +02:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 KuklaandGitHub 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] https://github.com/doy/rbw/blob/741a72cf0d7d45fcd32b0326b69f6238733e5a56/README.md#configuration
2024-06-28 16:16:01 +02:00
Shahar "Dawn" OrandRobert Helgesson 1a4f12ae0b docs: introduction chapter
Adds an introduction chapter to the manual.
2024-06-26 23:48:52 +02:00
Adam DinwoodieandGitHub 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 KoniuszyandGitHub 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
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
h7x4andRobert Helgesson 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
lordkekzandRobert Helgesson 216d51eb22 yazi: Fix expected structure of flavors 2024-06-23 23:12:50 +02:00
lordkekzandRobert Helgesson 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
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
lordkekzandRobert Helgesson 340b98c0ab yazi: Assert that plugins have valid structure 2024-06-23 23:12:50 +02:00
lordkekzandRobert Helgesson 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
daruandRobert Helgesson 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
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
brickedandGitHub fab8e511d5 firefox: update expected container settings 2024-06-18 15:23:11 +02:00
Balint Barna KovariandHosted Weblate 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-onandHosted Weblate 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 ShalabiandHosted Weblate 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
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
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 CoudronandGitHub 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 FufezanandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 RodasandGitHub 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
JdogzzandGitHub 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 EvansandGitHub 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 EvansandGitHub 1a577c135c ci/labeler: upgrade to v5 format
Signed-off-by: Sumner Evans <me@sumnerevans.com>
2024-06-04 08:32:53 +02:00
Sumner EvansandGitHub 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 DziurlaandGitHub 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 CoudronandGitHub 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
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
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 JuvekarandGitHub 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
LiassicaandGitHub 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
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 JuvekarandGitHub 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
SharzyandGitHub 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
midchildanandGitHub 373ead2060 tests: fix broken overlay in mpv test 2024-05-28 17:02:06 +02:00
Dee AnzorgeandGitHub 10c7c219b7 listenbrainz-mpd: fix config example 2024-05-28 00:07:22 +02:00
Phani RithvijandRobert Helgesson 90010df158 topgrade: update example config 2024-05-28 00:03:45 +02:00
JanyandGitHub 939375b396 khal: add package option 2024-05-27 23:59:26 +02:00
Gabriel FontesandRobert Helgesson 7e769959e8 hyprland: onChange: remove subshell comment 2024-05-27 23:57:03 +02:00
Gabriel FontesandRobert Helgesson 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
RoadRoller01andRobert Helgesson 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 HorstmanandGitHub e8482a798f yazi: use builtin cd
cd conflicts with aliases that dont support -- syntax
2024-05-27 23:50:57 +02:00
Stanislav AsunkinandGitHub 65e0f5aa25 eza: don't create shell aliases with empty args 2024-05-27 23:50:09 +02:00
Stanislav AsunkinandGitHub 8f8eb15c6d fd: don't create shell aliases with empty args 2024-05-27 23:49:28 +02:00
nurelinandGitHub 5d151429e1 kanshi: fix configuration example 2024-05-26 17:19:20 +02:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
DeeKahyandHosted Weblate 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 KoheiandHosted Weblate 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 ShujiandHosted Weblate 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
halbGefressenandHosted Weblate 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 YuanandHosted Weblate 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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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 HenrieandRobert Helgesson 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:

    https://github.com/espanso/espanso/blob/8daadcc949c35a7b7aa20b7f544fdcff83e2c5f7/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 MoissonandRobert Helgesson d768262018 jujutsu: switch to XDG config home 2024-05-11 00:34:09 +02:00
winstonandGitHub d939ce585c mopidy: make scan service depend on mopidy-local 2024-05-11 00:26:54 +02:00
Hraban LuyatandRobert Helgesson 15d7ec3051 darwin: misc defaults (dock, menu clock, finder) 2024-05-11 00:04:45 +02:00
Akiyoshi SudaandRobert Helgesson 5514ed3210 yambar: add module 2024-05-10 23:29:58 +02:00
ilkecanandRobert Helgesson f2c5ba5e72 fontconfig: add defaultFonts.* options 2024-05-10 18:48:17 +02:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 EyeogluandRobert Helgesson 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 HorstmanandRobert Helgesson 223743313b hyprpaper: add module 2024-05-10 15:35:59 +02:00
Austin HorstmanandRobert Helgesson c6ddd80fb1 hyprlock: add module 2024-05-10 14:08:21 +02:00
Vincent GatineandRobert Helgesson 4855bfb6ce kanshi: update configuration to better match upstream 2024-05-10 12:46:37 +02:00
afresquetandRobert Helgesson f61917cbaa fastfetch: add module
PR #5363
2024-05-10 12:42:39 +02:00
Bruno BigrasandGitHub 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 FisherandRobert Helgesson 6ebe7be2e6 gnome-shell: add module 2024-05-06 09:44:34 +02:00
Léo DUBOINandGitHub 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
DaruandGitHub 3dfe05aa9b wlsunset: update options 2024-05-05 19:59:14 +02:00
Austin HorstmanandGitHub fdaaf543ba hypridle: add module 2024-05-05 11:13:18 +02:00
RyanandGitHub 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
9p4andGitHub e0825ea211 swaync: fix style path 2024-05-05 01:28:16 +02:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
KeivanandHosted Weblate 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
KaleoandRobert Helgesson 6d3b6dc922 conky: add module 2024-05-01 00:11:15 +02:00
KaleoandRobert Helgesson 28ef93bb8e maintainers: add kaleocheng 2024-04-30 23:56:41 +02:00
VonixxxandRobert Helgesson 3c0df2a7e4 freetube: add module 2024-04-30 23:34:12 +02:00
LichthagelandRobert Helgesson 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
5632659886 swaync: add module
Co-authored-by: Ryan Horiguchi <rhoriguchi@users.noreply.github.com>
2024-04-30 00:16:28 +02:00
Yomi IkuruandRobert Helgesson 0125041fc9 maintainers: add abayomi185 as maintainer 2024-04-30 00:12:13 +02:00
Austin HorstmanandRobert Helgesson 4fe1f064bd hyprland: use lib.generators.toHyprconf 2024-04-30 00:07:06 +02:00
Austin HorstmanandRobert Helgesson 9fdd301a5e lib/generators: toHyprconf init
Create shared hyprlang generator for mainting Hyprland ecosystem.
2024-04-30 00:07:06 +02:00
Gabriel BirkeandGitHub 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 OkamotoandHosted Weblate 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 ThomasandHosted Weblate 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
IldenHandRobert Helgesson 08d3cbfe4d firefox: update extensions option description 2024-04-29 23:02:59 +02:00
LichthagelandRobert Helgesson b8d81ef15e mpv: add extraInput option 2024-04-29 19:55:57 +02:00
Alvaro FresquetandGitHub 2af7c78b7b thefuck: add nushell integration 2024-04-29 09:53:42 +02:00
Joaquín TriñanesandGitHub 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ńskiandGitHub c002bc08c8 cliphist: support images in clipboard history 2024-04-28 23:51:59 +02:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 SchmitzandRobert Helgesson d1980931de psd: add module
PR #5349
2024-04-28 22:39:08 +02:00
Gabriel FontesandRobert Helgesson 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 HensingandRobert Helgesson 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 NovaandRobert Helgesson 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-onandHosted Weblate 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 GunnarssonandHosted Weblate 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 RunstenandGitHub 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 RiberaandRobert Helgesson bfa7c06436 swayosd: add custom style option 2024-04-23 23:09:45 +02:00
dotconfig404andGitHub 33a20182e3 home-manager: improve session variables comment 2024-04-23 19:49:42 +02:00
Samuel TschiedelandGitHub 67de98ae6e tealdeer: documentation typo 2024-04-22 22:38:46 +02:00
natandRobert Helgesson e866aae5bb amberol: add module
Amberol is a small and simple music player.
2024-04-22 20:06:31 +02:00
quasigodandGitHub 1451d2866d foot: unset PATH in server's systemd unit file
This reverts commit 40ab43ae98.
2024-04-22 18:04:34 +02:00
paki23andRobert Helgesson e2e7ea9b8f kconfig: fix missing quoting 2024-04-22 17:21:19 +02:00
bittin1ddc447d824349b2andHosted Weblate 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 GoudryandGitHub 46833c3115 bat: allow overriding package (#5301) 2024-04-22 14:44:39 +02:00
Mirko LenzandRobert Helgesson 670d9ecc3e poetry: add module 2024-04-21 22:53:14 +02:00
zorrobertandRobert Helgesson 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
JulianFPandRobert Helgesson ad83c154bd qt: fix qt.platformTheme = "gtk3" 2024-04-21 15:53:39 +02:00
JulianFPandRobert Helgesson 147b5a5e1c qt: fix platform theme package install 2024-04-21 15:53:39 +02:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 SouzaandRobert Helgesson 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 MarshallandRobert Helgesson 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 MarshallandRobert Helgesson 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 ErsenandHosted Weblate 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 SilvaandHosted Weblate 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
gallegonovatoandHosted Weblate 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 RezaandGitHub 938357cb23 hyprland: remove enableNvidiaPatches option
Hyprland no longer requires patching to work on Nvidia.
2024-04-19 19:25:59 +02:00
PasqualeandRobert Helgesson 6a171bfd84 kconfig: add module 2024-04-19 17:36:11 +02:00
Cynthia FoxandGitHub 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 LeshchenkoandGitHub 31c77dcc2e sway: systemd customization 2024-04-19 17:15:54 +02:00
RamsesandGitHub 068dd4ae29 alacritty: cleanup after 0.13 merge in nixpkgs 2024-04-19 16:57:02 +02:00
RamsesandGitHub 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 SouzaandRobert Helgesson 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]: https://github.com/nix-community/home-manager/blob/b1a5b3d6a524c80c7dd20888bff227d52adf5f03/modules/services/flameshot.nix#L58
2024-04-19 14:22:32 +02:00
Raito BezariusandRobert Helgesson 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 SilvaandGitHub 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
diniamoandGitHub b62cad68b7 spotify-player: add module 2024-04-19 12:39:30 +02:00
Danil SuetinandGitHub b5b2b1ac63 helix: add ignores option 2024-04-19 12:05:08 +02:00
Henri SotaandRobert Helgesson 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
uncenterandRobert Helgesson 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-yimandRobert Helgesson 54e35e0e1c qt: use warnings API 2024-04-18 23:29:12 +02:00
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-yimandRobert Helgesson 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 HelgessonandGitHub 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-kenjiandGitHub f46814ec7c treewide: prefer the official wiki 2024-04-17 23:58:16 +02:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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 HenrieandGitHub 59d50bc582 espanso: enable module on darwin 2024-04-15 09:40:27 +02:00
Jose PlanaandRobert Helgesson 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 PlanaandRobert Helgesson 76a1650c45 k9s: fix typos in configuration file names 2024-04-14 23:47:45 +02:00
Philipp MildenbergerandGitHub 630a0992b3 nushell: fix nushell config path on darwin 2024-04-14 08:58:16 +02:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 SkaggsandGitHub 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
MiSumiSumiandGitHub 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 EdwardsandGitHub 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
RamsesandGitHub 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 ZormanandGitHub 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 WandGitHub b00d0e4fe9 bun: add module 2024-04-09 20:48:15 +02:00
Mario RodasandGitHub 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
Smaug123andRobert Helgesson b787726a84 home-manager: extract inline shell script to file 2024-04-06 10:04:27 +02:00
O. C. TaskinandGitHub 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
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 VenbergandGitHub 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 BarraganandGitHub 9de3aab091 kdeconnect: add package option 2024-04-04 23:08:04 +02:00
VonfryandGitHub 7e91f2a0ba xmonad: fix cp failure if libFiles with subdirectories 2024-04-04 08:26:54 +02:00
LilleAilaandHosted Weblate 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
SMFlorisandHosted Weblate 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_JARvisandHosted Weblate 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
quasigodandGitHub 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-MedhatandGitHub 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 CoudronandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 KhanhandHosted Weblate 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 VranaandRobert Helgesson 3142bdcc47 readline: optionally place config file in XDG dir
Based on PR #4189
2024-03-28 06:48:10 +01:00
Graham BennettandGitHub 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 KurnevskyandRobert Helgesson 19b87b9ae6 vdirsyncer: add urlCommand and userNameCommand options 2024-03-22 16:56:17 +01:00
Gabriel FontesandRobert Helgesson 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
honnipandHosted Weblate 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 EdlundandRobert Helgesson 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.seidenathandRobert Helgesson 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 JonesandRobert Helgesson 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-ThoughtandRobert Helgesson c781b28add zsh: add patterns option to syntax-highlighting 2024-03-15 19:29:51 +01:00
Icy-ThoughtandRobert Helgesson b004e47e03 zsh: correct link for syntax-highlighting styles 2024-03-15 19:29:51 +01:00
Matthieu CoudronandRobert Helgesson 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
SofieandGitHub 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 WidmerandRobert Helgesson ca922258e1 senpai: switch to scfg format 2024-03-15 11:42:17 +01:00
Gabriel ArazasandRobert Helgesson 029545350c activitywatch: add module 2024-03-15 09:39:56 +01:00
Kylie McClainandRobert Helgesson 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
nbelakovskiandRobert Helgesson 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
RepentantKnight121andHosted Weblate 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 SarussiandGitHub ec4096e900 eza: fix typo in docs
Changes "rograms.eza.enableAliases" to "programs.eza.enableAliases".
2024-03-14 20:54:58 +01:00
zorrobertandRobert Helgesson bd9141ea97 fusuma: add missing dependencies 2024-03-14 18:08:10 +01:00
Phillip CloudandRobert Helgesson 587719494e gpg-agent: fix broken variable reference 2024-03-14 14:45:55 +01:00
Bruno BELANYIandRobert Helgesson 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 BELANYIandRobert Helgesson 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
zorrobertandRobert Helgesson 383296ffa4 joplin-desktop: add module
PR #5020
2024-03-13 14:28:30 +01:00
Robert HelgessonandGitHub a82cdd288e offlineimap: disable starttls if tls is disabled
Fixes #5097
2024-03-13 13:47:31 +01:00
Norbert MelzerandGitHub 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
ShalokShalomandGitHub 31abb4f6bc docs: fix broken link 2024-03-13 13:45:11 +01:00
Pim SnelandGitHub 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 HandGitHub 49a266d2ca hyprland: add option for per-input device configs 2024-03-12 23:16:18 +01:00
michaelBelsantiandRobert Helgesson a500de54b2 eza: replace enableAliases with integration options 2024-03-12 20:53:35 +01:00
Philipp KühnandRobert Helgesson 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 XianyiandGitHub 36f873dfc8 pqiv: add extraConfig option 2024-03-10 10:20:21 +01:00
Matt WittmannandRobert Helgesson 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
IgorandRobert Helgesson 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
LiassicaandRobert Helgesson 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
VandRobert Helgesson 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
VandRobert Helgesson 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řilandRobert Helgesson bfc438e9b7 ranger: add module 2024-03-08 23:35:34 +01:00
SilmarandRobert Helgesson 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ánchezandGitHub 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 DOUINandGitHub 417015af0d himalaya: adjust code for v1.0.0-beta.3 2024-03-08 13:58:55 +01:00
Roberto Abdelkader Martínez PérezandRobert Helgesson 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
briandRobert Helgesson 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 GrannisandGitHub 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
musjjandGitHub f240015a3a gallery-dl: add package option 2024-03-06 18:43:55 +01:00
Sebastian SellmeierandRobert Helgesson 8d9fde0fba i3/sway: remove sebtm maintainer 2024-03-06 14:26:46 +01:00
Robert HelgessonandHosted Weblate 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-onandHosted Weblate 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 RossfelderandHosted Weblate 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 NguyenandHosted Weblate 572b070627 Add translation using Weblate (Vietnamese)
Co-authored-by: Nam Nguyen <pnam2311@gmail.com>
2024-03-06 14:09:57 +01:00
immwindandHosted Weblate 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 KarayanandHosted Weblate 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
FedFer98123andHosted Weblate 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
7FMandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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ñanesandGitHub 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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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 SilvaandGitHub 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
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 ErikssonandGitHub 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
XYenonandGitHub 1d085ea444 yazi: update shell integrations (#5048) 2024-02-27 00:00:56 +01:00
Christina E. SørensenandGitHub 4ee704cb13 xscreensaver: add package option
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2024-02-24 21:34:39 +01:00
Mihai FufezanandGitHub ae7a3b5137 hyprland: fix reloading
Fix hyprctl erroring out due to HIS.
2024-02-24 21:04:47 +01:00
Judson LesterandRobert Helgesson 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 TerritoandRobert Helgesson 0e0e966954 zsh: fix broken ZDOTDIR when path contains spaces 2024-02-22 09:41:50 +01:00
gallegonovatoandHosted Weblate 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 LepageandRobert Helgesson 3dda8e795f river: add module 2024-02-22 00:10:51 +01:00
James Conroy-FinnandRobert Helgesson 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 PedorichandGitHub 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 PescharandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
СергійandHosted Weblate 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
bittin1ddc447d824349b2andHosted Weblate 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 ErsenandHosted Weblate 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 HelgessonandHosted Weblate 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 StorgaardandGitHub 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
zendoandGitHub bfd0ae29a8 emacs: use overrideScope instead of overrideScope' 2024-02-11 00:23:06 +01:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 CarvalhoandGitHub 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
EmilyandGitHub 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: https://github.com/swaywm/sway/blob/020a572ed615b8fe272c7566a27ee0abe73a58d7/config.in#L113-L134
2024-02-10 19:59:52 +01:00
Alexis (Poliorcetics) BourgetandRobert Helgesson 5b9156fa9a zellij: use full executable path 2024-02-09 09:26:22 +01:00
GenericNerdyUsernameandGitHub f99eace7c1 jetbrains-remote: add module 2024-02-06 00:29:23 +01:00
arjan-sandGitHub 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
NotAShelfandRobert Helgesson 7b4ea8d82f arrpc: add module 2024-02-05 23:36:51 +01:00
AntonandGitHub 13dbf2623d swayosd: update executable 2024-02-05 23:31:53 +01:00
Scott StevensonandGitHub 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 DOUINandGitHub 3c6f2dd59c himalaya: adjust module for v1.0.0-beta 2024-02-05 23:03:40 +01:00
shivaraj-bhandRobert Helgesson 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
iofqandGitHub afcedcf2c8 mcfly: add interfaceView option 2024-02-05 07:35:23 +01:00
RucadiandGitHub 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
musjjandGitHub 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 McClainandGitHub 1683c507c2 vdirsyncer: create postHook script when non-empty 2024-02-05 00:07:19 +01:00
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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 ErsenandHosted Weblate 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 HlistaandRobert Helgesson 230836bb7c hyprland: fix hyprctl crash
`/tmp/hypr` must be present so `hyprctl` doesn't crash.
2024-02-04 07:59:05 +01:00
Robert HelgessonandGitHub 1ca210648a tests: reduce closure sizes 2024-02-03 19:39:45 +01:00
RamsesandGitHub 880d9bc211 nix: fix generation of nix.conf for nix >= 2.20 2024-02-03 11:14:20 +01:00
Kylie McClainandRobert Helgesson 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 EyeogluandGitHub ebba24a6fe wob: add module
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-01-28 10:46:09 +01:00
mlyxshiandGitHub 7a461c70ed firefox: fix darwin NativeMessagingHostsPath 2024-01-28 10:45:17 +01:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
GrizzlTandRobert Helgesson 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 HoriguchiandGitHub 03958aff44 firefox: add default containers 2024-01-25 23:08:09 +01:00
Sumner EvansandGitHub 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
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 PedorichandGitHub 6b28ab2d79 tealdeer: add cache update activation script
Calls 'tldr --update' on home-manager switch
2024-01-24 08:21:24 +01:00
Jan TebernumandGitHub 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 TetovandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 WaglerandGitHub 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 PedorichandGitHub 0021558dba mise: fix test
assertPathExists -> assertFileExists
2024-01-21 23:26:31 +01:00
Nikita PedorichandGitHub 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 FacendaandGitHub 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] https://github.com/hyprwm/Hyprland/blob/4d403dac3244aab217fb9bf17a68e9a009fcadd8/src/config/ConfigManager.cpp#L1574
2024-01-21 00:40:55 +01:00
NovaViperandRobert Helgesson ce4b88c465 mcfly: add mcfly-fzf integration 2024-01-20 00:55:11 +01:00
Samuele FacendaandGitHub 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
AleksanaandGitHub b84191db12 gh: add github gist to default credential hosts 2024-01-18 00:47:58 +01:00
Jared BaurandGitHub 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 RitterandGitHub 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 RitterandGitHub 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 NikolovandGitHub 16cefa78cc flake.lock: Update 2024-01-17 00:05:27 +01:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 CassouandRobert Helgesson 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
ckieandRobert Helgesson 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
ManuelandRobert Helgesson 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é SilvaandGitHub 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 AnzorgeandGitHub 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 ShandilyaandGitHub 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 AnkermannandGitHub 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
FireFragmentandHosted Weblate 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 BaurandGitHub 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
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 FontesandRobert Helgesson fcbc70a7ee xdg-portal: add new module 2024-01-03 20:51:54 +01:00
XYenonandGitHub 992b38f29c yazi: fix nushell integration 2024-01-03 20:18:53 +01:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
~noodlez1232andRobert Helgesson 6e91c5df19 i3blocks: added configuration module 2024-01-01 10:15:19 +01:00
Guillaume GirolandGitHub 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
СергійandHosted Weblate 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 NaveedandRobert Helgesson 2aff324cf6 bemenu: add module 2023-12-29 09:24:28 +01:00
Peter PfeuferandHosted Weblate 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
x10an14andRobert Helgesson 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
MayNiklasandRobert Helgesson 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-vdpandRobert Helgesson 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
NAHOandRobert Helgesson 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
FugiandRobert Helgesson 6e2afa5c3b sftpman: add module 2023-12-28 14:03:49 +01:00
not puaandRobert Helgesson 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 HallandRobert Helgesson 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
SandroandRobert Helgesson 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]andRobert Helgesson 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 IddonandRobert Helgesson 015a36e9c7 oh-my-posh: enable nushell integration 2023-12-25 19:01:13 +01:00
Louis ThevenetandHosted Weblate 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
TornaxO7andRobert Helgesson a2523ea034 gpg-agent: add nushell integration 2023-12-23 22:56:59 +01:00
pacienandGitHub 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-qwtandRobert Helgesson 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
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-vdpandRobert Helgesson fb5ac0c870 nix-index: use interactive shell init for Fish 2023-12-21 18:13:31 +01:00
r-vdpandRobert Helgesson 19a7843734 zoxide: use interactive shell init for Fish 2023-12-21 18:13:24 +01:00
Stel AbregoandRobert Helgesson 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ñanesandRobert Helgesson 3bfaacf461 direnv: Make lines shorter 2023-12-21 00:00:17 +01:00
Joaquín TriñanesandRobert Helgesson bc52cdd579 direnv: Use ${getExe pkg} instead of ${pkg}/bin/pkg 2023-12-21 00:00:16 +01:00
Joaquín TriñanesandRobert Helgesson 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. PetersenandRobert Helgesson 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
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 BartineandRobert Helgesson 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 martinandGitHub 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
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
ThinkChaosandGitHub 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 BailletandGitHub 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
RyanandGitHub 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 GlosterandRobert Helgesson 0e2e443ff2 hyprland: mark plugin setting as important
The plugins are often necessary for other configurations.
2023-12-14 08:14:24 +01:00
Robert HelgessonandGitHub 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
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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 SchmittandRobert Helgesson 7a69b3e738 ssh: add addKeysToAgent option 2023-12-14 00:11:45 +01:00
Moritz RumpfandGitHub d9297efd3a awscli: only write config files when not empty 2023-12-13 00:21:10 +01:00
Phil SimpsonandGitHub 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 LeungandGitHub 01a66e313f msmtp: add configurable package 2023-12-12 23:40:52 +01:00
Lucas EduardoandHosted Weblate 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 RotandHosted Weblate 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 RotandHosted Weblate 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
teu5usandHosted Weblate 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 RotandHosted Weblate 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ñolasandHosted Weblate 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 RotandHosted Weblate 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
teu5usandHosted Weblate 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ñolasandRobert Helgesson 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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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 DavisandRobert Helgesson 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
D3vil0p3randRobert Helgesson 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 HoudekandHosted Weblate 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
0x5a4andRobert Helgesson ac7216918c firefox: fix folders not showing in toolbar
Fixes #4568
2023-12-04 23:14:01 +01:00
Tom CammannandGitHub 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
ZurgaandHosted Weblate 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 BrzekandHosted Weblate 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 RotandHosted Weblate 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 GuoandRobert Helgesson 4a8545f5e7 swayidle: add systemd suspend to example 2023-12-01 13:17:50 +01:00
Yuchen GuoandRobert Helgesson 9e869829c2 swayidle: daemonize swaylock in example configuration 2023-12-01 13:17:43 +01:00
Nikolay MokrinskyandHosted Weblate 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 RotandHosted Weblate 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 FontesandHosted Weblate 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 CassouandRobert Helgesson 7c97c46dc4 signaturepdf: add service 2023-11-27 00:19:14 +01:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 TomoyaandGitHub 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 ChenandGitHub 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 LepageandRobert Helgesson 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 MildenbergerandGitHub 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őandGitHub 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 MorelandRobert Helgesson 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. GibsonandHosted Weblate 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 CassouandGitHub 3feeb77155 firefox: add support for specifying policies (#4626) 2023-11-17 23:54:39 +01:00
Julien H. GibsonandHosted Weblate 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 ErsenandHosted Weblate 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 McEyesandHosted Weblate 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
ab1459a1fb openstackclient: add module (#4530)
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2023-11-15 15:25:44 -07:00
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
9p4andGitHub 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 CassouandRobert Helgesson 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 MeyerandRobert Helgesson 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 HeleniusandGitHub 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 LorrimarandRobert Helgesson f5182ffc42 emacs: Fix socket activation 2023-11-11 00:44:54 +01:00
Rodney LorrimarandRobert Helgesson 47226ec7e7 emacs: Remove obsolete socket file workaround 2023-11-11 00:44:53 +01:00
Damien CassouandRobert Helgesson 54586daa59 firefox: add container support 2023-11-11 00:34:21 +01:00
Damien CassouandRobert Helgesson 858fe2f09a firefox: refactor duplicate profile ID detection 2023-11-11 00:34:20 +01:00
Olli HeleniusandGitHub 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
polykernelandRobert Helgesson 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
9p4andGitHub c067d57fc4 swayr: add module (#4322)
a window switcher for sway
2023-11-06 18:05:18 +01:00
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 CarlsenandRobert Helgesson 48b0a30202 granted: add module
Signed-off-by: Willi Carlsen <carlsenwilli@gmail.com>
2023-11-01 22:20:17 +01:00
Philipp KühnandRobert Helgesson 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
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 LearyandGitHub 9bc7d84b82 zsh: made ZDOTDIR export to the shell (#4619) 2023-11-01 00:35:15 +01:00
tristanandGitHub 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
NAHOandRobert Helgesson 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é SilvaandGitHub 09587fbbc6 hyprland: add tray.target 2023-10-25 18:13:51 +02:00
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 SimonsandRobert Helgesson 6045b68ee7 cava: add module 2023-10-24 08:20:22 +02:00
Silvio AnkermannandRobert Helgesson 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 Okadaandnovenary 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 LeeandGitHub 219d268a69 aerc: fix config paths on darwin 2023-10-22 10:49:52 +02:00
NAHOandRobert Helgesson 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
HarasandGitHub 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
SrGesusandHosted Weblate 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
YogurtandHosted Weblate 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 ÇebiandHosted Weblate 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
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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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]: https://github.com/junegunn/fzf/commit/7e89458a3b58c047c10494a5cb53d921fb08b4f3
2023-10-18 10:26:09 +02:00
Gabriel ArazasandGitHub 05649393ac recoll: update option descriptions 2023-10-18 08:45:55 +02:00
Gabe DunnandRobert Helgesson 3e1f8df4f0 thefuck: add instant mode option
Also do a slight code cleanup.
2023-10-17 17:30:37 +02:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
sefidelandGitHub 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
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 PoelzleithnerandRobert Helgesson 132f985185 home-manager: add .editorconfig
Sets the basic editor settings to Home Manager style guide.
2023-10-17 08:05:15 +02:00
ArtturinandRobert Helgesson 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 CassouandRobert Helgesson 78125bc681 firefox: add test for duplicate profile id assertion 2023-10-16 00:54:15 +02:00
Damien CassouandRobert Helgesson f033205b25 firefox: extract an overlay common to all tests 2023-10-16 00:54:14 +02:00
JanikandGitHub 3b67ae3f66 services.cliphist: add module (#4445) 2023-10-15 14:03:18 +02:00
Damien CassouandGitHub 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 OstrolenkandRobert Helgesson 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

  https://github.com/zsh-users/zsh-history-substring-search/blob/4abed97b6e67eb5590b39bcd59080aa23192f25d/README.md?plain=1#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
pacienandRobert Helgesson 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-LandGitHub b2a2133c9a flake: fix nixpkgs config
Fixes #2942
2023-10-07 01:32:49 +02:00
a-kenjiandRobert Helgesson 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 FufezanandRobert Helgesson 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 MeurerandRobert Helgesson 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 RagusaandGitHub 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 AlmandaandHosted Weblate 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
ilaumjdandRobert Helgesson 2874c6fce6 thefuck: add module 2023-10-04 09:39:23 +02:00
ilaumjdandRobert Helgesson 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
ilaumjdandRobert Helgesson 55ce64c3ca scmpuff: enable or disable aliases 2023-10-03 18:04:43 +02:00
Olmo KramerandRobert Helgesson 6f9b5b83ad khard: add module 2023-10-01 09:29:05 +02:00
AvimitinandRobert Helgesson 209a24dff2 wpaperd: add wpaperd configuration
Signed-off-by: Avimitin <dev@avimit.in>
2023-10-01 09:23:33 +02:00
e-nikolovandRobert Helgesson 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 RousselandRobert Helgesson f1b7775d23 awscli: add module 2023-09-30 09:48:13 +02:00
RamsesandGitHub 4f02e35f9d direnv: add package options 2023-09-29 12:51:58 +02:00
Ahmet BandHosted Weblate 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
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 RampazzoandRobert Helgesson 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
jakobandRobert Helgesson 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
KFearsandRobert Helgesson 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
shimunandRobert Helgesson 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
AvimitinandRobert Helgesson 835465e8ba lsd: allow user to configure colors
Signed-off-by: Avimitin <dev@avimit.in>
2023-09-24 09:47:00 +02:00
Chris DawkinsandGitHub 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
XYenonandRobert Helgesson 7413408b04 yazi: add fish and nushell integration
PR #4493
2023-09-24 00:41:14 +02:00
Sefa EyeogluandGitHub 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 PletzandRobert Helgesson 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
WeblateandHosted Weblate 0ed5f9786b Add translation using Weblate (Thai)
Co-authored-by: Weblate <noreply@weblate.org>
2023-09-20 06:38:48 +00:00
Kamontat ChantrachirathumrongandHosted Weblate 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 KnaackandGitHub 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 WalterandGitHub 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-0andGitHub f5b920f4d2 fluxbox: fix xsession command
Fixes #4457
2023-09-19 20:52:50 +02:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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štysandRobert Helgesson 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
VwCSXgandRobert Helgesson 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 SalvadorandGitHub 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 PeterandGitHub 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 BarrosandRobert Helgesson 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
stuebinmandRobert Helgesson 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
VwCSXgandRobert Helgesson d12c8fc85b emacs: fix emacs-extra-config test
Fixes #4453
2023-09-13 19:13:10 +02:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
NotAShelfandRobert Helgesson a0ddf43b62 xplr: add module 2023-09-13 08:10:39 +02:00
Tristan Daniël MaatandRobert Helgesson 5171f5ef65 swaylock: document the need for host PAM configuration 2023-09-11 23:59:04 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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 EyeogluandRobert Helgesson ac1c7c34db exa: replace with eza
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-09-11 22:17:41 +02:00
Bjørn ForsmanandRobert Helgesson 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 KremelandHosted Weblate 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
WeblateandHosted Weblate 3dd5470e59 Add translation using Weblate (Czech)
Co-authored-by: Weblate <noreply@weblate.org>
2023-09-10 12:17:56 +02:00
Karel KremelandHosted Weblate 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-nikolovandRobert Helgesson 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ørensenandRobert Helgesson 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
WeathercoldandRobert Helgesson 3c0e381fef carapace: add module 2023-09-05 08:39:59 +02:00
Basile ClémentandGitHub 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 KaczorekandHosted Weblate 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-sandGitHub a7eab56be5 programs.khal: add settings option (#4375) 2023-08-30 11:57:47 +02:00
dependabot[bot]andGitHub 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
cafkafkandHosted Weblate 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 CassouandRobert Helgesson 455cc8cf1c offlineimap: cleanup unused bindings 2023-08-27 22:36:42 +02:00
Damien CassouandRobert Helgesson 0962772e0b antidote: cleanup unused bindings 2023-08-27 22:36:41 +02:00
Damien CassouandRobert Helgesson 35cbed7ac7 aerc: cleanup unused bindings 2023-08-27 22:36:40 +02:00
XYenonandGitHub 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
networkExceptionandRobert Helgesson 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 MosichandRobert Helgesson 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
TNEandRobert Helgesson 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
polykernelandRobert Helgesson 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
polykernelandRobert Helgesson 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 MioandGitHub 6a94c1a597 fix(qt): allow theming for apps started by systemd (#4349) 2023-08-17 10:27:17 +02:00
github-actions[bot]andRobert Helgesson 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 GloverandRobert Helgesson 9db5b89f40 pqiv: add module 2023-08-16 17:44:54 +02:00
SimonandHosted Weblate 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ützandRobert Helgesson 18791781ea browserpass: support librewolf 2023-08-15 08:42:51 +02:00
HeartBlin913861820c094e37andHosted Weblate 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 GrysukandHosted Weblate 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 FufezanandGitHub 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
musjjandGitHub 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 MosichandGitHub 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
SlabityandGitHub 6e1eff9aac kanshi: support adaptive sync (#4328) 2023-08-10 15:05:36 +02:00
Jian LinandGitHub a8f8f48320 mu: add package option (#4325) 2023-08-09 18:40:43 +02:00
Christian AlbrechtandGitHub 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 MalisonandGitHub 903e06d734 taffybar: Avoid restarting too quickly (#4316) 2023-08-06 11:00:44 +02:00
Maxim KarasevandGitHub 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 FuhrimannandGitHub 15043a6591 zsh: Add zsh.history.ignoreAllDups config option (#4248) 2023-08-04 12:12:57 +02:00
Matt MoriarityandGitHub a4f4508791 jujutsu: fix zsh completion (#4305) 2023-08-04 11:19:57 +02:00
박수원andHosted Weblate 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
HeartBlin913861820c094e37andHosted Weblate 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
JonathanBandHosted Weblate 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]andRobert Helgesson 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
cvoges12andRobert Helgesson 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 OginoandRobert Helgesson a146ab6a61 himalaya: update a link to ticket 2023-08-02 11:41:17 +02:00
YtandGitHub 8c731978f0 nushell: deprecation of let-env (#4292) 2023-08-01 19:27:30 +02:00
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
YurekaandGitHub 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
VollowandHosted Weblate 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
satoqzandGitHub 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 FavierandGitHub 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ülerandGitHub 8d243f7da1 gpg: fix typo (#4277) 2023-07-27 18:54:08 +02:00
Naïm FavierandGitHub 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 FavierandGitHub d309a62ee8 tmate: don't generate empty config file (#4271) 2023-07-24 16:17:31 +02:00
Janik HandRobert Helgesson a30f5b5b35 gh-dash: add module 2023-07-24 12:38:44 +02:00
ryaneandRobert Helgesson 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
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 FufezanandRobert Helgesson 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 JacksonandGitHub 1443abd269 script-directory: fix documentation link (#4258) 2023-07-20 19:52:05 +02:00
Reza AlmandaandHosted Weblate 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
DanandHosted Weblate 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
gallegonovatoandHosted Weblate 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 JernbergandHosted Weblate 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 OginoandGitHub 44ba018437 jujutsu: update for Jujutsu 0.8.0 (#4250) 2023-07-19 20:33:38 +02:00
Naïm FavierandGitHub 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]andRobert Helgesson 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 PulellaandRobert Helgesson 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
GenevieveandGitHub 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
swapsandHosted Weblate 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 PietscherandGitHub 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 FavierandGitHub 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 FriedrichandGitHub f63b39a67d i3-sway: multiple outputs (#4223)
multiple outputs can be assigned to a workspace
2023-07-14 21:25:55 +02:00
Maroka-chanandGitHub 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
GenevieveandGitHub 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 EvansandGitHub 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 BaynardandRobert Helgesson 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
SaiProtonandRobert Helgesson 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
SiriusStarrandRobert Helgesson 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 PlotnikovandRobert Helgesson 98282a481d swayosd: add module 2023-07-08 12:09:09 +02:00
Tobias MarkusandRobert Helgesson 069d450b6d pyenv: add module
Adds a module for pyenv (https://github.com/pyenv/pyenv).
2023-07-08 11:26:21 +02:00
Chris MartinandRobert Helgesson 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
simfuandGitHub 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 BaynardandGitHub 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 MosichandGitHub b23c7501f7 i3: remove deprecated example in i3.config.startup (#4201)
Deprecated in cacb8d4, see #265
2023-07-05 12:23:31 +02:00
hitsmaxftandRobert Helgesson 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 AlmandaandHosted Weblate 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 FavierandGitHub b406b8d1bc PULL_REQUEST_TEMPLATE.md: add maintainer cc section (#4193) 2023-07-04 12:41:04 +02:00
JanikandGitHub 4a26e21030 programs.khal
moved highlight_event_days where appropriated and added tests
2023-07-04 12:14:47 +02:00
Kylie McClainandGitHub d895a77448 vdirsyncer: synchronize metadata as well (#4167) 2023-07-04 12:11:28 +02:00
Rodney LorrimarandGitHub 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
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 DongandGitHub 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 CoudronandGitHub c85d9137db ci: autolabel calendars PRs (#4165) 2023-07-02 14:59:21 +02:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 HeckemannandSumner Evans 89d10f8adc news: fix typo in programs.zsh.antidote entry 2023-07-01 08:09:07 -06:00
Linus HeckemannandSumner Evans 2d9210f25e ssh-agent: init module (#4178) 2023-07-01 08:08:59 -06:00
ThinkChaosandGitHub 7a0e9a6782 chromium: fix commandLineArgs to use the user specified package (#4175) 2023-07-01 07:41:37 -06:00
Kylie McClainandGitHub 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 HensingandGitHub 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 SaurelandGitHub 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 McClainandRobert Helgesson a7002d6bfc kakoune: add defaultEditor option 2023-06-28 18:31:26 +02:00
Norbert MelzerandGitHub 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
ThinkChaosandGitHub 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 FavierandGitHub 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 FavierandGitHub 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
hitsmaxftandRobert Helgesson 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 NasrallahandRobert Helgesson 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 NasrallahandRobert Helgesson 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 ArazasandRobert Helgesson d2b6f2d154 zellij: fix module description for shell integrations 2023-06-23 09:49:50 +02:00
hitsmaxftandRobert Helgesson 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
hitsmaxftandRobert Helgesson 70ac18872a antidote: add module
Antidote is a Zsh plugin manager.
2023-06-23 00:35:00 +02:00
WeblateandHosted Weblate b9046172a5 Add translation using Weblate (Indonesian)
Co-authored-by: Weblate <noreply@weblate.org>
2023-06-22 21:28:55 +02:00
Abdul V VahryandHosted Weblate 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 FavierandGitHub 6c78ba7932 docs/contributing: link to NMT's bash-lib (#4125) 2023-06-22 16:35:33 +02:00
Mario RodasandGitHub a481789457 treewide: remove marsam as maintainer (#4136) 2023-06-22 10:16:28 +02:00
Ivan MalisonandGitHub 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
dariof4andGitHub 1fefd7bb8d gtk: Add gtk4.extraCss option (#4133) 2023-06-21 18:38:43 +02:00
Dany MarcouxandGitHub 50cb4d8a1e programs.helix: add defaultEditor (#4127) 2023-06-21 15:50:13 +02:00
Clément DOUINandGitHub 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 KeidelandHosted Weblate 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]andRobert Helgesson 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 FavierandRobert Helgesson e6d134ce12 home-environment: re-enable Nixpkgs release check 2023-06-20 23:35:23 +02:00
Damien CassouandRobert Helgesson ec58f8bed7 borgmatic: add missing support for output and hooks
Fixes #3760
2023-06-20 19:19:10 +02:00
RafaelandGitHub 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 LeinweberandGitHub 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
NotAShelfandGitHub 6bdd72b914 clipman: wrong module name in description (#4117) 2023-06-19 16:29:55 +02:00
Midnight VeilandGitHub 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 CassouandGitHub 0480dabc99 vdirsyncer: Fix service by moving the options before the command (#4109) 2023-06-18 16:23:02 +02:00
Naïm FavierandGitHub 28c823032c Bump install-nix-action to v22 (#4111)
Fixes an issue with the macos runner
2023-06-18 11:45:47 +02:00
Rosario PulellaandRobert Helgesson 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 PonyandHosted Weblate 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 FavierandGitHub 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 SiepmannandGitHub ea2f17615e khal: improve module (#4088)
* khal: Do not hard code globbing.
2023-06-16 11:10:24 +02:00
Thiago Kenji OkadaandGitHub 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 OkadaandGitHub 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 DOUINandRobert Helgesson e0034971f9 comodoro: add module 2023-06-14 23:43:19 +02:00
TomoandRobert Helgesson 194086df82 git-credential-oauth: add module 2023-06-14 23:26:14 +02:00
Thiago Kenji OkadaandGitHub 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 WohlschlagerandRobert Helgesson 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]andGitHub 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 AmesandHosted Weblate 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 BheandHosted Weblate 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 SiepmannandGitHub 0d1e053ce9 vdirsyncer: Add missing include of services module (#4089) 2023-06-13 16:31:49 +02:00
Matthieu CoudronandGitHub d9a97e8b33 calendars: add missing modules (#4087)
forgot to import those during rebase
2023-06-13 11:07:56 +02:00
Lukas NagelandGitHub 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 LundandGitHub 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
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
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 FavierandGitHub 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 EyeogluandGitHub 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
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 FavierandGitHub 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]andRobert Helgesson 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-kirkandRobert Helgesson e7fdcb40b2 joshuto: add the joshuto file manager
PR #4004
2023-06-09 21:27:40 +02:00
rasmus-kirkandRobert Helgesson 301b364892 maintainers: add rasmus-kirk as a maintainer 2023-06-09 21:19:14 +02:00
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 FavierandGitHub 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 MokrinskyandHosted Weblate 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 ChuandHosted Weblate 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 FavierandGitHub 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 FavierandGitHub f889ec0ec3 tests: --show-trace in CI (#4070) 2023-06-08 18:22:54 +02:00
JanyandGitHub cc6745b35f aerc: add package option (#4065) 2023-06-07 22:15:15 +02:00
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 PedorichandGitHub 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 KramerandGitHub 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 FavierandGitHub 607d8fad96 i3-sway: quote output names (#4059)
They can contain spaces.
2023-06-04 15:23:23 +02:00
github-actions[bot]andRobert Helgesson 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 FavierandRobert Helgesson 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 PedorichandRobert Helgesson bffc49ffb2 ripgrep: remove configDir
Also minor formatting and news entry.
2023-06-04 01:12:05 +02:00
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
DanandHosted Weblate 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 AbdoliradandHosted Weblate 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
gallegonovatoandHosted Weblate 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 HelgessonandHosted Weblate 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 FavierandGitHub 96078e4a93 Fix release notes (#4044) 2023-06-01 00:44:06 +02:00
EmilyandGitHub 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
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 FavierandGitHub 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 HeissandGitHub 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 FavierandGitHub 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
百地 希留耶andGitHub bec196cd9b helix: improve warning message for languages option (#4023) 2023-05-26 15:35:29 +02:00
Dany MarcouxandGitHub 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]andRobert Helgesson 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 FavierandGitHub d9995d94f1 lib/file-type: fix xrefs (#4007)
Currently they all point to `home.file`.
2023-05-22 22:48:23 +02:00
Naïm FavierandGitHub 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
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
JanikandGitHub b9a52ad20e script-directory: add module (#3995) 2023-05-19 10:29:27 +02:00
MariaandGitHub c10403a573 Update ssh.nix (#4000)
fix typo
2023-05-18 22:37:19 +02:00
Cynthia FoxandGitHub 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 FavierandGitHub 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 CoudronandGitHub 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 FavierandGitHub db3d440e26 kitty: improve error message when theme not found (#3989) 2023-05-14 12:05:10 +02:00
George MaconandRobert Helgesson 6702b22b98 ssh: install an ssh client
Fixes #3667
2023-05-13 16:50:10 +02:00
Sefa EyeogluandRobert Helgesson e0026e16a5 fuzzel: add module 2023-05-13 15:54:34 +02:00
Markus AmanoandHosted Weblate 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 GereckeandHosted Weblate 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 KriegandGitHub 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 EyeogluandGitHub 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 KriegandGitHub 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
RamsesandGitHub d97e8f8861 systemd: accept derivations as values for systemd options (#3974) 2023-05-11 15:50:37 +02:00
Gaétan LepageandGitHub 6be873663e ssh: add setEnv option (#3935) 2023-05-11 14:22:40 +02:00
Naïm FavierandGitHub 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 bandGitHub d991776527 taskwarrior: add package option (#3768) 2023-05-11 14:04:17 +02:00
Sefa EyeogluandGitHub 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 LinandGitHub f714b17031 emacs: extend startWithUserSession to start after graphical session (#3010) 2023-05-11 13:58:37 +02:00
Mario RodasandGitHub fa720861b5 translate-shell: add module (#3659) 2023-05-11 11:21:18 +02:00
Mario RodasandGitHub b365342adb ledger: add structural settings option (#3661) 2023-05-11 11:20:49 +02:00
Christoph HeissandGitHub 010c269877 zsh: add package option (#3945)
Signed-off-by: Christoph Heiss <christoph@c8h4.io>
2023-05-10 17:54:34 -06:00
Nate CoxandRobert Helgesson 983f8a1bb9 git-cliff: add module 2023-05-09 18:53:49 +02:00
Sefa EyeogluandGitHub 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
arcnmxandGitHub 78ceec68f2 xsession: cleanup systemd variables (#3636) 2023-05-07 23:59:56 +02:00
Cynthia FoxandGitHub 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 MosichandGitHub d12ca77844 atuin: Replace dead link in documentation (#3962) 2023-05-07 23:44:22 +02:00
Utkarsh GuptaandRobert Helgesson de8ba413c5 home-environment: honor use-xdg-base-directories 2023-05-07 22:43:49 +02:00
Naïm FavierandGitHub 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
amesgenandGitHub 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 TojnarandRobert Helgesson 0b4ec66640 dconf: Warn about strict typing of options
This is a frequent surprise to users.
2023-05-07 12:25:32 +02:00
Jan TojnarandRobert Helgesson ea29b1a8d1 docs: Add GVariant cross-references 2023-05-07 12:25:32 +02:00
Jan TojnarandRobert Helgesson 13d666dd68 docs: Mention GVariant format strings 2023-05-07 12:25:31 +02:00
Jan TojnarandRobert Helgesson a0ddb8af40 docs: Mention GVariant auto-coercion at the top 2023-05-07 12:25:30 +02:00
Jan TojnarandRobert Helgesson cfa5c2869b docs: GVariant dictionaries are already supported
The support for dictionaries were introduced in 864ff685fe.
2023-05-07 12:25:29 +02:00
Jan TojnarandRobert Helgesson 81d5b220cd docs: Fix broken GVariant docs link 2023-05-07 12:25:28 +02:00
Jan TojnarandRobert Helgesson 3e906060a8 docs: Add inline anchors for direct linking to GVariant types 2023-05-07 12:25:27 +02:00
github-actions[bot]andRobert Helgesson 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 MichalakandHosted Weblate 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 ChenandGitHub 38271ead8e xfconf: support uint (#3946) 2023-05-05 10:52:22 +02:00
Nathan HenrieandGitHub 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 FavierandGitHub ae6d5466bf firefox: support bookmark tags (#3942) 2023-05-04 16:58:13 +02:00
Clément DOUINandGitHub 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 JonenandGitHub 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
YtandGitHub 788777b536 nushell: add envVars attribute (#3930) 2023-05-04 00:12:21 +02:00
amesgenandGitHub 0e4c33d760 i3status-rust: satisfy new 0.31 TOML output requirements (#3938) 2023-05-01 23:46:41 +02:00
Bernardo MeurerandGitHub 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
SinkerineandGitHub 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 PhetsinorathandRobert Helgesson c4f3a37071 jujutsu: add module 2023-04-28 22:14:13 +02:00
Naïm FavierandRobert Helgesson f2d6291150 README: move releases section higher 2023-04-28 19:18:56 +02:00
oxalicaandRobert Helgesson 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
ThinkChaosandGitHub 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 BoskmaandGitHub 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 LahfaandGitHub 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 TaradayandGitHub 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 MeurerandRobert Helgesson 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 EstrellaandRobert Helgesson 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]andRobert Helgesson 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 bandHosted Weblate 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 TaradayandRobert Helgesson 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
winstonandRobert Helgesson 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 WidmerandRobert Helgesson 5cd5a1b585 aerc: add oauth params 2023-04-22 17:07:51 +02:00
Christoph HeissandRobert Helgesson 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 KramerandRobert Helgesson 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 GuptaandRobert Helgesson 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 AbregoandGitHub 342fd40ccb home-manager: fix config file variable check (#3901) 2023-04-21 11:40:20 +02:00
Christoph HeissandGitHub 5160039edc wofi: add module (#3786)
Signed-off-by: Christoph Heiss <christoph@c8h4.io>
2023-04-20 00:11:30 -06:00
github-actions[bot]andRobert Helgesson 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 CasarettoandRobert Helgesson 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 SeagerandRobert Helgesson 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 ParkandHosted Weblate 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érezandRobert Helgesson dfe7024f7e mr: add module 2023-04-19 17:36:41 +02:00
nat-418andGitHub 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 MeurerandRobert Helgesson 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 FavierandGitHub 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
happysaladaandRobert Helgesson 2dcb61d396 atuin: enable nushell integration 2023-04-18 08:31:28 +02:00
Ilan JoselevichandRobert Helgesson fa980cc985 batsignal: add module 2023-04-18 08:28:46 +02:00
Mika NaylorandRobert Helgesson 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
VwCSXgandRobert Helgesson 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 GuptaandRobert Helgesson 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 GuptaandRobert Helgesson 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
witcherandGitHub 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
BastiandGitHub 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 MeyerandRobert Helgesson 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 TorresandGitHub 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
DanandHosted Weblate 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 NailsisandHosted Weblate 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
gallegonovatoandHosted Weblate 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 HelgessonandHosted Weblate 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 BollanseeandHosted Weblate 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
WeblateandHosted 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țeanuandHosted Weblate 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
midchildanandRobert Helgesson 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_CashandRobert Helgesson 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 LepageandGitHub 013948ddf6 home-cursor: follow xdg spec for icons folder (#3851) 2023-04-11 22:41:48 +02:00
dependabot[bot]andGitHub 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 FavierandGitHub 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]andRobert Helgesson 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]andRobert Helgesson 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 NailsisandHosted Weblate 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 FavierandGitHub 6c76fb5b12 maintainers: rename houstdav000 → cyntheticfox (#3838)
https://github.com/NixOS/nixpkgs/pull/223976
2023-04-03 20:28:29 +02:00
Bernardo MeurerandRobert Helgesson 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 CassouandRobert Helgesson 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 FavierandGitHub 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
TimandGitHub 765e4007b6 nixpkgs: fix semicolon and list layout in docs (#3813) 2023-03-28 12:46:08 +02:00
Matthieu CoudronandGitHub 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
midchildanandRobert Helgesson da325265b7 launchd: sync option definition with nix-darwin 2023-03-25 23:59:58 +01:00
midchildanandRobert Helgesson 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 KaynarandRobert Helgesson 99680311f1 hstr: add module 2023-03-25 15:54:19 +01:00
Nick CaoandGitHub 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
midchildanandRobert Helgesson 885a504f80 syncthing: add Darwin support 2023-03-25 13:09:55 +01:00
Adam StephensandRobert Helgesson 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 BorzenkovandGitHub 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 LepageandGitHub c6a7bc90ca zathura: add documentation for mode-specific mappings (#3797) 2023-03-22 10:50:13 +01:00
Damien CassouandRobert Helgesson 486ba3de4e copyq: add module 2023-03-22 08:33:34 +01:00
Sefa EyeogluandRobert Helgesson e60080ddfb listenbrainz-mpd: add module 2023-03-22 08:21:11 +01:00
Chuang ZhuandGitHub e386ec640e mpv: add scriptOpts option, fix tests (#3491) 2023-03-21 11:33:36 +01:00
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 CassouandRobert Helgesson 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 CassouandRobert Helgesson 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
DanandHosted Weblate 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
gallegonovatoandHosted Weblate 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 HelgessonandHosted Weblate 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 AnguloandGitHub bcc417b80f exa: removed stale comment (#3789) 2023-03-19 18:14:05 +01:00
Naïm FavierandGitHub 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 FavierandGitHub 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 FavierandGitHub 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 OkadaandGitHub 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
polykernelandGitHub 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 McClainandGitHub 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]andGitHub 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
gallegonovatoandHosted Weblate 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 JernbergandHosted Weblate 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
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 ParkandHosted Weblate 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
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 HeleniusandGitHub 7fe539dfbb Fix path to Kitty theme files (#3764)
The theme files were moved to `share/kitty-themes` in this nixpkgs
commit:

  https://github.com/NixOS/nixpkgs/commit/3e29ae4159bddf6ea90c2c85e802af220b3987fe
2023-03-13 14:37:26 +01:00
Robert Helgesson 46f637bd80 Merge translation updates 2023-03-13 00:07:38 +01:00
Turmoil NailsisandHosted Weblate 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
DanandHosted Weblate 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
WeblateandHosted Weblate 7783e1b949 Add translation using Weblate (Ukrainian)
Co-authored-by: Weblate <noreply@weblate.org>
2023-03-11 23:06:43 +01:00
gallegonovatoandHosted Weblate 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 HelgessonandHosted Weblate 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
DanandHosted Weblate 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. ØdegaardandHosted Weblate 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
h7x4andRobert Helgesson c03d1e75a1 zellij: switch config lang from yaml to kdl for 0.32.0 2023-03-10 16:48:11 +01:00
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
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 NailsisandHosted Weblate 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 ChenandGitHub 68ba595783 xfconf: fix dbus may not be started in the startup of NixOS. (#3707) 2023-03-05 09:47:06 +01:00
Naïm FavierandGitHub 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 FankhauserandGitHub 547a3bc8d4 git: allow tags to be unsigned when signing.signByDefault=true (#3479) 2023-03-02 12:27:57 +01:00
Rosario PulellaandGitHub 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 FavierandGitHub 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 FavierandGitHub 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 FavierandGitHub 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
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
patwidandGitHub 305daba44a aerc: update auth mechanisms (#3714) 2023-02-27 22:32:12 +01:00
Maximilian BoschandGitHub 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 BoschandGitHub 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
siflfranandGitHub 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 ArazasandGitHub 693d76eeb8 programs.gpg: update references to respective manpages (#3648) 2023-02-26 09:30:45 +01:00
Lord-ValenandGitHub 664945b3e0 starship: Use mkEnableOption (#3701) 2023-02-24 23:15:57 +01:00
Anton PlotnikovandRobert Helgesson 4295fdfa6b avizo: add module
PR #3601
2023-02-22 23:26:41 +01:00
Kira BruneauandRobert Helgesson 564b82b354 firefox: fix search options without a default engine 2023-02-21 22:13:10 +01:00
Albert PescharandRobert Helgesson c7c69ec405 launchd: fix example of StartCalendarInterval 2023-02-21 21:52:39 +01:00
Olmo KramerandRobert Helgesson 5e889b385c mpd-mpris: add module 2023-02-20 23:43:42 +01:00
Naïm FavierandGitHub 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]andGitHub 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
ssantosandHosted Weblate 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
WeblateandHosted Weblate bdcd1bde4e Add translation using Weblate (Portuguese)
Co-authored-by: Weblate <noreply@weblate.org>
2023-02-19 23:45:20 +01:00
ssantosandHosted Weblate 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 KagamiandRobert Helgesson 9e9a0e43fe owncloud-client: add package option 2023-02-19 23:33:03 +01:00
James WilliamsandRobert Helgesson 81f16a1e3c prezto: add missing use of yesNo
Specifically, this fixes evaluation of prompt.showReturnVal.
2023-02-19 23:20:59 +01:00
Naïm FavierandGitHub 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 EvansandGitHub 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 FavierandGitHub 1232d0e133 Revert "mbsync: make passwordCommand escaping consistent" (#3657)
This reverts commit e2c1756e3a.
2023-02-08 21:39:10 +01:00
Nathan van DoornandGitHub e631d78ddf vscode: fix erroneous application of lib.optional (#3655) 2023-02-08 12:18:28 +01:00
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 McClainandGitHub 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
midchildanandRobert Helgesson 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
midchildanandRobert Helgesson 17dc593930 modules: add platform assertions 2023-02-07 21:54:24 +01:00
Naïm FavierandRobert Helgesson 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 DesforgesandGitHub 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 BruneauandGitHub 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 AsunkinandGitHub e3f28ddb0d tmux: fix secureSocket environment variable (#3593) 2023-02-05 11:22:41 +01:00
Bernardo MeurerandGitHub 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 CassouandGitHub 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
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 BirkettandGitHub 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
2ffc6d6496 tmux: mouse support (#3642)
Co-authored-by: Sleroq <sleroq@sleroq.link>
2023-02-05 11:02:14 +01:00
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 LepageandRobert Helgesson d1c7730bb7 services.autorandr: add module 2023-02-02 21:54:53 +01:00
home-manager-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 ReynierandGitHub 2f62da9837 git: unset pager while using difftastic (#3633) 2023-02-02 02:58:17 +01:00
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 HoustonandRobert Helgesson 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 RodasandRobert Helgesson 1c6f3054ca rbenv: add module 2023-01-31 23:09:53 +01:00
Sefa EyeogluandGitHub 69696fe539 wlogout: add module (#3629) 2023-01-31 17:06:18 +01:00
Mario RodasandRobert Helgesson 08a778d803 papis: add module 2023-01-28 18:51:48 +01:00
Lin JianandRobert Helgesson bb4b25b302 bash: format using nixfmt
PR #3609
2023-01-26 23:18:39 +01:00
dependabot[bot]andGitHub 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ühmelandRobert Helgesson 7efca2ca18 files: allow disabling creation of a file
PR #3622
2023-01-26 22:31:16 +01:00
Mario RodasandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 FengandRobert Helgesson 7026e1a934 gpg-agent: fix SSH support for fish 2023-01-18 23:49:05 +01:00
Kira BruneauandRobert Helgesson 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 FavierandGitHub bd3efacb82 docs: mention how to override the home-manager flake input (#3556) 2023-01-17 10:35:01 +01:00
Bikal LemandGitHub 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
arcnmxandGitHub 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 LiandGitHub 176e455371 home-manager: Add home-manager search path to EXTRA_NIX_PATH (#3241) 2023-01-10 10:35:00 +01:00
stephaneyfxandGitHub 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čiusandRobert Helgesson 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
WeblateandRobert Helgesson efb7b11974 Add translation using Weblate (Lithuanian)
Co-authored-by: Weblate <noreply@weblate.org>
2023-01-10 00:18:25 +01:00
Kornelijus TvarijanavičiusandRobert Helgesson 6816934f41 Add translation using Weblate (Lithuanian)
Co-authored-by: Kornelijus Tvarijanavičius <kornelitvari@protonmail.com>
2023-01-10 00:18:24 +01:00
Eric HoandRobert Helgesson 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 KandRobert Helgesson 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 FavierandGitHub 69806e9378 files: avoid surprises when linking files (#3018) 2023-01-09 13:00:21 +01:00
Yurii MatsiukandRobert Helgesson 4f0c1afba7 firefox: remove https-everywhere from example
See https://gitlab.com/rycee/nur-expressions/-/commit/b70c44e8575e65ff63c5f52eb726aa3fc9a86af7
2023-01-09 12:30:26 +01:00
Gaétan LepageandGitHub 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 KramerandGitHub 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
AntonandGitHub 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
polykernelandGitHub 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
corbinallisonandGitHub 498c46ea5d fluxbox: fix a typo, windowMenu -> windowmenu (#3544) 2023-01-03 13:09:52 -07:00
Martin WeineltandGitHub d01e7280ad i3-sway: Use foot as default terminal on sway (#3490) 2023-01-03 19:26:08 +01:00
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 FavierandGitHub 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 FavierandGitHub 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
leifhelmandJakob 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 AsunkinandRobert Helgesson 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 BrevetandGitHub 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
RamsesandGitHub 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 WygodaandRobert Helgesson 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 BrendenandRobert Helgesson 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 essandRobert Helgesson e70550577f fish: set tmp $HOME to silence errors 2022-12-28 21:27:34 +01:00
Mika NaylorandRobert Helgesson 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]andRobert Helgesson 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 TransierandRobert Helgesson a62e4c88d7 starship: re-add ion integration
which was apparently mistakenly removed in commit 7ae7250
2022-12-28 18:16:31 +01:00
Aidan GaulandandRobert Helgesson 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 KaseorgandRobert Helgesson 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 LewisandRobert Helgesson 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 MarhubiandRobert Helgesson 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ćandGitHub 7d55a72d4c lazygit: add package option (#3456) 2022-12-16 09:55:29 -07:00
Matthew TooheyandRobert Helgesson 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 FranziniandHosted Weblate 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
1sixthandRobert Helgesson 3f0d04aeca treewide: replace replaceChars with replaceStrings
replaceChars is a deprecated alias, see
https://github.com/NixOS/nixpkgs/commit/05a2dfd6744cdc6ab0b57f8ab866cc686b05f519
for details.
2022-12-16 16:34:59 +01:00
Norbert MelzerandRobert Helgesson 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 LepageandRobert Helgesson 0e9e86b179 megasync: add module 2022-12-16 16:01:49 +01:00
Matt BryantandRobert Helgesson 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 LepageandRobert Helgesson 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 essandRobert Helgesson 7e81e7ae2b fish: always run fish_indent 2022-12-05 23:16:39 +01:00
dependabot[bot]andGitHub 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 RodasandRobert Helgesson 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 RodasandRobert Helgesson 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-SmithandRobert Helgesson 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
annaandRobert Helgesson e56714a057 types: allow non-integer font sizes 2022-12-04 14:29:34 +01:00
DavidandRobert Helgesson 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]andRobert Helgesson 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 ReynierandRobert Helgesson 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
toastalandRobert Helgesson 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
toastalandRobert Helgesson 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
toastalandRobert Helgesson 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 essandRobert Helgesson 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 McClainandRobert Helgesson 518dca61c0 mpd-discord-rpc: fix typo 2022-12-04 00:29:50 +01:00
maximsmolandRobert Helgesson 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 MarshallandGitHub 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 RodasandRobert Helgesson e38ce0ae16 direnv: fix direnv configuration path
Direnv >=2.21.0 uses [1] $XDG_CONFIG_HOME/direnv/config.toml as
configuration path.

[1] https://github.com/direnv/direnv/commit/54cb3c5a91edb377b4b7387e2cda43dc39064a4a
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 CoudronandRobert Helgesson 3b0a446bbf ci: autolabel more programs to 'mail'
More specifically Thunderbird and Himalaya.
2022-11-29 17:49:44 +01:00
liandRobert Helgesson 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 CaoandRobert Helgesson 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 SielickiandRobert Helgesson 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 KlingandGitHub 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 bandGitHub f7fed4dd3d picom: add egl backend to options (#3441)
Mirrors: https://github.com/NixOS/nixpkgs/commit/2beff9375cda53f2ab42844eb85d9c60175f3434
2022-11-27 18:48:48 +01:00
Jakub FišerandGitHub 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 MildenbergerandRobert Helgesson 7ae7250df8 starship: add nushell integration support 2022-11-27 09:13:20 +01:00
Philipp MildenbergerandRobert Helgesson 4a12f304e0 nushell: add options 'extraConfig' and 'extraEnv' 2022-11-27 09:09:09 +01:00
Loric BrevetandGitHub e999dfe7cb kakoune: allow custom package (#3434) 2022-11-27 01:49:15 +01:00
Andrew MarshallandGitHub 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-botGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
h7x4andGitHub 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
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
Phillip CloudandRobert Helgesson f7641a3ff3 scmpuff: add fish integration flag 2022-11-21 23:51:05 +01:00
Pablo BollanseeandHosted Weblate 3ce1c4787a Translate using Weblate (Dutch)
Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (Dutch)

Currently translated at 100.0% (32 of 32 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
2022-11-21 16:35:25 +01:00
Jakub JanczakandHosted Weblate c3690701d1 Translate using Weblate (Polish)
Currently translated at 100.0% (14 of 14 strings)

Co-authored-by: Jakub Janczak <kubek2k@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/pl/
Translation: Home Manager/Home Manager Modules
2022-11-21 16:35:25 +01:00
Loïc ReynierandGitHub 433e8de330 fzf: add colors option (#3206) 2022-11-21 08:35:18 -07:00
KFearsoffandRobert Helgesson c0f9cbcf93 newsboat: allow imperative "urls" management
This commit allows imperative management of "urls" file. It can be
useful if "urls" file is treated as a secret.

With this change, it's possible to provision "urls" via Syncthing,
agenix, sops-nix or other means, while still managing Newsboat
declaratively.
2022-11-20 00:26:42 +01:00
Matthieu CoudronandGitHub 948d1f8a5c programs.zsh: generate a more compact config (#3170) 2022-11-18 09:27:43 -07:00
alois31andGitHub 5589b28e66 opam: add fish integration (#3422) 2022-11-18 09:00:57 -07:00
Thiago Kenji OkadaandGitHub c94c9c342f picom: remove experimentalBackends, add extraArgs (#3423)
`--experimental-backends` flag was removed in the recent released picom
v10. Using it now will result in the program exiting.

v10 also introduces its counter-part, `--legacy-backends`. However this
will be removed soon. Instead of adding this as an separate option, add
`extraArgs` option so for those that they want they can pass it manuall.
It is also more future proof.
2022-11-18 08:59:30 -07:00
Sumner EvansandGitHub fe85cc4c37 udiskie: add note about needing to enable system-wide config (#3424)
Closes #3153

Signed-off-by: Sumner Evans <me@sumnerevans.com>
2022-11-17 13:27:03 -07:00
Andrew MarshallandRobert Helgesson bc90de24d8 xdg-user-dirs: allow setting to null to skip setting
Previously, this module was all-or-nothing with its pre-defined user
dirs. This allows e.g. `xdg.userDirs.desktop = null;` to opt-out of
some configuration while still benefiting from the rest.
2022-11-13 10:38:54 +01:00
DavidandRobert Helgesson 651db464dc thunderbird: allow using the module on Darwin
While the Nix packages for Thunderbird are not available for macOS,
the module can still be used to manage profiles and configuration.

Fixes #3407.
2022-11-13 10:06:36 +01:00
Xyz00777andRobert Helgesson 6ce3493a3c kodi: fix syntax error in example 2022-11-09 09:16:50 +01:00
Robert Helgesson d20e3d070c screen-locker: minor description fix 2022-11-08 10:15:54 +01:00
Eise ZimmermanandHosted Weblate b0cf7245c4 Translate using Weblate (Dutch)
Currently translated at 40.6% (13 of 32 strings)

Co-authored-by: Eise Zimmerman <eiscomania@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/nl/
Translation: Home Manager/Home Manager CLI
2022-11-07 18:06:30 +01:00
Robert Helgesson 886675991b home-environment: reset PATH in activation script
Starting with state version 22.11 we completely reset the PATH
variable in the activation script. This is to avoid impurities and
unexpected results if the activation script accidentally uses a
command found in the user's PATH.
2022-11-07 15:09:36 +01:00
Robert Helgesson d67776563e systemd: fix systemctlPath default text 2022-11-07 15:09:35 +01:00
Robert Helgesson 5dd3ce3f1e mu: use absolute path to mu in activation block 2022-11-07 15:09:31 +01:00
github-actions[bot] 1ef0da3212 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/fdebb81f45a1ba2c4afca5fd9f526e1653ad0949' (2022-10-29)
  → 'github:nixos/nixpkgs/3bacde6273b09a21a8ccfba15586fb165078fb62' (2022-11-05)
• Updated input 'utils':
    'github:numtide/flake-utils/6ee9ebb6b1ee695d2cacc4faa053a7b9baa76817' (2022-10-29)
  → 'github:numtide/flake-utils/5aed5285a952e0b949eb3ba02c12fa4fcfef535f' (2022-11-02)
2022-11-06 04:14:41 +00:00
Guillaume GirolandRobert Helgesson c5adf29545 i3: fix reloading when there are several sockets
This can happen after logout/login.

Fixes #527
2022-11-06 00:41:10 +01:00
David ArnoldandRobert Helgesson 989d4fa536 home-environment: remove no-op commands 2022-11-06 00:15:35 +01:00
Ronny PfannschmidtandRobert Helgesson ccc9164b76 home-environment: fix activation on new style profiles
When using the new style profiles we get conflicts when trying to
replace the old `home-path` derivation. To avoid this conflict we
delete the old `home-path` before the install.

Unfortunately, `nix profile` does not yet have a equivalent for
`nix-env --set` and we have to do this hackish workaround. See

  https://github.com/NixOS/nix/issues/6349

for the associated issue in Nix.

Fixes #2848
2022-11-06 00:12:08 +01:00
midchildan c728307482 darwin: use full path to commands in activation script 2022-11-05 12:14:08 +09:00
DavidandRobert Helgesson b764068a50 thunderbird: add module
Add a new Thunderbird module that uses the configuration in
`accounts.email.accounts` to setup SMTP and IMAP accounts.

Multiple profiles are not supported at this point.
2022-11-04 16:12:12 +01:00
natsukiumandRobert Helgesson 9333581075 vscode: add userTasks test 2022-11-03 10:36:21 +01:00
natsukiumandRobert Helgesson 39c1e6704a vscode: fix invalid examples 2022-11-03 09:24:25 +01:00
MarinandGitHub f520832a47 darwin: re-enable ~/Applications symlinks (#3139)
Tested-by: supermarin@users.noreply.github.com
2022-11-02 13:41:53 -04:00
Chuang ZhuandRobert Helgesson 916811c8f9 xfconf: add module 2022-11-02 12:01:17 +01:00
Arjan SchrijverandRobert Helgesson 04e844090e oh-my-posh: add module 2022-11-02 01:04:42 +01:00
David ArnoldandRobert Helgesson 183a62f356 targets/generic-linux: use the correct nix package 2022-11-02 00:45:56 +01:00
pogobananeandRobert Helgesson 824202b4c4 readme: add inofficial option search 2022-11-02 00:42:57 +01:00
Anton BulakhandGitHub 8957d53199 awesome: fix luaModules using pkgs.lua instead of awesome.lua (#3258)
Mirroring my change to awesome module in nixos:
https://github.com/NixOS/nixpkgs/commit/b79f9e9b8a822ac64710d67d26b558f9aba6d47b
2022-11-01 19:43:20 +01:00
zimbatmandRobert Helgesson 722e8d65d3 ci: use the cachix auth token 2022-10-31 17:36:04 +01:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
25344cb808 ci: bump cachix/cachix-action from 11 to 12 (#3368)
Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action) from 11 to 12.
- [Release notes](https://github.com/cachix/cachix-action/releases)
- [Commits](https://github.com/cachix/cachix-action/compare/v11...v12)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-31 15:12:57 +00:00
polykernelandGitHub 2464c21ab2 sway: import XDG_SESSION_TYPE in systemd user environment (#3328)
- The `XDG_SESSION_TYPE` environment variable is used by some applications and frameworks to
  detect wayland sessions (i.e qt5/6, electron/chromium). It is set by wlroots since version 0.13.0 [1].

- Propagating `XDG_SESSION_TYPE` to the systemd user environment is necessary when processes launched by
  services (e.g emacs) need to inherit the environment variable.

[1] - https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/90c8452959470461497c4a83aac0bd93efb0a524
2022-10-31 13:09:06 +01:00
github-actions[bot]andRobert Helgesson fad4e7c79c flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/5f326e2a403e1cebaec378e72ceaf5725983376d' (2022-09-12)
  → 'github:nixos/nixpkgs/fdebb81f45a1ba2c4afca5fd9f526e1653ad0949' (2022-10-29)
• Updated input 'utils':
    'github:numtide/flake-utils/c0e246b9b83f637f4681389ecabcb2681b4f3af0' (2022-08-07)
  → 'github:numtide/flake-utils/6ee9ebb6b1ee695d2cacc4faa053a7b9baa76817' (2022-10-29)
2022-10-31 12:35:56 +01:00
David MorganandRobert Helgesson 160025ca46 irssi: add option for SASL external authentication 2022-10-31 09:28:49 +01:00
Robert Helgesson 423211401c home-environment: update hm-version generation
Instead of home-made script use the Nixpkgs library functions. This
will hopefully be more robust and give more accurate results.
2022-10-28 22:51:35 +02:00
Robert Helgesson 213a06295d ci: don't run tests in GitLab CI
It eats too many CI minutes.
2022-10-27 22:47:27 +02:00
Robert Helgesson f67649307d home-environment: make getVersion more robust 2022-10-27 22:20:37 +02:00
Markus S. WamserandRobert Helgesson d3f21617ac vscode: add options to disable update checks
Update notification popups are annoying when vscode/vscodium is
managed by Home Manager. However, as these settings also require the
configuration to be managed via `userSettings`, they are disabled by
default.
2022-10-27 18:16:03 +02:00
Robert Helgesson 32fe7d2ebb home-environment: add hm-version file
This commits adds a file `hm-version` to the generated generation
directory. This file will contain the release version, and if
available, the Git commit hash.
2022-10-27 14:51:48 +02:00
Paul MeyerandRobert Helgesson 7dc4e4ebd7 k9s: add module 2022-10-25 00:05:50 +02:00
Damien CassouandGitHub 186d9399f9 borgmatic: specify where to find sleep (#3349)
Closes #3348.
2022-10-23 16:52:22 -04:00
Kira BruneauandRobert Helgesson 69d19b9839 firefox: support setting search engines
With this change, it's now possible to configure the default search
engine in Firefox with

  programs.firefox.profiles.<name>.search.default

and add custom engines with

  programs.firefox.profiles.<name>.search.engines.

It's also recommended to enable

  programs.firefox.profiles.<name>.search.force = true

since Firefox will replace the symlink for the search configuration on
every launch, but note that you'll loose any existing configuration by
enabling this.
2022-10-22 20:36:04 +02:00
David Warde-FarleyandRobert Helgesson c485669ca5 i3status: add package attribute 2022-10-20 10:04:30 +02:00
Robert Helgesson d1191c6d05 docs: bump nmd
Fixes #3342
2022-10-20 08:47:36 +02:00
j-brnandRobert Helgesson 42f81ac107 looking-glass-client: add module 2022-10-18 10:12:15 +02:00
dependabot[bot]andGitHub e901c8d860 ci: bump cachix/cachix-action from 10 to 11
Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action) from 10 to 11.
- [Release notes](https://github.com/cachix/cachix-action/releases)
- [Commits](https://github.com/cachix/cachix-action/compare/v10...v11)

---
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>
2022-10-17 07:28:06 +00:00
Robert Helgesson a50c0c6fe0 dependabot: switch target from 21.11 to 22.05 2022-10-17 09:17:50 +02:00
dependabot[bot]andGitHub bc7432fbcc ci: bump cachix/install-nix-action from 17 to 18
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 17 to 18.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v17...v18)

---
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>
2022-10-17 01:28:56 +00:00
Damien CassouandRobert Helgesson 04f5399978 borgmatic: add module 2022-10-16 21:51:52 +02:00
ElnuDevandRobert Helgesson da3b8049fd im/fcitx5: add GLFW_IM_MODULE session variable
This lets fcitx5 be used within the kitty terminal emulator. See
https://wiki.archlinux.org/title/Kitty#Enable_IME_support for more.
2022-10-16 21:42:32 +02:00
Robert Helgesson 86bc0e349f dconf: handle missing oldGenPath 2022-10-16 17:59:57 +02:00
Rohan FerrisandGitHub 2ecb3ea990 firefox: rename chrome-gnome-shell suggestion to gnome.gnome-browser-connector (#3329)
gnome3.chrome-gnome-shell is now gnome.gnome-browser-connector
2022-10-15 15:49:11 -04:00
Robert Helgesson 8cbc6500df lib/bash: make call to tput more robust
Specifically, if `tput colors` fails with an error we treat that as if
the terminal does not support colors.

Fixes #423

Suggested-by: PhotonQuantum <self@lightquantum.me>
2022-10-13 11:56:47 +02:00
Robert Helgesson 8eaa3ba56e lib/bash: remove unused Bash library files
The color echo functions are provided by `lib/bash/home-manager.sh`.
2022-10-13 11:56:46 +02:00
Robert Helgesson 618ab0f882 discocss: fix attribute name 2022-10-13 11:52:24 +02:00
2d8e5a9934 discocss: add module
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2022-10-13 01:11:01 +02:00
ilkecanandRobert Helgesson 5597b3a742 dconf: reset keys that become unmanaged on switch 2022-10-11 22:41:39 +02:00
Matthieu CoudronandRobert Helgesson b37a909508 ci: specify files that should be tagged "mail" 2022-10-11 10:22:19 +02:00
Robert Helgesson ebe6d2c747 home-manager: set state version when uninstalling
Otherwise the switch exits with an error.

Fixes #3320
2022-10-11 09:31:29 +02:00
e1f1160284 redshift/gammastep: add enableVerboseLogging option
This option controls whether the `-v` command line argument is given.

Co-authored-by: Sumner Evans <me@sumnerevans.com>
2022-10-09 01:21:05 +02:00
Gabriel ArazasandRobert Helgesson bd87a34bb4 sioyek: enable multiple bindings for the same command 2022-10-08 22:11:55 +02:00
Matthieu CoudronandRobert Helgesson 3b5a8d3dc7 ci: introduce labeler workflow
Automatically tag PRs depending on touched files.
2022-10-08 12:52:18 +02:00
ralismark 9fcae11ff2 systemd: name slice unit correctly 2022-10-07 16:07:53 +11:00
AndersonTorresandRobert Helgesson be2cade373 havoc: add module 2022-10-07 01:21:11 +02:00
Mario RodasandRobert Helgesson 8c297e1816 ledger: add module
Add module for https://www.ledger-cli.org/
2022-10-07 01:06:40 +02:00
Philippe LaflammeandRobert Helgesson 7fee13eb4c sbt: cache passwordCommand output
This will cache the output of `passwordCommand` per authentication
realm.

Context: the `credentials` key in `sbt` is a `TaskKey[Seq[Credentials]]`.
In `sbt`, tasks are evaluated on-demand and their output is not cached.
This particular key is referenced by all submodules in a project. When
the command is relatively expensive (e.g.: `pass show foo`), this
results in several seconds of delay when doing basic things like
`compile` or `test` which makes this unusable without some kind of
caching.
2022-10-07 00:40:50 +02:00
Philippe LaflammeandRobert Helgesson 599e22b1c7 sbt: allow managing the ~/.sbt/repositories file
sbt allows overriding the default repositories to use to resolve
dependencies. This is often used with proxies and/or private
repositories to host internal packages.

This change adds a `repositories` attribute to `sbt` to allow
specifying the values that will go in `~/.sbt/repositories` file.

To support the above change we also deprecate the `baseConfigPath`
option in favour of `baseUserConfigPath` which points one level higher
by default. This allows not using relative paths to refer to the
top-level configuration directory.

Also adds tests for the new option and the deprecation of the previous
one.
2022-10-07 00:23:29 +02:00
wuyoliandRobert Helgesson 6427ae9578 swayidle: fix examples
The example did not work before, since the systemd service does not
have swaylock in its PATH.

PR #3298
2022-10-06 19:52:37 +02:00
Naïm FavierandGitHub 1a8e35d2e5 mpd: add package to home path (#3303)
It's always useful to have the man pages available.
2022-10-05 11:22:12 -04:00
Tad FisherandGitHub e4e639dd4d programs/lieer: use lieer package (#3262)
The gmailieer attribute was aliased to lieer in nixpkgs.
2022-10-03 09:50:40 +02:00
Judson LesterandRobert Helgesson a7f0cc2d7b lorri: add nixPackage and enableNotifications options 2022-09-30 23:30:42 +02:00
Robert Helgesson 7a3384c796 syncthing: add platform assertion 2022-09-30 22:27:35 +02:00
VanillaandRobert Helgesson 9727190b80 mangohud: fix moved link of config file
PR #3278
2022-09-30 20:47:00 +02:00
superherointj 5c5a5b9b45 urxvt: fix package name 2022-09-30 15:08:02 -03:00
Anderson TorresandGitHub a053da0f22 fluxbox: use mkPackageOption instead of mkOption (#3286) 2022-09-30 12:54:55 -04:00
arjan-sandGitHub e7be7c4688 pls: add module (#3285) 2022-09-30 12:53:39 -04:00
Liam PetrieandRobert Helgesson 864ff685fe lib: add two new gvariant types
Add GVariant variant and dictionary entry types
2022-09-29 13:05:51 +02:00
mtthsandRobert Helgesson 9da6c0232e docs: explain how to enable flakes on NixOS
Since `nix.conf` is generated when using NixOS, it cannot be edited.

Instead we add the instructions described by Xe in
https://xeiaso.net/blog/nix-flakes-1-2022-02-21
2022-09-29 12:15:38 +02:00
Sumner EvansandRobert Helgesson 68ea28d330 kdeconnect: change package
Specifically, use pkgs.kdeconnect instead of
pkgs.plasma5Packages.kdeconnect-kde.

Closes #3274

Signed-off-by: Sumner Evans <me@sumnerevans.com>
2022-09-29 12:06:52 +02:00
Naïm Favier 28334988db picom: use types.numbers.between
Mirrors https://github.com/NixOS/nixpkgs/commit/77307fcff86d3e56285b006b3e9204c6b45d90f0
2022-09-29 11:34:00 +02:00
aameen-tulipandRobert Helgesson 6dc8a43f39 flake: list deprecated args in throw
The use of `throwIf` was retained on the off chance that someone
intentionally overrides it.
2022-09-27 15:50:32 +02:00
Chan Siu ManandGitHub 1f5ef2bb41 broot: fix config file location (#3273)
At commit [5666e6b9](https://github.com/Canop/broot/commit/5666e6b9fb827c07c6c21fbe0fc60f538e1aaf60),
broot refactored the content of the file `/resources/default-conf.hjson`
into multiple files under the directory `/resources/default-conf`, using
[`imports`](https://github.com/Canop/broot/blob/5666e6b9fb827c07c6c21fbe0fc60f538e1aaf60/resources/default-conf/conf.hjson#L152-L165)
to refer to other configurations.

This refactoring is effective since version 1.14.0 of broot.

After this refactoring, in `xdg.configFile.broot` (which defaults to
`~/.config/broot`):
- we need to copy all potentially referenced files (all files under
  `resources/default-conf`),
- except we need to leave out `conf.hjson` which conflicts with the
  `conf.toml` generated by home-manager (because broot [accepts both conf.toml and conf.hjson](https://dystroy.org/broot/conf_file/))

To implement this, we use `symlinkJoin` to create the content of
`xdg.configFile.broot` by merging multiple sources.
2022-09-27 12:19:02 +02:00
65b65ce5ef broot: use upstream defaults, allow all config options (#2644)
* broot: use freeformType for config

* broot: use defaults from upstream

closes #2395

* broot: generate shell function

* broot: add @dermetfan to CODEOWNERS

* broot: rename `config` option to `settings`

* broot: make example more idiomatic

Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>

Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
2022-09-26 20:36:06 +02:00
dependabot[bot]andGitHub 9e7394523e ci: bump DeterminateSystems/update-flake-lock from 13 to 14
Bumps [DeterminateSystems/update-flake-lock](https://github.com/DeterminateSystems/update-flake-lock) from 13 to 14.
- [Release notes](https://github.com/DeterminateSystems/update-flake-lock/releases)
- [Commits](https://github.com/DeterminateSystems/update-flake-lock/compare/v13...v14)

---
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-09-25 23:02:18 +00:00
José Luis LafuenteandRobert Helgesson 707cb75ed3 tmate: add module 2022-09-26 00:28:00 +02:00
Rosario PulellaandRobert Helgesson 9b91709899 safeeyes: add module
This adds a basic module for Safe Eyes based off of the one in
Nixpkgs.
2022-09-25 23:01:25 +02:00
Rosario PulellaandRobert Helgesson 3eaadd82b8 maintainers: add Rosuavio 2022-09-25 22:51:50 +02:00
Joosep JäägerandGitHub de3758e31a neovim: fix a typo in the generated init.lua (#3252)
neovim complains when having both an init.lua and an init.vim
2022-09-23 13:33:17 +02:00
Matthieu CoudronandGitHub bd83eab622 programs.neovim: default to init.lua (#3233)
We change the current logic: instead of writing an init.vim which loads
lua/init-home-manager.lua, we write an init.lua that sources init.vim

This commit also avoids writing any of these files if the plugins have
no config.
2022-09-22 10:39:55 +02:00
AndersonTorresandRobert Helgesson f17819f4f1 fluxbox: add module 2022-09-22 00:43:09 +02:00
Loïc ReynierandRobert Helgesson f5e4614c11 yt-dlp: add settings option 2022-09-22 00:09:35 +02:00
David BaynardandRobert Helgesson 41790ba656 mbsync: extend config type with list of strings
Some configuration options can take space separated strings; for
example `SSLVersions` can be configured with multiple allowed
versions.

    SSLVersions TLSv1.3 TLSv1.2

This can now be represented in Home Manager.

    SSLVersions = [ “TLSv1.3” “TLSv1.2” ];

In implementing this change, it uses oneOf for config type, as it is a
cleaner way to represent the union than the nested eithers
formulation.

Also add SSLVersions to test lists of strings in
`account.extraConfig`.
2022-09-20 01:24:21 +02:00
cafkafkandHosted Weblate df79df8be1 Translate using Weblate (Danish)
Currently translated at 100.0% (14 of 14 strings)

Co-authored-by: cafkafk <christina@cafkafk.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/da/
Translation: Home Manager/Home Manager Modules
2022-09-19 22:24:39 +02:00
WeblateandHosted Weblate 22ef57a54c Add translation using Weblate (Danish)
Co-authored-by: Weblate <noreply@weblate.org>
2022-09-19 22:24:39 +02:00
cafkafkandHosted Weblate b4bfe3b2d9 Translate using Weblate (Danish)
Currently translated at 100.0% (32 of 32 strings)

Add translation using Weblate (Danish)

Co-authored-by: cafkafk <christina@cafkafk.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/da/
Translation: Home Manager/Home Manager CLI
2022-09-19 22:24:39 +02:00
toonnandRobert Helgesson 9555918151 nix-darwin: simplify activation script invocation
In #587, kalbasit introduce the `-i` flag so the sudo invocation would
run in an environment with `HOME` set to the correct value for the
target user. This was necessary to be able to set up multiple users
without interfering with the invoking user's `HOME`.

In #807, I switched to `-s` instead because I managed to get an
invalid shell set for my user by switching `useUserPackages` from
`true` to `false` which changes the location where packages are
installed and `~/.nix-profile/bin/<my-shell>` was no longer valid.
This was based on the assumption that `SHELL` would be set to some
sensible value by Home Manager at this point. This turned out to be
false as reported in #2900.

In 0ced6d6d (this commit's parent at this time), I explicitly set
`SHELL` to `${pkgs.bash}` so it is definitely set to a good shell when
invoking the activation script.

However, #807 broke activation for multiple users, the original
motivation for `-i`, as reported in #2856. I fixed this in #2857 by
additionally passing `--set-home`.

Further discussion with rycee in #3040 made me realize that the
activation script already has a good Nix store bash shebang. So all
the problems have been caused, not by the shell used for the
activation script but by sudo trying to use a different shell at all.
`-i` uses the shell set in the `passwd` file for the target user, but
this can become invalid as happened to me. `-s` uses either `SHELL` if
it's defined or the invoking user's shell as set in the `passwd` file.
By explicitly setting this to a shell provided by Nix we make sure
we're not trying to launch a non-existent shell. However, we're
clearly already running in an existing shell and because of
`--set-home` we can activate other users properly so there's not
actually any need to try to have sudo start a different shell first,
it just adds an extra process that then goes on to run the activation
script with a good bash because of the shebang.

Dropping `-s` altogether and keeping `--set-home` should avoid all of
these issues.
2022-09-19 22:02:58 +02:00
toonnandRobert Helgesson 610b1d988c nix-darwin: improve invocation of activation script
In #807 I changed the flag passed to `sudo` from `-i` to `-s` so
`sudo` wouldn't use a non-existent shell defined in the `passwd` file.
kalbasit also reported in that PR that `-i` didn't work for them
anymore on an M1 Mac, presumably because Apple changed something in
newer versions of macOS.

Some users reported that this broke the behavior for them because
`SHELL` was set to a path that didn't even exist on their system. It's
unclear how this came to be but it shows that my assumption that
`SHELL` would be set to a reasonable shell by Home Manager at this
point in the activation is false.

As a way around this problem we can explicitly set `SHELL` when
running the activation script to a value that we know will be good,
like `${pkgs.bash}`.

One change in behavior this causes is that the activation script will
always be run by bash, not the user's shell. If the script is
generated by Home Manager this is fine since it can be generated
taking into account the supported set of functions and behaviors. If
the intent is for the activation script to possibly be run by non-bash
and even non-POSIX shells, like tcsh, ksh or Xonsh, then this fix will
not suffice. Turns out this is indeed an assumption made by Home
Manager, so this is the proper behavior.

Fixes #2900
2022-09-19 22:02:44 +02:00
Robert Helgesson 5427f3d1f0 mpd: use XDG music dir if XDG user dirs are enabled
If the user has enabled the XDG user directories module then we can
use the XDG music directory in the MPD module. Otherwise we'll leave
the option undefined so that the user is forced to define the
directory to use.

This applies to state version 22.11 and above.

Fixes #3225
2022-09-16 13:41:40 +02:00
Robert Helgesson b0247ceedc xdg.userDirs: avoid using $HOME
Instead of referencing the `HOME` environment variable, use the
`home.homeDirectory` option. This allows other modules to reference an
XDG user directory without having to support shell syntax.
2022-09-16 13:41:39 +02:00
github-actions[bot]andRobert Helgesson 5408e27961 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/90cd5459a1fd707819b9a3fb9c852beaaac3b79a' (2022-06-11)
  → 'github:nixos/nixpkgs/5f326e2a403e1cebaec378e72ceaf5725983376d' (2022-09-12)
• Updated input 'utils':
    'github:numtide/flake-utils/1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1' (2022-05-30)
  → 'github:numtide/flake-utils/c0e246b9b83f637f4681389ecabcb2681b4f3af0' (2022-08-07)
2022-09-15 09:37:01 +02:00
AndersonTorresandRobert Helgesson 6745da6dce rtorrent: change settings to extraConfig
Per NixOS RFC #42, settings should be reserved to structured settings,
whereas extraConfig is used for stringly configuration.
2022-09-15 09:25:46 +02:00
janabhumiandRobert Helgesson ebd7830814 exa: add package option 2022-09-15 09:15:09 +02:00
KiranandGitHub 60c6bfe322 zsh: add option for zsh-history-substring-search (#3156) 2022-09-13 16:06:52 -04:00
DrRuheandRobert Helgesson 9f7fe353b6 docs: replace use of # by $ sudo
The hope is that this makes it more obvious that these commands should
be run as the root user.
2022-09-09 23:34:29 +02:00
aabandGitHub b92826d0c4 codeowners: fix typo (#3215) 2022-09-09 09:16:35 -06:00
Mario RodasandRobert Helgesson f9f4c8e1e7 gallery-dl: add module
gallery-dl [1] is a cli to download image galleries from several image
hosting sites.

[1] https://github.com/mikf/gallery-dl
2022-09-09 11:56:37 +02:00
Mario RodasandRobert Helgesson 4cfc0a1e02 yt-dlp: add module
yt-dlp is a cli to download videos from YouTube.com and other sites.
2022-09-08 19:51:24 +02:00
Gabriel VolpeandRobert Helgesson 6ec6b2e362 nheko: add module 2022-09-08 19:09:30 +02:00
Charlie MoogandRobert Helgesson 340ec22f6f git: add config helper for hooks 2022-09-08 11:05:07 +02:00
arcnmxandRobert Helgesson 2e41a1bab3 systemd: handle Install.RequiredBy
Units with

    Install.RequiredBy = [ target ]

set will now be linked in the

    ${target}.requires

directory. Similar to how `Install.WantedBy` already causes a link in
the

    ${target}.wants

directory.
2022-09-08 10:39:57 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
22113a3ae3 ci: bump DeterminateSystems/update-flake-lock from 9 to 13 (#3188)
Bumps [DeterminateSystems/update-flake-lock](https://github.com/DeterminateSystems/update-flake-lock) from 9 to 13.
- [Release notes](https://github.com/DeterminateSystems/update-flake-lock/releases)
- [Commits](https://github.com/DeterminateSystems/update-flake-lock/compare/v9...v13)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-07 16:50:28 -04:00
de94878b6b editorconfig: add module (#3204)
Add a module to generate `~/.editorconfig` configuration file.

Co-authored-by: Robert Helgesson <robert@rycee.net>
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2022-09-06 07:50:36 -06:00
Erik RodriguezandGitHub 583a99f016 swayidle: allow wayland targets other than sway-session.target (#3202)
Allow another Wayland targets, as river-session.target or
hyprland-session.target, to use swayidle.service which is hard-coded to
sway-session.target.
2022-09-05 10:56:10 -06:00
Lily FosterandRobert Helgesson 140aaed3df git: gpg sign tags with signing.signByDefault set
The `tag.gpgSign` config option was added in Git 2.23.0 and seems like
it should be set in addition to `commit.gpgSign` when
`programs.git.signing.signByDefault` is enabled
2022-09-05 14:52:39 +02:00
Gaetan LepageandRobert Helgesson de079ec371 btop: add module 2022-09-05 14:34:37 +02:00
Robert Helgesson 960c009ce0 git-sync: minor test cleanup 2022-09-05 13:51:03 +02:00
cabandRobert Helgesson 66cc5c7ef9 git-sync: add ssh to path
This fixes automated pushing to repository.
2022-09-05 13:15:40 +02:00
Linus HeckemannandRobert Helgesson f9a35cacdc msmtp: allow sending email from aliased addresses 2022-09-05 12:50:09 +02:00
Jim FowlerandRobert Helgesson 7b512c94ff gpg-agent: invert grab and no-grab behavior
The GNU Privacy Guard 2.3 man page for `gpg-agent` describes the
`--grab` and `--no-grab` options as follows:

> Tell the pinentry to grab the keyboard and mouse. This option should
> be used on X-Servers to avoid X-sniffing attacks. Any use of the
> option --grab overrides an used option --no-grab. The default is
> --no-grab.

Therefore Home Manager should explicitly output `grab` when
`cfg.grabKeyboardAndMouse` is true. Previously Home Manager emitted
`no-grab` when `cfg.grabKeyboardAndMouse` was false.

PR #3192
2022-09-05 12:12:48 +02:00
pleshevskiyandGitHub 5bd66dc6cd email: fix the office365 smtp host (#3191) 2022-08-29 21:48:12 -04:00
Matthew TooheyandGitHub d89bdff445 sway, bspwm: add extraConfigEarly (#2847) 2022-08-27 00:09:46 -04:00
MaxCan-CodeandGitHub 8e4220e6c6 flake: add templates (#2892)
Add example flakes from `docs/nix-flakes.adoc` as templates.
2022-08-26 22:37:16 -04:00
Ryan HoriguchiandGitHub 375631f35b firefox: support nested folders in bookmarks (#3112) 2022-08-26 21:28:57 -04:00
Matthieu CoudronandGitHub 0884d6c6e4 programs.neovim: remove 'configure' setting (#3177)
everything is now covered by other settings that are more user friendly
than this big opaque attrset.

Also 'configure' wont do anything with nixpkgs-unstable the way HM
configures neovim. so no need to keep it, the deprecation warning is > 1
year old.
2022-08-26 22:11:34 +02:00
Ronny PfannschmidtandGitHub 5bb1f67568 git: add option to define store names for generated include files (#3171)
This allows to use gitconfig/gitconfig-some-intent
as store path suffixes for the texts.
2022-08-26 15:48:50 -04:00
Loïc ReynierandRobert Helgesson 3d3bbdfe95 clipmenu: add launcher option
This adds an option to set the launcher command for Clipmenu
(which is set with the `CM_LAUNCHER` session variable).
2022-08-26 00:52:29 +02:00
Matthieu CoudronandRobert Helgesson 4c8c1c9977 kitty: produce fewer empty lines
This generates a more compact configuration file.
2022-08-26 00:17:05 +02:00
Robert Helgesson 76fbb1b15e treewide: replace <link> by <xref> where appropriate 2022-08-26 00:07:08 +02:00
AndersonTorresandRobert Helgesson 7bb4576f46 pueue: add module 2022-08-25 23:09:25 +02:00
Dmitriy PleshevskiyandRobert Helgesson ae474885f7 email: add yandex and office365 email flavors 2022-08-25 21:17:42 +02:00
Pedro Lara CamposandGitHub c5b4177bda i3-sway: allow "container" and "output" in focus.mouseWarping (#3154)
Allow specifying which kind of mouseWarping to use since sway
supports `mouse_warping output|container|none`.
2022-08-25 15:02:04 -04:00
Filippo BertoandGitHub b382b59faf service.xidlehook: add detect-sleep option (#3165)
Add detect sleep configuration option. Allows to execute the specified commands with more accurate timings if the system wakes from a sleep state.
2022-08-24 15:56:45 -04:00
Robert Helgesson 1d81e6295c udiskie: add test path to CODEOWNERS 2022-08-24 08:50:22 +02:00
Matthieu CoudronandGitHub 353d21e108 neovim runtime (#3168) 2022-08-23 22:02:05 +02:00
Lily FosterandRobert Helgesson 8ea0e4d6d8 udiskie: fix configuration file path typo 2022-08-23 20:11:41 +02:00
Lily FosterandRobert Helgesson 991ff35249 udiskie: add tests 2022-08-23 20:11:40 +02:00
Lily FosterandRobert Helgesson ee8e99add5 udiskie: make dependency on tray.target conditional
Specifically, it is unnecessary to have the dependency when the
udiskie tray applet is disabled.
2022-08-23 20:11:04 +02:00
Imran HossainandGitHub 0160a0cef0 Add flake.lock & workflow to update it (#1934) 2022-08-22 22:49:13 +02:00
Sumner EvansandGitHub 688e5c85b7 neovim: fix tests (#3147)
https://github.com/NixOS/nixpkgs/pull/184364 broke the tests

Closes #3146

Signed-off-by: Sumner Evans <me@sumnerevans.com>
2022-08-15 08:41:57 -06:00
Gaetan LepageandRobert Helgesson ff5133843c zathura: add mappings option 2022-08-14 21:27:06 +02:00
Chua HouandRobert Helgesson 44dcad5604 wezterm: support color schemes
Allows users to specify TOML color schemes using Nix.
2022-08-14 20:57:22 +02:00
amesgenandRobert Helgesson 8675cfa549 gh: add extensions option 2022-08-12 20:49:50 +02:00
amesgenandRobert Helgesson 78f964347c tests.stubs: set pname 2022-08-12 20:49:49 +02:00
Lukas NagelandGitHub 324fedcf9f Add module for aerc (#3070)
This adds support for configuring email accounts, with automatic smtp, imap,
sendmail (msmpt) and maildir (mbsync, offlineimap) setup in aerc,
via `accounts.email`.
2022-08-11 23:08:28 +02:00
Bernardo MeurerandRobert Helgesson c1addfdad3 gammastep: wait on geoclue-agent when configured 2022-08-08 19:08:04 +02:00
AndersonTorresandRobert Helgesson 389f2b2037 bashmount: add module 2022-08-08 18:13:21 +02:00
Robert Helgesson f5e9879e74 bash: support bash completion 2022-08-07 15:25:44 +02:00
Hemanth BollamreddiandRobert Helgesson d9e03b7f8c wezterm: add module 2022-08-07 11:11:56 +02:00
Robert Helgesson 91f26e0b0e polybar: use add .ini suffix to configuration file
The old name is deprecated and causes a warning to be logged.
2022-08-07 10:51:38 +02:00
Sky LeiteandGitHub d8d9ff0b2d tint2: correctly reference the provided package (#3125) 2022-08-02 20:01:13 -04:00
Lily FosterandGitHub 77648a07e4 hyfetch: prevent writing config with default/empty settings (#3124) 2022-08-01 19:58:38 -04:00
Lily FosterandRobert Helgesson d1c677ac25 hyfetch: add module 2022-08-01 18:38:42 +02:00
Moïse ValvassoriandGitHub 7146638e9e Fix typo. (#3118) 2022-07-30 18:49:20 -07:00
Gabriel ArazasandRobert Helgesson 0e2f7876d2 recoll: add module 2022-07-27 14:25:27 +02:00
hab25andRobert Helgesson b13946438f docs: improve contributing documentation
- Fix name of file generated by `$ nix-build -A docs.manPages`.

- Note "Capitalize the subject line" as an exception to the seven
  rules. Not even the example commit message (closely below this
  change) follows this rule.
2022-07-27 14:10:32 +02:00
Naïm FavierandRobert Helgesson 119febc464 vscode: avoid unnecessary IFD (again)
Fixed in https://github.com/nix-community/home-manager/pull/2506 then
unfixed in https://github.com/nix-community/home-manager/pull/2613
2022-07-27 13:51:19 +02:00
Tom WieczorekandTom Wieczorek 0b7fd187e2 xdg-mime-apps: fix regex in mimeAssociations
The XDG Desktop Entry spec mentions that multiple values per key may be
optionally terminated by a semicolon. An example for this is the Firefox
desktop file, which has no trailing semicolon. This breaks the sed regex
used in `mimeAssociations`.

Fix the regex by matching the end of string, optionally preceded by a
semicolon, or any other semicolon. This makes it work with both
semicolon-terminated and non-semicolon-terminated desktop files.
2022-07-26 10:08:25 +02:00
Naïm FavierandRobert Helgesson dbed4c794d xdg-user-dirs: create directories after linkGeneration
In the scenario where some XDG user directory is a symlink defined by
`home.file`, we want the symlink to be created before we try to
`mkdir -p` that directory, as it will then silently succeed. On the
other hand, if we create the directory first, creating the symlink
will fail.

We lose nothing by doing this as `linkGeneration` creates the
directories it needs.
2022-07-25 14:18:36 +02:00
linjandRobert Helgesson 8419dfd39d fish: enable manpage completion
This patch follows a similar patch[1] in nixpkgs. With this patch,
fish can complete manpages for programs installed through
home-manager, e.g., using home.packages.

[1]: https://github.com/NixOS/nixpkgs/pull/91794
2022-07-25 13:54:51 +02:00
Loïc ReynierandRobert Helgesson a3b778e672 spectrwm: add module
PR #3077
2022-07-25 13:42:06 +02:00
midchildanandRobert Helgesson 572f348a10 darwin: add support for 'defaults -currentHost' options
Closes #2615
2022-07-24 15:17:21 +02:00
Noah FontesandRobert Helgesson 1d3380afba flake: fix self referential lib output
In https://github.com/nix-community/home-manager/pull/2859, the
library became self-referential, so we need to use the stdlib-extended
helper instead of importing directly.
2022-07-24 14:38:51 +02:00
Ryan HoriguchiandRobert Helgesson d86c189158 firefox: support showing bookmarks on toolbar 2022-07-23 15:28:14 +02:00
rcercandRobert Helgesson 218cb3aee2 firefox: fix empty check of bookmarks list 2022-07-23 15:22:31 +02:00
rcercandRobert Helgesson f91fb470bc firefox: use coercedTo to convert bookmarks to a list 2022-07-23 15:22:23 +02:00
Robert Helgesson f47611fb17 github: fix line wrapping 2022-07-23 15:16:19 +02:00
Naïm FavierandRobert Helgesson 9cf40a43fc github: ensure using the right branch of Home Manager 2022-07-23 15:14:45 +02:00
Naïm FavierandRobert Helgesson 70d5929885 integration-common: set hmModule's description directly
Removes the hack after https://github.com/NixOS/nixpkgs/pull/173621
landed.

(cherry picked from commit 0434f8e4ca)
2022-07-19 15:44:01 +02:00
rcercandRobert Helgesson 4a724cb84c lib: improve DAG library
Specifically,

- directly export `modules/lib/dag.nix` instead of renaming
  attributes,

- run through utilities to reuse code where possible,

- expose `lib.hm.dag.isEntry` and reuse it in
  `modules/lib/types-dag.nix`,

- reuse utilities through `lib` set instead of passing imports to
  functions, and

- eta reduction of `map`, `entryAnywhere`, `entryAfter` and
  `entryBefore`.
2022-07-18 15:32:48 +02:00
Robert Helgesson 30dda628bc home-manager: add ncurses to PATH
Fixes #3097
2022-07-18 15:18:05 +02:00
h7x4andRobert Helgesson 64c745fe1c firefox: add support for nested bookmarks
Change type of `firefox.profile.<name>.bookmarks` to allow for nested
bookmarks with user defined order.
2022-07-18 14:55:54 +02:00
rcercandRobert Helgesson 4c5106ed0f firefox: reuse escapeXML from Nixpkgs 2022-07-15 14:11:50 +02:00
WeblateandHosted Weblate 8385408c65 Add translation using Weblate (Dutch)
Co-authored-by: Weblate <noreply@weblate.org>
2022-07-13 15:34:00 +02:00
Frederik EngelsandHosted Weblate 3b5330c80f Translate using Weblate (Dutch)
Currently translated at 25.0% (8 of 32 strings)

Translate using Weblate (German)

Currently translated at 100.0% (32 of 32 strings)

Add translation using Weblate (Dutch)

Co-authored-by: Frederik Engels <frederik.engels92@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/de/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/nl/
Translation: Home Manager/Home Manager CLI
2022-07-13 15:34:00 +02:00
Jonas HeinrichandRobert Helgesson 2c94b9801f librewolf: add module 2022-07-13 15:31:25 +02:00
ashandRobert Helgesson 66d7007e43 mpv: prohibit string values in scripts
Strings as scripts don't currently work, and probably haven't worked
since b567d273 (mpv: use wrapMpv instead of mpv-with-scripts,
2020-05-31).
2022-07-13 14:52:46 +02:00
ashandRobert Helgesson 241a375f49 keychain: set SHELL correctly in bash and zsh
bash and zsh apparently handle command substitution slightly differently
than fish. in bash/zsh:

$ export FOO=x
$ FOO=y echo $(sh -c 'echo $FOO')
x

whereas in fish:

$ export FOO=x
$ FOO=y echo $(sh -c 'echo $FOO')
y

so we have to assign $SHELL within the substitution for bash and zsh.
2022-07-13 14:35:52 +02:00
Robert Helgesson 602f2ce59c docs: note support for 2.4 or later for Flake 2022-07-12 23:35:46 +02:00
Fisher SunandRobert Helgesson d6d600e76d docs: remove bit about Nix 2.4 not being supported
With #2840, Nix 2.4 is supported.
Resolves #3061.

Signed-off-by: Fisher Sun <fisher521.fs@gmail.com>
2022-07-12 23:32:47 +02:00
Sumner EvansandRobert Helgesson d4081057e5 codeowners: cleanup alphabetization
Signed-off-by: Sumner Evans <me@sumnerevans.com>
2022-07-12 22:43:24 +02:00
Bryton HallandRobert Helgesson b8bb5f291a xdg-desktop-entries: allow icon path type 2022-07-12 22:13:34 +02:00
Sumner EvansandRobert Helgesson c5fc157554 picom: fix option name
The `services.picom.opacityRule` option was renamed to
`services.picom.opacityRules`.

This was missed in #2939

Signed-off-by: Sumner Evans <me@sumnerevans.com>
2022-07-12 21:26:31 +02:00
Nick CaoandRobert Helgesson 1e66e035e1 gpg-agent: set Environment to a list 2022-07-12 12:26:36 +02:00
Robert Helgesson 45ef70cc73 swayidle: remove unnecessary config wrapper 2022-07-12 12:02:01 +02:00
Joe NeemanandRobert Helgesson 43ea4c5123 swayidle: fix systemd service
swayidle executes commands using "sh -c" and so its PATH must contain
a shell. This adds such PATH entry to the environment of the systemd
service.

Fixes #2811.
2022-07-12 12:01:04 +02:00
Naïm FavierandRobert Helgesson 6311f4adc3 lib/types: make DAG entries mergeable
Removes the `uniq` constraint on `after` and `before` so that we can
merge multiple definitions for the same DAG entry:

    {
      dag = mkMerge [
        {
          foo = lib.hm.dag.entryBefore [ "bar" ] {
            # definition 1
          };
        }
        {
          foo = lib.hm.dag.entryBefore [ "qux" ] {
            # definition 2
          };
        }
        {
          foo = {
            # definition 3
          };
        }
      ];
    }

In this example `foo` will come before `bar` and `qux`.
2022-07-12 11:47:38 +02:00
Thiago Kenji OkadaandRobert Helgesson 177f1887d4 compton: remove
This module was deprecated since release 20.03 according to the news, so
it can be removed.
2022-07-12 11:21:50 +02:00
Thiago Kenji OkadaandRobert Helgesson b908e61dfa picom: sync module with the NixOS version
This brings a few advantages:

- Use of float instead of strings to represent float values,

- Use of structure settings, and

- Better type checking for some settings

Also add thiagokokada as codeowner of picom.
2022-07-12 11:21:49 +02:00
CongeeandRobert Helgesson 0639aa34f1 git: add option to set difftastic display setting 2022-07-12 10:48:26 +02:00
OKA, NETSURFER AND OBSERVER, FRONTEND, DEVELOPER (DOTFILES,OSINT,OSS), KEYBASE: (3B0E8E0895DAC8B8)Hosted WeblateOKA, NETSURFER AND OBSERVER, FRONTEND, DEVELOPER (DOTFILES,OSINT,OSS), KEYBASE: (3B0E8E0895DAC8B8) <tetrapasta02@gmail.com>
c645cc9f82 Translate using Weblate (Japanese)
Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: OKA, NETSURFER AND OBSERVER, FRONTEND, DEVELOPER (DOTFILES,OSINT,OSS), KEYBASE: (3B0E8E0895DAC8B8) <tetrapasta02@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ja/
Translation: Home Manager/Home Manager CLI
2022-07-09 21:48:06 +02:00
Turmoil NailsisandHosted Weblate f2b216c320 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
2022-07-09 21:48:06 +02:00
Shamrock LeeandRobert Helgesson 8d5b07fc83 tests: fix impurity of _module.args.pkgsPath 2022-07-09 16:30:17 +02:00
Maxime BrunetandGitHub 8160b3b45b zsh: source zsh-syntax-highlighting at the end of .zshrc (#3068)
zsh-syntax-highlighting.zsh must be sourced at the end of the .zshrc file, otherwise widgets created after are not properly highlighted (e.g. from oh-my-zsh): https://github.com/zsh-users/zsh-syntax-highlighting#faq
2022-07-07 18:57:27 -06:00
oxalicaandGitHub 25a9948361 sway: import dbus env vars and explicitly specify them (#3031)
- Importing all environment variables is considered deprecated for
  `systemdctl import-environment`. The list of variables are picked
  from:
  https://github.com/swaywm/sway/wiki/Systemd-integration#managing-user-applications-with-systemd

  The `XDG_CURRENT_DESKTOP` is said to be required for portals, see:
  https://github.com/nix-community/home-manager/pull/2385#issuecomment-1026454162

- DBus activation environment should also be updated. Otherwise, DBus
  activated programs, without a coresponding systemd service, cannot get a
  correct environment and would fail, eg. `mako`.
2022-07-07 11:03:58 -06:00
Julio Borja BarraandGitHub 12cfcc1b9d fusuma: fix settings example (#3067) 2022-07-07 00:55:01 -06:00
Philipp MildenbergerandGitHub ef990143b6 nushell: fix non-nullable configFile and envFile, fixes #3050 (#3060) 2022-07-07 00:49:50 -06:00
Naïm Camille FavierandGitHub face4094d4 bspwm: add missing rule setting rectangle (#2974)
Also add a `freeformType` so that we don't have to do this in the
future.
2022-07-06 23:36:20 -04:00
Robert Helgesson f2445620d1 redshift: remove petabyteboy from maintainers 2022-07-04 11:39:38 +02:00
Philipp MildenbergerandRobert Helgesson 3bf16c0fd1 udiskie: add option settings
Adds option settings, which writes settings to
.config/udiskie/config.yml.

Note, the option takes precedence against other options like notify,
automount or tray if they are configured in settings.program_options.
2022-06-28 00:12:57 +02:00
Robert Helgesson be3adf9920 Revert "integration-common: set hmModule's description directly"
This reverts commit 0434f8e4ca.
2022-06-27 08:58:54 +02:00
Robert Helgesson 9550595502 docs,tests: fetch nmd and nmt using fetchTarball
This simplifies the code a bit and avoids using experimental Flake
functionality. If Flakes become stable before NixOS 22.11 then we can
consider having nmd and nmt as Flake inputs. Maybe could then also
avoid the need for flake-compat.
2022-06-26 22:22:46 +02:00
Naïm FavierandRobert Helgesson 0434f8e4ca integration-common: set hmModule's description directly
Removes the hack after https://github.com/NixOS/nixpkgs/pull/173621
landed.
2022-06-26 21:39:20 +02:00
Kylie McClainandRobert Helgesson 0ca0b91088 sctd: add module
This adds a module for enabling the `sctd` daemon, as well as setting
the preferred base temperature.
2022-06-26 21:29:50 +02:00
Pol DellaieraandRobert Helgesson 72a135b093 docs: fix homeManagerConfiguration documentation 2022-06-26 20:05:31 +02:00
Ilan JoselevichandRobert Helgesson 1dbac84b84 mpd-discord-rpc: restart on failure 2022-06-26 01:24:29 +02:00
Naïm FavierandRobert Helgesson f26946858e flake: remove superfluous arguments
Remove `stateVersion`, `username`, and `homeDirectory` as they can be
set in the configuration directly. Together with the previous commit,
this makes setting `stateVersion` explicitly mandatory.

Also replace `configuration` by `modules`, which expects a list of
Home Manager modules.

Also remove `system` which was made useless by #3028.
2022-06-26 01:01:57 +02:00
Naïm FavierandRobert Helgesson e0baf8ee0c docs: disable _module.check for nixos/nix-darwin modules
Currently we're maintaining a "mock" module made of sink options,
which requires updating whenever the definitions in the
nixos/nix-darwin modules change.

Instead, set `_module.check` to false so that definitions in those
modules are simply ignored.
2022-06-25 11:47:47 +02:00
David BaynardandRobert Helgesson da55d18ba2 docs: fix typo in nix-darwin flake
The nix-darwin documentation uses `darwin` not `nix-darwin` to refer
to its own flake, and so this is now consistent (and correct) and uses
`darwin`.
2022-06-25 11:17:37 +02:00
Matthew TooheyandRobert Helgesson 223b9deead pistol: add module 2022-06-25 01:00:32 +02:00
Michael ForsterandRobert Helgesson 65bcfaccc5 micro: add module
This adds initial bare-bones support for the `micro` editor.
2022-06-24 19:19:11 +02:00
Samuel TschiedelandRobert Helgesson fd047c84f7 mcfly: add fuzzy search factor option
Per the [docs], MCFLY_FUZZY is no longer a boolean, taking now a
positive integer that controls the fuzziness factor.

[docs]: https://github.com/cantino/mcfly#fuzzy-searching

Co-authored-by: Robert Helgesson <robert@rycee.net>
2022-06-24 18:22:15 +02:00
Nick BathumandGitHub e622bad163 neovim/coc: fix withNodeJs value when enabling coc (#3048) 2022-06-22 14:14:18 -06:00
Alex Martens 06bb67ab24 flake.lock: use SRI hash for nmd 2022-06-21 17:46:39 -07:00
Robert Helgesson 77f1c7636a docs: bump nmd 2022-06-22 01:15:25 +02:00
Eliza VelasquezandRobert Helgesson d059b9448a mujmap: add module
mujmap is a tool that synchronizes mail between a mail server and
notmuch via JMAP. It's very similar to lieer, so I heavily based the
implementation of the notmuch module on lieer's. I did not include an
equivalent to lieer's periodic synchronization service, however,
because I plan to soon introduce a daemon mode to mujmap.

https://github.com/elizagamedev/mujmap
2022-06-22 00:33:10 +02:00
Robert HelgessonandEliza Velasquez 467617947d email: add support for JMAP
Co-authored-by: Eliza Velasquez <4576666+elizagamedev@users.noreply.github.com>
2022-06-22 00:13:22 +02:00
KritnichandRobert Helgesson 1ebbef8642 barrier: change enableCrypto behaviour
`--enable-crypto` is deprecated because crypto is now enabled by default.
`--disable-crypto` should be used instead.
Fixes https://github.com/nix-community/home-manager/issues/3001
2022-06-21 21:59:19 +02:00
Dominik SchrempfandRobert Helgesson 206ded407e dunst: fix settings example 2022-06-21 21:41:32 +02:00
Lily FosterandRobert Helgesson ce563f5911 mopidy: add support for extraConfigFiles 2022-06-21 01:04:56 +02:00
Shamrock LeeandRobert Helgesson 60b064249d treewide: remove trailing white spaces and tabs 2022-06-21 00:55:32 +02:00
Philipp MildenbergerandRobert Helgesson 931e610552 nushell: update configuration management
Recent versions of nushell uses a different configuration setup. This
commit adjusts the module to match.

Fixes #2952
Fixes #2837
2022-06-21 00:39:00 +02:00
Robert Helgesson 3c710201d5 version: remove default value
The user should always explicitly set the state version they wish to
use. Indeed, the configuration generated by the Home Manager install
script has set this option for a long time. This removal should
therefore not affect many users.
2022-06-21 00:06:53 +02:00
Robert Helgesson 3d8265c5ef email: minor formatting fix 2022-06-20 00:56:57 +02:00
Naïm Camille FavierandRobert Helgesson ce8266dedc docs: revert to # prompt on NixOS 2022-06-20 00:35:04 +02:00
Robert Helgesson 5197e5df7d Bump .release file
Fixes #3033
2022-06-19 01:27:57 +02:00
Damien CassouandRobert Helgesson 931653b99f emacs: optionally start service with the session
Add services.emacs.startWithUserSession boolean to indicate that Emacs
must be started with the systemd user session. This is true by default
unless socket activation is also true.

In the past, the user had to choose between socket activation (to get
the Emacs service started when the user uses emacsclient) and
immediate start with the user session. When choosing immediate start
over socket activation and if the Emacs service is stopped at some
point, using emacsclient would start a new Emacs daemon but the
service would still be turned off. This situation would prevent
`home-manager switch` from completing successfully because it wouldn't
be able to start the Emacs service as Emacs is already running.

This new setting makes it possible to have both socket activation and
immediate start at the same time. In this scenario, Emacs is started
with the user session and, after the Emacs service is stopped, using
emacsclient starts the service again.

This new settings also makes it possible to have neither socket
activation nor immediate start.
2022-06-19 01:09:41 +02:00
Naïm FavierandRobert Helgesson 586ac1fd58 Move integration-common.nix to nixos/common.nix 2022-06-19 00:45:18 +02:00
Naïm FavierandRobert Helgesson 69e804839e flake: don't reinstantiate nixpkgs
See https://zimbatm.com/notes/1000-instances-of-nixpkgs for
motivation.
2022-06-19 00:45:09 +02:00
Naïm FavierandRobert Helgesson 2ff38c646f flake: make pkgs required in homeManagerConfiguration
Prevents Home Manager from pinning Nixpkgs on behalf of users, see

  https://github.com/nix-community/home-manager/pull/2971#discussion_r898556798
2022-06-19 00:44:29 +02:00
Naïm FavierandRobert Helgesson a0e7ffe7aa docs: use $ prompts for nix-channel commands
Channels should be added for the normal user, not for root, because the
home-manager configuration is not supposed to be evaluated as root.

Fixes https://github.com/nix-community/home-manager/issues/2985
2022-06-18 20:59:51 +02:00
Naïm Camille FavierandGitHub 1de492f6f8 format: update and remove exceptions (#3029)
Switches to nixfmt 0.5.0 and removes exceptions for files without open
PRs.
2022-06-16 14:13:06 +02:00
Nikolay KorotkiyandHosted Weblate 504d6de6a0 Add translation using Weblate (Finnish)
Co-authored-by: Nikolay Korotkiy <sikmir@gmail.com>
2022-06-15 23:44:58 +02:00
Leix bandHosted Weblate a9b027b826 Translate using Weblate (Catalan)
Currently translated at 100.0% (32 of 32 strings)

Translate using Weblate (Catalan)

Currently translated at 12.5% (4 of 32 strings)

Co-authored-by: Leix b <abone9999@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ca/
Translation: Home Manager/Home Manager CLI
2022-06-15 23:44:58 +02:00
WeblateandHosted Weblate 68edbc7f28 Add translation using Weblate (Finnish)
Add translation using Weblate (Catalan)

Co-authored-by: Weblate <noreply@weblate.org>
2022-06-15 23:44:57 +02:00
Leix bandHosted Weblate 1342f4a07c Translate using Weblate (Catalan)
Currently translated at 100.0% (14 of 14 strings)

Add translation using Weblate (Catalan)

Co-authored-by: Leix b <abone9999@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ca/
Translation: Home Manager/Home Manager Modules
2022-06-15 23:44:57 +02:00
Matthieu CoudronandGitHub 07dbd4c0dd pywal: fixed i3 config (#3002)
module was never imported and thus useless. This adds a neovim plugin too.
2022-06-15 23:44:52 +02:00
André SilvaandGitHub 87d30c1648 nixos: fix fontconfig mkDefault call (#3021) 2022-06-14 11:34:44 +02:00
SandroandGitHub cd3dd2188c nixos: allow setting fonts.fontconfig.enable without mkForce (#3014) 2022-06-13 20:00:51 +02:00
Thiago Kenji OkadaandGitHub 935ecea67d neovim: add missing literalExpression in module docs (#3012) 2022-06-13 19:57:41 +02:00
rcercandGitHub 70824bb5c7 swaylock: Add module (#3003) 2022-06-07 21:01:14 +02:00
Naïm Camille FavierandGitHub 64ab7d6e8d Prepare inclusion in nixos-search (#2971)
* Add flake.lock and clean up flake.nix

Add a lockfile to work around https://github.com/NixOS/nix/issues/6541
(and because it's a good idea anyway).

Also use flake-utils, and restrict ourselves to the five platforms
supported by nixpkgs. Otherwise, the IFD for nmd fails on weird
platforms. This fixes `nix flake check`.

Remove the redundant `apps` output, see https://github.com/nix-community/home-manager/pull/2442#issuecomment-1133670487

* nixos,nix-darwin: factor out into a common module

* nixos,nix-darwin: make `home-managers.users` shallowly visible

Make sure the option is included in the NixOS/nix-darwin manual (but the
HM submodule options aren't).

Also add a static description to the HM submodule type so that we don't need to
evaluate the submodules just to build the option manual. This makes
nixos-search able to index the home-manager flake.

Also clean up some TODOs.

* flake: add nmd and nmt

This avoids having to use `pkgs.fetchFromGitLab` in an IFD, which causes
issues when indexing packages with nixos-search because `pkgs` is
instantiated with every platform.
2022-06-07 20:45:06 +02:00
Kylie McClainandGitHub 2070389247 htop: add missing fields (#2989)
These new fields were added in htop 3.0.3 (PERCENT_NORM_CPU) and
3.1.0 (ELAPSED).
2022-06-05 11:50:13 +02:00
Roman JoostandGitHub a3638db009 Use newer getmail6 over getmail package (#2982)
The `getmail` package will soon be removed from nixpkgs. The
`nixos-unstable` channel already has it removed and using the service
will result in:

    error: getmail has been removed from nixpkgs, migrate to getmail6

Upgrade to the getmail6 package which is already available and backwards
compatible.
2022-06-05 11:48:58 +02:00
Robert Helgesson 684e85d01d docs: set 22.11 as next version 2022-06-01 21:56:46 +02:00
Robert Helgesson ac2287df5a docs: set 22.05 as stable version 2022-06-01 21:56:45 +02:00
Robert Helgesson 1808cb66aa news: remove a bunch of old (>1 year) entries 2022-06-01 21:56:45 +02:00
Robert Helgesson acad715f78 docs: update copyright year 2022-06-01 21:42:55 +02:00
Jakub KozłowskiandRobert Helgesson 8f3e267051 doc: make documentation links more visible 2022-05-30 22:48:07 +02:00
NomisIV bda2c80b4c himalaya: fix account.folders to new config syntax 2022-05-30 21:06:52 +02:00
midchildanandRobert Helgesson 64831f938b emacs: allow extraConfig to reference extraPackages
This fixes the issue described in

  https://github.com/nix-community/home-manager/pull/1758#issuecomment-1113706592
2022-05-26 00:34:17 +02:00
KidandRobert Helgesson 51ea4217f7 docs: fix README links 2022-05-25 21:49:42 +02:00
Robert Helgesson 2c8489e57a mpdris2: add basic test cases 2022-05-25 18:43:22 +02:00
Erwin BoskmaandRobert Helgesson 9042c756fa mpdris2: remove assertion on mpd module 2022-05-25 18:32:34 +02:00
Erwin BoskmaandRobert Helgesson d73ba6a534 mpdris2: add password option 2022-05-25 18:32:33 +02:00
Robert Helgesson e66f0ff69a docs: bump nmd 2022-05-23 23:09:24 +02:00
Sumner EvansandGitHub 94780dd888 neovim/coc: add package option (#2972) 2022-05-21 11:12:29 -06:00
Naïm Camille FavierandHosted Weblate 02b15de8ad Translate using Weblate (French)
Currently translated at 100.0% (14 of 14 strings)

Co-authored-by: Naïm Camille Favier <n@monade.li>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/fr/
Translation: Home Manager/Home Manager Modules
2022-05-19 23:44:42 +02:00
Yubo-CaoandHosted Weblate 97fac4f282 Translate using Weblate (Chinese (Simplified))
Currently translated at 92.8% (13 of 14 strings)

Co-authored-by: Yubo-Cao <Cao2006721@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/zh_Hans/
Translation: Home Manager/Home Manager Modules
2022-05-19 23:44:42 +02:00
Roman TimushevandRobert Helgesson e6869735d2 htop: fix darwin defaults
M_SHARE is not a valid column on Darwin. It seems that previously htop
ignored unknown columns, but the current version does not display all
subsequent columns.
2022-05-19 23:33:20 +02:00
Gabriel ArazasandRobert Helgesson cb9f03d519 mopidy: add module
This is adapted from the `services.mopidy` NixOS module. The
difference is the setting can be configured with Nix language, taking
advantage of generators from nixpkgs. The module is also suited more
for user-specific configuration, removing the `extraConfigFiles` and
`dataDir` option.
2022-05-19 00:31:37 +02:00
Peng GuanwenandHosted Weblate 32a7da69dc Translate using Weblate (Chinese (Simplified))
Currently translated at 85.7% (12 of 14 strings)

Co-authored-by: Peng Guanwen <pg999w@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/zh_Hans/
Translation: Home Manager/Home Manager Modules
2022-05-13 16:27:27 +02:00
Sumner EvansandGitHub 273598f53e mako: add package option (#2955) 2022-05-13 08:27:23 -06:00
Matthieu CoudronandGitHub f735a8502b programs.pywal: init (#2949) 2022-05-10 22:24:19 +02:00
Markus SchererandGitHub 4293902b64 offlineimap: remove dependency on python2 (#2909) (#2951) 2022-05-10 09:30:40 +02:00
Aidan GaulandandGitHub 882bd8118b gtk: Update example strings for gtk.theme.package (#2904)
- Change the example value of `gtk.theme.package` from
`pkgs.gnome.gnome_themes_standard` was an alias that was removed on 2022-01-13,
`pkgs.gnome-themes-extra`, which references the actual package.

- Change the example value of `gtk.icon.package` from `pkgs.adwaita-icon-theme` to
`pkgs.gnome.adwaita-icon-theme`, as this package is in the `gnome` package set.
2022-05-06 21:27:31 -04:00
mgurlitzandGitHub 538343be86 Make sway onChange script use cfg.package if set (#2937) 2022-05-05 21:29:20 -04:00
Nicolas BerbicheandGitHub 4036f1a751 home-cursor: fix x11 cursor path using invalid option (#2940) 2022-05-05 21:15:51 -04:00
Robert Helgesson 267462dfb3 cursor: fix coercion error
Fixes #2934
2022-05-04 10:16:32 +02:00
polykernelandGitHub c13ffa3ed4 home.pointerCursor: init (#2891)
* home.pointerCursor: init

The current architecture for cursor configurations is composed of individual
options for different backends. For example, X specific settings are managed under
`xsession.pointerCursor` and gtk specific settings are managed under `gtk.cursorTheme`.
While this architecture is modular, it causes duplication of similar structures for
each component. In theory, this provides flexibility because the components are independent
of each other which can be arranged in arbitrary ways to achieve the desired result.
However in practice, users wish to have one cursor theme applied to their entire system
The duplication of options correspond to duplication of settings on the user side and it
becomes a burden to keep track of all necessary settings.

This commit is an attempt to unify cursor configurations for different window systems and
GUI toolkits based on https://github.com/nix-community/home-manager/pull/2481#issuecomment-978917480.
`home.pointerCursor` is introduced as the interface for all cursor configurations.
It contain all options relevant to cursor themes with eneral options delcared under `home.pointerCursor.*`
and backend specific options declared under `home.pointerCursor.<backend>.*`. By default, a backend
independent configuration is generated. Backend specific configurations can be toggled via the
`home.pointerCursor.<backend>.enable` option for each backend. This was decided over using a
list of enums because it allows easy access to the state of the backend. Note generating different
cursor configurations for different backends is still possible by defining only `home.pointerCursor`
and managing the respective options manually.

* xcursor: migrate options to home.pointerCursor

- Removed `xession.pointerCursor` as x11 cursor configurations are now handled in `home.pointerCursor.x11`.
- Updated `meta.maintainer` field in `home.pointerCursor` and CODEOWNERS.
2022-05-03 18:29:17 -04:00
arjan-sandGitHub ac722cddf4 swayidle: Fix position of extraArgs (#2932) 2022-05-03 11:20:46 -06:00
Robert Helgesson 0304f0f58b specialization: add module
This module adds basic support for configuration specializations.
These allow the user to build multiple alternative configurations that
should be part of the same generation.
2022-05-03 00:42:23 +02:00
Theodore NiandRobert Helgesson af828536ed fish: generate fish completions using python 3 2022-05-02 23:37:39 +02:00
Arjan SchrijverandRobert Helgesson 5872aad1d0 git: add option to use diff-so-fancy as diff tool
Add the option to use diff-so-fancy as diff tool in git. This makes
the shown diffs human readable instead of machine readable.
2022-05-02 23:08:08 +02:00
Robert Helgesson d7b97de51a tealdeer: add news entry 2022-05-02 22:56:40 +02:00
Mario RodasandGitHub 26858fc0db tealdeer: add module (#2928) 2022-05-01 08:27:04 -06:00
crazymanjinnandGitHub df6010551d gpg-agent: make shell integrations optional (#2927)
In esoteric setups, automatically setting GPG_TTY to current tty is not
desired on every shell startup. This change adds configuration options
to allow user to disable that if desired.
2022-04-30 18:38:36 -06:00
f8b51be714 neomutt: add support for signature command (#2899)
Neomutt will run the given command (which can be a string or a path)
and take the output from stdout and use it as the signature for your
email.

Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2022-04-29 14:01:53 -06:00
Robert Helgesson 778af87a98 i3status-rust: fix formatting 2022-04-26 23:04:50 +02:00
afreakkandRobert Helgesson 223a73c2ba xscreensaver: add xscreensaver to service PATH
Without this the journal will be filled by

  xscreensaver[468297]: sh: line 1: xscreensaver-command: command not found
  xscreensaver-systemd: 12:29:22: exec: "xscreensaver-command -quiet -deactivate" exited with status 127
2022-04-25 23:05:43 +02:00
Frankie McEyesandHosted Weblate 09f3e67950 Translate using Weblate (Italian)
Currently translated at 85.7% (12 of 14 strings)

Translate using Weblate (Italian)

Currently translated at 100.0% (32 of 32 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
2022-04-24 23:38:56 +02:00
WeblateandHosted Weblate 5997c43458 Add translation using Weblate (Persian)
Co-authored-by: Weblate <noreply@weblate.org>
2022-04-24 23:38:56 +02:00
Artin MobasherandHosted Weblate 845aaaf4db Translate using Weblate (Persian)
Currently translated at 12.5% (4 of 32 strings)

Add translation using Weblate (Persian)

Co-authored-by: Artin Mobasher <mobasherartin.icm@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/fa/
Translation: Home Manager/Home Manager CLI
2022-04-24 23:38:56 +02:00
Nathan TypanskiandGitHub 6f025b3825 i3-sway: only return current user's socket (#2914)
Constrain the pgrep command to only return results for the current user.
Additionally, quote the socket variables to prevent splitting.

Previously, if multiple users on a system were running `sway`, the
`pgrep` used in finding `swaySocket` would return multiple results. As a
result, reloads of sway would fail.

Fixes #2912.
2022-04-24 23:38:50 +02:00
Robert Helgesson 65a32578d9 helix: fix test 2022-04-24 09:17:04 +02:00
SandroandGitHub 93a69d0738 Simplify function (#2903) 2022-04-20 14:18:39 -04:00
polykernelandGitHub 8ec13d33b1 targets.genericLinux: include additional directories in XCURSOR_PATH (#2902)
This commit appends system-wide icon and pixmap directory and the icon
directory in the home-manager profile to the XCURSOR_PATH session variable
for the generic linux target. This is necessary because the default prefix
for libXcursor resolves to the Nix store which excludes the aforementioned
directories from being searched for cursor themes. [1]

[1] - https://github.com/nix-community/home-manager/pull/2891#issuecomment-1101064521.
2022-04-19 20:04:10 -04:00
Robert HelgessonandRyan Trinkle 8d38ca8868 xdg-mime-apps: add function mimeAssociations
This convenience function allows automatic assignment of a package's
associations to `xdg.mimeApps.defaultApplications`.

For example,

    xdg.mimeApps.defaultApplications =
      config.lib.xdg.mimeAssociations [ pkgs.gnome.evince ];

Co-authored-by: Ryan Trinkle <ryan@trinkle.org>
2022-04-18 19:09:46 +02:00
Roberto Di RemigioandRobert Helgesson 742c6cb3e9 chromium: add vivaldi 2022-04-18 00:29:40 +02:00
ilkecanandGitHub c2726860a2 nix-darwin,nixos: convert modulesPath to string (#2714)
`modulesPath` is usually used with antiquotation
(`"${modulesPath}/some-module.nix"`). Since antiquoted paths are copied
to the Nix store, one must explicitly do `"${toString
modulesPath}/some-module.nix"` to avoid that. Ideally `modulesPath`
should be a string to avoid this. Note that `modulesPath` is already
defined as a string in <home-manager>/modules/default.nix and
<nixpkgs>/nixos/lib/eval-config.nix.
2022-04-17 18:23:18 -04:00
Luc ChabassierandGitHub 5ac84ebeef Add lib argument to homeManagerConfiguration (#2753) 2022-04-17 18:14:41 -04:00
Nicolas BerbicheandGitHub f47001cec9 xdg-desktop-entries: add 'actions' option, deprecate fileValidation (#2778)
Validation is always enabled so it does not make sense to keep this option
2022-04-17 18:06:09 -04:00
Curtis JiangandGitHub bb860e3e11 misc: fix nix.conf generation (#2824)
nix/nix.conf should generate if cfg.extraOptions is not empty.
2022-04-17 17:46:26 -04:00
Jia XiaodongandGitHub c82b8ac5ad sioyek: add module (#2895) 2022-04-17 17:07:55 -04:00
Sam WillcocksandRobert Helgesson 620ed197f3 gpg: fix handling of multiple public keys
When processing `publicKeys` entries, handle entries that contain
multiple public keys (i.e. gpg --show-key returns multiple `pub`
lines) properly, setting the trust level for each key.

PR #2897
2022-04-17 12:15:14 +02:00
Michael HoangandGitHub 8ab155c61f modules: Export pkgs to match NixOS (#2696)
This makes it a lot easier to access the `pkgs` that would be used to
build the home configuration, e.g.

    nix build ./dotfiles#homeConfigurations."user@host".pkgs.vim

This is useful as it allows access to a Nixpkgs that has been
instiantiated with config and overlays.
2022-04-16 18:36:37 -04:00
Sumner EvansandGitHub 2e473a7b09 neomutt/signature: unset if disabled (#2877)
Closes #2876
2022-04-16 16:36:31 -06:00
InfinidogeandGitHub 0586d2d42a keychain: set SHELL during initialization (#2880)
Explicitly sets the SHELL environment variable in the snippets put into
the shell init files.

Fixes #2256
2022-04-16 18:33:07 -04:00
Daniel ThwaitesandGitHub a640dddc9a waybar: fix command not found when reloading (#2865) 2022-04-16 18:31:03 -04:00
Thiago Kenji OkadaandRobert Helgesson 7add9ce2e5 picom: remove refreshRate option
Removed by upstream since commit:

    https://github.com/yshui/picom/pull/768/commits/bcbc410c927bf1f7b72b3536911b3c9621ba92fc

This commit is included since v9 release:

    https://github.com/yshui/picom/releases/tag/v9
    https://github.com/yshui/picom/releases/tag/v9-rc1 (the actual changelog)

While this doesn't break the config per see, it results in the
following warning in the logs:

    [ DD/MM/YYYY HH:MM:SS.mmm parse_config_libconfig WARN ] The
      refresh-rate option has been deprecated. Please remove it from
      your configuration file. If you encounter any problems without
      this feature, please feel free to open a bug report

Beside the above change we also remove an old workaround and also
write the configuration file to a well-known location in the user's
home directory.
2022-04-15 23:49:51 +02:00
Kat InskipandGitHub d49d68f419 home-manager: Fix cross-compiles, fixes #2675 (#2893) 2022-04-14 20:58:15 -04:00
dependabot[bot]andGitHub 92f58b6728 ci: bump cachix/install-nix-action from 16 to 17
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 16 to 17.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v16...v17)

---
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>
2022-04-13 22:12:01 +00:00
Tanish2002andRobert Helgesson 7da4e6680f lf: add package option
PR #2883
2022-04-13 23:08:51 +02:00
florpeandGitHub e39a9d0103 pylint: add module (#2729) 2022-04-10 21:54:04 -04:00
Sumner EvansandGitHub f911ebbec9 lib.booleans: add yesNo function (#2818)
Closes #2772
2022-04-07 22:36:13 -06:00
Robert Helgesson 55779b20cd pandoc: fix test case 2022-04-08 00:06:23 +02:00
Robert Helgesson 47b3719f51 taskwarrior: minor script cleanup 2022-04-07 23:35:55 +02:00
Alex MirandaandHosted Weblate 8a046f36eb Translate using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: Alex Miranda <alexmirandamoraes@gmail.com>
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
2022-04-07 19:36:38 +02:00
Daniel NagyandGitHub 3071ea205d starship: skip one program invocation on each shell init (#2862)
The code that is being evaled without the `--print-full-init` flag is
this:

```sh
__main() {
    local major="${BASH_VERSINFO[0]}"
    local minor="${BASH_VERSINFO[1]}"

    if ((major > 4)) || { ((major == 4)) && ((minor >= 1)); }; then
        source <(/nix/store/...-starship-1.3.0/bin/starship init bash --print-full-init)
    else
        source /dev/stdin <<<"$(/nix/store/...-starship-1.3.0/bin/starship init bash --print-full-init)"
    fi
}
__main
unset -f __main
```

This code checks for bash version >= 4.1 , which has been released in
2009. Since this version is widely unavailable in nixpkgs, we can skip
one program invocation and directly call `starship init bash
--print-full-init`.
2022-04-07 13:36:34 -04:00
e361373b5f taskwarrior: make .taskrc writable (#2761)
This is achieved by generating the Home Manager configuration
file as `~/.config/task/home-manager-taskrc`, and including that
file into ~/.config/task/taskrc.

Fixes #2360

Co-authored-by: mainrs <5113257+mainrs@users.noreply.github.com>
Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2022-04-07 13:29:53 -04:00
Robert Helgesson 3604a20b67 docs: fix link to rollback instructions
Fixes #2872
2022-04-07 19:22:03 +02:00
66ffa7a0a6 systemd: fix creation of user service unit files (#2867)
* systemd: fix creation of user service unit files

* helix: fix failing test due to file output format change

Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2022-04-07 02:38:20 -04:00
Ilan JoselevichandGitHub 07b941f0c4 mpd-discord-rpc: init service (#2728) 2022-04-04 23:48:13 -04:00
Naïm FavierandGitHub 399a3dfeaf gpg: create homedir with 700 permissions (#2823)
It can happen in some cases that home-manager first runs before gpg
creates its homedir, and it creates it with 755 permissions which the
user then needs to change by hand.

Do this in the module instead: before linking files, make sure the
homedir exists, and if it doesn't, create it with the right permissions.
2022-04-04 23:40:15 -04:00
Radosław SzamszurandGitHub a985e711e8 screen-locker: Add option to configure x screensaver cycle (#2853)
Some screen lockers which will be used with xss-lock might require
to set x screensaver timeout with cycle.
2022-04-04 23:32:27 -04:00
ilkecanandGitHub 3549f5d0f5 xdg-user-dirs: allow paths and define sessionVariables (#2757)
Changed option types to `either str path` to allow using path values.

The related session variable is defined for the default and the extra
user directories now.
2022-04-04 23:32:03 -04:00
Roch D'AmourandGitHub 0382c5f75e git: Add option to use difftastic as diff tool (#2850)
Difftastic is a syntax-aware diff tool which can be used with git.
2022-04-04 08:53:29 -06:00
Otavio SalvadorandGitHub cfab869fce flake: add packages.<system>.default (#2835) 2022-04-02 18:38:18 +02:00
pogobananeandGitHub 38156bd4ed doc: Add link to configuration options.html (#2851) 2022-04-01 23:19:45 +02:00
toonnandGitHub e1fab012e8 nix-darwin: sudo --set-home for multiple user activation (#2857)
Changing from `sudo -i` to `sudo -s` messes up activation when multiple
users are managed. `--set-home` should have similar behavior to `-i` in
that the activation script is run from the user's home directory.

Fixes #2856
2022-04-01 11:33:07 -04:00
toonnandGitHub cf62e96bf7 Run sudo with -s in the darwin module (#807)
Currently activation is run with `sudo -i` this defaults to the user's
login shell. This can lead to problems if the user's shell isn't set
properly.

By passing `-s` rather than `-i`, `sudo` runs `activate` in `SHELL`
instead. We assume that at this point in the activation `SHELL`
contains the path to a bash in the nix store. This should always be a
valid shell to run the `activate` script with.

From the `sudo` manual it seems like this cannot be fixed if `SHELL`
isn't set at this point or by passing a command to `-s` because that
command is then passed to the user's shell.
2022-03-31 11:24:26 -07:00
Mario RodasandRobert Helgesson 9580f6c42a zellij: add configuration for darwin
Zellij uses a different path to hold its configuration on Darwin.
2022-03-30 23:56:01 +02:00
Naïm FavierandRobert Helgesson 8db712a6a2 types: fix dagOf behaviour with mkIf
This makes definitions like

    home.activation.foo = mkIf false "bar"

work, where previously they would complain about
`home.activation.foobar.data` being used but not defined.

The crucial part is that we don't call `convertAllToDags` in
`dagOf.merge`, because we need to process `mkIf`/`mkMerge` properties
first. So we let `attrEquivalent.merge` do its job normally, but give
it a type `dagEntryOf` that does the conversion.

Ideally this shouldn't require so much boilerplate; I'd like to
implement something like

    types.changeInto dagContentType elemType dagEntryAnywhere

in Nixpkgs.
2022-03-30 23:29:09 +02:00
Oğuz ErsenandHosted Weblate f5a44afa19 Translate using Weblate (Turkish)
Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (Turkish)

Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
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
2022-03-27 09:44:00 +02:00
Robert HelgessonandHosted Weblate 80583677e7 Translate using Weblate (Japanese)
Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (Korean)

Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (German)

Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (Spanish)

Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (Russian)

Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (French)

Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (Norwegian Bokmål)

Currently translated at 85.7% (12 of 14 strings)

Translate using Weblate (Swedish)

Currently translated at 100.0% (14 of 14 strings)

Co-authored-by: Robert Helgesson <robert@rycee.net>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/de/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/es/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/fr/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ja/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ko/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ru/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/sv/
Translation: Home Manager/Home Manager Modules
2022-03-27 09:44:00 +02:00
Hosted Weblate c607ae8671 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
2022-03-27 09:44:00 +02:00
Robert Helgesson 888eac32bd home-manager: fix command option
Fixes #2844
2022-03-27 09:43:19 +02:00
Yevhen ShymotiukandRobert Helgesson d123fca83c browserpass: add brave support 2022-03-27 01:12:50 +01:00
lucasewandRobert Helgesson 0520e387dc overlay: rename parameters to flake specification
Signed-off-by: lucasew <lucas59356@gmail.com>
2022-03-27 01:08:52 +01:00
SandroandRobert Helgesson b23bb05890 flake: only support linux + darwin
This is to prevent errors with `flake check` because for example
cygwin can't even build bash.

Closes #2829
2022-03-27 00:53:49 +01:00
2f58d0a3de nix: add support for nix profile
PR #2833

Co-authored-by: David Arnold <dar@xoe.solutions>
Co-authored-by: Florian Franzen <Florian.Franzen@gmail.com>
2022-03-26 15:11:28 +01:00
Robert Helgesson 171702dd88 files: avoid cleanup if old home-files is missing 2022-03-26 15:05:43 +01:00
FarseenandRobert Helgesson 8afee75d0d dconf: note that system dconf must be enabled
Before enabling dconf in Home Manager, dconf must be enabled in system
config.

Otherwise it will fail like this:

```
$ home-manager switch
Starting Home Manager activation
Activating checkFilesChanged
Activating checkLinkTargets
Activating writeBoundary
Activating installPackages
replacing old 'home-manager-path'
installing 'home-manager-path'
Activating dconfSettings
error: GDBus.Error:org.freedesktop.systemd1.NoSuchUnit: Unit dconf.service not found.
```
2022-03-26 09:33:10 +01:00
Robert Helgesson ac94041153 docs: bump nmd
Fixes #2821
2022-03-24 00:41:16 +01:00
Robert Helgesson b030278dc6 nix: fix attribute path of nix stable 2022-03-24 00:11:39 +01:00
Robert Helgesson 9970d23218 gtk: fix incorrect test assertion 2022-03-24 00:08:37 +01:00
Robert Helgesson 70c4696619 tests: bump nmt
Also updated golden files to match new store path normalization
output.
2022-03-23 23:57:20 +01:00
Naïm FavierandRobert Helgesson e2ebc3a3af picom: use types.lines for extraOptions 2022-03-23 23:10:24 +01:00
Naïm FavierandRobert Helgesson 0cf9dadf5b irssi: use types.lines for extraConfig 2022-03-23 23:10:23 +01:00
Manu [tennox]Hosted WeblateManu [tennox] <tennox@posteo.de>
6c730bc054 Translate using Weblate (German)
Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (German)

Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: Manu [tennox] <tennox@posteo.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
2022-03-23 19:56:54 +01:00
stephaneyfxandGitHub 48a1584d8b i3-sway: Empty set argument was passed to wrong function (#2819)
This would give the error "attempt to call something which is not a
function but a list" given that `optionals a b` returns a list. `indent`
is the one taking this empty set as second argument.
2022-03-22 14:04:28 -06:00
BastiandGitHub 80b4360678 i3/sway: improve i3.nix to handle options as list like in sway, adjusted functions for less new-lines (#2314)
* i3/sway: Improve code to generate config to avoid new-line issues on code/config changes

* Maintainer: Add SebTM as maintainer
2022-03-21 16:52:57 -06:00
Nazarii BardiukandGitHub bbc5e0c1e1 tmux: fix broken vi bindings (#2817)
Keybindings have wrong order of arguments: the -N flag should go before
the binding key
2022-03-21 16:25:36 -06:00
BastiandGitHub 64823066c2 herbstluftwm, mpd: fix bash version in tests (#2816)
* mpd: Fix bash-version in tests

* herbstluftwm: Fix bash-version in tests
2022-03-21 15:41:39 -06:00
polykernelandGitHub 835797f3a4 xsession.pointerCursor: escape special characters in the cursor path (#2805)
- Escape special character in the cursor name and default cursor file name
  in the cursor path for the xsetroot command.
2022-03-20 18:12:03 -06:00
polykernelandGitHub 46dc2e5d9f gtk: fix missing newline in formatted config (#2809)
The conversion from `concatMapStrings` to `concatStringsSep` introduced in https://github.com/nix-community/home-manager/pull/2481
creates an unintended behavior change where the formatted config does not end in a newline.[1]
This is problematic for manipulation at the Nix level. In particular, this cause a regression in
the generation of gtk2 settings due to concatenated of the formatted config and `gtk2.extraConfig`
without a newline in between.

This commit restores `concatMapStrings` to match the previous behavior and adds a newline to
the final string for the generated gtk2 config. The test case for gtk2-basic-config
was also updated to check behavior at concatenation boundaries.

[1] - https://github.com/nix-community/home-manager/pull/2481#discussion_r830648706
2022-03-20 16:22:56 -04:00
Naïm FavierandGitHub 57476b5d28 xcursor: remove warning and use mkDefault for GTK options (#2808) 2022-03-20 13:32:34 -04:00
Sumner EvansandGitHub 0fad959df8 stalebot: disable auto-closing of issues and pull requests (#2800) 2022-03-19 23:47:41 -06:00
Leon VackandGitHub e96fc6d8f9 tmux: add notes to existing keybindings (#2540) (#2742)
Adds notes to the keybindings created in the tmux config making them
show up in C-b ? and tmux list-keys -N

Fixes #2540
2022-03-19 19:12:21 -04:00
mihnea-sandGitHub 7cf15b19a9 vscode: add user tasks (#2804) 2022-03-18 18:54:24 -04:00
Naïm FavierandGitHub e2a85ac43f bspwm: add alwaysResetDesktops (#2785)
If set to true, desktops configured in `monitors` will be reset every time
the config is run.

If set to false, desktops will only be configured the first time the config is run.
This is useful if you want to dynamically add desktops and you don't want them
to be destroyed if you re-run `bspwmrc`.
2022-03-17 22:56:56 -04:00
polykernelandGitHub 32e433d07d nix: add structural settings (#2718)
Nix permits user level configurations through ~/.config/nix/nix.conf that allow
customization of system-wide settings and behavior. This is beneficial in chroot
environments and for per-user configurations. System level Nix configurations in the
form of /etc/nix/nix.conf can be specified declaratively via the NixOS nix module but as
of currently no counter part exists in home-manager.

This PR is a port of the RFC42 implementation for the NixOS nix module[1]
to home-manager. Non-applicable options have been excluded and the config generation
backends have been tweaked to the backends offered by home-manager. A notable change
from the NixOS module is a mandatory option to specify the Nix binary corresponding
to the version "nix.conf" should be generated against. This is necessary because
the validation phase is dependent on the `nix show-config` subcommand on the host platform.
While it is possible to avoid validation entirely, the lack of type checking was deemed too significant.
In NixOs, the version information can be retrieved from the `package` option itself which
declares the Nix binary system-wide. However in home-manager, there is no pure way to
detect the system Nix version and what state version the "nix.conf" should be generated
against. Thus an option is used to overcome this limitation by forcing the user to
specify the Nix package. Note this interaction can still be automated by forwarding
the system-wide Nix package to the home-manager module if needed.

Three unit tests were added to test the module behavior for the empty settings, the example
settings and the example registry configurations respectively.

[1] - NixOS/nixpkgs#139075
2022-03-17 22:47:32 -04:00
Sumner EvansandGitHub 590da80ceb neovim/coc: fix loading CoC plugin (#2801)
Specifically, refactored all places that use cfg.plugins to use a new
combined list that includes CoC if it's enabled.
2022-03-17 20:43:03 -06:00
Naïm FavierandGitHub a4b0a3faa4 xdg: add XDG_*_HOME variables to systemd.user.sessionVariables (#2790)
Make sure those variables are set in systemd user services.
This mirrors the situation for `XDG_*_DIRS` variables.
2022-03-17 22:22:53 -04:00
polykernelandGitHub e01facc340 gtk: add cursor theme configuration (#2481)
* gtk: add cursor theme configuration

- Added the `cursorTheme` under the gtk module.
- Added tests for the gtk3 settings file generation, and renamed
  the gtk2 unit test expected file for clarity.
- Added guard against generating a blank `gtk.css` when `cfg.extraCss`
  is empty.
- Replaced `concatMapStrings` calls with `concatStringsSep`. The library function
  `concatMapStrings` generates an intemediate list which is then passed to
  `concatStringsSep`, As we are not performing other transformation except
  the addition of newlines, a direct call to `concatStringsSep` is sufficient.
- Updated description of examples to be more general "~/.config" -> "$XDG_CONFIG_HOME".
- Update helper functions `toGtk3Ini` and `formatGtk2Option` to use the library
  function `boolToString` and escape the separator in the key name.

* xcursor: delegate GTK cursor settings to gtk.cursorTheme

- Added deprecation warning for GTK settings in the `xsession.cursorTheme` module.
- Modified config section to use `gtk.cursorTheme` for GTK cursor settings.
2022-03-17 15:30:48 -04:00
Kylie McClainandGitHub 970b57fd3c autorandr: add filter option (#2795)
xrandr's filter option is useful for enabling integer scaling on
displays that don't have support for it at a graphics card level.
2022-03-17 13:45:04 +01:00
Robert Helgesson 8eb7c009f0 fusuma: avoid unnecessary dependency in test 2022-03-13 23:23:41 +01:00
NomisIVandRobert Helgesson 472e67d1bb himalaya: add support for account.folders
Add support for `account.folders.(inbox|sent|draft)` in the himalaya
account configuration.

PR #2747
2022-03-13 23:20:41 +01:00
iosmanthusandRobert Helgesson 8bdfa41b4e fusuma: add module
Fusuma is a tool supports multitouch gestures with libinput driver on
Linux.
2022-03-13 22:17:55 +01:00
Karl HallsbyandRobert Helgesson da92196a95 mu: allow aliases to be used by mu configuration file
This has no effect if the user does not have any aliases defined for
any accounts.

This will also only add `--my-address=` to only accounts that are
enabled to be tracked by mu.
2022-03-13 20:27:35 +01:00
ReplayCodingandRobert Helgesson 5d4327cff4 irssi: fix syntax error when no channels are specified 2022-03-13 13:33:09 +01:00
Robert Helgesson da1f6fab90 ci: bump stable version for dependabot 2022-03-13 12:00:24 +01:00
dependabot[bot]andGitHub e6e19ea5a8 ci: bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [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/v2...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-07 01:19:37 +00:00
Loïc ReynierandRobert Helgesson afe96e7433 pubs: add module
Note, the pubs configuration file uses ConfigObj syntax, which is
similar to the INI files syntax but with extra functionalities like
nested sections. This prevents it from using Nix's INI format
generator. Here is an example of pubs configuration that cannot be
generated using Nix's INI format generator:

    [plugins]

    [[git]]
    manual=False

For this reason, we opted for a stringly-typed configuration since the
use of a structured `settings` option would require a custom parser.
2022-03-06 10:40:28 +01:00
Doğu UsandHosted Weblate abd221c4b3 Translate using Weblate (Turkish)
Currently translated at 35.7% (5 of 14 strings)

Co-authored-by: Doğu Us <usdogu@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/tr/
Translation: Home Manager/Home Manager Modules
2022-03-06 10:08:57 +01:00
Anon YmousandHosted Weblate 4e6856397e Translate using Weblate (Polish)
Currently translated at 64.2% (9 of 14 strings)

Co-authored-by: Anon Ymous <mivon27841@shackvine.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/pl/
Translation: Home Manager/Home Manager Modules
2022-03-06 10:08:57 +01:00
maximsmolandRobert Helgesson 87beebc7a2 just: add module 2022-03-06 09:50:52 +01:00
YtandGitHub d119cea376 i3status-rust: change default to newer version (#2774) 2022-03-03 22:32:59 -05:00
Robert Helgesson 541874f55d mpd: add basic test case 2022-03-04 01:36:48 +01:00
Sebastian SellmeierandRobert Helgesson e58a7cb13d xdg-desktop-entries: adjust to API changes
The `makeDesktopItem` function changed in a backwards incompatible way
in

    https://github.com/NixOS/nixpkgs/commit/0c713dbed40dd87090a4632cffc7b088653f35cb

This commit updates the module accordingly.

Fixes #2767
2022-03-04 01:08:00 +01:00
sudosubinandRobert Helgesson ea85f4b1fd launchd: fix multiple agents 2022-02-27 14:58:54 +01:00
Robert Helgesson 2499b91692 treewide: apply nixfmt to a few more files 2022-02-27 02:19:44 +01:00
kmaasrudandGitHub 1d90b6065a tiny: add module (#2735)
Added module for tiny, a TUI IRC client written in Rust. Thanks to @ratsclub for helping me write my first Nix module!
2022-02-26 17:42:01 -05:00
midchildanandGitHub ccd00e3c93 launchd: fix undefined variable in activation script (#2763) 2022-02-26 15:06:12 -05:00
midchildanandRobert Helgesson c7a13f76a7 launchd: initial support for LaunchAgents 2022-02-26 10:32:19 +01:00
Frank ModaandGitHub 662350bee2 neovim: remove trace log of vim plugins (#2756) (#2760) 2022-02-25 14:35:13 +01:00
Markus WamserandGitHub 650cfe60f3 vscode: fix name of extension in example (#2759) 2022-02-24 18:45:41 -05:00
MifomandRobert Helgesson 8f7d925503 gitui: add module 2022-02-24 23:42:04 +01:00
Mikhail ChekanandHosted Weblate 1faefcded3 Translate using Weblate (Russian)
Currently translated at 100.0% (14 of 14 strings)

Co-authored-by: Mikhail Chekan <chekoopa@mail.ru>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ru/
Translation: Home Manager/Home Manager Modules
2022-02-24 22:43:44 +01:00
WeblateandHosted Weblate 2248ea1831 Add translation using Weblate (Italian)
Co-authored-by: Weblate <noreply@weblate.org>
2022-02-24 22:43:43 +01:00
Marco TurchettoandHosted Weblate 1950eb878b Add translation using Weblate (Italian)
Co-authored-by: Marco Turchetto <marco.turchetto.mt@gmail.com>
2022-02-24 22:43:43 +01:00
Selene HinesandGitHub 0b1745b4ef neovim: autogenerate config.lua file sourced to init.vim (#2716) 2022-02-23 15:53:31 +01:00
Josh HollandandGitHub 838d40d61a foot: set OOMPolicy=continue for foot server (#2749)
Previously, if a process inside a foot client triggered the OOM killer,
systemd would also kill the parent unit, namely the foot server.
This is not ideal if a user has a lot of clients attached, and it's
usually not the terminal emulator's fault that a process inside it has
ended up using all the available memory.
2022-02-22 20:15:28 +01:00
NomisIVandGitHub 69536af27e himalaya: fix smtp-starttls option (#2744)
The `smtp-starttls` option was previously to the value of `account.imap.tls.useStartTls`, when `account.smtp.tls.useStartTls` should be used instead
2022-02-21 14:32:32 -07:00
Thiago Kenji OkadaandGitHub b3af91d293 tests/nnn: fix tests (#2746)
There seems to be some changes on how wrapped binaries are implemented
on nixpkgs. This broke the nnn tests since the tests were coupled with
the old implementation.

This commit fix the tests, and also make it less coupled by just testing
if the bookmarks/plugins/environment variables are available.
2022-02-21 14:17:22 -07:00
Mario Rodas 0232fe1b75 atuin: don't install widget on limited terminals
Otherwise we get the following warning for terminals with limited
capabilities:

    bash: bind: warning: line editing not enabled
2022-02-19 04:20:00 +00:00
lucasewandRobert Helgesson 4f4165a8b9 espanso: add module
This commit adds a module to configure espanso, a program to do text
expansions that is configured using a YAML configuration file.
2022-02-18 00:35:57 +01:00
Daniel SiepmannandRobert Helgesson 5b208b42b2 docs: section how to update system 2022-02-17 22:57:52 +01:00
Riley InmanandRobert Helgesson c859a5265a sway: add tray.target 2022-02-17 22:48:14 +01:00
Caleb ChaseandRobert Helgesson 30082a623a docs: fix standalone flake setup 2022-02-17 22:45:37 +01:00
Robert Helgesson 5375afb2fb eww: fix maintainer referencee 2022-02-17 22:34:21 +01:00
mainrsandRobert Helgesson 498c188e62 eww: add module
Closes #2682
2022-02-17 18:41:05 +01:00
Jian LinandGitHub 2116fe6b50 zsh: move sessionVariables from .zshrc to .zshenv (#2708)
This patch moves both home.sessionVariables and
programs.zsh.sessionVariables from .zshrc to .zshenv. Additionally,
these two kinds of session variables will not be sourced more than
once to allow user-customized ones to take effect.

Before, session variables are in .zshrc, which causes non-interactive
shells to not be able to get those variables. For example, running a
command through SSH is in a non-interactive and non-login shell, which
suffers from this. With this patch, all kinds of shells can get
session variables.

The reason why these session variables are not moved to .zprofile is
that programs started by systemd user instances are not able to get
variables defined in that file. For example, GNOME
Terminal (gnome-terminal-server.service) is one of these programs and
doesn't get variables defined in .zprofile. As a result, the shells it
starts, which are interactive and non-login, do not get those
variables.

Fixes #2445

Related NixOS/nixpkgs#33219
Related NixOS/nixpkgs#45784

This file is not formatted before and is excluded by ./format, so I don't format it.
2022-02-17 10:20:56 +01:00
mainrsandRobert Helgesson 810e5f3613 zellij: add module
Closes #2666
2022-02-17 00:55:28 +01:00
teu5usandHosted Weblate 2a7e247202 Translate using Weblate (Russian)
Currently translated at 64.2% (9 of 14 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
2022-02-16 16:38:15 +01:00
Artem ShinkarovandGitHub a3c18a60d5 neovim: add extraLuaPackages to neovim, fixes #1964. (#2617)
Similarly to extraPytonPackages, we add extraLuaPackages that make
lua libraries available at runtime.
2022-02-16 16:38:10 +01:00
Shamrock LeeandRobert Helgesson 50204cea94 completion.*: add flake-related arguments 2022-02-15 22:47:41 +01:00
Shamrock LeeandRobert Helgesson 23a9f9127c home-manager: add more pass-through options
Specifically, pass through --[extra-]experimental-features to Nix.
2022-02-15 22:45:59 +01:00
Shamrock LeeandRobert Helgesson 03b7495183 docs: fix typo and clarify 2022-02-15 22:44:41 +01:00
Wout MertensandRobert Helgesson 7c2ae0bdd2 faq: explain how to let HM manage shell profiles 2022-02-13 00:02:53 +01:00
Robert Helgesson 44934a1a91 Merge latest translation updates 2022-02-12 23:47:11 +01:00
Mustafa ÇalışkanandHosted Weblate 4160629af7 Translate using Weblate (Turkish)
Currently translated at 14.2% (2 of 14 strings)

Translation: Home Manager/Home Manager Modules
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/tr/
2022-02-12 16:54:30 +01:00
Mustafa ÇalışkanandHosted Weblate ae95406f86 Translate using Weblate (Turkish)
Currently translated at 96.8% (31 of 32 strings)

Translation: Home Manager/Home Manager CLI
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/tr/
2022-02-12 16:54:29 +01:00
Narazaki ShujiandHosted Weblate 54c2cf7fb8 Translate using Weblate (Japanese)
Currently translated at 100.0% (14 of 14 strings)

Translation: Home Manager/Home Manager Modules
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ja/
2022-02-12 16:54:28 +01:00
WeblateandHosted Weblate 37f0a161a0 Add translation using Weblate (Turkish) 2022-02-11 15:18:06 +01:00
Mustafa ÇalışkanandHosted Weblate be7f132a12 Add translation using Weblate (Turkish) 2022-02-11 15:18:01 +01:00
Heman GandhiandHosted Weblate b784f588ee Translate using Weblate (Japanese)
Currently translated at 92.8% (13 of 14 strings)

Translation: Home Manager/Home Manager Modules
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ja/
2022-02-11 00:05:01 +01:00
Heman GandhiandHosted Weblate 68cf4bef2e Translate using Weblate (Japanese)
Currently translated at 100.0% (32 of 32 strings)

Translation: Home Manager/Home Manager CLI
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ja/
2022-02-11 00:05:01 +01:00
Narazaki ShujiandHosted Weblate ec5c5ae9a8 Translate using Weblate (Japanese)
Currently translated at 78.5% (11 of 14 strings)

Translate using Weblate (Japanese)

Currently translated at 100.0% (32 of 32 strings)

Translate using Weblate (Japanese)

Currently translated at 35.7% (5 of 14 strings)

Translate using Weblate (Japanese)

Currently translated at 84.3% (27 of 32 strings)

Translate using Weblate (Japanese)

Currently translated at 25.0% (8 of 32 strings)

Co-authored-by: Narazaki Shuji <shujinarazaki@protonmail.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
2022-02-11 00:05:01 +01:00
WeblateandHosted Weblate e448c3c123 Add translation using Weblate (Japanese)
Co-authored-by: Weblate <noreply@weblate.org>
2022-02-11 00:05:01 +01:00
Heman GandhiandHosted Weblate a2363ceb1d Translate using Weblate (Japanese)
Currently translated at 25.0% (8 of 32 strings)

Translate using Weblate (Japanese)

Currently translated at 6.2% (2 of 32 strings)

Add translation using Weblate (Japanese)

Co-authored-by: Heman Gandhi <hemangandhi@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ja/
Translation: Home Manager/Home Manager CLI
2022-02-11 00:05:01 +01:00
Thibaut MartyandRobert Helgesson 6d9d9294d0 notmuch: fix database creation when using hooks
When an hook is defined, a side effect was the creation of the
${notmuchIni.database.path}/.notmuch/ directory by home-manager. If
the Xapian database does not exist yet but this .notmuch directory
exists, Notmuch is confused and throws an error when `notmuch new` is
run (while this should create the database the first time).

This commit changes the hooks paths to $XDG_CONFIG_HOME where Notmuch
expects them (see notmuch-config(1)) instead of inside the maildir
database directory.

It also moves the configuration where Notmuch expects it, but the
$NOTMUCH_CONFIG environment variable is kept for backward
compatibility.
2022-02-11 00:04:40 +01:00
Shamrock LeeandRobert Helgesson 85bbc6cc12 docs: move Nix Flakes documentation to manual
In the manual:
*   Add chapter Nix Flakes
*   Add links to sections of chapter "Using Home Manager"

In README.md:
*   Remove section "Nix Flakes"
*   Add manual reference at the buttom of section "Installation"
2022-02-10 22:15:03 +01:00
Nelson Alex JeppesenandGitHub e2aa1f5986 kitty: add option theme (#2710)
Add Kitty option to install kitty-themes and configure Kitty to use
one of those themes
2022-02-08 11:54:24 -07:00
Naïm FavierandGitHub 1ca6293c8f vscode: fix keybindings existence check (#2707)
... and flip immutableExtensionsDir to mutableExtensionsDir
2022-02-07 12:40:59 -05:00
Morgane AustreelisandRobert Helgesson 63dccc4e60 twmn: add module
This module allows to configure and start the twmn daemon.
2022-02-04 01:05:04 +01:00
Tymoteusz DolegaandHosted Weblate 11c0e5d188 Translate using Weblate (Polish)
Currently translated at 50.0% (7 of 14 strings)

Co-authored-by: Tymoteusz Dolega <tymoteuszdolega@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/pl/
Translation: Home Manager/Home Manager Modules
2022-02-03 23:14:10 +01:00
Nicolas Berbiche 1fa809f783 darwin: add Nix package to activation $PATH
The fix for https://github.com/nix-community/home-manager/issues/2178
did not apply the patch to nix-darwin too.

See: https://github.com/nix-community/home-manager/issues/2178#issuecomment-1029015498
2022-02-03 15:24:31 -05:00
mainrsandGitHub 9d369c75ce man: add package option (#2688)
Closes #2634
2022-02-02 16:35:28 -05:00
TristanandGitHub 933b6d97b4 plex-mpv-shim: init service (#2655) 2022-02-02 16:34:19 -05:00
Michael HoangandGitHub 184b0154f2 vscode: Add immutable extensions dir option (#2613) 2022-02-02 15:57:11 -05:00
박수원andHosted Weblate a52aed72c8 Translate using Weblate (Korean)
Currently translated at 100.0% (14 of 14 strings)

Co-authored-by: 박수원 <bboxone@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ko/
Translation: Home Manager/Home Manager Modules
2022-01-30 22:50:27 +01:00
WeblateandHosted Weblate d30f46934d Add translation using Weblate (Korean)
Co-authored-by: Weblate <noreply@weblate.org>
2022-01-30 22:50:26 +01:00
박수원andHosted Weblate 774d6e35a5 Translate using Weblate (Korean)
Currently translated at 100.0% (32 of 32 strings)

Add translation using Weblate (Korean)

Co-authored-by: 박수원 <bboxone@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ko/
Translation: Home Manager/Home Manager CLI
2022-01-30 22:50:26 +01:00
Naïm FavierandRobert Helgesson 95d39e13a4 bash: use shellDryRun to check scripts
Allows using extglob in initialisation files.
See https://github.com/NixOS/nixpkgs/pull/151371
2022-01-30 19:30:33 +01:00
Jakub KozłowskiandRobert Helgesson acf824c9ed sbt: trim output of password command 2022-01-29 00:14:05 +01:00
pinage404andRobert Helgesson 418ae217dd home-manager.autoUpgrade: add module
Home Manager upgrade service that periodically updates your Nix
channels before running `home-manager switch`.
2022-01-28 23:42:25 +01:00
Thibault LemaireandRobert Helgesson fb939d1acf docs: note how to get status of activation service
Add a note explaining how to get the output of the Home Manager
activation script when it's used as a NixOS module.
2022-01-28 23:01:26 +01:00
4e92ec84f9 ion: Add module (#2625)
Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
Co-authored-by: Matthieu Coudron <teto@users.noreply.github.com>
2022-01-27 19:15:45 +01:00
Michael HoangandGitHub aa6261bb96 nix: add module (#2623) 2022-01-27 18:58:25 +01:00
Matthieu CoudronandGitHub 8d3fe1366b neovim: support different configuration languages (#2637)
Plugins now accept a "type" element describing the language (viml, lua
, teal, fennel, ...) in which
they are configured.

The configuration of the different plugins is aggregated per language
and made available as a key in the attribute set `programs.neovim.generatedConfigs`

For instance if you want to configure a lua package:

```
programs.neovim.plugins = [
{
plugin = packer-nvim;
type = "lua";
config = ''
    require('packer').init({
    luarocks = {
	python_cmd = 'python' -- Set the python command to use for running hererocks
    },
    })
'';
}
]
```
and you can save the generated lua config to a file via

```
  xdg.configFile = {
    "nvim/init.generated.lua".text = config.programs.neovim.generatedConfigs.lua;
  };
```
2022-01-27 16:27:35 +01:00
Robert Helgesson 24ed6e6d4d syncthing: add cfg variable for convenience 2022-01-27 00:33:46 +01:00
Robert Helgesson 86248a2d5c syncthing: add option extraOptions
Fixes #2598
2022-01-27 00:33:45 +01:00
Daniel WagenknechtandRobert Helgesson cbc176010b kodi: add module
Kodi is a media center software.
2022-01-26 23:56:25 +01:00
polykernelandRobert Helgesson 93b52ce0bd chromium: add commandLineArgs option
- Add support for command line arguments, this allows arguments to be
  persistently set if needed (i.e workaround hardware bugs or enabling
  certain flags).
- Document setting a custom package will nullify the `commandLineArgs`
  option.
- Fix `mkRemovedOption` assertion from being apply even when the
  `extensions` option is unused for google chrome modules.
2022-01-26 22:34:19 +01:00
pacienandRobert Helgesson 990ca662c4 unison: fix option example
Pairs are named attribute sets. One level was missing.

Fixes #2662
2022-01-25 23:54:40 +01:00
Robert Helgesson f206f94ac5 tests: re-enable commented tests
The issue is now fixed in Nixpkgs.
2022-01-25 22:47:27 +01:00
Mr HedgehogandRobert Helgesson 462d4a7abd atuin: add fish integration 2022-01-25 00:21:31 +01:00
Robert Helgesson 192675b149 docs: fix a few stray periods 2022-01-25 00:10:25 +01:00
Kirill ElaginandRobert Helgesson c47c350f65 pandoc: add new module
Add a module for pandoc that provides the following:

1. Setting default configuration options.
2. Installing templates.
3. Installing citation styles.
2022-01-22 21:16:50 +01:00
Carlos LoboandRobert Helgesson e622c5d836 tint2: add module 2022-01-22 18:09:15 +01:00
amesgenandRobert Helgesson 54b8b13a9b timidity: add module 2022-01-22 16:46:16 +01:00
polykernelandRobert Helgesson d469b9bf8a watson: add module
Watson is a CLI for tracking your time.

Two unit tests were added to validate the module behavior for an empty
configuration and the example configuration.
2022-01-22 16:12:34 +01:00
Philipp MildenbergerandRobert Helgesson 32da35f65b helix: add module 2022-01-22 15:42:49 +01:00
ashandGitHub e8a68de7ab github: copyedit stale bot's messages (#2658) 2022-01-22 06:25:13 -07:00
Nicolas BerbicheandRobert Helgesson 7eb5106548 docs: fix README flake commands
The README is corrected to mention using `home-manager switch --flake`
with Nix Flakes.
2022-01-20 12:09:33 +01:00
mainrsandHosted Weblate c491331718 Translate using Weblate (German)
Currently translated at 92.8% (13 of 14 strings)

Co-authored-by: mainrs <github619064@zerotask.net>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/de/
Translation: Home Manager/Home Manager Modules
2022-01-18 00:44:25 +01:00
Rodrigo NascimentoandHosted Weblate 5e4f439e0c Add translation using Weblate (Portuguese (Brazil))
Co-authored-by: Rodrigo Nascimento <rodrigocesarnascimento@gmail.com>
2022-01-18 00:44:25 +01:00
WeblateandHosted Weblate eccd704756 Add translation using Weblate (Portuguese (Brazil))
Add translation using Weblate (German)

Co-authored-by: Weblate <noreply@weblate.org>
2022-01-18 00:44:25 +01:00
mainrsandHosted Weblate 4d4c1f343b Translate using Weblate (German)
Currently translated at 96.8% (31 of 32 strings)

Translate using Weblate (German)

Currently translated at 15.6% (5 of 32 strings)

Add translation using Weblate (German)

Co-authored-by: mainrs <github619064@zerotask.net>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/de/
Translation: Home Manager/Home Manager CLI
2022-01-18 00:44:25 +01:00
Naïm FavierandGitHub 8cf13abffc bspwm: set _JAVA_AWT_WM_NONREPARENTING in xsession.profileExtra (#2645)
Otherwise the fix doesn't affect applications launched via sxhkd.
2022-01-17 18:44:20 -05:00
Nicolas BerbicheandGitHub b59752b9ff rofi: add finalPackage option (#2649)
This makes it possible to use the customized rofi binary in Sway keybindings for instance.
2022-01-17 18:21:40 -05:00
Nicolas BerbicheandGitHub 9bceb8292e waybar: fix deprecated "modules" setting check (#2646)
- The check did not account the default value of `settings.modules` to be `{}`.
  The default value was changed to null.

- The `settings.modules` option is now hidden from the docs.
2022-01-17 16:38:22 -05:00
Hubert JasudowiczandGitHub 60d2c9660b rbw: Fix a typo (#2648) 2022-01-17 16:37:46 -05:00
Subin KimandGitHub a69f3e9b03 kime: Fix kime systemd service broken (#2621)
* kime: Fix kime systemd service
* kime: Add test case
* kime: Add test stub package
2022-01-17 13:53:42 -05:00
Robin StummandGitHub f71d41ba36 kakoune: fix ui options (#2641)
These were renamed in v2021.08.28,
commit 7e66846172165eb1f860f26f51f7a20790b0af29.
2022-01-16 19:39:41 -05:00
Zsolt SzendeandGitHub 94281669fd Add programs.fish.interactiveShellInit to direnv (#2614) 2022-01-16 19:13:32 -05:00
Roch D'AmourandGitHub 986cf41b3b kitty: Allow package to be configurable (#2640) 2022-01-16 18:19:32 -05:00
Florian KlinkandGitHub 46bba772f2 modules/misc/news.nix: fix instructions (#2643)
The gnome3.dconf alias doesn't exist anymore, it's now in pkgs.dconf
directly.
2022-01-16 17:31:04 -05:00
Robert Helgesson 46978d2047 docs: add link to contributing chapter in readme
Fixes #2638
2022-01-16 19:01:49 +01:00
Robert Helgesson b2592ae67c docs: fix typo 2022-01-16 18:58:26 +01:00
Robert Helgesson 1477eb1555 docs: add link to Matrix room
Fixes #2639
2022-01-16 18:48:01 +01:00
rcercandRobert Helgesson a5dd5d5f19 docs: clarify stand-alone installation instructions
Specifically,

- include system-wide Nixpkgs channel so `NIX_PATH` solution also
  works on multi-user installations;

- additionally link to Nix Discourse reply for more information on
  `NIX_PATH`; and

- remove note about relog on NixOS since all the channels in
  `~/.nix-defexpr/channels/` are included by default, so the Home
  Manager channel should be picked up automatically.
2022-01-14 00:49:04 +01:00
6KHCPCPOandHosted Weblate 85f13acb81 Translate using Weblate (French)
Currently translated at 100.0% (14 of 14 strings)

Co-authored-by: 6KHCPCPO <lxh43qf2b@relay.firefox.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/fr/
Translation: Home Manager/Home Manager Modules
2022-01-12 23:55:19 +01:00
Robert HelgessonandHosted Weblate d07df8d9a8 Translate using Weblate (Spanish)
Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: Robert Helgesson <robert@rycee.net>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/es/
Translation: Home Manager/Home Manager CLI
2022-01-11 22:45:33 +01:00
Mauricio SchefferandHosted Weblate 8a431023c0 Translate using Weblate (Spanish)
Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (Spanish)

Currently translated at 100.0% (32 of 32 strings)

Translate using Weblate (Spanish)

Currently translated at 57.1% (8 of 14 strings)

Co-authored-by: Mauricio Scheffer <mauricioscheffer@gmail.com>
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
2022-01-11 22:45:33 +01:00
Nicolas BerbicheandRobert Helgesson 5209ea0d8c skim: use cfg.package in shell integrations 2022-01-11 16:44:57 +01:00
Kirill ElaginandRobert Helgesson 204f9808d3 sagemath: add module 2022-01-11 14:38:02 +01:00
Robert Helgesson 5a8b29bc7a tests: disable a few tests due to broken notmuch
This disables a few tests that fail due to a broken notmuch in
Nixpkgs. See

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

and

    https://github.com/NixOS/nixpkgs/pull/154309
2022-01-11 14:30:56 +01:00
Nicolas Berbiche 8a5550aea3 gh: remove git overlay in tests 2022-01-10 22:20:49 -05:00
rcercandGitHub f3be3cda6a services/emacs: add option to set emacsclient as the default editor (#2545)
* services/emacs: add `defaultEditor` option

Sets `emacsclient` as the default editor using the `EDITOR` environment variable.
2022-01-10 02:17:13 -05:00
Naïm FavierandGitHub 05d655146b rofi: allow extending themes (#2571)
Move @import and @theme directives to the top of custom theme
definitions so as to allow extending other themes.
2022-01-09 17:15:24 -05:00
Olli HeleniusandGitHub a90ddcd627 skim: add package option (#2619)
Fixes #2618
2022-01-08 22:53:49 -05:00
Robert Helgesson c751aeb19e Update translations 2022-01-06 09:57:17 +01:00
ethinxandHosted Weblate 2989c0f6b2 Translate using Weblate (Chinese (Simplified))
Currently translated at 50.0% (7 of 14 strings)

Co-authored-by: ethinx <eth2net@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/zh_Hans/
Translation: Home Manager/Home Manager Modules
2022-01-06 09:29:33 +01:00
Allan NordhøyandHosted Weblate a2307ff6f3 Translate using Weblate (Norwegian Bokmål)
Currently translated at 85.7% (12 of 14 strings)

Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/nb_NO/
Translation: Home Manager/Home Manager Modules
2022-01-06 09:29:33 +01:00
Robert HelgessonandHosted Weblate 65434ef33c Translate using Weblate (Swedish)
Currently translated at 100.0% (14 of 14 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
2022-01-06 09:29:33 +01:00
Hosted Weblate 95823b5639 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
2022-01-06 09:29:33 +01:00
WeblateandHosted Weblate a726f7e3e8 Add translation using Weblate (Spanish)
Co-authored-by: Weblate <noreply@weblate.org>
2022-01-06 09:29:33 +01:00
Mario RodasandHosted Weblate cf0fc744c2 Translate using Weblate (Spanish)
Currently translated at 15.6% (5 of 32 strings)

Add translation using Weblate (Spanish)

Co-authored-by: Mario Rodas <rodasmario2@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/es/
Translation: Home Manager/Home Manager CLI
2022-01-06 09:29:33 +01:00
Robert Helgesson 5fb55d51e2 swayidle: fix option documentation 2022-01-06 09:22:42 +01:00
cwycandGitHub 426ab2cf11 xdg-desktop-entries: reflect changes in makeDesktopItem API (#2496)
Based on nixpkgs commit c4b3aa62608d592d8a983be685f7e82000f4de30
stringBool is not needed because makeDesktopItem handles converting boolean parameters to string,
and noDisplay and prefersNonDefaultGPU parameters have been added.
2022-01-04 22:58:20 -05:00
Jos van BakelandGitHub 65e5b835a9 swayidle: add module (#2610)
Swayidle is an idle management daemon for Wayland. This modules adds support for
running swayidle as a SystemD user unit and makes it configurable through
home-manager.
2022-01-03 12:03:20 -07:00
Robert Helgesson 8e7a10602d treewide: make a few more strings translatable 2022-01-02 11:56:52 +01:00
Robert Helgesson 5f00024e75 tests: make enableBig an option
This makes it possible to identify the test as big in the test file
itself. It also seems like a more natural way to control the test
running.
2022-01-02 10:36:52 +01:00
Robert Helgesson adaea605db home-manager: document the --version command option
Fixes #2604
2022-01-02 08:33:32 +01:00
polykernelandGitHub 7c0dc519e1 bottom: fix empty-settings test on darwin (#2603)
The empty configuration test for the bottom module introduced as of https://github.com/nix-community/home-manager/pull/2323
is not cross platform. Specifically, it silently fails under a darwin environment due to
the configuration file not being generated at $XDG_CONFIG_HOME. This PR add cross platform support
by specifying the platform-dependent configuration directories to check. The expected unit test data
was also extracted to a separate file to differentiate between test data changes and
changes to the test itself.
2022-01-01 20:28:45 -07:00
Tobias HappandGitHub c2f151258a bash: remove unnecessary shebang and executable bit for dotfiles (#2599) 2022-01-01 10:06:55 -07:00
Olmo KramerandRobert Helgesson 89bdef7994 herbstluftwm: init module 2021-12-31 10:44:08 +01:00
Tomasz CzyżandHosted Weblate cc3b979893 Translate using Weblate (Polish)
Currently translated at 100.0% (6 of 6 strings)

Translate using Weblate (Polish)

Currently translated at 100.0% (32 of 32 strings)

Add translation using Weblate (Polish)

Co-authored-by: Tomasz Czyż <tomasz.czyz@eskapizm.pl>
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
2021-12-29 10:40:19 +01:00
WhiredPlanckandHosted Weblate a5dcd2ac0a Translate using Weblate (Chinese (Traditional))
Currently translated at 100.0% (6 of 6 strings)

Translate using Weblate (Chinese (Traditional))

Currently translated at 100.0% (32 of 32 strings)

Translate using Weblate (Chinese (Simplified))

Currently translated at 100.0% (6 of 6 strings)

Translate using Weblate (Chinese (Simplified))

Currently translated at 100.0% (6 of 6 strings)

Co-authored-by: WhiredPlanck <fungdaat31@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/zh_Hant/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2021-12-29 10:40:19 +01:00
WeblateandHosted Weblate 3d86640269 Add translation using Weblate (Polish)
Add translation using Weblate (Chinese (Traditional))

Add translation using Weblate (Chinese (Simplified))

Co-authored-by: Weblate <noreply@weblate.org>
2021-12-29 10:40:19 +01:00
WhiredPlanckandHosted Weblate bc859aeed7 Add translation using Weblate (Chinese (Traditional))
Translate using Weblate (Chinese (Simplified))

Currently translated at 100.0% (32 of 32 strings)

Add translation using Weblate (Chinese (Simplified))

Co-authored-by: WhiredPlanck <fungdaat31@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/zh_Hans/
Translation: Home Manager/Home Manager CLI
2021-12-29 10:40:19 +01:00
Robert Helgesson 2f40cd05dc treewide: make sure meta.maintainers evaluate
This fixes all bad maintainer values and add a CI step to validate
that no bad values remain in the future.

Closes #2587
2021-12-29 10:38:10 +01:00
Robert Helgesson a3457d3f85 ci: verify that meta.maintainers evaluate
Fixes #2588
2021-12-29 10:16:19 +01:00
Luna NovaandRobert Helgesson eeafec5103 wlsunset: fix maintainers entry for matrss 2021-12-29 09:51:00 +01:00
Luna NovaandRobert Helgesson 04342bd7a2 trayer: fix maintainers entry for mager 2021-12-29 09:50:59 +01:00
Luna NovaandRobert Helgesson c24c494e69 playerctld: fix maintainers entry for fendse 2021-12-29 09:50:59 +01:00
Luna NovaandRobert Helgesson 907e63250a pasystray, status-notifier-watcher: fix maintainers entry for pltanton 2021-12-29 09:50:58 +01:00
Luna NovaandRobert Helgesson eb4a1ad68f kanshi: fix maintainers entry for nurelin 2021-12-29 09:50:57 +01:00
Luna NovaandRobert Helgesson 7a0a7d6427 xmobar: fix maintainers entry for t4ccer 2021-12-29 09:50:56 +01:00
Luna NovaandRobert Helgesson 6b1f56407b ncmpcpp: fix maintainers entry for olmokramer 2021-12-29 09:50:55 +01:00
Luna NovaandRobert Helgesson 87d0fed9bc htop: fix maintainers entry for bjpbakker 2021-12-29 09:50:54 +01:00
Luna NovaandRobert Helgesson a95fd897f2 hexchat: remove superherointj as maintainer
Mirroring https://github.com/NixOS/nixpkgs/pull/144319
2021-12-29 09:50:53 +01:00
Luna NovaandRobert Helgesson b1b55c983f lazygit: fix kalhuage maintainers reference 2021-12-29 09:50:52 +01:00
Luna NovaandRobert Helgesson 5705ba1366 exa: fix kalhauge maintainers reference 2021-12-29 09:50:51 +01:00
Luna NovaandRobert Helgesson ec79a7d830 broot: fix aheaume entry in maintainers 2021-12-29 09:50:51 +01:00
Luna NovaandRobert Helgesson bad529983e xdg-desktop-entries: fix reference to maintainer cwyc 2021-12-29 09:50:50 +01:00
Tim HaeringandRobert Helgesson c9dbe2847e alacritty: correct example config link
Since the repository was moved, the old link was pointing nowhere.
2021-12-29 09:39:42 +01:00
Robert Helgesson 0b197562ab treewide: use remove when possible
See https://github.com/nix-community/home-manager/pull/2566.
2021-12-27 09:03:18 +01:00
Luna NovaandGitHub 48f2b381dd dconf: remove gnidorah from maintainers/CODEOWNERS (#2586)
gnidorah has been removed from the maintainers list in nixpkgs
https://github.com/NixOS/nixpkgs/pull/121119
2021-12-25 00:28:37 -07:00
Mikhail ChekanandHosted Weblate 3b5ebdefd8 Translate using Weblate (Russian)
Currently translated at 100.0% (6 of 6 strings)

Co-authored-by: Mikhail Chekan <chekoopa@mail.ru>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ru/
Translation: Home Manager/Home Manager Modules
2021-12-23 23:00:35 +01:00
WeblateandHosted Weblate 76c50cecf8 Add translation using Weblate (Russian)
Co-authored-by: Weblate <noreply@weblate.org>
2021-12-23 23:00:35 +01:00
Mikhail ChekanandHosted Weblate 0fd86c66fe Translate using Weblate (Russian)
Currently translated at 100.0% (32 of 32 strings)

Add translation using Weblate (Russian)

Co-authored-by: Mikhail Chekan <chekoopa@mail.ru>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ru/
Translation: Home Manager/Home Manager CLI
2021-12-23 23:00:35 +01:00
Nicolas BerbicheandGitHub f15b151ca1 waybar: configurable systemd WantedBy target (#2524)
Before this commit, a user needed to override the systemd target that
would start Waybar with `mkForce`, this is no longer necessary.
2021-12-23 17:00:31 -05:00
ckieandGitHub 3b9c625b64 xsession: add xplugd service to accompany setxkbmap (#2450)
This fixes #1638; xplugd will restart setxkbmap if a new keyboard is
plugged in to ensure it is also configured correctly.
2021-12-23 15:38:44 -05:00
Jakob LeifhelmandRobert Helgesson 1b03a8ab7a direnv: add troubleshooting to fish integration 2021-12-21 23:43:06 +01:00
Lorenzo ManacordaandRobert Helgesson 02426bb52f systembus-notify: add module 2021-12-21 23:35:56 +01:00
Jonas HeinrichandRobert Helgesson 7ec50b1f77 gtk: add support for GTK4 configuration 2021-12-21 20:44:55 +01:00
Robert Helgesson aef97988da docs: add release note about translation support 2021-12-20 22:58:54 +01:00
TheBlackBeansandHosted Weblate 679e07e32e Translate using Weblate (French)
Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: TheBlackBeans <adrien.mathieu.net@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/fr/
Translation: Home Manager/Home Manager CLI
2021-12-19 17:51:26 +01:00
3db6036775 waybar: allow using attrs for settings (#2547)
Co-authored-by: Bruno Inec <binec@scaleway.com>
2021-12-19 00:21:15 -05:00
Robert HelgessonandHosted Weblate 8b44e81978 Translate using Weblate (Swedish)
Currently translated at 100.0% (32 of 32 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
2021-12-17 21:50:25 +01:00
Robert Helgesson 6c6f934f0b gitlab-ci: build HTML manual in a simpler way 2021-12-17 00:06:06 +01:00
Hosted WeblateandRobert Helgesson 25e5a900de Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Home Manager/Home Manager CLI
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/
2021-12-16 20:45:31 +01:00
Vincent HaupertandRobert Helgesson d8f9dcfbd3 pam: add yubico option
Write YubiKey token IDs in the format yubico_pam expects. See
https://developers.yubico.com/yubico-pam/ for details. Also refer to
the NixOS option security.pam.services.<name>.yubicoAuth.

Closes #2502
2021-12-16 19:46:47 +01:00
Naïm FavierandRobert Helgesson 78aa7cceff gpg: allow specifying trust levels by name 2021-12-16 19:06:39 +01:00
J. LavoieandHosted Weblate 4108989d19 Translate using Weblate (French)
Currently translated at 100.0% (6 of 6 strings)

Translation: Home Manager/Home Manager Modules
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/fr/
2021-12-16 09:56:08 +01:00
J. LavoieandHosted Weblate fd7c5e9346 Translate using Weblate (French)
Currently translated at 100.0% (27 of 27 strings)

Translation: Home Manager/Home Manager CLI
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/fr/
2021-12-16 09:56:08 +01:00
Robert HelgessonandHosted Weblate 1acbc5ad8b Translate using Weblate (Swedish)
Currently translated at 100.0% (27 of 27 strings)

Translation: Home Manager/Home Manager CLI
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/sv/
2021-12-16 09:56:08 +01:00
Guilloux NicolasandHosted Weblate f97e921c94 Translate using Weblate (French)
Currently translated at 66.6% (18 of 27 strings)

Translation: Home Manager/Home Manager CLI
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/fr/
2021-12-16 09:56:08 +01:00
Sumner EvansandGitHub 42ba7b6304 sway: add 'xwayland disable' to sway config if disabled (#2568)
Closes #2567
2021-12-16 01:56:02 -07:00
Nick HuandGitHub c61fc1c288 xmonad: add support for v0.17.0 (#2522) 2021-12-14 13:23:07 -05:00
Robert Helgesson 3d9eb1cecd home-manager: support i18n of install script 2021-12-14 18:53:54 +01:00
WeblateandHosted Weblate c1677de31a Add translation using Weblate (French) 2021-12-14 07:56:24 +01:00
Guilloux NicolasandHosted Weblate 9b70b22948 Add translation using Weblate (French) 2021-12-14 07:56:23 +01:00
Allan NordhøyandRobert Helgesson ea5591d225 Translate using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (27 of 27 strings)

Translation: Home Manager/Home Manager CLI
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/nb_NO/
2021-12-13 22:29:53 +01:00
Allan NordhøyandRobert Helgesson 0c6180c714 Translate using Weblate (Norwegian Bokmål)
Currently translated at 83.3% (5 of 6 strings)

Translation: Home Manager/Home Manager Modules
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/nb_NO/
2021-12-13 22:29:47 +01:00
Robert Helgesson 2ff170d91c Translate using Weblate (Swedish)
Currently translated at 100.0% (27 of 27 strings)

Translation: Home Manager/Home Manager CLI
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/sv/
2021-12-13 22:29:39 +01:00
Allan NordhøyandRobert Helgesson 1fad70e995 Add translation using Weblate (Norwegian Bokmål) 2021-12-13 22:29:34 +01:00
Allan NordhøyandRobert Helgesson 0422d1f87f Add translation using Weblate (Norwegian Bokmål) 2021-12-13 22:29:12 +01:00
Robert Helgesson 9bcad20013 home-manager: add basic i18n support
The support for translated strings is, for now, limited to strings
generated in Bash code.
2021-12-13 21:47:28 +01:00
Jonas HeinrichandRobert Helgesson 3d46c011d2 opensnitch-ui: add module 2021-12-12 18:10:10 +01:00
Mario RodasandRobert Helgesson 543484d298 navi: don't install widget on limited terminals
Otherwise we get the following warning for terminals with limited
capabilities:

    bash: bind: warning: line editing not enabled
2021-12-12 17:59:30 +01:00
Peter JonesandRobert Helgesson 0ebed30a10 gromit-mpx: add module 2021-12-11 19:17:59 +01:00
Mario RodasandRobert Helgesson 6fe3b539e0 navi: add module 2021-12-11 12:55:29 +01:00
Mario RodasandRobert Helgesson fa73c3167e sqls: add module
sqls is a SQL language server written in Go.
See: https://github.com/lighttiger2505/sqls
2021-12-11 00:21:49 +01:00
polykernelandRobert Helgesson c7592b747b treewide: prefer XDG variables over dot directories
Currently, dot directories and XDG base directories are used
inconsistently in the Home Manager option declarations. This creates
ambiguity for the user as to where the location of the file should be
albeit this is rarely encountered in practice as it is sufficient to
read upstream documentation. The rationale is to make declarations
consistent and make a clear distinction between hardcoded and modular
specifications.

References to ~/.config in relevant nixpkgs modules were untouched as
the location is hardcoded upstream[1]. Furthermore, modules of
programs which do not follow XDG specifications were also untouched.

Generalization of tilde(~) expansions to $HOME were also considered,
however there isn't sufficient rationale despite the use of $HOME
being more universal. The expansion is standardized in POSIX[2] and is
essentially portable across all shells, thus there is no pragmatic
value to introducing the change.

[1] https://github.com/nixos/nixpkgs/blob/master/pkgs/top-level/impure.nix
[2] https://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_01
2021-12-10 23:51:44 +01:00
Bruno BELANYIandRobert Helgesson 829e89a16f less: store 'lesskey' under XDG_CONFIG_HOME
Less clutter in the $HOME.
2021-12-08 11:23:56 +01:00
oxalicaandRobert Helgesson 736581f113 gpg-agent: rewrite hash algo in Nix to avoid IFD 2021-12-08 00:01:29 +01:00
oxalicaandRobert Helgesson 78ff6b851c gpg-agent: fix and enable tests 2021-12-08 00:01:29 +01:00
Ryan BurnsandRobert Helgesson 781d25b315 Replace pkgs.hostPlatform by pkgs.stdenv.hostPlatform
We are attempting to deprecate these top-level attributes in upstream
Nixpkgs.

See also bc0acdad8c.
2021-12-03 23:36:50 +01:00
Nicolas BerbicheandRobert Helgesson 1aaa1a033b docs: add note about Waybar modules 2021-12-03 18:57:59 +01:00
Nicolas BerbicheandRobert Helgesson 290a188dad docs: change stable from 21.05 to 21.11 2021-12-03 18:50:22 +01:00
Benoit LouyandRobert Helgesson f46972e466 powerline-go: add support for -modules-right
Add modulesRight setting to instruct powerline-go to configure right
side prompt. Use eval mode when this setting is set.
2021-12-03 17:58:03 +01:00
midchildanandRobert Helgesson fbb80207f3 darwin: add midchildan to maintainers 2021-12-02 23:39:08 +01:00
midchildanandRobert Helgesson 0d58582887 darwin: keep the options for the "defaults" system up-to-date
- update the option names for toggling Safari's developer menu
- deprecate com.apple.menuextra.battery.ShowPercent
2021-12-02 23:39:07 +01:00
Benjamin OrthenandGitHub de54d513c7 firefox: create user.js when only bookmarks are specified in config (issue #2492) (#2521)
Previously, home-manager would not create a user.js for a certain
profile if profile.bookmarks was not empty but
profile.settings was empty and profile.extraConfig was an
empty string.
2021-12-01 22:21:41 -05:00
PamplemousseandRobert Helgesson f23073f1da less: allow customization
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
2021-11-30 23:28:32 +01:00
Nicolas Berbiche 7c320a5325 waybar: make module a freeform module, remove warnings
The `style` option now also accepts a path instead of a text
configuration.

Keeping up with new Waybar options is annoying, so make the module a
freeform module.

The `modules` option will be removed in release 22.05.

The logic to generate warnings for modules and everything was
removed. I don't want to maintain the code that generates these
warnings anymore.
2021-11-29 20:52:06 -05:00
polykernelandGitHub 9de77227d7 home-manager: fix home-manager build error (#2514)
Two misplaced quotations were introduced in `doBuild` by https://github.com/nix-community/home-manager/pull/2501, which
caused the parameter expansion of DRY_RUN to include an extraneous tab. Since the flake uri is passed
later into the command, Nix assumes the whitespace sequence as the flake uri and returns that it is not
a valid flake reference.

This PR removes the misplaced quotations in `doBuild` and also places the flake uri as the first argument for
calls to `doBuildFlake` for consistency with `doBuildAttr`. Placing the uri first in the command line also guards
against possible security issues if arbitrary uris are expanded prior to the user given uri.
2021-11-28 20:48:21 -05:00
Lily FosterandGitHub 3ec7f6fb43 rofi: fix theme definition in configuration for 1.7.0+ (#2513)
Since Rofi 1.7.1 (specifically davatorium/rofi@0e70d8a), the deprecated
`theme` option in the `configuration` section no longer works. For 1.7.0
and up, `@theme "name"` is supposed to be used *after* the
`configuration` block.
2021-11-28 15:07:46 -05:00
dependabot[bot]andGitHub a28cf79a78 ci: bump cachix/install-nix-action from 15 to 16
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 15 to 16.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v15...v16)

---
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>
2021-11-26 08:28:15 +00:00
Miles BreslinandRobert Helgesson ea1794a798 gpg: support declarative trust and public keys
PR #810
2021-11-26 09:02:36 +01:00
Robert Helgesson 579f2e8beb Switch to 22.05 as current development release 2021-11-25 22:29:49 +01:00
Robert Helgesson 2889ee2363 mpv: temporarily disable tests 2021-11-25 22:29:47 +01:00
Robert Helgesson dc2a4e4146 Switch to 21.11 as stable release 2021-11-25 22:22:26 +01:00
Robert Helgesson c27c8f49c0 taskwarrior: clean up news entry 2021-11-25 08:32:19 +01:00
Robert Helgesson 18461b5dda firefox: fix tests 2021-11-25 08:21:54 +01:00
Robert Helgesson 81fc0c6fbf tests: disable Nixpkgs release check 2021-11-25 08:16:16 +01:00
Naïm FavierandGitHub e28185a2c0 vscode: avoid unnecessary IFD (#2506) 2021-11-24 20:55:38 -05:00
polykernelandGitHub 609370699f home-manager: do not build news when using flake (#2501)
Currently, the `buildNews` and `doBuildAttrs` are always called
unconditionally even if a flake configuration is specified. This cause
it to always fail prior to the actual build performed by `doBuildAttrs`
because `setConfigFIle` can not find the home-manager configuration file.
As a result, an error message specifying no configuration file is shown.

Furthermore, if a user has remnant legacy configuration, the `doSwitch` and
`doBuild` functions will effectively build the activationPackage twice, with
the legacy configuration overriding the flake configuration.

A conditional check for FLAKE_CONFIG_URI was added to mitigate this by building
the legacy configuration when no flake configuration is present. There is one
exception which is when a flake configuration exists in the default location, where
the user can not build the legacy configuration as along as the file is present.
However, the tradeoff is acceptable as it matches current behavior when FLAKe_CONFIG_URI
is set for instantiation, and an user is unlikely to simulataneously switch
between the two mechanisms.

An abstract function for building flakes `doBuildFlake` was created to match
`doBuildAttrs` for  manageing options and build flags.

The --no-write-lock-file flag was removed from the --debug case as it is already
matched previously at the --recreate-lock-file case.
2021-11-24 19:09:53 -05:00
oxalicaandGitHub df931a59a5 taskwarrior: change config file location and use relative theme paths (#2455)
After taskwarrior 2.6.0, its default config file now locates at
`$XDG_CONFIG_HOME/task/taskrc`, and builtin themes can be included
via relative paths.
2021-11-23 21:33:03 -05:00
contrunandGitHub c4c761ba55 add flake attribute apps to make it easier to run (#2442)
Home Manager can be ran with
`nix run --no-write-lock-file github:nix-community/home-manager`.

This is useful for people who want to try out Home Manager or,
want to bootstrap their home-environment.
2021-11-23 01:36:55 -05:00
Tobias HappandGitHub c2aa831491 systemd: do not install systemd files when user is root (#2454)
For the user root, there are no user services provided by systemd.
Therefore, these files will never be used.
2021-11-23 01:06:43 -05:00
polykernelandRobert Helgesson 15ae861e1b swaynag: add module
Swaynag is a replacement of i3-nag for sway. Swaynag is embedded in
Sway's build process albeit it is not an integral part of Sway,
therefore it has been added under `wayland.windowManager.sway` instead
of `programs`. It can be moved at a later time if necessary.

Two unit tests were added validate the module behavior for an empty
configuration and the example configuration.
2021-11-21 18:37:50 +01:00
polykernelandRobert Helgesson 1abd311eef fnott: add polykernel as maintainer 2021-11-21 08:59:46 +01:00
oxalicaandRobert Helgesson c82bc787b8 xdg: fix typo and add test 2021-11-20 09:47:27 +01:00
Robert Helgesson a19f40d39d firefox: fix test case 2021-11-20 09:47:05 +01:00
Sebastian SellmeierandRobert Helgesson 8a16d62e95 flameshot: extend module with package-option 2021-11-20 09:37:34 +01:00
Robert Helgesson 8230decb3f home-environment: make home.profileDirectory public
This option has been stable for a long time and may be generally
useful.
2021-11-19 23:58:22 +01:00
Sandro JäckelandRobert Helgesson 398c0b36a3 home-manager: properly forward exit codes 2021-11-19 23:47:57 +01:00
Robert Helgesson 2452979efe docs: bump nmd 2021-11-18 16:32:15 +01:00
MmequignonandRobert Helgesson d85bf67c48 pet: fix settings format issue
Before it was not possible to place setting values outside the
`General` section.
2021-11-17 23:42:21 +01:00
Tobias HappandGitHub 5559ef0023 ssh: add includes option (#2453) 2021-11-16 11:51:10 -07:00
arcnmxandGitHub 42915b78af lieer: use configured package in service (#2480) 2021-11-16 10:38:36 -07:00
Damien CassouandGitHub 05a3116091 offlineimap: Fix for OfflineIMAP 8 (#2479)
Nixpkgs switched to OfflineIMAP version 8 which means that Python 3 is
now used instead of Python 2. As a result, get_pass() now returns a
byte array instead of a string and the argument to get_pass() must be
a byte array too. See
https://github.com/OfflineIMAP/offlineimap3/issues/103.
2021-11-16 10:31:01 -07:00
arcnmxandGitHub a7c5b00d44 polybar: use recursive config type (#2235)
Allow merging of lists and attrsets
2021-11-15 16:00:45 -05:00
Robert Helgesson 2dcd9eb021 docs: minor rewording in usage documentation 2021-11-15 20:52:15 +01:00
Robert Helgesson c855cdde20 docs: make README refer to installation chapter
This gives a single source of truth of installation instructions and
we can also point to instructions for the NixOS and nix-darwin
modules.
2021-11-15 20:51:45 +01:00
Robert Helgesson e785e67977 docs: make text more specific about Nix 2.4 support 2021-11-15 19:58:09 +01:00
dependabot[bot]andGitHub cbcb2976b6 ci: bump cachix/install-nix-action from 14 to 15
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 14 to 15.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v14...v15)

---
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>
2021-11-15 12:23:16 +00:00
SandroandGitHub 3f12ce5f7d home-manager: forward --no-write-lock-file (#2471) 2021-11-14 23:00:26 -05:00
Robert Helgesson accfbdf215 docs: add license section in readme 2021-11-14 00:59:24 +01:00
Robert Helgesson 0f5d93119c docs: move usage section to chapter in manual
Also expand the chapter in various ways.
2021-11-14 00:13:54 +01:00
Robert Helgesson 426830a174 home-manager: minor reorder of generated home.nix
It's a bit nicer to put the home options at the top, I think.
2021-11-14 00:13:53 +01:00
Jack McCownandGitHub f7a37ad0b6 email: add fastmail.com email flavor (#2457) 2021-11-14 00:07:23 +01:00
SandroandRobert Helgesson 520adafcb9 docs: add example how to use flakes on non-NixOS 2021-11-13 01:18:12 +01:00
Lorenzo ManacordaandRobert Helgesson 39c5c7397e docs: improve description of extraSpecialArgs 2021-11-13 01:01:01 +01:00
Robert Helgesson be1ad30503 Remove remaining allowSubstitutes = false
See, e.g., https://github.com/NixOS/nix/issues/4442 for wider
discussions.
2021-11-12 23:24:08 +01:00
Bernardo MeurerandGitHub 1e5c8e9bff direnv.nix-direnv: remove enableFlakes (#2458)
Since https://github.com/NixOS/nixpkgs/pull/144197 flake support is
always available. The upstream `enableFlakes` option is scheduled to be
removed altogether in https://github.com/NixOS/nixpkgs/pull/145236
2021-11-09 23:59:40 -05:00
Robert Helgesson 2917ef23b3 kakoune: clean up tests
- Enable use-plugins test.

- Stub out `kakoune-unwrapped` to avoid unnecessary downloads.

- Unwrap unnecessary `config` attributes.
2021-11-07 09:43:42 +01:00
Robert Helgesson c678162e20 ci: error out if code contains literalExample 2021-11-07 09:20:12 +01:00
Robert Helgesson 7f416c9e2f home: use literalExpression 2021-11-07 09:10:57 +01:00
oberblastmeisterandGitHub f6f013f764 home: shell agnostic aliases (#2347) 2021-11-06 10:10:15 -06:00
oxalicaandGitHub 70c5b268e1 xdg: add option 'xdg.stateHome' (#2439)
It corresponds to the newly introduced `XDG_STATE_HOME`.
2021-11-04 17:42:44 +01:00
flexagoonandRobert Helgesson 288faaa5a6 programs.zsh.zplug: add zplugHome option
Add an option to set custom `$ZPLUG_HOME`. Changing it with
`home.sessionVariables` doesnt work, since it has to be exported
before Zplug is initialised
2021-11-02 08:49:47 +01:00
JoschaandRobert Helgesson 21590d40c1 home-environment: document escaping of home.sessionPath 2021-11-02 00:08:57 +01:00
Nicolas BerbicheandRobert Helgesson 2e1a5b53ec xsession: don't reset the inherited keyboard options
If the keyboard configuration is an empty set, don't run the setxkbmap
service.

The default values for all keyboard options are null or empty so long
as the state version is set to 19.09 or higher (21.05 being the latest
version).
2021-11-01 22:42:47 +01:00
Bart BakkerandGitHub 7523252f97 htop: fix order or header_columns setting (#2435)
When `header_columns` is in settings it must appear before any of the
`column_meters_*` options.

Fixes 2426.
2021-11-01 15:27:29 -04:00
Robert Helgesson 275f955db9 irssi: format using nixfmt 2021-10-31 10:32:58 +01:00
Robert Helgesson 34327e067f tmux: format using nixfmt 2021-10-31 10:24:01 +01:00
Thiago Kenji OkadaandRobert Helgesson e377556818 home-manager: remove top-level with pkgs.lib 2021-10-31 08:50:55 +01:00
Thiago Kenji OkadaandRobert Helgesson abe12a4bad Makefile: add test-install target 2021-10-31 08:50:54 +01:00
Thiago Kenji OkadaandRobert Helgesson 3ccddfc48d lib: remove top-level with lib 2021-10-31 08:50:53 +01:00
SandroandRobert Helgesson 71902bc913 home-manager: fix command line option for nix build 2021-10-30 23:30:46 +02:00
Robert Helgesson 134c5ccdd3 mbsync: stub test dependency 2021-10-30 20:44:21 +02:00
Robert Helgesson e28a720ce9 irssi: fix test directory name
Also fix stub package name.
2021-10-30 20:40:49 +02:00
Robert Helgesson 78afc2fa74 git: stub test dependency on msmtp 2021-10-30 20:36:18 +02:00
Robert Helgesson 0f72441821 bspwm: stub test dependency 2021-10-30 20:36:14 +02:00
Thiago Kenji OkadaandRobert Helgesson 7e30aec282 hexchat: simplify theme example 2021-10-30 19:39:59 +02:00
Smaug123andRobert Helgesson bb72555852 files: quote cmp file arguments
Before this change, a warning would be printed to the console if you
tried to manage a file in a path containing a space. For example,
`vscodium`'s `userSettings` file on Darwin is at
`~/Library/Application Support/VSCodium/User/settings.json`.
2021-10-30 19:15:34 +02:00
Edmund WuandGitHub bc0acdad8c modules/modules.nix: pkgs.system -> pkgs.stdenv.hostPlatform.system (#2419) 2021-10-29 09:50:50 -06:00
betaboonandGitHub cf4866d218 powerline-go: fix regression introduced by #2231 (#2421) 2021-10-28 22:09:20 -04:00
Nicolas BerbicheandGitHub 158bc59398 vscode: allow argument for keybind to any json value (#2418) 2021-10-27 22:13:54 -06:00
KidandGitHub 9282dbc1fa fish: remove promptInit in favor of interactiveShellInit (#2231)
* fish: remove `promptInit` in favor of `interactiveShellInit`

* Oops

* starship: replace `promptInit` with `interactiveShellInit`

* autojump: replace `promptInit` with `interactiveShellInit`

* Add `mkRemovedOptionModule` for `programs.fish.promptInit`
2021-10-27 16:40:39 -06:00
polykernelandRobert Helgesson 46a69810cb fnott: remove global properties generation
Rationale:

As of release 1.1.2[1], the configuration ini file supports
declaration of the `[main]` header as an alternative to global
properties by enumerating all sections and mapping each to the
respective parsing function. Global properties will still be parsed
correctly by fnott however generation adds unnecessary complexity to
the module. This commit removes the need for global properties
generation.

Changes:

- Fixed the FIXME at L118.

- Cleaned up unneeded let bindings.

- Changed the generation method to use the `pkgs.formats.ini` from
  pkgs-lib instead of the raw `generators` library. This was done for
  consistency and clarity as the `pkgs.formats.ini` is still required
  for type declaration and uses `generators` internally.

- Removed `global-properties` testcase.

- Updated `example-settings` testcase.

[1] - https://codeberg.org/dnkl/fnott/releases/tag/1.1.2
2021-10-27 00:01:57 +02:00
leifhelmandGitHub da8a78eec9 hexchat: Replace literalExample with literalExpression (#2410) 2021-10-24 20:59:22 -04:00
406eeec0b9 hexchat: add module
Review and contributions from Thiago Kenji Okada
<thiagokokada@gmail.com>.

Co-authored-by: Thiago Kenji Okada <thiagokokada@gmail.com>
Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-10-23 21:31:54 +02:00
8278c14f5f nixos: replace types.anything with submodule type (#2396)
As discussed in this issue:
https://github.com/NixOS/nixpkgs/issues/140879
`types.anything` was never meant to be used for arbitrary modules.

Co-authored-by: Silvan Mosberger <github@infinisil.com>
2021-10-22 17:52:19 -04:00
cfe82d9f44 gh: support gh as git credential manager for github.com
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-10-21 23:20:25 +02:00
Robert Helgesson 3e4fedc1d9 direnv: make fish enable flag read-only
We cannot disable direnv for Fish since the functionality is
automatically loaded when the package is installed.

Fixes #2357
2021-10-21 22:18:50 +02:00
Thiago Kenji OkadaandGitHub 91155a98ed htop: add package option (#2407) 2021-10-20 09:22:17 -06:00
Robert Helgesson b5d738b5a3 ci: update install-nix-action to v14.1 2021-10-18 09:45:24 +02:00
Robert Helgesson 5961c64e03 imapnotify: add extraConfig account option 2021-10-18 09:45:23 +02:00
Robert Helgesson 0d110a0936 imapnotify: only write onNew* if a value is available 2021-10-18 09:45:22 +02:00
Robert Helgesson d244ca125f Dependabot should act on release-21.05, not 20.09 2021-10-18 08:47:54 +02:00
Thiago Kenji Okada 309808afbc github: disable strategy.fail-fast
From https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategyfail-fast

macOS pipeline is broken for quite some time, and when it fails before the
Ubuntu pipeline it fails it too (even if the tests are passing).

Setting `strategy.fail-fast` to false should avoid this issue.
2021-10-14 13:47:15 -03:00
Arash OutadiandRobert Helgesson 13e00b70a4 docs: remove $ prompts to make it easier to copy paste 2021-10-14 00:06:10 +02:00
Thiago Kenji OkadaandRobert Helgesson 223a4a17a4 nixpkgs-disabled: add module
This commit introduces the `nixpkgs-disabled` module, that is
basically a mock of `nixpkgs` module where any value different from
`null` will cause an assertion error.

This is to help debugging cases where `home-manager.useGlobalPkgs` is
set to `true` and `nixpkgs.*` options are being used.

Nowadays this returns the following error:

```
error: The option `home-manager.users.<user>.nixpkgs` does not exist.
```

This will change too:

```
error: `nixpkgs` options are disabled when `home-manager.useGlobalPkgs` is enabled.
```

That will direct the user to the correct solution (either removing
`nixpkgs` or disable `home-manager.useGlobalPkgs`).
2021-10-13 23:46:38 +02:00
Thiago Kenji Okada b88c863b40 modules: remove myself from maintainers.nix
I was already on nixpkgs list, just forgot to remove it from here.
2021-10-13 12:33:52 -03:00
Thiago Kenji OkadaandRobert Helgesson b22004bf1f rofi: add test case for config with deprecated options 2021-10-13 01:31:12 +02:00
Thiago Kenji OkadaandRobert Helgesson b78b584368 tests: fix test.assert.assertions.enable not working
Co-authored-by: Robert Helgesson <robert@rycee.net>
2021-10-13 01:29:23 +02:00
Robert Helgesson 4fa1ba72a3 Merge branch 'literalExpression' [#2371] 2021-10-13 00:24:35 +02:00
Naïm FavierandRobert Helgesson bd11e2c5e6 Replace usage of literalExample
Instead use the new function `literalExpression`. See

  https://github.com/NixOS/nixpkgs/pull/136909
2021-10-13 00:16:10 +02:00
Naïm FavierandRobert Helgesson 468c461139 lib: add fallback for literalExpression and literalDocBook 2021-10-13 00:16:09 +02:00
Robert Helgesson a77a01d1f6 docs: bump nmd
This revision support the new `literalExpression` documentation type.
2021-10-12 23:42:17 +02:00
Robert Helgesson 83f5ce2aec mbsync: add missing literalExample 2021-10-12 23:41:55 +02:00
Robert Helgesson 0b47ded208 flameshot: add settings option 2021-10-11 21:47:05 +02:00
Thiago Kenji OkadaandRobert Helgesson 32285d8fe6 rofi: remove options removed from upstream in v1.7.0 2021-10-09 00:45:20 +02:00
Nicolas BerbicheandGitHub 82c92a18ba gh: use structural settings (#2339) 2021-10-08 23:29:25 +02:00
Thiago Kenji OkadaandGitHub fd2f746016 nix-darwin: add modulesPath to specialArgs (#2375)
Same as 099cbcf13e, however now for
nix-darwin instead of NixOS.

Tested with `disabledModules = [ "programs/alacritty.nix" ];` and having an
error.
2021-10-08 16:36:41 -04:00
Jonas CarpayandGitHub d9fe208f3c z-lua: Add shell aliases to fish (#2376)
z.lua shell aliases are currently only added to bash and zsh, this also
adds them to the fish config
2021-10-06 08:49:56 -06:00
Nicolas BerbicheandGitHub 60ebc273c9 nix-darwin,nixos: add osConfig module argument (#2302)
Having either argument defined based on the OS is a problem when
trying to write generic Nix code.

The current workaround is to use accept both and specify a default
value for each argument:

```
{ config, lib, nixosConfig ? {}, darwinConfig ? {}, ... }:

let
  osConfig = nixosConfig // darwinConfig;
in
{
  # Do something with `osConfig`
}
```

With this commit, it becomes possible to do the following:

```
{ config, lib, osConfig, ... }:

{
  # Do something with `osConfig`
}
```
2021-10-06 16:32:13 +02:00
arcnmxandGitHub 854406680b vim: add option to specify pkgs.vim_configurable (#2307) 2021-10-06 15:56:06 +02:00
Robert Helgesson 8bbade4b01 fontconfig: only remove directory if it exists 2021-10-06 15:02:34 +02:00
Thiago Kenji OkadaandGitHub c100bd0c4b Makefile: improvements (#2374)
- Add NIXPKGS_REV, so we can pass arbitrary revisions for testing (for
  example, `release-21.05` so we can test backports).
- Add format target, that calls the format script.
2021-10-05 21:50:51 -06:00
Thiago Kenji OkadaandGitHub 592da767bd nnn: init (#2368)
nnn is a terminal file manager.

It is configured mostly using environment variables, so the way I
found it to avoid needing to write either shell specific code or
using `home.sessionVariables` (that would need to make the user
relogin at every configuration change) is to wrap the program using
`wrapProgram`.
2021-10-05 19:14:52 -04:00
Robert Helgesson 80d23ee06c fzf: do shell initialization a bit earlier
This is to better integrate with more advanced shell history managers
like McFly and Atuin. By initializing fzf first, we allow the history
managers to steal the C-r key binding from fzf.
2021-10-06 00:25:43 +02:00
Robert Helgesson af2007bb77 atuin: add module
This commit adds a module for configuring atuin, a replacement shell
history program.

The module adds options for generating atuin's `config.toml` from Nix,
and options to enable atuin's integration for bash and zsh
(which will rebind history keys to open the atuin history).
2021-10-05 23:48:52 +02:00
Robert Helgesson 1719495bdf screen-locker: make news entry conditional 2021-10-05 22:31:41 +02:00
Josh Robson ChaseandGitHub e4df31dcea screen-locker: Make xautolock optional, reorganize options (#2343)
* screen-locker: Make xautolock optional, reorganize options

xautolock isn't really needed to trigger xss-lock on the basis of time
since the built-in screensaver functionality of X serves as one of the
event sources for xss-lock. Keeping it around and defaulting to
"enabled" to avoid unexpected breakage.

Also shuffled around the options to submodules for xss-lock and
xautolock to get rid of prefixes in option names and to make
enableDetectSleep a bit clearer.

* screen-locker: update maintainership

* tests/screen-locker: Stub i3lock and xss-lock

* screen-locker: add package options for xss-lock and xautolock
2021-10-05 12:58:25 -04:00
KidandRobert Helgesson 88f9b33384 docs: update session variables suggestion for Fish 2021-10-04 20:30:22 +02:00
KidandRobert Helgesson 9b04ff5e3b fish: remove superfluous config guard 2021-10-04 20:21:23 +02:00
Robert Helgesson 81ec2aed8a kitty: make onChange Linux only
Since the `procps` package is Linux specific we have to limit the
`onChange` accordingly.

Fixes #2366
2021-10-04 18:20:04 +02:00
Naïm FavierandRobert Helgesson 099cbcf13e nixos: add modulesPath to specialArgs
Fixes #1792
2021-10-03 23:27:24 +02:00
Robert Helgesson 179ce0aacf fontconfig: use a prettier "real directory" hack 2021-10-03 23:09:19 +02:00
Emil KarlsonandRobert Helgesson e0a87d75e9 firefox: add bookmarks support
Generate bookmarks html file and hook it up in user.js.
2021-10-03 12:16:40 +02:00
Faye DuxovniandRobert Helgesson 095f3e32ae kanshi: allow multiple exec statements per profile
kanshi configurations can have more than one exec statement in a
profile. This change allows services.kanshi.profiles.<name>.exec to be
a list of strings rather than a single string.
2021-10-03 09:47:22 +02:00
Naïm FavierandRobert Helgesson f15cd0f087 gtk: add final newline to bookmarks to avoid conflicts 2021-10-03 09:39:25 +02:00
schotts-firedandRobert Helgesson 0f3dfc94ef services.emacs: add option extraOptions
This is to allow adding command-line arguments to the Emacs daemon.
Previously only the Emacs client could be started with custom
arguments.
2021-10-02 23:28:22 +02:00
Gabriel Fontes d5151186ac waybar: add onChange configuration reload 2021-10-01 11:05:42 -03:00
Gabriel Fontes 8f1d8c2ef1 mako: add onChange configuration reload 2021-10-01 11:05:42 -03:00
Gabriel Fontes ad05443e04 kitty: add onChange configuration reload 2021-10-01 11:05:16 -03:00
Thiago Kenji OkadaandGitHub 66d9dbfa36 Makefile: init (#2351)
The idea of this file is to make it easier to run tests. It will ensure
that the tests are running with the correct NIX_PATH (pointing it to
e.g.: unstable), and also allowing it to run either one or all tests.
2021-09-30 21:49:45 -06:00
Gabriel FontesandRobert Helgesson 52e84a040e xsettingsd: make configurable through module 2021-10-01 01:31:47 +02:00
MarinandGitHub 959217e51d astroid: fix maildir paths (#2350)
By maildir spec, emails should be under mailbox/folder/[cur,tmp,new]

This commit changes the default maildir path to more closely match the example config:
https://github.com/astroidmail/astroid/wiki/Configuration-Reference#accountsaccountnamesave_sent_to
2021-09-28 08:16:13 -06:00
Robert Helgesson cb09a968e9 tests: add option test.stubs
This option provides a more convenient way to overlay dummy packages.
It also adds a function `config.lib.test.mkStubPackage` that can,
e.g., be used for `package` options.
2021-09-26 23:26:38 +02:00
Naïm FavierandRobert Helgesson b0651cc217 nixos: import existing environment during activation
If the user has a running systemd session, source their environment
from the systemd manager and export a few variables in order to allow
activation scripts to reload applications on the fly.

The list of variables to export is arbitrary and could be extended in
the future.

Fixes #1399, fixes #2112.
2021-09-23 23:09:00 +02:00
Robert Helgesson eee807560b dbus: improve recommended NixOS configuration
Specifically, instead of

    services.dbus.packages = with pkgs; [ gnome.dconf ];

we now recommend

    programs.dconf.enable = true;

which does the same and more.
2021-09-23 22:35:30 +02:00
Robert Helgesson 58aa667e28 starship: initialize using command in profile
Fixes #2316
2021-09-21 22:37:31 +02:00
Jakub KozłowskiandRobert Helgesson 821299e90e sbt: run passwordCommand without trailing newline 2021-09-21 22:16:34 +02:00
Samuel GräfensteinandRobert Helgesson 4320399a3e flake: add docs to packages output 2021-09-21 22:12:55 +02:00
polykernelandRobert Helgesson 7cb118c9d2 xdg: coerce XDG base directories settings to strings
Currently, when a custom path is set for any of the XDG base
directories (i.e XDG_DATA_HOME, XDG_CONFIG_HOME, ...), the path will
be coerced into a string when consumed by other options such as
xdg.configFile et al. This causes the the given path to be copied to
the nix store which in the case of xdg.configFile et al, translate to
the file being written there as it is a absolute path.

Interestingly, the default base directories all work as intended as
they are encoded as a string.

This commit converts the option to a string regardless of whether it
is a primitive path or a string encoded path. This allows downstream
consumers to use the base directories in arbitrary way without
accidentally copying the content of the directory to the store. It is
implemented in a similar manner as how home.homeDirectory undergoes
string conversion.

The existing file-attr-name test was modified to test also custom xdg
base directories, and the home.file generation test was removed as
there is a dedicated test for this case in the files module. The test
case was renamed to file-gen to better reflect the new scope.
2021-09-21 21:29:44 +02:00
Naïm FavierandRobert Helgesson 371576cdc2 gpg-agent: remove unnecessary IFD
Make `gpgconf` only perform an import from derivation when the GPG
`homedir` is set to a non-default value, which probably isn't the case
for most users.
2021-09-15 23:09:02 +02:00
Samuel AinsworthandRobert Helgesson 562449b503 files: clarify "Please move the above files" message 2021-09-15 00:25:00 +02:00
Tad FisherandRobert Helgesson 514acaebb9 lieer: change settings to freeform type
Also add missing options.
2021-09-14 23:59:56 +02:00
polykernelandRobert Helgesson 4b964d2f7b bottom: add module
Bottom is a cross-platform graphical process/system monitor with a
customizable interface and a multitude of features.

Two unit tests were added validate the module behavior for an empty
configuration and the example configuration.
2021-09-14 23:40:21 +02:00
Robert Helgesson 2cfea84e6f modules: fix list sorting 2021-09-14 23:14:41 +02:00
dependabot[bot]andGitHub 5199bc841a ci: bump cachix/install-nix-action from 13 to 14
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 13 to 14.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v13...v14)

---
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>
2021-09-13 01:12:40 +00:00
Renee Margaret McConahyandRobert Helgesson 208e310e94 bash: allow unsetting shell options 2021-09-13 00:19:17 +02:00
polykernelandRobert Helgesson 039f786e60 fnott: refactor module
- Change generation behavior to always generate a configuration file
  and pass it explicitly to fnott, it enforces the module to be
  hermetic instead of offloading the configuration selection to
  heuristics.
- Various style changes.
- Fix issue where fnott would abort due to an invalid config file when
  both the configFile and settings options are unset.
- Remove the empty-settings test as a configuration file is now
  already generated.

Suggested-by: Robert Helgesson <robert@rycee.net>
2021-09-08 22:48:44 +02:00
Colin SummersandRobert Helgesson 275f39611d generic-linux: add system fpaths for zsh
PR #2013
2021-09-07 23:47:49 +02:00
Robert Helgesson 0dab813748 betterlockscreen: limit to platform linux 2021-09-07 07:55:17 +02:00
BastiandGitHub 5e46262cb1 betterlockscreen: add module (#2292) 2021-09-05 19:00:28 -06:00
Romanos SkiadasandRobert Helgesson 2952168ed5 docs: update session-vars info about fish shell
The docs implied that fish was not really supported, but if fish is
managed by Home Manager, the generated config does use fenv to source
the session-vars file. Update the installation instructions and FAQ to
mention that fish does work, and mention fenv in the README.
2021-09-04 23:12:17 +02:00
arcnmxandRobert Helgesson bd747c5a53 nixos: add timeout to hm-activate service
Oneshot services do not have a timeout by default, so a misbehaving
activation script can stall and prevent a system from ever booting.
2021-09-04 22:55:30 +02:00
Seth EtterandGitHub 21a2ff4496 broot: expose modal option (#2300)
* broot: expose modal option

* broot: add basic test

* Use `mkEnableOption`
2021-08-31 10:52:20 -06:00
Mario RodasandGitHub 61ca2fc1c0 mcfly: switch to init command (#2301)
mcfly migrated its initialization method to a subcomand called `init`,
which available since mcfly 0.5.4 released on Feb 28, 2021.
2021-08-29 23:42:54 -04:00
Jason FeliceandGitHub 33db7cc6a6 kitty: add environment and darwinLaunchOptions options (#2280)
* kitty: add environment option

* kitty: add darwinLaunchOptions option

See https://sw.kovidgoyal.net/kitty/faq/#how-do-i-specify-command-line-options-for-kitty-on-macos

* kitty: only allow darwinLaunchOptions on darwin

* kitty: make expression shorter

* kitty: fix assertion message
2021-08-26 22:08:34 -04:00
Tanya BoumanandRobert Helgesson f637e145d7 docs/manual: describes -> describe 2021-08-26 09:04:20 +02:00
polykernelandRobert Helgesson 521a03d8bf fnott: add module
Fnott is a keyboard driven and lightweight Wayland notification daemon
for wlroots-based compositors.

There are four unit test to validate behavior for an empty
configuration, the default configuration, global properties and
systemd service file generation.
2021-08-26 08:43:39 +02:00
Nicolas BerbicheandGitHub 84d54402a5 format: update nixpkgs revision in format script (#2283) 2021-08-24 21:49:46 +02:00
2cf19d1d98 neomutt: configurable package (#2294)
This makes it possible to easily use a different (e.g. more recent or
patched) neomutt package.

Co-authored-by: Michael Adler <therisen06@gmail.com>
2021-08-24 13:34:52 -06:00
SandroandGitHub 9029fd2b9d service/window-manager/awesome: replace not existing package (#2293)
See https://github.com/NixOS/nixpkgs/pull/135117
2021-08-23 08:39:42 -06:00
Connor PrussinandGitHub f6d1cad6ba [nixos] Fix race condition with user units (#2286)
One of the things managed by the `home-manager-<username>` unit is the systemd
user directory `.config/systemd/user`.  However, this directory needs to be in
place completely before systemd user sessions start up or the user sessions will
come up with an incomplete listing of enabled units, etc.

There was a race condition where nothing prevented
`systemd-user-sessions.service` from starting ahead of the systemd user
directory's initialization completing.  This commit makes
`home-manager-<username>` finishes _before_ we start
`systemd-user-sessions.service` to avoid such race condition.

This issue was probably not all that noticeable in most cases, but when using a
non-persistent root config (i.e. tmp on / or
https://grahamc.com/blog/erase-your-darlings) the race condition triggering
causes all kinds of issues on each reboot.
2021-08-21 22:14:40 -04:00
c5b3069145 i3/sway: allow empty criterias using a value of 'true' (#2277)
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-08-21 20:41:06 -04:00
4367119ca3 local gpg-agent acting as ssh-agent should yield (#667) (#2253)
* gpg-agent: local agent acting as ssh-agent should yield

This happens commonly if someone using home manager with gpg-agent
acting as ssh-agent on both machines.

@rycee brought up how gpg-itself has some support for agents on both
ends, but in that case one is forwarding the gpg-agent socket rather
than forwardning the gpg-agent-as-ssh-agent socket. There is no need to
forward both.

So I think this is a good default:

 - Forward just gpg-agent socket and this doesn't matter.

 - Forward just the ssh-agent socket and this does the right thing.

 - Forward both sockets and now the ssh one takes priority instead, but
   forwarding both was always a silly thing to do.

Fix #667

* Update modules/services/gpg-agent.nix

Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>

Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
2021-08-21 01:43:41 -04:00
Jan van BrüggeandGitHub bf6b85136b neomutt: Allow named mailboxes (#2212)
At the moment, only the inbox of each mail account is added to neomutt.
This inbox is always called "Inbox", so if you configure multiple
accounts, it is hard to know which one is which.

This change allows the user to specify a display name per account that
uses `named-mailboxes` under the hood.

Additionally this change now allows to add other folders than the inbox,
for example the Trash, Spam or Drafts folders to be added on a per-account
basis. Using extraOptions is not possible here, as those are lazily
loaded on mailbox open and thus would appear at the bottom and not sorted
by account.

This commit also changes the default sidebar format string to use %D
instead of %B because %B will ignore named mailboxes and show the folder
name instead.
2021-08-19 00:33:53 -04:00
c4605andRobert Helgesson 1a6df903e3 home-manager: add command line argument --impure 2021-08-19 00:07:49 +02:00
KidandRobert Helgesson 49a03303e1 fish: provide different examples 2021-08-18 23:51:33 +02:00
Ivan KovnatskyandGitHub a5c609b4b1 sway: workspaceLayout: stacked -> stacking (#2272) 2021-08-17 22:58:03 -04:00
ec260995e2 xsession: set default value of windowManager.command to handle display manager parameter (#2123)
Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2021-08-17 21:44:23 -04:00
Nicholas ColtharpandRobert Helgesson 72394f6d6b fluidsynth: add sound service option
Fluidsynth's systemd unit currently has a hard dependency on the
pulseaudio systemd service. Since fluidsynth can use other sound
services (e.g., pipewire-pulse), this should be configurable. This
commit adds the relevant option.

PR #2238
2021-08-18 00:38:29 +02:00
Timur DeminandGitHub d11afee973 home-manager: allow remote builders for nix-build (#2268)
This allows running home-manager with --builders option passed through
to nix-build, which will then pass build execution to remote builders on
other machines.

This may be useful with relatively complex home-manager configurations
where building on a local machine is not feasible.
2021-08-17 16:53:44 -04:00
Naïm FavierandRobert Helgesson 5569770d1e files: move dry run logic out of onChange hooks
Fixes #751
2021-08-17 22:14:32 +02:00
Luka T. KorošecandGitHub 8d68dbd144 doc: Add an example for a git includes section (#2275)
This adds an example for the `programs.git.includes.*.contents` section
since it was a bit ambiguous as to what kind of format it expects.
2021-08-17 16:12:00 -04:00
Robert Helgesson 7ef3db3730 docs: rename "doc" directory to "docs"
Also remove `CONTRIBUTING.adoc` and `FAQ.adoc` from project root since
GitHub knows to pick them up from the docs directory.

Fixes #2273
2021-08-17 19:35:11 +02:00
Ivan MalisonandRobert Helgesson ad0fc085c7 git-sync: add module 2021-08-17 00:00:38 +02:00
Robert Helgesson 763b1a1c55 Merge PR #2245 2021-08-16 23:40:17 +02:00
Robert Helgesson 5ed3a41afa htop: use dummy package in tests 2021-08-16 23:31:59 +02:00
Bart BakkerandRobert Helgesson 2c3a968f57 htop: make self code owner of tests too 2021-08-16 23:20:33 +02:00
Bart BakkerandRobert Helgesson e60dca7bb3 htop: fix htoprc when fields is not explicitly set
When the 'fields' setting is not set in htoprc, the htop program won't read any
of the settings. Provide a default value for fields in case it's not explicitly
set by the user.
2021-08-16 23:20:32 +02:00
Bart BakkerandRobert Helgesson 447f80f676 htop: verify htoprc contents for example settings test
Fix ending the generated htoprc with a newline.
2021-08-16 23:20:31 +02:00
Bart BakkerandRobert Helgesson e4553546cc htop: let htop program use its default settings
Don't generate the `htoprc` when using default settings to use the defaults of
the htop program.

Rename the test for this case to 'empty-settings'.
2021-08-16 23:20:31 +02:00
Bart BakkerandRobert Helgesson 7226c2db46 htop: add self as maintainer 2021-08-16 23:20:30 +02:00
Bart BakkerandRobert Helgesson 6eb88173e9 htop: remove deprecated options and definitions 2021-08-16 23:20:29 +02:00
Robert Helgesson 72f3bc6fa4 flameshot: add some service sandboxing 2021-08-14 15:13:31 +02:00
Robert Helgesson 654d82f888 syncthing: add more service sandboxing 2021-08-14 15:13:27 +02:00
Robert Helgesson a965b097b1 lib.gvariant: fix rendering of empty non-string arrays
Before, empty arrays would always be rendered as an empty string
array.
2021-08-13 08:52:13 +02:00
Robert Helgesson a3d691c053 lib.gvariant: add a few more functions to test case 2021-08-13 00:45:10 +02:00
Robert Helgesson d819e0741a rofi-pass: remove test dependency on rofi 2021-08-13 00:30:51 +02:00
Robert Helgesson 479e26dc8c scmpuff: remove test dependency on zsh 2021-08-12 23:11:15 +02:00
Robert Helgesson 3d93e1e802 bat: support list settings and shell escaping
Fixes #2262
2021-08-12 21:29:14 +02:00
Robert Helgesson 604561ba9a lib.gvariant: escape newlines in strings
See #2096
2021-08-11 23:30:24 +02:00
Mihai FufezanandGitHub c049a09d1a easyeffects: add module (#2182)
* pulseeffects: change default example

pulseeffects-pw is now an alias to easyeffects, and the `pulseeffects` binary
that this module references is no longer in that package.

* easyeffects: add module

The easyeffects service is the PipeWire equivalent of the pulseeffects
service.
2021-08-11 09:21:43 -06:00
Shamrock LeeandRobert Helgesson a4a8307897 java: add module 2021-08-10 23:30:12 +02:00
zach lattaandGitHub a57ef9dad1 doc: darwin: user.users.eve -> users.users.eve (#2258)
This fixes a broken example for nix-darwin in the docs.
2021-08-10 12:41:00 -06:00
Matthew LeachandRobert Helgesson 5515ec99cc email: allow null certificatesFile
Allow the value of certificatesFile to be null.

Also fixup uses of this variable.

Fixes: #2206
2021-08-10 00:12:13 +02:00
Ivan MalisonandGitHub 2c4234cb79 notify-osd: init (#2240)
Daemon that displays passive pop-up notifications
2021-08-08 20:29:36 -04:00
CtemandGitHub 59be1f4983 dunst: add option to read alternative configuration file (#2113) 2021-08-07 20:44:36 -04:00
midchildanandRobert Helgesson b0d769691c emacs: add extraConfig option 2021-08-06 23:57:14 +02:00
Robert Helgesson 29ea37374d fish: use dummy fish package in tests 2021-08-06 23:33:19 +02:00
Robert Helgesson d490797179 nix-index: use dummy fish package in tests 2021-08-06 22:55:57 +02:00
VanillaandRobert Helgesson ab6517d34a powerline-go: add fish integration 2021-08-06 22:46:58 +02:00
piegamesandRobert Helgesson 7f976da068 files: ignore conflict when files are identical
When the target file exists but has the exact same content then we
will now skip creation of the link from the source file.

Fixes #1213
2021-07-29 23:01:52 +02:00
zseriandRobert Helgesson 7c19bcb822 nixos: remove indirection via activate-${username}
Fixes #2191
2021-07-29 22:23:24 +02:00
Sandro JäckelandRobert Helgesson 5f6364fc28 home-manager: add --no-out-link command line option
When this option is used then `home-manager build` will not produce a
`result` link in the current working directory.
2021-07-29 16:04:41 +02:00
Yisrael Dov LebowandGitHub 2272fc312d doc: darwin: need to specify a system user (#2220) 2021-07-28 15:52:22 -04:00
Nicolas BerbicheandGitHub e08c696524 volnoti: fix package option namespace (#2227) 2021-07-28 15:39:29 -04:00
Robert Helgesson ae8cb242f2 home-environment: use declare -gr in activation init
This marks the setup variables as read-only. Just to add a bit extra
safety.
2021-07-27 23:50:33 +02:00
Matthieu CoudronandGitHub 47ad3655ec programs.neovim: expose generatedConfigViml (#2213)
Expose the generated viml config, this has 2 advantages:
1/ user can choose to write the generated config to a file of its choice
2/ the user can prepend/append to the config before writing it

    xdg.configFile."nvim/init.vim".text = ''
	" prepend some config
	${programs.neovim.generatedConfigViml}
	" append some config
    '';

NOTE: this was already possible with 
xdg.configFile."nvim/init.vim" = mkMerge [
  (mkBefore {
    text = ''
      " prepend some config
    '';
  })
  (mkAfter {
    text = ''
      " append some config
    '';
  })
]
2021-07-27 15:59:50 +02:00
KritnichandGitHub f6f6990fc8 barrier: remove tray option (#2215)
barrier's --no-tray CLI parameter is non-functional and so the option has been removed.
2021-07-26 09:16:00 -06:00
t4ccerandGitHub addc78bea0 neovim: Add coc support (#2154)
This adds two new options: 'programs.neovim.coc.{enable,settings}`.

These settings offer a simple interface over `xdg.configFile."nvim/coc-settings.json`,
using the standard Nix' syntax instead of a multiline string.
2021-07-25 22:40:07 -04:00
KidandGitHub 0423a7b40c fish: fix home-manager completion path 2021-07-25 00:32:20 +08:00
Robert Helgesson 996b439739 volnoti: add platform assert 2021-07-24 00:37:06 +02:00
Andreas MagerandRobert Helgesson cc6909d407 trayer: add module (#2177) 2021-07-24 00:29:49 +02:00
Nicolas BerbicheandGitHub 784da32958 meta: github: fix issue template assignees 2021-07-23 23:45:37 +02:00
Bjørn ForsmanandRobert Helgesson 6c984bd675 taskwarrior: don't create dataLocation with home.file
With

  programs.taskwarrior.dataLocation = /absolute/path

(outside of $HOME) the current implementation wrongly creates
$HOME/absolute/path (due to how home.file is implemented).

Since taskwarrior creates the dataLocation automatically on first run,
there is actually no need for HM to create that directory.

Additional benefit, the .keep symlink that HM creates as a side-effect
no longer appears in the taskwarrior data directory.

Fixes #2207.
2021-07-23 23:22:32 +02:00
Robert Helgesson ddeeb031fd nixos: add nix package to activation script path
Fixes #2178
2021-07-23 23:18:15 +02:00
Ivan MalisonandGitHub 41101d0e62 volnoti: add module (#2183) 2021-07-21 00:17:27 -04:00
fa483b82ab xcape: run xcape after setxkbmap (#2198) (#2199)
Co-authored-by: Alexander Khodyrev <a@akho.name>
2021-07-19 21:16:14 -04:00
Robert Helgesson d7e089699a syncthing: restrict service slightly 2021-07-19 22:41:51 +02:00
Nicolas BerbicheandRobert Helgesson 2b75633b2c meta: github: update issue template
Also add feature request template.
2021-07-18 23:54:23 +02:00
Robert Helgesson 41903a14b0 Remove a few format exceptions 2021-07-18 23:34:50 +02:00
axionandRobert Helgesson 82b06103ae home-manager: add fish completion 2021-07-18 23:13:06 +02:00
Robert Helgesson 5f433eb164 Move platform check into modules
Before, loading a module would be guarded by an optional platform
condition. This made it possible to avoid loading and evaluating a
module if it did not support the host platform.

Unfortunately, this made it impossible to share a single configuration
between GNU/Linux and Darwin hosts, which some wish to do.

This removes the conditional load and instead inserts host platform
assertions in the modules that are platform specific.

Fixes #1906
2021-07-18 20:43:22 +02:00
Robert Helgesson 1617e56c2f firefox: fix tests 2021-07-18 20:29:00 +02:00
Ivan MalisonandRobert Helgesson c476cc61b2 xsettingsd: add service module 2021-07-15 15:47:42 +02:00
Sumner EvansandGitHub f56a087cbc sway: add propagate --to-code for modes (#2176)
Propagates the bindkeysToCode setting which adds --to-code to the keybindings in mode configs.

Closes #2174
2021-07-15 07:09:54 -06:00
IvarWithoutBonesandRobert Helgesson 775cb20bd4 sm64ex: add module 2021-07-12 08:57:35 +02:00
Colin SummersandGitHub 9e3c402972 brave: fix config dir path (#2173)
Changes install path for extensions from `~/.config/brave` to
`~/.config/BraveSoftware/Brave-Browser` on Linux.
2021-07-11 21:19:10 -04:00
Naïm FavierandGitHub 4971b9cad0 setxkbmap: reset options before setting new ones (#2160) 2021-07-11 21:15:18 -04:00
Gabriel FontesandRobert Helgesson 3ab254aff4 qutebrowser: add onChange ipc reloading 2021-07-11 22:46:06 +02:00
Jörg Thalheim 9ed7a73ae2 home-manager: fix nixos-option fallback 2021-07-10 11:38:33 +02:00
Jörg Thalheim ae636c09f4 Revert "Revert "home-manager: use nixos-option from pkgs""
This reverts commit 2c9fe368c1.
2021-07-10 11:21:04 +02:00
Jörg Thalheim 2c9fe368c1 Revert "home-manager: use nixos-option from pkgs"
This reverts commit d7d7bbbf20.
2021-07-10 11:17:32 +02:00
Robert Helgesson d7d7bbbf20 home-manager: use nixos-option from pkgs
Fixes #2170
2021-07-10 09:34:55 +02:00
Robert Helgesson 06ee8ec8df xmobar: use dummy package in test 2021-07-07 23:46:53 +02:00
97d183e2e4 devilspie2: add module (#1477)
Co-authored-by: Sumner Evans <me@sumnerevans.com>
Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2021-07-05 16:29:34 -04:00
Robert Helgesson ac319fd314 home-environment: add Nixpkgs release version check
This adds a warning when a release version mismatch is detected
between Home Manager and Nixpkgs.
2021-07-04 09:40:40 +02:00
Rosario PulellaandGitHub 7df6656b11 foot: revert always create config file (#2091) (#2157)
This reverts commit 666eee4f72 (#2091).

As of NixOS/nixpkgs#128121, which incorporated changes from:
https://codeberg.org/dnkl/foot/pulls/588/, foot no longer
errors if there is no config file.
2021-07-01 12:05:37 -06:00
Mario RodasandGitHub 9ad0024d4d rbw: use pientry.binaryPath when available (#2153)
`pinentry_mac` does not use bin/pientry as path to its binary, instead
it sets `binaryPath` pointing to the binary.
2021-06-29 21:27:19 -04:00
3f6cb409ca xmobar: add module (#2120)
* xmobar: Add module

* xmobar: Add test case

xmobar: Add test default.nix

* xmobar: Order lists alphabetically

* xmobar: Change colon to comma in description

* xmobar: Fix macos tests

* xmobar: Remove extra line

* xmobar: Add literalExample

Co-authored-by: Sumner Evans <me@sumnerevans.com>

* xmobar: Update extraConfig description

Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-06-29 13:02:43 -06:00
5b08b33e8f rofi: add "plugins" option (#2117)
* rofi: add support to plugins

* rofi: update package example

Co-authored-by: Sumner Evans <me@sumnerevans.com>

* rofi: Format package example

* rofi: Fix tests

Rofi will not try to install plugins using override when tests overlay
actual rofi package with empty scirpt

* rofi: Refactor

Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-06-29 11:13:01 -06:00
Robert Helgesson 9b7a90daa1 files: minor cleanup 2021-06-28 23:17:00 +02:00
LavaandGitHub 85d67b0a6e xsession: Add profilePath configuration option (#2140)
This allows the user to move .xprofile somewhere else, which can help
with decluttering their home directory.
2021-06-28 09:11:15 -06:00
LavaandGitHub dc4337d9fe xresources: Add path configuration option (#2141)
* xresources: Add path configuration option

This allows the user to move .Xresources somewhere else, which can help
with decluttering the home directory.

* xresources: Update xresources.path docs

* xresources: Fix formatting
2021-06-28 00:50:40 -06:00
DGandGitHub a17bc3217f zsh: add enableSyntaxHighlighting option (#2144)
Add a simple way to enable syntax highlighting for zsh using https://github.com/zsh-users/zsh-syntax-highlighting
2021-06-28 00:04:38 -06:00
Robert Helgesson 2aeaf65e8f files: assert that target files are unique
Fixes #1807
2021-06-27 17:10:45 +02:00
Robert Helgesson f4998f0adc tests: bump nmt 2021-06-27 14:20:13 +02:00
Bruno BELANYIandGitHub 8d3b273afe himalaya: add module
A very simple TUI mail client.
2021-06-26 18:29:42 -04:00
j-kandGitHub 8eee5f5272 obs-studio: use wrapobs and the new plugin layout (#2142)
The packaging in nixpkgs for obs plugins has changed and there's a
wrapOBS function.
The name of the plugins has also changed so the example needed updating
to reflect that.

Related: https://github.com/NixOS/nixpkgs/pull/125308
2021-06-26 17:29:50 -04:00
KaliguleandRobert Helgesson 0ada50fc9c docs: document how to reset the nix-env 2021-06-25 11:18:26 +02:00
Ilan JoselevichandRobert Helgesson 7e2b1a42aa i18n.inputMethod: add module 2021-06-25 00:58:50 +02:00
Robert Helgesson ab0e6c3e0e tests: bump nmt 2021-06-24 22:47:21 +02:00
Robert Helgesson 21ac4c499b xmonad: restrict news entry to Linux 2021-06-24 08:42:28 +02:00
Sergey VlasovandGitHub b42fce7aaa i3,sway: add bar color options for the focused output (#2135)
Both i3bar and swaybar can use different colors for the bar on the
currently focused monitor output; add color options for this feature.
2021-06-22 20:56:41 -06:00
49864a4370 xmonad: document breakage of recompilation (#2024)
Co-authored-by: Markus Scherer <markus.f.scherer@gmail.com>
2021-06-22 20:36:47 -04:00
Robert Helgesson 762f860cfb tests: prevent some unnecessary downloads 2021-06-23 00:37:25 +02:00
KidandGitHub 04955ca970 README: fix outdated description (#2131)
* README: fix outdated description
2021-06-22 16:20:13 +02:00
Sandro Jäckel cd11c02c28 command-not-found: update from nixpkgs 2021-06-20 20:40:37 +02:00
Robert Helgesson a73e619377 tests: update nmt
Allows running, e.g.,

    nix-build --pure tests -A build.all
2021-06-20 09:52:58 +02:00
Naïm FavierandGitHub dc1b6b8349 bspwm: re-add support for lists as config option values (#2125)
Removed by mistake in e70524c, but ignore_ewmh_fullscreen still needs it.
2021-06-20 00:57:40 -04:00
Naïm FavierandGitHub e70524cd2b bspwm: various improvements (#2095)
* bspwm: various improvements

- fixes shell escaping issues and general style issues
- allow reloading the config on-the-fly by exposing bspwmrc to the user

* bspwm: add configuration test
2021-06-19 18:40:17 -04:00
Josh HollandandGitHub 2f6d5c90f4 fzf: also use custom package for shell integrations (#2119) 2021-06-17 23:57:25 +02:00
Christopher LeagueandGitHub 6d9bff77ed rsibreak: add package when enabled; fixes #2092 (#2118)
Otherwise rsibreak cannot find its icon and is a blank gap on the
notification tray.
2021-06-17 09:08:10 -06:00
Philipp DargelandGitHub d04e52b0c0 terminator: add module (#2063)
added configuration for terminator
2021-06-17 09:06:47 -06:00
Naïm FavierandGitHub 3aa479d551 dunst: make icon_path extensible (#2097) 2021-06-16 21:06:16 -04:00
Robert Helgesson a01fe9f81e sxhkd: fix service test
Before it generated a nonsense test script.
2021-06-17 00:16:17 +02:00
Robert Helgesson 6cd92c643a sxhkd: minor formatting in test 2021-06-16 23:57:58 +02:00
Nicolas BerbicheandGitHub 5a19e0ea9c home-manager: fix nixos-option evaluation (#2115) 2021-06-16 16:39:02 -04:00
Dusk BanksandRobert Helgesson 63af2d3e4c home-manager: add home-manager option
This adds functionality much like that provided by `nixos-option`.
2021-06-15 23:46:45 +02:00
Kevin AmadoandGitHub e92f5bb79e programs.gnome-terminal: terminal options (#2042)
- Add support for showing bold as bright colors
- Add support to configure the background transparency
- Fix the scrollOnOutput, it was not being dumped to the config
- Add tests!
- Add myself as maintainer
2021-06-15 23:39:56 +02:00
Naïm FavierandRobert Helgesson 1e8d0beae4 xresources: load .Xresources in xsession.initExtra 2021-06-15 23:01:13 +02:00
Dmitry KulikovandGitHub 9b39fd7eb4 sxhkd: stop scope before creating (#2086) 2021-06-15 13:27:35 -04:00
IvarandGitHub be0e73a308 qutebrowser: add quickmark support (#2059)
Closes: https://github.com/nix-community/home-manager/issues/1230
2021-06-15 12:22:21 -04:00
Josh HollandandGitHub e0f2949c98 direnv: add enableFlakes option for enableNixDirenvIntegration (#2089)
NixOS/nixpkgs@03310df843 disabled flake
support by default, so we now need to build a custom package and use it
if the user wants to `use flake` successfully.  This should fix #2087.
2021-06-15 12:11:26 -04:00
bb010gandRobert Helgesson 1375fd4a03 systemd: add automounts option 2021-06-14 23:10:21 +02:00
bb010gandRobert Helgesson b6613a8544 systemd: bring more in line with upstream 2021-06-14 23:10:20 +02:00
bb010gandRobert Helgesson c982c19f53 files: properly escape shell arguments 2021-06-14 23:10:19 +02:00
Naïm FavierandGitHub 4ed6705b0f nixos: set stopIfChanged to false (#2105)
There is no ExecStop so we can just restart the service.
2021-06-14 20:49:38 +03:00
Sumner EvansandGitHub 25bf3d7953 password-store: add environment variables to xsession.importedVariables (#2103)
This ensures that any systemd services that need pass will have the
correct environment variables.
2021-06-13 16:27:31 -06:00
ZerataX fb50102daf mangohud: add module 2021-06-12 09:55:58 +02:00
Rosario PulellaandGitHub 666eee4f72 programs.foot: Always create config file (#2091)
foot complains if there is no config file.
2021-06-10 18:40:36 +02:00
bb010gandGitHub 42847469b3 zsh: add completionInit option (#2046)
Factored out from original .zshrc construction.
2021-06-09 11:15:10 -04:00
Christopher LeagueandGitHub aa36e2d6b4 xsession.pointerCursor: .icons file for AwesomeWM (#2084) 2021-06-07 18:00:31 -04:00
Johannes SchleifenbaumandGitHub 06a98ba0fd pantalaimon: add module (#2056) 2021-06-07 17:38:42 -04:00
f74dc9c70b xidlehook: add module (#1761)
Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
2021-06-07 16:13:43 -04:00
Ethan EdwardsandGitHub 9424f31f86 piston-cli: add module (#2052)
* piston-cli: add module

* News: Remove trailing whitespace
2021-06-07 08:07:15 -06:00
malte-vandGitHub 3ffe2a4cdf programs.senpai: add module (#2076)
* maintainers: add malvo

* programs.senpai: add module
2021-06-07 07:40:32 -06:00
Rodney LorrimarandGitHub afb5fd962c irssi: add ssl_cert option for servers (#2043)
* irssi: add ssl_cert option for servers

I was following these instructions
https://www.oftc.net/NickServ/CertFP/
and found that the `/server add -ssl_cert` option was needed.

This patch therefore adds an optional
`programs.irssi.networks.<name>.server.ssl.certificateFile` path.

Perhaps this could also be done with a `settings` attribute, but that
would probably require most of this module to be reworked.

* irsii: Add example-settings test case
2021-06-06 15:31:25 -06:00
Bruno BELANYIandGitHub 7591c8041d rbw: add module (#1998)
`rbw` is a stand-alone Bitwarden client, which makes use of a daemon to
cache your password and manage state.

Its configuration can be managed by `home-manager` or not, leaving the
user free to configure it through `rbw config`.
2021-06-05 18:09:02 -06:00
Rodney LorrimarandRobert Helgesson 5060262b79 services/emacs: Prevent deletion of socket file
When running a socket-activated emacs service, we don't want emacs to
remove the socket file after exiting, because then subsequent
invocations of `emacsclient` won't be able to use the socket to start
emacs.service again.
2021-06-06 01:00:20 +02:00
Tad FisherandRobert Helgesson ac82c036d8 services/emacs: Update systemd definitions, drop Emacs 26 support
Emacs 27 added Type=notify support and updated the service definition to
remove the use of `emacsclient' to kill the service. Emacs 28 changes
the `StartupWMClass' in emacsclient.desktop to `Emacsd'. Update our
emacs.service and emacsclient.desktop definitions to match upstream
changes.

When killing emacs.service, the socket is removed, and subsequently
starting the service manually results in a service without a socket.
Prevent this by adding `RefuseManualStart=true' to the service's Unit
definition.

Drop Emacs 26 support as it is no longer shipped in nixpkgs. Update the
tests to verify the following configuration scenarios:

- Emacs version: 27, 28
- Socket activation: disabled, enabled
2021-06-06 01:00:19 +02:00
puzzlewolfandGitHub e9ed9c2e11 etesync-dav: fix typo (#2067)
Upstream (https://github.com/etesync/etesync-dav/blob/master/README.md#configuration-and-running) uses 37358 as default port.
2021-06-05 16:58:12 -06:00
bb010gandGitHub 5eb199e937 home-manager: pass on --debug option (#2049)
* man-home-manager: remove trailing whitespace

* home-manager: pass on `--debug` option
2021-06-05 16:11:06 -06:00
Naïm FavierandGitHub dba802c1d9 dunst: add the whole package to home.packages (#2079)
The `dunst` package provides the `dunstctl` and `dunstify` command-line utilities which are useful to have.
2021-06-05 15:31:50 -06:00
lunik1andRobert Helgesson e4c55ed4e6 Revert "foot: add foot binaries to user service's path (#2061)"
This reverts commit cb227dc6c2.
2021-06-05 20:53:45 +02:00
Robert Helgesson 19d95258ac docs: set current version to 21.11 2021-06-05 20:05:04 +02:00
Robert Helgesson 5c1415d67f docs: mark 21.05 as stable version 2021-06-05 19:54:25 +02:00
Dusk BanksandRobert Helgesson 45f9cb06a9 texlive: add packageSet option 2021-06-03 22:44:09 +02:00
Dusk BanksandRobert Helgesson c12d53dd7c texlive: "Texlive" -> "TeX Live" 2021-06-03 22:44:08 +02:00
Robert Helgesson d3cdabb5c9 Replace references to pkgs.gnome3 by pkgs.gnome 2021-06-03 22:09:59 +02:00
Matthieu CoudronandGitHub c7e79b5337 programs.neovim: dont wrap init.vim (#2058)
since we want to write it ourself in ~/.config/nvim/init.vim
2021-06-03 21:37:53 +02:00
BastiandGitHub 95da56b783 i3,sway: workspace output assignment (#2003)
(cherry picked from commit ea3ff797c87313e71f2ed2fd2b932a18a4b4400b)
2021-06-02 18:03:20 -06:00
cwycGitHubcwyc--get <--show>
30102ea9e5 xdg-desktop-entries: add module (#1450)
* xdg-desktop-entries: add module

rebase

* xdg-desktop-entries: adapt to changes in makeDesktopItem

This package depends on the makeDesktopItem function in nixpkgs, which recently changed its syntax:
https://github.com/NixOS/nixpkgs/pull/91790

This commit makes the module compatible with the new syntax.

It also exposes the fileValidation option in makeDesktopItem.

Co-authored-by: cwyc <cwyc@users.noreply.github.com>
Co-authored-by: --get <--show>
2021-06-02 19:36:17 -04:00
Bart BakkerandGitHub d6bbd02e95 htop: fix preserving the order of meters (#2065)
Pass meters for formatting in a list of attrsets so that ordering can be
preserved. In addition provide some mode-specific functions to create these
attrsets, to make for a bit nicer config.

This fixes #2060.
2021-06-02 19:27:17 -04:00
Sylvain FankhauserandGitHub b917624670 i3status-rust: replace deprecated format keys (#2062) 2021-06-02 11:05:19 -04:00
lunik1andGitHub cb227dc6c2 foot: add foot binaries to user service's path (#2061)
This is needed for foot's new terminal spawning feature to function.
2021-06-01 19:24:59 -04:00
Matthieu CoudronandGitHub 2a4ab0d891 programs.neovim: fix tests + swap extraConfig and pluginconfig (#2053)
makes more sense to have extraConfig afterwards in case use want to override config
2021-05-31 19:32:21 +02:00
Robert Helgesson 9e253a8c30 docs: minor additional issue template update 2021-05-31 17:27:34 +02:00
Robert Helgesson 5573c10ea4 docs: update issue template
Most importantly change chat contact information.
2021-05-31 17:24:37 +02:00
bb010gandRobert Helgesson 0e329cee4c jq: add package option 2021-05-30 22:48:57 +02:00
Robert Helgesson d2aaeac42c files: remove assertion on recursive onChange
See discussion in

  https://github.com/nix-community/home-manager/pull/2031
2021-05-30 11:54:33 +02:00
Robert Helgesson 07ad6a4f76 files: fix use of onChange with directory source
Previously, the comparison would not handle directory comparison
correctly, always finding that the source and target differed. This
would trigger the `onChange` script on each activation.

Fixes #2004
2021-05-29 21:52:37 +02:00
Robert Helgesson ab64dc3249 docs: make OFTC upper case 2021-05-29 20:22:40 +02:00
Robert Helgesson 3591cd2b3b docs: switch IRC to OFTC 2021-05-29 19:29:15 +02:00
Joe HermaszewskiandGitHub 0e6c61a440 programs.neovim: Set customRC for new nixpkgs (#2039)
Previously with newer nixpkgs revisions extraConfig would not make it into init.nvim
2021-05-27 22:05:20 +02:00
ddf35436b7 nextcloud-client: add startInBackground option (#2038)
* nextcloud-client: add runInBackground option

* nextcloud-client: Change runInBackground description

Co-authored-by: Sumner Evans <me@sumnerevans.com>

* nextcloud-client: Use optionalString for the runInBackground option

Co-authored-by: Sumner Evans <me@sumnerevans.com>

* nextcloud-client: Remove "defaultText" in the runInBackground option

* nextcloud-client: Fixed formatting

* nextcloud-client: Rename runInBackground to startInBackground

Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-05-27 10:54:20 -06:00
Rosario PulellaandRobert Helgesson b840707a87 firefox: Always create profile directories
Write ".keep" file in profile dir for each profile regardless of any
other settings to creare profile dir.
2021-05-26 09:41:43 +02:00
Robert Helgesson 90493027e3 mbsync: fix news entry 2021-05-23 20:32:01 +02:00
Karl HandGitHub 64607f58b7 isync/mbsync: replace master/slave with far/near (#1776)
* isync/mbsync: replace master/slave with far/near

  isync/mbsync: update tests to match new changes

* isync/mbsync: use mkRenamedOptionModule to alert user to near/far change

* isync/mbsync: use warnings to alert about master/slave far/near change

  Fix capitalization

  isync/mbsync: fix nitpicks

* isync/mbsync: run format script

* isync/mbsync: include new test for expected master/slave warnings

* isync/mbsync: add news about changes
2021-05-22 15:31:06 -06:00
Nick HuandGitHub 4f70f49cec Add systemd target tray.target (#2027)
This target is for systemd units that require a system tray to be
running.

This also fixes taffybar.service: previously, systemd would consider it
to be active (running) before it was actually ready to accept tray
icons.
2021-05-22 03:15:12 +01:00
Scott OlsonandGitHub 82ab1ad467 syncthing: fix news link (#2032) 2021-05-20 20:23:55 -06:00
Bart BakkerandGitHub 3d18912f5a htop: fix deprecation warnings (#2026)
Previous patch on deprecation warnings broke use of old options due to function
call with too many arguments. This fixes the arguments so deprecation warnings
are properly traced while preserving old configuration options.
2021-05-19 11:38:14 +02:00
Bruno BELANYIandRobert Helgesson b449cb77b1 firefox: deprecate 'enableGnomeExtensions'
Fixes #1990.
2021-05-19 08:51:52 +02:00
Nicolas BerbicheandGitHub cced902dda gpg: document lists are converted to duplicate keys (#2025) 2021-05-18 22:58:38 -06:00
Bart BakkerandGitHub 91450f23ce htop: replace individual option with 'settings' (#1844)
* htop: add some missing meters
* htop: replace individual options with 'settings'
Deprecate all options and introduce `settings` for setting htop configuration
values in Nix configuration.

Use `lib.htop` to provide `fields` and `modes` for easy access to htop's integer
configuration. And `leftMeters` and `rightMeters` functions for building the
separate `*_meters` and `*_meter_modes` attributes.

* htop: add release-notes 21.05 entry
* htop: improve deprecation warnings

Move default configuration into `settings` and make deprecated options default
to `null`. Print deprecation warnings for any option that is non-null --
i.e. only show warnings for explicitly specified deprecated options.

* htop: make self code owner of module
* release notes: fix invalid programs.htop xref
2021-05-19 01:36:08 +02:00
Pierre LabadensandRobert Helgesson ff616b2734 foot: add module
Foot is a fast terminal emulator for Wayland. It can optionally be run
in a client-server configuration.

There are three unit tests to handle an empty configuration, the
default configuration, and systemd service file generation.
2021-05-18 22:29:41 +02:00
Nick HuandRobert Helgesson 73ecbd3722 Revert "status-notifier-watcher: introduce unit start delay"
This reverts commit 02c1f8d416.
2021-05-18 22:12:59 +02:00
Nick HuandGitHub 3612ca58e8 syncthing: make syncthing tray package configurable (#1257)
Also sets the default syncthing tray package to
https://github.com/Martchus/syncthingtray instead of
https://github.com/sieren/QSyncthingTray, which indirectly fixes #603
2021-05-18 15:43:17 +01:00
Robert Helgesson f9e45390de scmpuff: use pkgs.scmpuff 2021-05-18 00:47:40 +02:00
Robert Helgesson adbabcd0a0 gtk: fix gtk2-basic-config test 2021-05-18 00:47:15 +02:00
Robert Helgesson e9b7d12e06 bash: generate files using writeShellScript
This ensures that the generated file is syntactically valid.

Issue #2015
2021-05-18 00:46:04 +02:00
Robert Helgesson 794d08a1d8 home-environment: generate checked activation script
By using `writeShellScript` when writing the activation script we
automatically get the right shebang and also get syntax validation.

Issue #2015
2021-05-18 00:18:57 +02:00
Ivan KovnatskyandGitHub b0688a631b i3status-rust: fix bars.block example (#2016) 2021-05-17 11:25:03 -06:00
Sebastian SellmeierandGitHub 6a471f1b11 i3,sway: add option for default workspace (#2002)
Related to #695
2021-05-16 22:54:53 -06:00
Tad FisherandGitHub 01ec2aaefe systemd: revert systemd-environment-generator usage for environment variables (#2001) 2021-05-16 17:43:50 -04:00
asymmetricandGitHub 77188bcd6e services/kanshi: add module example (#2008) 2021-05-15 23:17:48 -04:00
Tad FisherandGitHub 23769994e8 xdg.systemDirs: init module (#1797)
There is a need to manage XDG Base Directory system directory
environment variables in Home Manager modules. There is an existing
mechanism in `targets.genericLinux.extraXdgDataDirs', but this does not
apply to NixOS systems.

Furthermore, it is important that `XDG_CONFIG_DIRS' and `XDG_DATA_DIRS'
are set in both login shells (to support getty and SSH sessions) as well
as the systemd user manager (to propagate them to user services and
desktop environments).

The first need is addressed by adding the `xdg.systemDirs' module, which
configures lists of directory names for both `config' and `data'
directories. These are then set in
`$XDG_CONFIG_DIR/environment.d/10-home-manager.conf' and picked up by
the systemd user manager.

To make these, and other variables set in
`systemd.user.sessionVariables', available in login shells, an
additional step is added to `etc/profile.d/hm-session-vars.sh' which
exports the result of
`user-environment-generators/30-systemd-environment-d-generator' which
is shipped with systemd. The effect of this generator is to print
variables set on the systemd user manager such that shells can import
these into their environment.
2021-05-10 20:14:42 -04:00
Bruno BELANYIandGitHub 3b799f6ea4 nix-index: add module (#1984)
`nix-index` is a tool to quickly locate the package providing a certain
file in `nixpkgs`. It indexes built derivations found in binary caches.

This module adds the shell integration for its `command-not-found`
script for interactive shells.
2021-05-09 18:13:10 -04:00
Bruno BELANYIandGitHub 7d765d8f46 firefox: do not override other attributes in 'cfg' (#1988)
Closes #1962.
2021-05-09 18:06:04 -04:00
Robert Helgesson 15a2953c81 powerline-go: avoid dependency in tests 2021-05-09 12:23:44 +02:00
Robert Helgesson e42e147b58 Remove some usage of config.lib.dag
The `lib.hm.dag` attribute set should always be preferred.
2021-05-09 12:13:31 +02:00
Robert Helgesson 4896c50074 msmtp: add note about account commands in extraConfig
Fixes #1975
2021-05-08 11:39:12 +02:00
Michal SojkaandGitHub b2dec35b86 Fix eval errors when i3 or sway null configs are null (#1989) 2021-05-07 15:39:10 -06:00
0qqandGitHub ff959fd49a sxhkd: fix environment (#1892)
* sxhkd: move to xsession.initExtra

When sxhkd is launched as systemd service it
doesn't have $PATH a user expects to see.

* sxhkd: add news entry
2021-05-07 15:28:52 -04:00
Robert Helgesson 86944b0fb1 docs: remove requirement about capitalization
Seems a bit too pedantic.
2021-05-06 23:44:16 +02:00
Vincent BreitmoserandRobert Helgesson 30355f8ee6 etesync-dav: add module 2021-05-06 22:48:57 +02:00
Robert Helgesson f298705ae4 i3,sway: break documentation dependency on configuration
Before the documentation for a number of options had a dependency on
the configuration.
2021-05-06 00:16:37 +02:00
Robert Helgesson 90dd375eba zsh: break configuration dependency in documentation
Before the documentation for the `programs.zsh.history.path` had a
dependency on the configuration.
2021-05-06 00:00:45 +02:00
Antoine MartinandGitHub 64c5228c08 i3, sway: description and example for font options (#1980)
Adds an example to the root fonts submodule because the documentation doesn't know how to handle `type = with types; either (listOf str) fontOptions;`
2021-05-04 08:31:37 -06:00
Sumner EvansandGitHub 9ffb206050 i3, sway: replace fonts with submodule (#1950)
This applies to both the root-level and the bar configs.

Closes #1937.
2021-05-03 21:54:35 -06:00
Robert SchützandGitHub e0ee5068dd neovim: drop python2 support (#1978)
Nixpkgs did the same in https://github.com/NixOS/nixpkgs/pull/121339.
2021-05-03 21:47:08 -06:00
Sumner EvansandRobert Helgesson 225bf275ba neomutt: make folder change when sourcing account optional
This adds an option for disabling setting the folder when sourcing
accounts in neomutt.
2021-05-03 09:04:58 +02:00
David TerryandGitHub cdc774f337 lieer-service: add path to notmuch config (#1704)
This change makes the services created via the lieer module aware of the notmuch config created by the home-mangager notmuch module (which is stored in a non-standard location).

Without this change all the lieer services created by the lieer module failed for me, as they were unable to find the notmuch config.
2021-05-03 00:19:41 +02:00
HansandGitHub ca7868dc29 fzf: option for tmux usage in shell integration (#1926)
Added options for setting:
FZF_TMUX
FZF_TMUX_OPTS
environment variables, which changes behaviour of fzf shell integration.
2021-05-01 18:10:41 -04:00
2f857761d0 ncspot: add module (#1939)
* ncspot: add module

ncspot is a ncurses Spotify client written in Rust using librespot.

* news: fix bad github ui merge

Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2021-05-01 17:38:12 -04:00
oxalicaandGitHub 5709b5f953 zsh: add history.ignorePatterns option (#1933)
The corresponding variable is `HISTORY_IGNORE` described in zshparam(1).
2021-05-01 16:33:45 -04:00
Blaž HrastnikandGitHub 19fc0917c0 waybar: fix systemd service
Fix xdg-portal issue where it'd take 25s for a GTK app to start
2021-05-01 16:26:10 -04:00
614a5b55bf lazygit: add module (#1930)
Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-05-01 09:56:19 -06:00
2eed138026 barrier: add module
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-05-01 00:11:17 +02:00
Sumner EvansandRobert Helgesson 5e6f09795c gtk2: allow configuration of gtkrc file
Closes #519
2021-04-30 22:56:56 +02:00
Robert Helgesson d57c59e7cb home-environment: extra message on nix-env error
When profile installation fails during activation we'll print an extra
message that explain that, if the error is due to conflicting
packages, then it may be that the user has a manually installed copy
of the package.

Fixes #1244
2021-04-29 17:58:15 +02:00
Harsh ShandilyaandGitHub 137a584e22 topgrade: add module (#1924) 2021-04-28 19:56:58 -04:00
Sumner EvansandRobert Helgesson 55ef8d3a10 format: remove exception for keybase and kbfs modules 2021-04-29 00:49:01 +02:00
Robert Helgesson 5ae7817dc5 kitty: use dummy package in test
Also remove assignment to non-existent option
`programs.kitty.package`.
2021-04-29 00:40:32 +02:00
Ivar ScholtenandRobert Helgesson 4727b0543d pbgopy: add missing options 2021-04-29 00:26:17 +02:00
Sumner EvansandRobert Helgesson 4edc2091e0 github: configure probot/stale 2021-04-29 00:03:28 +02:00
Sumner EvansandGitHub 2d421b30ad format: removed exceptions already formatted files (#1954)
Removed format exclusion exceptions for modules that are already
formatted correctly (that is, when running nixfmt, no changes happen) or
have been moved (in the case of i3.nix).
2021-04-28 21:59:51 +02:00
Sumner EvansandGitHub b706d101eb format: remove exception for afew module (#1955) 2021-04-28 21:58:49 +02:00
Sumner EvansandGitHub 19ebab97e8 i3, sway: extract border functionality to common function (#1947)
* i3, sway: extract border functionality to common function

Converted the i3 module to use default_border and
default_floating_border and extracted that functionality out to be
shared between the i3 and sway modules.

* i3: add sumnerevans as maintainer
2021-04-28 15:52:31 -04:00
Thibaut MartyandGitHub a759143ae1 mpris-proxy: add module (#1832) 2021-04-28 15:05:56 -04:00
fortuneandGitHub a513fbc395 qutebrowser: fix config location on darwin (#1925) 2021-04-28 14:41:30 -04:00
Cole MickensandGitHub c0ba8c526d gpg: can configure scdaemon.conf (#1960) 2021-04-28 14:39:58 -04:00
Tad FisherandGitHub 18ad12d52b programs.ssh: Use nullable types for optional forward attrs (#1946)
Attempting to build a flake configuration using `ssh.remoteForwards' results in
evaluation errors when `port' is undefined, as `!(entry ? port)' evaluates to
false. This was verified in the nix repl, and also occurs for `nix flake
check'.

Set optional attrs in `bindOptions' and `forwardModule' to `null' by default
and adjust the assertion to check for `null' instead of attr definitions.
2021-04-27 17:16:33 -04:00
Cole MickensandGitHub d437baa41c gnupg/gpg-agent: gnupg package is configurable (#1949) 2021-04-27 16:40:05 -04:00
Thibaut MartyandGitHub 865e404826 poweralertd: add module (#1951) 2021-04-27 16:38:41 -04:00
Nicolas BerbicheandGitHub d4278212b5 pass-secret-service: fix systemd unit install option (#1959) 2021-04-27 16:17:36 -04:00
Vladimir SerovandGitHub b4e3f069f1 pass-secret-service: add module (#1898)
pass-secret-service is a proxy between
secret service (libsecret) and pass.
2021-04-27 15:36:29 -04:00
Sumner EvansGitHub@li:maisiliym.uniks <@li:maisiliym.uniks>
827636c619 dunst: add service package option (#1944)
* add service package option

* add waylandDisplay option dunst now supports wayland, and looks for WAYLAND_DISPLAY var to use it

Co-authored-by: @li:maisiliym.uniks <@li:maisiliym.uniks>
2021-04-25 01:56:48 -04:00
Robert Helgesson c2c26120d7 scmpuff: fix formatting 2021-04-24 19:06:40 +02:00
Sumner EvansandGitHub 839645caf3 programs.neovim: fix failing test (#1943)
Updated the expected plugin-config.vim to match what is actually
returned by the neovim utils from upstream.
2021-04-23 20:19:26 +02:00
Mario RodasandGitHub e00dd0d7d2 programs.tmux: use xdg config path (#1928)
Tmux 3.2 includes support to use `$XDG_CONFIG_HOME/tmux/tmux.conf` as
well as `~/.config/tmux/tmux.conf` for configuration file.
2021-04-23 09:25:13 +02:00
Phillip CloudandGitHub 26fa84ebce scmpuff: init (#1921)
scmpuff is a command line tool that allows you to work quicker with Git by substituting numeric shortcuts for files
2021-04-22 22:27:29 -04:00
Bruno BELANYIandGitHub db00b39a9a termite: add option to enable VTE integration (#1917)
This also migrates to using the VTE module directly, centralising bug
fixes.

Fixes #1909.
2021-04-20 19:45:39 -04:00
Terje LarsenandGitHub 0c236e13bc flake: add extraModules option, inherit nixpkgs config and overlays in homeManagerConfiguration (#1767)
* flake: ensure passed pkgs with overlays and config is used

In the pkgsModule inside modules/modules.nix it will try to use the
<nixpkgs> from NIX_PATH if home.stateVersion is not set. This is not
available when using flakes so we need to require at least 20.09 and we
might as well default to that.

Also if you have added overlays and config to your pkgs it will be lost
so we need to transfer those as well.

This is an alternative to passing pkgs to extraSpecialArgs which will
break the usage of things like nixpkgs.config.packageOverrides.

* flake: add extraModules

If you want to add some extra home-manager modules, you have to mix them
with the configuration as such:

configuration = {
  imports = [
    emacs-config.homeManagerModules.emacsConfig
    ./home.nix
  ];
};

Instead of:
configuration = ./home.nix;
extraModules = [ emacs-config.homeManagerModules.emacsConfig ];

Which separates these two concerns.
2021-04-20 16:19:24 -04:00
Tamás HetesiandGitHub 1e7e8ac75d pet: Add support for tags in snippets (#1883)
Add missing `tag` option for elements of `programs.pet.snippets`.
2021-04-20 16:16:27 -04:00
fricklerhandwerkandGitHub 6aa6556bca gpg-agent: add GNUPG_HOMEDIR to environment (#1932)
otherwise, if `programs.gpg.homedir` is not set to default, calls to
`gpg` will fail to pick up anything related to secrets
2021-04-19 01:52:31 +02:00
Robert Helgesson ebbbd4f2b5 gpg: fix homedir option documentation
Previously the documentation had a dependency on the configuration.
2021-04-15 08:53:13 +02:00
fricklerhandwerkandRobert Helgesson 348b5a5a69 gpg: make homedir configurable 2021-04-14 23:44:34 +02:00
Imran HossainandGitHub 0a6227d667 flake.nix: Add packages and defaultPackages outputs (#1913) 2021-04-11 17:46:27 -04:00
Christian Gram KalhaugeandRobert Helgesson 7cf69a3b8d exa: add module
Exa is a 'ls' alternative with more sane colorscheme than lsd on white
backgrounds.
2021-04-11 22:47:06 +02:00
Sumner EvansandRobert Helgesson 073710d7f2 newsboat: add sumnerevans as maintainer 2021-04-11 22:20:03 +02:00
Sumner EvansandRobert Helgesson f7159a0f76 newsboat: use $XDG_CONFIG_HOME/newsboat
As of Newsboat 2.19, configuration using XDG_CONFIG_HOME/newsboat is
supported:
https://newsboat.org/releases/2.19/docs/newsboat.html#_xdg_base_directory_support

This is a continuation of #1331 and includes gating logic so that the
change doesn't happen until state version 21.05.

Supersedes and Closes #1331
2021-04-11 22:20:02 +02:00
Sumner EvansandRobert Helgesson 18930aaf75 sway: add sumnerevans as maintainer 2021-04-11 22:11:23 +02:00
Sumner EvansandRobert Helgesson 5c5d562266 sway: add config.seat
Added seat configuration to sway config. Also improved the way that the
configuration is generated to reduce superfluous whitespace.

Supersedes #1663
2021-04-11 22:11:22 +02:00
malte-vandGitHub 91418d3e57 programs.neomutt: Make manual configuration take precedence over generated settings (#1896) 2021-04-11 19:52:31 +02:00
VonfryandRobert Helgesson f567ea8228 msmtp: add extraAccounts option
It is appended to the end of msmtprc instead of top like extraConfig.
2021-04-10 10:03:47 +02:00
brwithandGitHub 17a10287d2 gtk: use font.size option in dconf (#1920)
Allow usage of font.size for the GTK interface font in dconf.
2021-04-09 21:45:14 -04:00
jgartandGitHub 56f5f41ed4 README: typo fix (#1912) 2021-04-08 11:11:39 -04:00
Sumner EvansandGitHub be56b6f2c5 neomutt: Add encryptByDefault support (#1882)
Adds support for encryptByDefault to the neomutt module using the
crypt_opportunistic_encrypt option.
2021-04-07 15:45:50 -04:00
dependabot[bot]andGitHub c12897e8e1 ci: bump cachix/cachix-action from v8 to v10
Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action) from v8 to v10.
- [Release notes](https://github.com/cachix/cachix-action/releases)
- [Commits](https://github.com/cachix/cachix-action/compare/v8...73e75d1a0cd4330597a571e8f9dedb41faa2fc4e)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-07 19:21:04 +00:00
dependabot[bot]andRobert Helgesson 4fd4066d2f ci: bump cachix/install-nix-action from v12 to v13
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from v12 to v13.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v12...8d6d5e949675fbadb765c6b1a975047fa5f09b27)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-07 21:18:15 +02:00
Robert Helgesson 7fcfd9b565 home-manager: format home-manager/default.nix 2021-04-07 21:09:27 +02:00
3a16ebdf72 home-manager: Add --flake option to home-manager (#1856)
Implements a --flake options for build and switch, along with the usual
flake related optons (for lock-files etc).

Configurations in the flake are automatically discovered in the
following order:
1. `outputs.homeConfigurations."$flake-uri"` (the `--flake parameter`)
2. `outputs.homeConfigurations."$USERNAME@$HOSTNAME"`
3. `outputs.homeConfigurations."$USERNAME"`

Make home-manager use default configuration from
~/.config/nixpkgs/flake.nix, if it exists and nothing else is
specified.

Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2021-04-07 13:17:39 -04:00
Nicolas BerbicheandGitHub e5a260a569 xmonad: use compiled configuration when config is not null (#1893)
If the configuration is `null`, the compiled configuration
`xmonadBin` should not be used and instead the WM startup command
should be set to the bare `xmonad` binary.
2021-04-07 13:05:21 -04:00
33edf558a0 lib/types/fontType: Add size attribute (#1848)
* lib/types: Add size attribute to fontType
* tests: Add test for kitty
* modules/types/fontType: Make size nullable
* Add release notes

Co-authored-by: Sebastian Zivota <sebastian.zivota@mailbox.org>
2021-04-07 16:18:09 +02:00
Viacheslav LotsmanovandGitHub cc60c22c69 programs.git: make signing key id be optional (#1886)
* Git: Make signing key id be optional

Thus by default the signing key is selected by commit’s author.

* Git: Add tests for config with and without signing key id
* Git: Format tests for signing key
* Git: Remove default value (null) for signing key
* Git: Update description for signing key
2021-04-05 14:28:36 +02:00
Sumner EvansandGitHub 25a6a6d298 neomutt: support list in binds.map (#1885)
* neomutt: support list in binds.map
Closes #1245

Adds support for specifying programs.neomutt.binds[].map as a list. If
specified as a list, then the binds will be concatenated with a ",".

* neomutt: add deprecation warning for (binds|macros).map as string
Added note that specifying 'programs.neomutt.(binds|macros).map' as a string is deprecated. Instead, use the list form.

* neomutt: note deprecation warning in release notes
Added note that specifying 'programs.neomutt.(binds|macros).map' as a
single string is deprecated in favor of specifying it as a list

* neomutt: add assertion that map is not empty
Added an assertion that each 'programs.neomutt.(binds|macros).map' list contains at least one element.
2021-04-04 01:47:40 +02:00
Thiago Kenji OkadaandRobert Helgesson 6e3d93d7cc xdg-user-dirs: add createDirectories option
It automatically creates all the XDG user directories. Set to false as
default to not break backwards compatibility.
2021-04-03 17:59:52 +02:00
lunik1andGitHub ad04237d51 dircolors: apply extraConfig after settings (#1890)
Applying extraConfig before settings made it unable to override the
defaults.
2021-03-31 22:01:02 +02:00
Naïm FavierandGitHub 447ed0fbcb bash: improve initialisation (#1850)
Resolves #1843. Allows aliases to be expanded in initExtra, and adds a
visible bashrcExtra option for commands that should be run in ~/.bashrc
even by non-interactive shells.
2021-03-31 20:08:24 +02:00
SandroandGitHub 90223cf3eb home-manager: allow overriding pkgs with --arg(str) (#1889) 2021-03-31 19:40:37 +02:00
Rodney LorrimarandGitHub cbf0667037 programs.neomutt: Fix eval error when primary account not enabled (#1873)
* neomutt: Fix eval error when primary account not enabled

If neomutt is enabled for an account, but not the primary account, the
configuration will fail with "list index 0 is out of bounds".

This adds the first neomutt-enabled account as a fallback.

* neomutt: add regression test/update tests
2021-03-29 00:44:47 -04:00
Markus SchererandRobert Helgesson c1761366b5 xmonad: add libFiles option and build type compilation
The `libFiles` option allows Home Manager to manage additional files
for xmonad.

Also compile xmonad during configuration build time. This avoids the
need to compile the configuration during activation.
2021-03-28 09:57:19 +02:00
Sumner EvansandGitHub 7b30fc9922 dunst: update documentation on settings (#1881)
Fix a small discrepancy in the documentation for the dunst module.
2021-03-26 23:27:13 -04:00
fedfd430f9 nixos/nix-darwin: switch sharedModules type to anything with custom check (#1880)
functionTo tries to evaluate functions too quickly and prevents modules
from accessing pkgs argument. fixes #1878.

Co-authored-by: Pacman99 <pachum99@gmail.com>
2021-03-25 22:01:16 -04:00
Sandro JäckelandRobert Helgesson ddcd476603 termite: remove use of package alias
This allow building with `allowAlias = false`.
2021-03-21 10:23:58 +01:00
Dany MarcouxandGitHub f30b62a74d git: install delta when it's enabled (#1866) 2021-03-18 18:32:50 -04:00
Dany MarcouxandGitHub f9b5172d95 jq: Use default upstream values for colors (#1870)
As documented here: https://stedolan.github.io/jq/manual/#Colors
2021-03-18 18:19:42 -04:00
Hugo LagenesteandGitHub de1fa8defb docs: fix darwin-rebuild command (#1869)
Fixing the `darwin-rebuild --switch` command on the manual 
to `darwin-rebuild switch` because the `--switch` flag does 
not exists.
2021-03-18 18:15:30 -04:00
Nicolas BerbicheandGitHub 6245dd11cf chromium: remove 'extensions' option for proprietary Chrome versions (#1867)
Fixes #1383 by removing the `extensions` option for
- `programs.google-chrome`
- `programs.google-chrome-beta`
- `programs.google-chrome-dev`
2021-03-17 20:47:00 -04:00
annaandGitHub ffbc3819e4 prezto: fix environment files being overwritten (#1863)
Fixed the breakage for prezto introduced in #1778.

The previous method created issues where certain configuration files would get
replaced by prezto's variants instead of being merged as before. This led to
issues like no config being loaded if `home.zsh.dotDir` was set.

The old method of loading these files has been restored. This fixes the issue.
2021-03-17 18:35:10 +00:00
Naïm FavierandGitHub 920ea74afe flake.nix: add nixosModule and darwinModule to outputs (#1858) 2021-03-16 21:19:01 -04:00
Peter RiceandGitHub b42d987ad9 neovim: fall back to plugin name if no pname (#1864)
When installing plugins, Home Manager expects plugins (packages) to have
a `pname` attribute.

This is not always the case, so fallback to `name` if `pname` is unset.
2021-03-16 20:09:16 -04:00
Mario RodasandRobert Helgesson 07f6c6481e lsd: use explicit path for aliases 2021-03-14 21:25:45 +01:00
Mario RodasandRobert Helgesson 1ee1835a3e lsd: add support for config file
lsd 0.19.0 added support for a configuration file
2021-03-14 21:25:44 +01:00
Mario Rodas 42bb553544 broot: use formats.toml to generate configuration 2021-03-13 04:20:00 +00:00
Mario Rodas 19c7d4e29f nushell: use formats.toml to generate configuration 2021-03-13 04:20:00 +00:00
Mario Rodas a4e146693e starship: use formats.toml to generate configuration 2021-03-13 04:20:00 +00:00
040ea28e44 offlineimap: Strip newlines from offlineimap passwordcommand (#1853)
This allows me to use offlineimap with passwordstore. I guess nobody
uses a newline in their password?

Co-authored-by: Kerstin Humm <kerstin@erictapen.name>
2021-03-10 18:39:29 -05:00
Thiago Kenji OkadaandGitHub 57a7e5e2c5 docs: document qt.style and programs.rofi.theme changes (#1849)
* docs: document qt.style changes

* docs: document programs.rofi.theme changes
2021-03-08 15:46:57 -05:00
midchildanandGitHub 5fbb33cff5 targets/genericLinux: set TERMINFO_DIRS (#1819)
This makes terminfo descriptions in installed packages available to
shell sessions. Not needed for NixOS, which does the same thing already.
2021-03-08 15:41:23 -05:00
Pierre LabadensandGitHub abc9d96d19 waybar: fix slow service stop (#1852)
Set the systemd user service to use "mixed" killmode, which lets waybar
stop its module scripts. This fixes issues where waybar blocks shutdown
until systemd sends a SIGKILL to waybar child processes.
2021-03-06 02:09:51 -05:00
fortuneteller2kandGitHub 73559e0dbc qutebrowser: add option to load autoconfig (#1842)
See #1774.

The option default to false.
2021-03-04 22:33:23 -05:00
Thiago Kenji OkadaandGitHub 0e2dc4be30 qt: add qt.style option (#1839)
This allows you to set a theme for Qt applications. For example, if you
want to use `adwaita-qt` theme to have uniform look between Gtk and Qt
applications, you can use it like this:

```nix
{
  qt = {
    enable = true;
    platformTheme = "gnome";
    style = {
      name = "adwaita";
      package = pkgs.adwaita-qt;
    };
  };
}
```
2021-03-03 22:20:17 -05:00
Andrew FontaineandGitHub 39e4991856 git: Add configured SSL certificate for SMTP (#1833)
If you have a custom SSL certificate configured for SMTP TLS, git should
use it.
2021-03-03 21:24:19 -05:00
Teo LjungbergandRobert Helgesson 69e2693342 home-manager: respect NO_COLOR environment variable
This makes Home Manager respect the NO_COLOR environment variable to
disable coloring from output generated by Home Manager.

This initiative can be found more on https://no-color.org/
2021-03-03 23:28:06 +01:00
Nicolas BerbicheandGitHub ddee030dc7 gpg: export GPG_TTY for fish (#1846) 2021-03-03 21:59:13 +01:00
Thibaut MartyandGitHub e72e241d7a getmail: fix configuration mailboxes generation (#1719)
The mailboxes must be a tuple of string or the string "ALL".
The generated value was broken if the mailboxes configuration was a list
of only one string (but not "ALL"): the generated expression ( "str" )
was not a tuple but a string.
Now, we always generate a tuple (by adding a comma, even with a list of
size one). Getmail works with the special value "ALL" whether it is a
in tuple or not, so this case is not specifically handled.
2021-03-01 17:58:18 -05:00
Markus SchererandRobert Helgesson 9068ff292c offlineimap: precompile get_settings.py
Fixes #1802
2021-03-01 13:02:10 +01:00
Andrew FontaineandGitHub f45c7000d5 git: correct value of envelopeSender for msmtp (#1838)
The value should be "auto", not `true`.

Also fix news entry.
2021-02-28 20:42:44 +01:00
Andrew FontaineandGitHub aa479b0124 git: rely on msmtp for smtp if msmtp is enabled (#1829)
If a user using msmtp to send all their email, it would be preferred if
git used it as well.

The only settings necessary are to set the smtp server to the msmtp
binary and set envelop sender to true, which makes git call msmtp with
the -f flag to set the from address from the email.
2021-02-28 16:06:11 +01:00
Phillip CloudandGitHub 3327cbe1f9 gh: fix protocol setting (#1831)
* gh: fix protocol setting

* gh: fix test
2021-02-27 21:42:56 +01:00
RienandGitHub fb9bf032fb alot: set primary email first (#1826)
Alot uses the first email in the config as primary email. Because the
order in which the email.accounts were sorted was alphabetical, the account
set to `primary = true` was not put first in the alot config and thus
not considered as primary email for alot.

This was fixed by sorting the email accounts again such that accounts
with `primary = true` come first.
2021-02-27 21:41:16 +01:00
fortuneteller2kandGitHub e7b1491fb8 pulseeffects: add option to specify package (#1825) 2021-02-23 14:37:38 -05:00
Kevin MullinsandGitHub 0933fb8765 Starship: improve zsh terminal check (#1821)
Matches zsh's check with bash and fish, checking for a dumb terminal and
allowing vterm inside Emacs.
2021-02-23 19:51:27 +01:00
Manuel MendezandGitHub 7582090eb0 kakoune: Fix reference to group in hook config (#1820)
Fixes "undefined variable 'group' at .../kakoune.nix:577
2021-02-22 22:21:36 +01:00
Nicolas BerbicheandGitHub 21952f1cab fzf: remove non-working historyWidgetCommand option (#1818)
The environment variable FZF_CTRL_R_COMMAND has never existed
and been support by fzf according to
`git grep FZF_CTRL_R_COMMAND $(git rev-list --all)` and
`git log -G FZF_CTRL_R_COMMAND`.
2021-02-21 23:34:33 -05:00
Robert Helgesson 029767ca63 docs: use working link for "DocBook rocks!" 2021-02-21 18:41:12 +01:00
Robert Helgesson aa9affb53f nix-darwin: remove trailing whitespace 2021-02-21 18:40:19 +01:00
82d6ba7003 nixos,darwin: add sharedModules and extraSpecialArgs options (#1793)
This allows users of the nixos and nix-darwin module to set shared modules
for all users and extra specialArgs to be available to home-manager modules.

The latter is named extraSpecialArgs just like the argument to
modules/default.nix.
This could be confusing since the the two are independent in code,
but they do mean the same thing so I think the name fits.

Darwin can now refer to the global system configuration if used as a module
through the special `darwinConfig` argument.

Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2021-02-21 01:02:25 -05:00
Nicolas BerbicheandGitHub eb3a0342a8 gpg: allow for duplicate keys in config (#1814)
Allow for duplicate keys in the form of a list of strings.

Also update the `settings` example configuration to use `literalExample`.
2021-02-21 00:37:46 -05:00
midchildanandGitHub 2b7a73071a targets/darwin: copy fonts to ~/Library/Fonts/HomeManager (#1817)
Fonts are copied instead of being symlinked because macOS won't
recognize symlinked fonts.
2021-02-21 00:34:56 -05:00
NadrierilandGitHub da92360208 polybar: allow config to be more nix-like (#1430)
Polybar's config format is a bit strange, and lists in particular are
annoying to handle. This enables using normal nix lists and nested
attrsets instead.

This change is not backwards-compatible, because the INI converter
converts lists of strings to space-separated values, and this does
something else. I expect that this is only relevant for the
`modules-left` etc bar setting, but that's enough to break things :(.
2021-02-20 18:34:59 +01:00
Matthieu CoudronandGitHub 55030c8302 neovim: deprecate programs.neovim.configure (#1810)
The `configure` option is not type checked and an artifact of how
nixpkgs is implemented.
We now have the equivalent options in home-manager and managing
interactions between the 2 systems complexifies maintainance of the
module.
Please use the other options at your disposal:
configure.packages.*.opt  -> programs.neovim.plugins = [ { plugin = ...; optional = true; }]
configure.packages.*.start  -> programs.neovim.plugins = [ { plugin = ...; }]
configure.customRC -> programs.neovim.extraConfig
2021-02-19 09:52:46 +01:00
Thiago Kenji OkadaandGitHub 2e795f3efd redshift/gammastep: fix deprecated options warning (#1804)
It was not working since I forgot to inherit imports from commonOptions.
2021-02-16 23:19:28 -05:00
Olmo KramerandGitHub 1ee1d01daa bash: don't unconditionally set HISTFILE variable (#1621)
The bash module always assigns a value to HISTFILE in the bashrc, even
when no value is explicitly set. This makes it impossible to tell bash
to use a different HISTFILE by setting the HISTFILE environment variable

    HISTFILE=/tmp/bash_history bash

This changes the default value of programs.bash.historyFile to null, and
only writes the HISTFILE=... line to the bashrc if it is changed to
something else.
2021-02-12 19:06:24 +01:00
Thiago Kenji OkadaandGitHub 87e2ec341b rofi: support top-level clauses in rasi (#1788)
See https://github.com/nix-community/home-manager/pull/1748#issuecomment-774995577
for details.

Related documentation:
https://github.com/davatorium/rofi/wiki/Configuring-Rofi/920de75c4bfc64697dd1700c26f850d01508e957#splitting-configuration-over-multiple-files
2021-02-09 15:59:29 +01:00
Martin WeineltandGitHub e6f2687a83 firefox: drop enableAdobeFlash option (#1791)
It was removed in nixpkgs and causes an error on rebuilds.

error: Your configuration mentions firefox.enableAdobeFlash. All plugin related options have been removed, since Firefox from version 52 onwards no longer supports npapi plugins (see https://support.mozilla.org/en-US/kb/npapi-plugins).
2021-02-08 23:37:24 -05:00
b220d5c446 prezto: fix #1773 (#1778)
* zsh: update prezto path structure

The path structure was changed in Nixpkgs and this commit updates
the module to match.

Fixes #1773

* zsh-prezto: fix tests, small tidyup

Co-authored-by: Nick Hu <me@nickhu.co.uk>
2021-02-09 02:11:56 +00:00
TristanandGitHub 88e05a5472 obs-studio: Allow package to be configurable (#1787) 2021-02-08 15:50:59 -05:00
Thiago Kenji OkadaandRobert Helgesson d8dd2a09b0 redshift/gammastep: use ini file
Not every option is exposed by redshift/gammastep parameters, for
example gamma options are only exposed in configuration file. So this
PR refactors this module to generate a configuration file and pass it
to the redshift/gammastep using -c parameter.

This is a breaking change since there is no support for some of the
older options like `extraOptions`, but unless you use `extraOptions`
it should work without changes.
2021-02-07 23:33:17 +01:00
Robert Helgesson ef4370bedc tests: allow testing assertions
By default tests are expected to produce no assertion.

This also updates the existing tests to match.
2021-02-07 22:48:22 +01:00
Robert Helgesson bdee1be7b3 Revert "redshift/gammastep: use ini file"
Manual latitude and longitude setting doesn't work in Redshift.

This reverts commit dd6ee694df.
2021-02-07 10:20:03 +01:00
Thiago Kenji OkadaandRobert Helgesson dd6ee694df redshift/gammastep: use ini file
Not every option is exposed by redshift/gammastep parameters, for
example gamma options are only exposed in configuration file. So this
PR refactors this module to generate a configuration file and pass it
to the redshift/gammastep using -c parameter.

This is a breaking change since there is no support for some of the
older options like `extraOptions`, but unless you use `extraOptions`
it should work without changes.
2021-02-07 10:02:57 +01:00
yoctocellandGitHub 6dfa9ef85c mbsync: add subFolders option (#1760)
The `SubFolders` option in mbsync controls the folder naming style in
the maildir.  There are three different styles:

* Verbatim - <maildirPath>/top/sub/subsub
* Maildir++ - <inboxPath>/.top.sub.subsub (used by Dovecot)
* Legacy - <maildirPath>/top/.sub/.subsub

Previously, the `SubFolders` option was hardcoded to `Verbatim`.  This
change allows configuration of the `SubFolders` option.
2021-02-06 22:25:49 +01:00
Matthieu CoudronandGitHub fc87ac92af neovim: suffix path with extraPackages (#1756)
* neovim: suffix path with extraPackages
* neovim: avoid generating empty blocks in config
* fix(neovim): install plugin regardless if there is config
2021-02-06 20:43:17 +01:00
Jakub KozłowskiandRobert Helgesson d420287583 vscode: add args option to keybindings
Also make `when` optional.
2021-02-05 22:38:37 +01:00
Robert Helgesson 46a750f94f home-manager: use 21.05 as next version
Fixes #1662
2021-02-05 22:09:00 +01:00
Jakub KozłowskiandRobert Helgesson 63d5d28db6 sbt: add new module 2021-02-04 23:42:37 +01:00
Robert Helgesson 22ecd0e568 vscode: fix typo 2021-02-04 23:26:00 +01:00
Thiago Kenji OkadaandGitHub 3f2f7f8efa rofi: add support for lists in rasi (#1768)
This is now supported without the need of using to represent them:
https://github.com/davatorium/rofi-themes/blob/9a843caa86d15038fda5455b7fb951569dbd227a/Official%20Themes/solarized.rasi#L134
2021-02-03 18:48:34 -05:00
midchildanandGitHub 9dad146639 targets/darwin: add more options for configuring macOS (#1753)
Add new options Darwin options:

- `targets.darwin.defaults`
  This adds options for configuring macOS through the `defaults(1)` system.
  This option can be used to manipulate a vast majority of user settings for macOS
  and its applications.

  This is implemented using freeform modules and includes additional descriptions
  and type information for some useful options.

- `targets.darwin.keybindings`
  This adds options for configuring the default keybindings for macOS text fields.

- `targets.darwin.search`
  This adds options for configuring the default search engine for macOS.
2021-02-03 18:46:16 -05:00
Robert Helgesson bbb6d30001 newsboat: switch from xdg_utils to xdg-utils 2021-02-03 23:40:41 +01:00
Bernardo MeurerandGitHub 0fa2b16a07 modules: don't reference deprecated stdenv.lib (#1770)
`stdenv.lib` has been deprecated, and the correct approach is to use
`lib` directly through `pkgs.lib`.
2021-02-01 09:52:05 -05:00
Sara JohnssonandRobert Helgesson df7d81b0b3 playerctld: add module 2021-01-31 12:36:30 +01:00
Thiago Kenji OkadaandRobert Helgesson 98d030f723 rofi: add support to custom themes
If this commit now it is possible to define a custom theme directly
using Nix, like this:

```nix
{
   programs.rofi.theme = {
      "*" = {
         background-color = "#000000";
         border-color = "FFFFFF";
         width = 512;
      };
      listview = {
         cycle = true;
      };
   };
}
```

And this will be converted to the proper rasi format to be used in
rofi.
2021-01-30 09:13:28 +01:00
Jack McCownandRobert Helgesson 7313258b45 spotifyd: change config format to toml
Fixes #1754
2021-01-29 21:25:00 +01:00
Robert Helgesson db88b625f9 docs: minor fix 2021-01-27 22:48:41 +01:00
Thiago Kenji Okada 7de0d07dd9 redshift/gammastep: add tests 2021-01-26 01:40:25 -03:00
Thiago Kenji Okada 6b15b03898 redshift/gammastep: unify common options
Nowadays services.{redshift,gammastep} modules are really similar. They
should, since Gammastep is a fork of Redshift with the main objective is
to support Wayland.

So instead of trying to maintain two separate modules, this commit unify
the options in lib/options.nix file, making the implementation of the
module itself ends up being really simple (just calling the common
options with the necessary parameters to differentiate between them).
2021-01-26 01:39:50 -03:00
Robert Helgesson c137866bd7 redshift: add systemd unit documentation field 2021-01-23 18:26:25 +01:00
William CarrollandRobert Helgesson 3d634914ce redshift: use on-failure restart policy 2021-01-23 18:22:28 +01:00
midchildanandRobert Helgesson e44faef21c i18n: various fixes 2021-01-23 16:40:25 +01:00
Thiago Kenji OkadaandGitHub 6f7074d21d rofi: migrate to rasi configuration format (#1736)
* rofi: migrate to rasi configuration format

The Xresources configuration format is deprecated in Rofi. For example,
using Rofi from unstable (1.6.1 as of now) you get the following
warnings when starting the application:

```
(process:9272): Rofi-WARNING **: 01:38:48.596: The old Xresources based configuration format is deprecated.

(process:9272): Rofi-WARNING **: 01:38:48.596: Please upgrade: rofi -upgrade-config.
``````

So this commit migrates it for its new configuration format, called rasi
instead.

This new implementation uses attrsets manipulation instead of using
strings, making the code clearer and also fixing some bugs found during
the way. To make sure everything is right, I also created some tests.

If someone wants to validate if the generated config is correct, just
run in terminal:

```
$ rofi -dump-config
```

And rofi will dump the current configuration file, including all
unsetted options.

* docs: document programs.rofi.extraConfig changes

* rofi: add thiagokokada as maintainer

* rofi: add toRasi function
2021-01-23 16:30:34 +01:00
midchildanandGitHub 9a12cd7e81 i18n: set the appropriate LOCALE_ARCHIVE_x_xx variable (#1659) 2021-01-23 15:56:38 +01:00
liandRobert Helgesson 08fc1586c0 fzf: add package option 2021-01-22 23:29:41 +01:00
Tino BreddinandRobert Helgesson 4e86d65aee nextcloud-client: add package option 2021-01-22 21:34:13 +01:00
Thiago Kenji OkadaandGitHub 2c0e3f61da mpv: fix issue #1725 and add tests (#1726)
Closes issue #1725.

This allows mpv module to be customized with support for more advanced
features than the `programs.mpv.scripts` current support. For example,
with this change now this is possible:

```nix
{
  programs.mpv.package = (pkgs.wrapMpv (pkgs.mpv-unwrapped.override {
    vapoursynthSupport = true;
  }) {
    extraMakeWrapperArgs = [
      "--prefix" "LD_LIBRARY_PATH" ":" "${pkgs.vapoursynth-mvtools}/lib/vapoursynth"
    ];
  });
}

```

Since `programs.mpv.package` doesn't necessary reflect the final
derivation anymore (see #1524), we introduce `programs.mpv.finalPackage`
that has the resulting derivation.

This includes 2 tests:
- One to check if everything is alright with mpv
- Other to validate our assertion that package and scripts can't be
  passed both at the same time

* docs: document recent mpv module changes

* mpv: add thiagokokada as maintainer
2021-01-21 18:10:12 -05:00
Robert Helgesson 5280360d6c docs: NixOS and nix-darwin option documentation 2021-01-21 23:45:52 +01:00
jD91mZM2andRobert Helgesson c33b1777b6 chromium: fix preinstallation of crx files
We currently check `isPath` and `isString` on crxPath and version
respectively, which is

1. pointless because the module system already does such checks, and
2. wrong because isPath means path literal; a derivation therefore is
   not a path.
2021-01-21 23:24:29 +01:00
Robert Helgesson b0c8727286 dconf: make sure the configuration directory exists
Fixes #1731
2021-01-21 20:35:03 +01:00
jD91mZM2andRobert Helgesson 6f5fa6350d chromium: support ungoogled-chromium
The guessed browser name is wrong here, ungoogled-chromium simply uses
"chromium" as configuration name.
2021-01-21 20:23:16 +01:00
Robert Helgesson 9d680ec662 kakoune: disable the kakoune-use-plugins test 2021-01-20 19:49:15 +01:00
Robert Helgesson 7e80e034cc gh: fix attribute paths
This fixes some attribute paths to match recent changes in Nixpkgs.
2021-01-20 18:59:58 +01:00
Robert Helgesson 8f24ed4c7f git: fix attribute paths
This fixes some attribute paths to match recent changes in Nixpkgs.
2021-01-20 18:58:35 +01:00
MaxSchlueterandGitHub 3fe2a57b95 mu: fix command (#1623)
mu-cfind is meant to search for contacts within your contacts database and the emails that you have sent/received. The use of the --personal flag in that command is meant to filter for only emails that use your email addresses (which are all the ones you specify with the ${myAddresses} variable. Disregard what I said in #1623 (comment).

--my-address=<my-email-address>

    specifies that some e-mail addresses are 'my-address' (--my-address can be used multiple times).
    This is used by mu cfind -- any e-mail address found in the address fields of a message which also
    has <my-email-address> in one of its address fields is considered a personal e-mail address. This
    allows you, for example, to filter out (mu cfind --personal) addresses which were merely seen in
    mailing list messages.

To initialize the database with mu init, the ${myAddresses} is not required to be passed to successfully initialize the database, but it is heavily recommended to do so.

To see the difference, in a safe location, run mu init --maildir=<path>, then mu index. You'll notice that "personal addresses" returns <none>, although the database will still work. However, mu cfind --personal will fail (as the personal contacts don't exist). Then run mu init --maildir=<path> --my-address=<address>, then mu index. Then you'll be able to search for contacts using mu cfind --personal.
2021-01-19 19:36:31 +01:00
Nicolas BerbicheandRobert Helgesson 8127799f79 sxhkd: configurable package and command line arguments
Fixes #1598.
2021-01-16 10:57:32 +01:00
Alexander Foremny 4b772fd698 neomutt: fix smtp_pass option
Configuration option `smtp_pass` is expected to evaluate a shell
command, thus its value has to be in double-quotes.
2021-01-12 13:32:03 +01:00
Simon BruderandRobert Helgesson 65d0e2d241 mpv: add defaultProfiles option 2021-01-11 23:51:58 +01:00
Nicolas Berbiche d62bdaf938 sway: fix error with null package and swaybar
When setting `...sway.package = null`, the default bar configuration
would throw an error trying to use the bar from the null package.

Logic is added to use the bar from `pkgs.sway` instead of `cfg.package`
if it is null.

Fixes #1714
2021-01-11 12:26:18 -05:00
Nicolas Berbiche 45e3b0ce0e sway&i3: refactor replace moduleName check with variables 2021-01-11 12:18:32 -05:00
Ivan BabrouandRobert Helgesson cc89be5a30 docs: remove stray ` from README.md
The typo came from #1705.
2021-01-11 00:14:01 +01:00
meckandRobert Helgesson e8358125d9 fish: fix regression due to changes in Nixpkgs
Fixes #1701
Fixes #1702
2021-01-09 22:35:03 +01:00
Robert Helgesson cb1ed0d2f3 docs: rephrase warning section slightly 2021-01-09 10:09:43 +01:00
Aleksey KladovandRobert Helgesson 32371301d3 doc: clarify what is user environment 2021-01-09 08:58:46 +01:00
mlatusandRobert Helgesson cf5dad76c1 flake: add extraSpecialArgs
This allows flake user to pass extra arguments to all modules.
2021-01-07 21:13:28 +01:00
workflow a361541c10 broot: add package option
Allow for overriding the package used.
2021-01-06 11:16:36 +08:00
Robin TownsendandRobert Helgesson b9597e5774 starship: remove deprecated character.symbol setting
Fixes #1550
PR #1695
2021-01-03 10:21:55 +01:00
AnundandRobert Helgesson 68dfc86173 home-manager: add zsh completion
Fixes #1075
2021-01-03 10:13:46 +01:00
Emery HemingwayandRobert Helgesson 73506f947c plan9port: add module 2021-01-02 08:50:57 +01:00
Philipp MildenbergerandGitHub f0e6396b78 nushell: fix link in the description (fixes #1693) (#1694) 2021-01-01 21:35:43 -05:00
Robert Helgesson 6acc6bc651 pam: add note about future deprecation
See #1691 for more information.
2021-01-01 09:51:26 +01:00
Robert Helgesson f6fd7e3fa4 octant: add code owner entry 2020-12-31 15:49:29 +01:00
06kellyjacandRobert Helgesson 05448dcedb octant: add module 2020-12-31 15:18:13 +01:00
Vojtěch KáněandRobert Helgesson 374649a15b docs: some extension for flakes users
PR #1655
2020-12-31 15:12:40 +01:00
zimbatmandRobert Helgesson 118b36bf45 direnv: fix the fish source
This is needed for the latest version of direnv. See
https://github.com/direnv/direnv/issues/742
2020-12-31 00:49:55 +01:00
Robert Helgesson 3e218f2600 docs: improve phrasing around backwards compatibility 2020-12-31 00:46:56 +01:00
Nicolas BerbicheandGitHub f4b5ae026c waybar: fix css identifier check (#1687)
Fixes #1686
2020-12-30 18:17:39 -05:00
Robert Helgesson 9d53afb709 tests: add support for asserting warnings
This adds a "test.asserts" module that currently just provides a
convenient way to assert on the content of warnings. By default all
tests will assert that no warnings are given.
2020-12-30 17:25:48 +01:00
Robert Helgesson 4dedfcfd95 tests: bump nmt 2020-12-30 17:25:44 +01:00
Matthieu CoudronandGitHub 8e0c1c55fb programs.neovim: write config in $XDG_CONFIG_HOME/init.vim (#1652)
* neovim: write config in $XDG_CONFIG_HOME/init.vim

instead of wrapping the configuration, which has sideeffects
https://github.com/NixOS/nixpkgs/issues/55376

* fix: update test accordingly
2020-12-29 20:26:02 +01:00
Nicolas Berbiche 99f0074362 waybar: allow CSS class when using a default module
Fixes #1682
2020-12-28 20:43:40 -05:00
ShaneandGitHub 5263fe4594 imapnotify: switch to goimapnotify instead of node-imapnotify (#1675)
I also made some modifications to the systemd service to match the [AUR version](https://aur.archlinux.org/cgit/aur.git/tree/goimapnotify@.service?h=goimapnotify) of `goimapnotify`. In particular, restarting is useful in case a network failure causes `imapnotify` to exit - that shouldn't mean that it stops trying when the network comes back up.
2020-12-27 16:10:55 +01:00
Sebastián EstrellaandGitHub cd86c2638b gnome-terminal: Add audibleBell option (#1671)
Turn on/off the terminal's bell
2020-12-27 16:09:59 +01:00
Wael M. NasreddineandRobert Helgesson bcbf09a202 github: configure dependabot
Configure GH's dependabot to file pull requests automatically that
updates our GitHub actions.
2020-12-26 08:55:23 +01:00
David ArnoldandRobert Helgesson ca7fd5a643 readme: use less ambiguous user name in example
The example used `user` as the username, which may be confusing.
Instead use `jdoe`, which is more clearly a username.
2020-12-25 13:16:30 +01:00
Sebastien WaegeneireandRobert Helgesson 3627ec4de5 chromium: add support for external extensions
This allows the installation of external (outside of the Chrome Web
Store) extensions, both local and remote.

PR #1648
2020-12-23 00:59:03 +01:00
Mario RodasandRobert Helgesson 2901044520 mcfly: add option to enable fuzzy search
McFly 0.5.1 added support for fuzzy searching.
2020-12-22 00:30:47 +01:00
Andrew JefferyandRobert Helgesson cb136f37c7 mako: add extraConfig option 2020-12-22 00:19:37 +01:00
Austin ButlerandRobert Helgesson 76de0632ac starship: update prompt_order to format in example 2020-12-21 23:56:46 +01:00
Robert Helgesson 8b3fca4ec5 dconf: format file 2020-12-21 23:22:22 +01:00
bobfpandRobert Helgesson 2b1892e646 docs: make nix-channel choice more clear 2020-12-21 00:28:14 +01:00
toonnandRobert Helgesson a1162e04b3 tmux: add a prefix option overruling shortcut if defined
Previously, it was not possible to set an arbitrary tmux prefix since
CTRL was hardcoded in the module.

To avoid breaking existing configs, a new option was implemented that
conveniently uses the tmux terminology but defaults to null and does
not affect previous behavior when set to null.

The behavior for the shortcut option was not completely replicated,
i.e., it does not bind "b" to send-prefix but stick to the default of
the prefix binding sending prefix (C-b C-b instead of C-b b) and it
does not bind repetition of the prefix (C-b C-b) to `last-window`,
both of these bring the option closer to the default tmux
configuration.

Fixes #1237
2020-12-21 00:10:59 +01:00
Christian Lütke-StetzkampandRobert Helgesson e87bccabc3 dunst: include legacy icons
Fixes #744
2020-12-19 09:56:17 +01:00
seyleriusandRobert Helgesson 1a7f190cb9 rofi-pass: add rofi-pass plugin for password-store 2020-12-18 23:22:57 +01:00
c4710nandRobert Helgesson 66a68b4a58 chromium: add support for brave
Brave Browser is a chromium-based browser, too.

+ it use the same web store with Chromium and Google Chrome.
+ the machanism of installing extensions works, and it's verified on
my macOS box.
2020-12-15 18:39:16 +01:00
Roosembert PalaciosandRobert Helgesson 6dc8de259a flake: expose Home Manager lib 2020-12-14 21:02:15 +01:00
Robert Helgesson 708cb61e82 systemd: support sd-switch
This adds support for sd-switch, a tool to perform systemd generation
switches. It can be activated by setting

    systemd.startServices = "sd-switch";
2020-12-13 22:00:30 +01:00
Vojtěch KáněandRobert Helgesson b6ed605d4a systemd: support mount units 2020-12-10 23:16:51 +01:00
Guillaume GirolandRobert Helgesson 6739d8bb50 targets/genericLinux: make locales work 2020-12-10 22:34:30 +01:00
Jos van BakelandGitHub 4f0b0d78af msmtp: fix passwordeval (#1649) 2020-12-10 22:32:34 +01:00
Matthieu CoudronandGitHub 9d775bad07 neovim: mark plugins as optional (possibly) (#1559)
can be loaded with packadd!
2020-12-10 22:30:16 +01:00
IvarandRobert Helgesson e6a58a7e71 pbgopy: add service 2020-12-09 23:45:51 +01:00
Jos van BakelandGitHub e3828769e8 msmtp: fix passwordeval (#1643)
msmtp fails with broken pipe error when sending emails.
The new line after the password is not required anymore since msmtp 1.8.0.
2020-12-09 09:22:00 +01:00
Sandro JäckelandRobert Helgesson 275d1b5212 systemd: allow creating slices 2020-12-05 09:18:17 +01:00
SandroandGitHub aaa5329d39 systemd: Fix example (#1639)
missing `;`
2020-12-04 18:39:05 +01:00
Nicolas BerbicheandGitHub 005ea6cc18 zathura: allow configuring the package used (#1636)
Closes #1633
2020-12-04 18:38:22 +01:00
Blaž HrastnikandRobert Helgesson 0654364426 waybar: fix systemd service
The current definition makes waybar wait for dbus.service, but that
never happens because dbus.service is started on demand by
dbus.socket.

Per systemd docs:
  https://www.freedesktop.org/software/systemd/man/systemd.service.html#Implicit%20Dependencies

- Services with Type=dbus set automatically acquire dependencies of
  type Requires= and After= on dbus.socket.

- Socket activated services are automatically ordered after their
  activating .socket units via an automatic After= dependency.
  Services also pull in all .socket units listed in Sockets= via
  automatic Wants= and After= dependencies.

Removing Requisite/After makes the service properly start for me,
simply specifying Type=dbus is enough.

See #1370
2020-12-01 23:07:39 +01:00
Robert Helgesson 0027b0e76b gitlab-ci: use nixos-unstable channel 2020-12-01 22:46:22 +01:00
Matthias RißeandRobert Helgesson 33407189c1 wlsunset: add module
This adds the wlsunset module, a program for day/night gamma
adjustments on wayland.

Fixes #1625
2020-12-01 21:46:46 +01:00
Nicolas Berbiche 44f9d68d8c treewide: replace attrs by formats or types.anything 2020-11-29 21:54:55 -05:00
Robert Helgesson c1faa848c5 tests: update nmt version
Greatly reduces the memory use when running full test suite.

Fixes #1610.
2020-11-30 00:12:38 +01:00
Tyler BensterandRobert Helgesson c6263347de zsh: add initExtraFirst option 2020-11-29 19:39:47 +01:00
Terje LarsenandRobert Helgesson a3a0f1289a emacs: make service package configurable 2020-11-22 13:09:22 +01:00
Robert Helgesson 7b6ebf2785 Revert "sway: validate configuration at build time"
This reverts commit 99b75f99df. See

  https://github.com/nix-community/home-manager/issues/1613 and
  https://github.com/nix-community/home-manager/pull/1614

for associated discussions.
2020-11-17 18:45:23 +01:00
Nicolas BerbicheandRobert Helgesson 6dc68b1d16 i3: validate configuration at build time
PR #1579
2020-11-16 23:51:59 +01:00
Nicolas BerbicheandRobert Helgesson 99b75f99df sway: validate configuration at build time
PR #1579
2020-11-16 23:51:34 +01:00
Nicolas BerbicheandRobert Helgesson 964f698095 waybar: fix null modules-{left,center,right} error
- Change the `attrsOf unspecified` to `pkgs.formats.json`
- Add missing default modules
- Expand the `with lib` with every function used
- Add inline documentation about the generated warnings
2020-11-16 22:56:54 +01:00
Robert Helgesson 4f20ee61c2 sway: restore use of pkgs.sway
Using the final package in the `onChange` block broke some use cases.
This restores the old behavior and instead solves the test
dependencies in a different way.

Fixes #1611

This reverts commit 7c3c64208e.
2020-11-16 22:35:07 +01:00
Ashish SHUKLAandRobert Helgesson 9e01441c5c zsh: Add dirHashes option 2020-11-15 23:49:55 +01:00
Robert Helgesson 9fe15dc83b tests: remove format meta test
This test requires copying the Home Manager checkout to the Nix store,
which seems to require too much memory for the CI jobs. Instead simply
run the format script directly.
2020-11-15 23:12:26 +01:00
Robert Helgesson b9b8a42fda github-ci: use default max-jobs 2020-11-15 23:12:06 +01:00
Martin TomanandRobert Helgesson b04aa56503 powerline-go: add zsh integration 2020-11-15 00:12:02 +01:00
Robert Helgesson cde1d33e61 sway: remove test dependency on xwayland 2020-11-14 23:49:34 +01:00
Robert Helgesson b3fdbfdf42 git: use gitMinimal in test 2020-11-14 23:18:07 +01:00
Robert Helgesson f3372bf982 kakoune: use a plugin with smaller closure size in test 2020-11-14 23:17:54 +01:00
malte-vandRobert Helgesson 234de0270a broot: improve configuration
The `invocation` is an optional attribute, so it doesn't make sense to
use it as the key in an attribute set. See

  https://dystroy.org/broot/documentation/configuration/#verb-definition-attributes

Actually, `invocation` should not be defined when one wants to rebind
a built-in verb to a different key.

Also added documentation for the `key` attribute.
2020-11-14 23:04:46 +01:00
Joe HermaszewskiandRobert Helgesson 9c14bbe988 tmux: allow setting default-shell before new-session 2020-11-14 10:59:10 +01:00
Robert Helgesson 7c3c64208e sway: use configured package in reload script
Fixes unnecessary download of the plain `sway` package.
2020-11-14 10:38:58 +01:00
Robert Helgesson b5e7817de2 zsh-prezto: remove package dependency in test 2020-11-14 10:37:35 +01:00
Robert Helgesson fe849640ad ci: update github workflow actions 2020-11-14 10:15:12 +01:00
Robert Helgesson fd79015c0f home-manager: pass -j to nix-build
Fixes #1596
2020-11-13 23:56:57 +01:00
Nicolas Berbiche 4cc1b77c3f kakoune: fix tests
Following https://github.com/NixOS/nixpkgs/pull/91792
2020-11-05 21:00:22 -05:00
workflowandRobert Helgesson 9e9d8ffc7c i3status-rust: add module
This adds the i3status-rust[0] module, a replacement for i3status
written in pure Rust.

[0] https://github.com/greshake/i3status-rust
2020-11-05 23:59:47 +01:00
Robert Helgesson faca77d77d docs: convert installation chapter to AsciiDoc 2020-11-05 22:52:20 +01:00
Robert Helgesson ef72617c4a home-manager: add --version option 2020-11-03 23:12:24 +01:00
Robert Helgesson 249e31b656 docs: expand the issue template a bit 2020-11-03 22:46:13 +01:00
Robert Helgesson 0261950395 docs: update issue template 2020-11-03 20:29:25 +01:00
AstroSnailandRobert Helgesson 1066e01707 mpv: use lib.generators to render config
There exist mpv configurations which cannot be expressed in
`programs.mpv.config` currently. For example, it is impossible to use
multiple 'profile' attributes. This commit changes the way config and
profiles are parsed, using `lib.generators.toKeyValue` and
`lib.generators.toINI`, to allow for these kinds of configurations
through the use of `listsAsDuplicateKeys`.
2020-11-03 00:28:24 +01:00
Nick HuandRobert Helgesson 61e63c10dc parcellite: make package configurable 2020-11-03 00:12:04 +01:00
workflowandRobert Helgesson 5125fc0a47 CI: update nix-install-action to v11
Release notes: https://github.com/cachix/install-nix-action/releases/tag/v11
2020-11-02 23:55:37 +01:00
Nikita UvarovandRobert Helgesson cabf9ddd98 caffeine: add service 2020-11-02 23:38:47 +01:00
Robert Helgesson 612afee126 docs: fix copy-paste mistake 2020-11-02 23:37:28 +01:00
Robert Helgesson 072a6ea333 docs: change stable from 20.03 to 20.09 2020-11-02 23:13:20 +01:00
Ivan ThamandRobert Helgesson a98ec6ec15 readme: mention that Nix 2.4 is not supported
Improves experience before people manually find #1561.
2020-10-28 23:03:00 +01:00
arcnmxandRobert Helgesson c8746fb588 mpd: systemd socket activation 2020-10-28 22:31:01 +01:00
arcnmxandRobert Helgesson 99fbae0ec5 mpd: configurable executable package 2020-10-28 22:31:00 +01:00
Tad Fisher b5291e995f emacs: avoid desktop file collision 2020-10-28 11:56:22 -07:00
Robert Helgesson 28eb093a1e systemd: use listsAsDuplicateKeys
This causes list values to be emitted as a list of key-value pairs
instead of a single key-value pair where the value is space separated.

This is useful, e.g., for socket units that would like to specify more
than one `ListenStream=` address.
2020-10-25 22:55:06 +01:00
Niklas HambüchenandGitHub abaebf3b34 README: Remove dangling reference to IcedTea 2020-10-25 19:44:12 +01:00
arcnmxandRobert Helgesson 9bf1f40af1 xdg: disambiguate home.file attribute names 2020-10-22 23:51:01 +02:00
Tobias HappandRobert Helgesson 22a3a5651d gh: add module 2020-10-22 23:36:15 +02:00
Milan PässlerandRobert Helgesson 308ee310de gammastep: add module
Fixes #1396
2020-10-22 23:11:43 +02:00
Nicolas BerbicheandRobert Helgesson 0778a80ee0 waybar: use Nixpkgs maintainers entry
I recently had my first package added to Nixpkgs and am now in the
official list of maintainers so this information is no longer required
here.
2020-10-22 22:57:58 +02:00
Robert Helgesson 10df7a7eee Merge PR #1560 2020-10-22 22:52:06 +02:00
zimbatmandRobert Helgesson 9cf5f764e1 tree-wide: update link to the doc 2020-10-22 22:41:56 +02:00
zimbatmandRobert Helgesson 014d8deb60 tree-wide: update url to the repo 2020-10-22 22:41:56 +02:00
zimbatmandRobert Helgesson 1c4ced745c ci: deploy the manual to GitHub Pages 2020-10-22 22:41:55 +02:00
zimbatmandRobert Helgesson 731959ef0e ci: add cachix cache 2020-10-22 22:41:54 +02:00
Robert Helgesson 18429f1d1d emacs: remove use of makeDesktopItem
Can generate the file directly to avoid the dependency on the
`makeDesktopItem` API.
2020-10-22 22:00:22 +02:00
Robert Helgesson 77913ff17e tests: run neovim tests on Linux only
Currently the package is unbuildable on Darwin. Also sort the test
includes.
2020-10-22 21:26:15 +02:00
Robert Helgesson dc5239b5ce firefox: minor option description fix 2020-10-20 00:28:52 +02:00
dawidsowaandGitHub c5e47e25a6 firefox: add enableGnomeExtensions option (#1552) 2020-10-19 15:37:49 +02:00
Robert Helgesson e7d5531cfa vscode: apply nixfmt 2020-10-12 22:51:12 +02:00
Robert Helgesson aecd4acfb4 neovim: apply nixfmt 2020-10-12 22:50:49 +02:00
Nick HuandGitHub 18a05a9604 zsh: add support for prezto configuration framework (#655) 2020-10-12 01:27:44 +01:00
uosisandRobert Helgesson 7339784e07 nixos: pass system configuration to HM modules 2020-10-11 23:33:44 +02:00
c4710nandRobert Helgesson 0e9b6e6dc9 chromium: enable for all platforms 2020-10-11 23:07:38 +02:00
happysaladaandRobert Helgesson fc5619764e skim: add fish integration
Add fish integration to `programs.skim`.

PR #1549
2020-10-11 22:59:23 +02:00
Robert Helgesson 57518cd0bf git: remove test dependencies on delta and git-lfs 2020-10-11 22:36:26 +02:00
Robbert Gurdeep SinghandGitHub b584745506 neovim: add extraPackages (#1522)
Add an option to add packages to the PATH of nvim.
This may be usefull to make extra programes availible
for plugins and/or for usage in :! myprogram
2020-10-10 16:15:42 +02:00
Charlotte Van PetegemandGitHub 473d9acdad neomutt: fix duplicated extraConfig in account (#1546)
The `accounts.email.accounts.<name>.neomutt.extraConfig` option is
included twice in the resulting config file for the account. One time as
part of the `mraSection`, one time as part of `accountStr` (`accountStr`
includes the `mraSection`). This removes that duplication. I opted to
keep the one in `accounStr`, since `extraConfig` doesn't necessarily
have anything to do with the `mraSection`.
2020-10-09 20:55:35 +02:00
Evan StollandRobert Helgesson 8537920706 autojump: add module
This also deprecates the `programs.bash.enableAutojump` option in
favor of this module.
2020-10-08 23:50:43 +02:00
Samuel AinsworthandRobert Helgesson 7e5fee4268 home-manager: handle $EDITOR containing spaces
The quoted `$EDITOR` causes errors when using values containing
arguments, eg. "code --wait". This is in contrast to the majority of
tools (git, etc.) that do support this usage.

Fixes #1496
2020-10-08 23:17:28 +02:00
Andrew FontaineandRobert Helgesson 0006da1381 home-environment: add option home.sessionPath
This option allows adding additional entries to `PATH`.
2020-10-05 21:06:42 +02:00
Olmo KramerandRobert Helgesson 9ff2188c5d mpv: make wrapped package available via package 2020-10-01 22:28:33 +02:00
Vladimir SerovandRobert Helgesson da6077a899 README: less complex minimal flake.nix example 2020-09-30 23:27:28 +02:00
Olmo KramerandRobert Helgesson 41147ae09a feh: allow binding actions to multiple buttons/keys
In feh you can bind multiple keys to the same action, but Home Manager
only let you set a single key to an action. You can cheat and pass a
string with space-separated keys, but with this change you can pass a
list for each action to bind multiple keys to it.

Also adds a couple of tests.

Fixes #1366
2020-09-30 00:55:09 +02:00
Olli HeleniusandRobert Helgesson 6fed10a09a gnome-terminal: add backspace- and delete-binding options
These settings control the string sent by gnome-terminal when the
respective keys are pressed. The options are the ones described in
libvte documentation:

https://developer.gnome.org/vte/0.48/VteTerminal.html#VteEraseBinding
2020-09-29 23:48:41 +02:00
Karl HallsbyandRobert Helgesson f0fc2a8702 mu: add module 2020-09-29 23:26:45 +02:00
Mattia GhedaandGitHub 521a808151 README: Update README.md to point to new url (#1530)
home-manager moved to a community-based project.
2020-09-29 20:30:06 +02:00
Joe HermaszewskiandGitHub abfb4cde51 vim: Allow setting init.vim config alongside plugins + neovim test (#876)
* neovim: allow setting init.vim config alongside plugins
* neovim: add test for neovim plugins
* neovim: make pluginWithConfigType a have type submodule
2020-09-25 02:08:39 +02:00
Robert Helgesson 43ab2f40b9 notmuch: inline notmuch-accounts.nix
Having it in a separate file is a bit unnecessary.
2020-09-24 20:02:49 +02:00
Alex RiceandGitHub 690d93c22a sway: fix startup example (#1517)
Fixes #1515. Example for `wayland.windowManager.config.startup`
referenced options `notification` and `workspace` which are not valid
for sway.
2020-09-24 10:16:54 +01:00
John Axel ErikssonandGitHub 8a160f01ab sway: fix onChange for sway config when sway isn't running (#1506)
`pgrep -x somecommand` exits with a non-zero status if it finds no
process running with the given name. When using home-manager as a
NixOS module, on boot (when sway isn't running) this script would
fail and then fail the unit since it seems the onChange scripts
are running with the -e switch.

This change ensures we're always returning a 0 exit status where we
attempt to get the pid of sway - we're only interested in either the
pid or an empty string, the exit status isn't important.
2020-09-23 12:10:58 +01:00
Robert Helgesson a6a3abb295 gitlab-ci: update Nixpkgs pin 2020-09-22 23:26:53 +02:00
Vojtěch KáněandRobert Helgesson 84bcce3c25 pet: add module
Adds a pet module without sync support as it makes no sense when
configuration is managed with Home Manager and the config would be
unwritable for pet anyway.

PR #1045
2020-09-22 23:20:17 +02:00
96d7de6db1 mbsync: per account multiple channels (#1360)
* mbsync: option for configuring a channel

A channel is a relationship between 2 directories/boxes/mailboxes
between the local machine (slave) and the remote mail server (master).
Each channel must be given at least:
     * an account-unique name
     * a pattern for which mailboxes to sync from master
     * a pattern for what directory where that mail ends up on the
     slave

Additional options can be added later.

* mbsync: option for configuring a group

A group is a grouping of channels together, so that many channels with
very different names can be handled as a single entity.

Groups are unique in mbsync because they will shadow channels that
have the same name on the command-line.

* mbsync: create groups configuration attribute

This is the end of the configuration that the end-user will use.

They will specify an attribute set that contains the name for the
group, so they can say
`accounts.email.accounts.<aname>.groups.<gname>` to access the
configuration for the group with the name `<gname>`.

* mbsync: write function to generate group-channel blocks

This function takes in a set of groups, and their consituent
channels and writes the appropriate .mbsyncrc block. The block is as
shown below:

      Group groupName1
      Channel channelName1
      Channel channelName2

      Group groupName2
      Channel channelName3

Each group must have a unique name, no matter which account it is
declared under. The same holds true for channels. However, if there is
a group that shares the same name as the channel, the channel will
effectively be "shadowed" by the group, and mbsync will default to
working with the group in that case.

* mbsync: write function to generate channel configuration blocks

This function takes in a set of groups, which includes their
consituent channels and writes the appropriate .mbsyncrc block for the
channel. The block that is generated is shown below:
      Channel groupName1-channelName1
      Master :<accountName>-remote:<master-pattern>
      Slave :<accountName>-local:<slave-pattern>

      Channel groupName2-channelName2
      Master :<accountName>-remote:<master-pattern>
      Slave :<accountName>-local:<slave-pattern>

Each group must have a unique name, no matter which account it is
declared under. The same holds true for channels.

Using channels with the patterns set up this way allows one to specify
which maildir directories are to be synchronized FROM the master TO
the slave. In addition, it allows for these maildirs to be remapped,
between the master server and the local slave.
This is critical, because Gmail has a strange way of storing its mail
that makes using mbsync, mu, and mu4e more difficult.

There are additional channel parameters that are already present in
this codebase from the previous use of group-channel configuration,
which will be reused.

* mbsync: set the submodule's names field according to parameter

This is the same method as is used in creating an email account, named
`<name>` under `accounts.email.accounts.<name>`. This allows the user
to specify groups and channels, in a list-like format, but still gets
the "namespacing" to more easily handle the options available in each
of these locations.

* mbsync: provide examples of master/slave patterns for channels

* mbsync: create nested-let function to generate channel pattern

This pattern is required to either NOT be present, which means the
master pattern is used to match, or it has a list of patterns to use
beneath the master maildir to match against.

This function checks to ensure that if patterns is not empty, ONLY
then is the `Pattern` keyword printed. Otherwise, there are many, many
problems.
If there IS a list of patterns, then we use proper escaping methods to
ensure that the exact string is constructed.

* mbsync: per-account groups can have additional patterns

Gave the
`accounts.email.accounts.<name>.mbsync.groups.<gname>.channel.<cname>`
set a `patterns` option, which will allow for greater customization
and filtering of the master maildir to sync to the slave maildir.

* mbsync: add extraConfig option for easier-to-format options

These are options that can be handled by the `genSection` function in
the `genAccountFunction`, so they are left to the user to decide.
Most of these are made on a global basis anyways.

* mbsync: remove unneeded extraConfig.channel

This was originally placed here, seemingly, just to get this module
working. However, this field is actually more confusing now that a
separate per-channel configuration option for extra configurations has
been made available.

* mbsync: correct and improve comment in masterPattern description

* mbsync: switch channel/group generation to new functions

Changing this out is what moves us from the old system to the new one.
Instead of having a single channel manage a whole mailbox, we can now
specify an attribute set of groups that should correspond to an email
account.

Each of these groups contains an attribute set of channels that make
it up, and are grouped together for synchronization. In addition, each
of these channels can have additional IMAP4 parameters attached to
them to further refine synchronization.

Lastly, each of the channels is grouped together under the Group
section, ensuring that the channels' mailboxes synchronize as they
have been specified.

* mbsync: only generate group/channel configuration if channels present

Typically, when a group is specified, channels will be specified as
well. However, if due to error or mistake, the user forgets to specify
ANY channels for a group, we should not generate that group's
information.

This means that no channels are specified (which maps the remote
master to local slave). In addition, the `Group <gName>` block (which
brings the separate channels together) is also not generated.

Another thing to consider is that a user might specify a group and a
channel, but perform no additional configuration of the channel.
In a configuration, this would be realized by
`accounts.email.accounts.<aName>.mbsync.groups.<gName>.channels.<cName>;`

This creates the channel with the name `<cName>` and the
`masterPattern`, `slavePattern`, and `patterns` fields use their defaults.
By definitions set within mbsync, these defaults actually specify that
the remote master's `INBOX` mail directory is synchronized to the
local slave's `INBOX` directory.

So, if there is a channel that has no fields specified, then we DO
want to generate its configuration. But if there is a group that has
no channels, then we do NOT generate it.

* mbsync: acc comment explaining why groups attr set is never empty

* Revert "mbsync: remove unneeded extraConfig.channel"

This reverts commit 941c4771ca.

To support backwards compatibility, I need to leave this field/option
in the module, even if it will likely be more confusing to do it this way.

* mbsync: channel compatibility with previous iteration of mbsync

The previous version of mbsync used a single channel for an entire
account. This leads to issues when trying to change the mailbox
hierarchy on the local machine. The problem with this is that some
email providers (Gmail, among others) use a slightly different maildir
hierarchy, where the standard mailboxes (Inbox, Drafts, Trash, etc.)
are stored inside another directory (`[Gmail]/` in the case of Gmail).

This new version allows the user to specify any number of groups with
any number of channels within to reorder their mail however they wish.

However, to maintain backwards compatibility, I moved the original
channel-generating code to a function that will run ONLY when
there are no groups specified for THIS account.

* Revert "mbsync: channel compatibility with previous iteration of mbsync"

This reverts commit b1a241ff9f.

This function is in the wrong location and this was wrongly committed.

* mbsync: function for backwards compatibility with previous mbsync

NOTE THAT THIS IS THE CORRECT COMMIT FOR THIS CHUNK OF CODE!!

The previous version of mbsync used a single channel for an entire
account. This leads to issues when trying to change the mailbox
hierarchy on the local machine. The problem with this is that some
email providers (Gmail, among others) use a slightly different maildir
hierarchy, where the standard mailboxes (Inbox, Drafts, Trash, etc.)
are stored inside another directory (`[Gmail]/` in the case of Gmail).

This new version allows the user to specify any number of groups with
any number of channels within to reorder their mail however they wish.

However, to maintain backwards compatibility, I moved the original
channel-generating code to a function that will run ONLY when
there are no groups specified for THIS account.

* mbsync: function to choose which style of group/channels to generate

This is a simple if-check. If the old style is used, then this
account's mbsync.groups attribute set is empty. If that is the case,
then the old-style single-channel per account is used.

If that is NOT the case, then the new style is used in preference of
the old. This means that ALL channel code that would be generated by
the old version is replaced by the new one.

* mbsync: switch per-account config generation to check channels

* mbsync: program-wide groups if no account-specific groups

At the end, we have to choose whether or not to generate the old style
of having program-wide groups to specify things, where the boxes on
the channel underneath the group specifies which mailboxes to sync.

Here, we only generate the old style of group IF there is ANY account
that does NOT have the new `accounts.mbsync.groups` defined. At that
point, it is up to the user to ensure that the accounts in
`programs.mbsync.groups.{}` align with the name chosen for the
account, as I have made no attempt to change this old code.

However, if ALL accounts have their `mbsync.groups` defined, even if
each of the groups has a single empty channel, it will generate the
groups in the new style.

* mbsync: ensure \n after hm-generated comment

This was a multi-part fix. First, the `# Generated by Home Manager.`
comment has been reworked to ensure that it will ALWAYS have a
newline, even if the program-wide extraConfiguration is empty.

Next, we switched to placing 2 newlines between every account, to
provide further visual distinction between each account, which can
have multiple channels and multiple groups defined at the same time.

Lastly, the groupsConfig was slightly reworked, so that both the old
and new version can be used, but the new one will take precedence.
Because of this, groupsConfig is now a list of strings, which will
have single newlines inserted between each element.

But if the old style is NOT used, then the groupsConfig list
contains one element, an empty string. A single element has nothing
added as a separator, and an empty string produces no output.

* mbsync: only generate new group/channels if channels present

Here, the problem was if the user created a group for an account, but
did not also include a set of channels. If no channels have been
specified, then the group should NOT have its group-channel mapping generated.

I also corrected and improved the comment regarding
`genGroupChannelString`'s function and intended behavior.

* mbsync: channel patterns generate their own newlines

This means that when a channel has extra `patterns` defined for it, it
will generate those, and a single newline will be appended to the end
of that newly constructed string.

The moving of the newline character is slightly important because
otherwise, every account would receive an extra newline after every
channel, leading to 2 newlines after every channel.

* mbsync: place newline between each channel in a group

* mbsync: ensure old group/channel has proper spacing

This ensures that if the old style of generating program-wide groups
that there is the proper spacing before the group and in between each
line within the group.

* mbsync: ensure no empty channels present

If the user specifies a group correctly, they must still specify an
attribute set of channels. However, if they do not, then we need to
ensure that a group with no channels does NOT have any channel
configurations generated for it.

If there is a channel string generated for a channel that is empty,
then the `mapAttrsToList` returns a singleton list that contains just
the empty string. Thus, we can filter out all those results, to ensure
that no empty channels are generated.

It is important to keep in mind the difference between an empty
channel and a channel that has received no configuration, but is
named.
	* A named channel is technically configured to have a name.
	  While the `masterPattern`, `slavePattern`, and `patterns`
	  field have NOT been populated, mbsync assumes that if
	  master/slave-Pattern are empty that means match against
	  `INBOX`.
	  If `patterns` is empty, no patterns are printed.
	* An empty channel set is a set that has no channels within
	  it, but `mbsync.groups.<gName>.channels` is defined.

* mbsync: filter empty groups and correct newlines

First thing, someone can specify that a group is empty. If this is
done, technically a group with channels would be generated at the end.
However, because they were empty and did not exist, whitespacing would
be generated, leading to a usable, but mangled config file.
The `filter` solves this problem by removing empty strings (which are
generated by groups that are empty) from the output strings to place
in the file.

Lastly, because the whitespacing was fixed elsewhere in the file, the
crazy double-newline at the end was changed to a single newline.
However, the double newline within the `concatStringsSep` is still
required, because the list that is being concatenated together is a
list of channel configurations. Each element corresponds to one of the
groups specified, whose contents are the channels specified within.

The double newline is needed because each string element is lacking a
trailing newline, because `concatStringsSep` does not add the
separator to the end of the last element in the list. So, the last
channel to be configured will not have that newline appended when the
channel-configuration list is created, thus, 2 are inserted here.

* mbsync: update test input to use per-account channels

* mbsync: comment how old/new style collision handled

This is left in the test input for now, because I think it is useful
to see why certain things are happening the way they are.

* mbsync: update test output pattern

The test output should now have the correct configuration according to
the way I have specified it in the input file.

* mbsync: use format script on new code

* mbsync: add KarlJoad as maintainer

Co-authored-by: Nick Hu <me@nickhu.co.uk>
2020-09-21 18:16:06 +01:00
Evan StollandRobert Helgesson 9b1b55ba02 numlock: add test
- Add evanjs to CODEOWNERS for numlock and numlock test
- Add evanjs to maintainers for numlock module
2020-09-18 19:35:19 +02:00
Robert Helgesson b3498cccb3 info: generate dir file directly in profile
This avoids the need for the activation block. The `dir` file is
instead built directly in the installed profile.
2020-09-18 14:05:42 +02:00
Symphorien GibolandRobert Helgesson 92c682cd10 unison: fix escaping of arguments
The `ExecStart=` option of systemd must take arguments fully quoted.
That is,

    "-sshargs=-i somekey"

and not

    -ssargs="-i somekey"

Additionally, inside arguments passed to unison, `=` characters must
be quoted. After unquotation by systemd, one must have

    -sshargs=-o Foo\=4

instead of

    -sshargs=-o Foo=4
2020-09-18 00:16:22 +02:00
Damien CassouandRobert Helgesson 472ca211ca man: support building manual page index cache
The apropos software is useful to get a list of manpages matching a
description or to get a list of all manpages. The latter feature is
used by Emacs to get manpage completion (`M-x man`).

To have apropos working, a database of all available manpages must be
built with mandb. This is what this commits does.

A similar change was done for NixOS:
https://github.com/NixOS/nixpkgs/commit/edc6a76cc025ef972979dad6692e0fd5d5cfcbbb
2020-09-13 20:52:08 +02:00
Damien CassouandRobert Helgesson 812b64d4d3 man: prepare for new programs.man options 2020-09-11 20:16:33 +02:00
Damien CassouandRobert Helgesson 605a8fc92e generic-linux: add option extraXdgDataDirs
PR #1486
2020-09-11 12:26:55 +02:00
Damien CassouandRobert Helgesson b819d2cc41 generic-linux: prepare code for new options
This moves the enable option into an explicit attribute set to allow
future addition of new options.
2020-09-11 12:26:54 +02:00
Bruno BigrasandRobert Helgesson 1f04af74f2 mcfly: fix when non-interactive with fish 2020-09-11 11:41:08 +02:00
dawidsowaandGitHub 249650a07e mpd: change musicDirectory to str (#1449) 2020-09-06 23:37:46 +02:00
NiclasandGitHub 4ebb7d1715 systemd: fix systemd spelling (#1373)
Systemdaemons are lowercased and get suffixed with a d
2020-09-06 11:28:40 +02:00
Paho Lurie-GreggandGitHub 1a6d6b8ace zplug: Reduce noise (#1441)
Running `zplug install` will always product output, even if there is
nothing to do.

Gating it behind a `zplug check` eliminates that output when there is
nothing to do, and is recommended in the zplug README.
2020-09-06 11:16:34 +02:00
Elis HirwingandGitHub f146620897 htop: Add new configuration options (#1463)
There's some new configuration options since the 3.0.0 release of htop.
2020-09-06 10:58:37 +02:00
Robert Helgesson 41b1af808f targets.darwin: disable application directory
This disables the generation of the application directory until
conflicting behavior with nix-darwin is resolved.

See https://github.com/rycee/home-manager/issues/1341#issuecomment-687286866
2020-09-04 20:01:19 +02:00
Nicolas BerbicheandRobert Helgesson 182454fe6b kanshi: fix exec configuration
Also add a test case for the exec option.

PR #1446
2020-09-04 16:45:42 +02:00
Robert Helgesson a063b73d5c Merge PR #1460 2020-09-04 16:02:17 +02:00
Nicolas BerbicheandRobert Helgesson d3aee544b6 targets.darwin: add module
Currently, this module makes sure that `/Applications` directories for
packages in `home.packages` get linked into the user's environment.
2020-09-04 15:21:48 +02:00
Nicolas BerbicheandRobert Helgesson bd4c2b0651 nix-darwin: add missing options
Add useGlobalPkgs, verbose and backupFileExtension support
2020-09-04 15:00:00 +02:00
Nicolas BerbicheandRobert Helgesson 1f34c048b3 flake: add nix-darwin module 2020-09-04 14:34:37 +02:00
Tony OlagbaiyeandRobert Helgesson bfc66df13d readme: add a basic flake usage example 2020-09-04 14:24:38 +02:00
Christoph HerzogandRobert Helgesson 1ed8e7ef98 vscode: add options for keybindings
Adds a new `keybindings` option to the `vscode` configuration.

It contains a list of key bindings, which will be written to
`%vscode-dir%/User/keybindings.json`.

PR #1351
2020-09-04 14:14:52 +02:00
Robert Helgesson e6e49ad73c home-environment: coerce home.homeDirectory to string
The home directory option should be a string without context to avoid
the directory being copied to the Nix store.

Fixes #1471
2020-09-02 22:37:21 +02:00
Cole Helbling 0399839271 lib/file-type: remove types.loaOf
loaOf has been deprecated for a long time and is now in the process of
removal (see https://github.com/NixOS/nixpkgs/pull/96042). Thus, we
remove it here, too.
2020-09-02 11:13:36 -07:00
Olmo KramerandRobert Helgesson 4b702bf6b7 ncmpcpp: add module
PR #1457
2020-09-01 22:05:57 +02:00
Robert Helgesson 4fe5afa755 files: make sure the target file name is escaped
The previous implementation would allow variables to sneak into the
file names. This commit makes sure the resulting target file path
exactly matches the expected path.
2020-08-29 18:22:03 +02:00
Robert Helgesson 209fb62d49 xdg-mime: more forcefully create directories
By installing two packages with the same directories we should force
`buildEnv` to generate real directories instead symlinks into the Nix
store.
2020-08-29 17:33:07 +02:00
Tony OlagbaiyeandRobert Helgesson 6cf6b587b5 flake: add flake.nix
No flake.lock is added because the only input (nixpkgs) will almost
always be overridden, and currently Home Manager's testing and
verification is not flake based.

PR #1455
2020-08-26 23:49:12 +02:00
Mario RodasandRobert Helgesson a79d31fcfd mcfly: add module
PR #1452
2020-08-26 00:21:01 +02:00
Alex RiceandRobert Helgesson 0869e23700 sway: set bar defaults to null
Allows fields of bar to be nullable and omit them from the generated
configuration if unset.

Fixes #1361
PR #1386
2020-08-26 00:05:05 +02:00
Alex RiceandRobert Helgesson 625b92cbba sway: add default test 2020-08-25 23:58:43 +02:00
Robert Helgesson 9854342b9f nixpkgs: take Nixpkgs path from argument
This removes the dependency on the `nixpkgs` channel within the
modules for state version ≥ 20.09. The default Nixpkgs source starting
from this state version is the path of the `pkgs` argument used to
bootstrap the Home Manager modeuls.

This is a prerequisite for using Home Manager withing Nix flakes.

PR #1420
2020-08-19 00:33:25 +02:00
Vincent GatineandRobert Helgesson a3dd580adc kanshi: add service
PR #1142
2020-08-15 01:02:23 +02:00
Robert Helgesson 2bcd96928e xdg-mime: make sure the target directories exist
Before the profile commands would not run if a single package is
installed since `buildEnv` will produce a symlink directly to that
package. By adding this dummy package we ensure that a real directory
will be generated.

Fixes #1392
2020-08-15 00:17:24 +02:00
Robert Helgesson 2c6a023744 home-manager: remove home-manager-path on uninstall
Fixes #1443
2020-08-14 23:19:48 +02:00
James OttawayandGitHub 9a473b693a zsh: add cdpath option (#1418) 2020-08-14 22:36:23 +02:00
Nicolas BerbicheandRobert Helgesson f4f9f1a618 waybar: add module
PR #1329
2020-08-14 00:20:49 +02:00
Jack McCownandRobert Helgesson 2a54c353a9 gnome-terminal: add profile command options
Allow setting custom command and login shell.

PR #1423
2020-08-13 23:55:24 +02:00
Daniel GorinandRobert Helgesson 96e2f1bdf0 kakoune: add support for plugins
The kakoune editor has a plugin mechanism and several plugins are
already packaged under `pkgs.kakounePlugins`. However, adding these
packages to `home.packages` is not enough: the `kakoune` package needs
to be configured with the list of plugins to include, so that they get
sourced on start-up.

We add a `programs.kakoune.plugins` option, analogous to
`programs.vim.plugins`.

The change is backwards compatible since `pkgs.kakoune` is defined as

    wrapKakoune kakoune-unwrapped { };

and `wrapKakoune` defaults the list of plugins to empty.

PR #1356
2020-08-13 23:45:49 +02:00
Philipp MildenbergerandRobert Helgesson 3886f8db33 pulseeffects: fix autostart
PR #1442
2020-08-13 22:39:03 +02:00
Andrew FontaineandRobert Helgesson baea46c5ac git: set SSL if useStartTls is false
The git-send-email [0] script uses StartTLS if `smtpEncryption` is set
to `tls`, which can break services that don't support StartTLS.

[0]: https://github.com/git/git/blob/bd42bbe1a46c0fe486fc33e82969275e27e4dc19/git-send-email.perl#L1533

PR #1395
2020-08-13 21:36:31 +02:00
jD91mZM2andRobert Helgesson fceef469c2 xdg-user-dirs: fix erroneous dirs file
Before this change,

```rust
fn main() {
    println!("{:?}", glib::get_user_special_dir(glib::UserDirectory::Documents));
}
```

would return `None` even though `~/Documents` is available and
`xdg.userDirs.enable = true`. Checking the differences between
`xdg-user-dirs-update` shows that the latter has quotes around each
thing.

PR #1440
2020-08-13 00:07:04 +02:00
Tom BereknyeiandRobert Helgesson ae8f432a75 bash: initExtra after autojump config
Allow for initExtra to manipulate results of autojump, e.g., remove
aliases.

PR #1431
2020-08-12 23:21:57 +02:00
Symphorien GibolandRobert Helgesson e1fbb74b41 lib.gvariant: escape backslashes in strings
PR #1433
2020-08-12 22:53:28 +02:00
Daniel GorinandRobert Helgesson d1f4d1514d kakoune: escape showWhitespace separators
We were passing the separators for the `show-whitespaces` highlighter
verbatim. This was problematic in case one wanted to use, spaces,
quotes or `%` as separators since the resulting kakoune configuration
would be invalid.

According to kakoune's docs, the separator has to be one character
long, so we can use a simple rule for escaping them. It is possible
that people has been working this around by passing, e.g. `"' '"` as
separator in order to get a space (i.e., escaped explicitly by the
user), so we just let longer strings be used verbatim.

PR #1357
2020-08-12 22:44:33 +02:00
Daniel GorinandRobert Helgesson 861690ff29 kakoune: simplify testcase
Instead of using several regex assertions, just state precisely what we
are producing. While the regex was technically more flexible, since it
would ignore differences in whitespace, it was also harder to read/edit.
2020-08-12 22:43:38 +02:00
Robert Helgesson 223e3c38a1 Revert "systemd: use sd-switch"
This reverts commit 9c0fe3957b.
2020-08-04 19:38:14 +02:00
Robert Helgesson 9c0fe3957b systemd: use sd-switch
This makes the systemd module use the sd-switch application to perform
the unit switch during a generation activation.

Since the closure of sd-switch is relatively lightweight we
unconditionally pull it in as a dependency. We simultaneously remove
the `systemd.user.startServices` option and perform the switch action
automatically.

PR #1388
2020-08-04 01:01:10 +02:00
Robert Helgesson 152769aed9 xscreensaver: restart if settings change 2020-08-02 14:05:18 +02:00
hpfrandRobert Helgesson dbf6b2d2ab starship: fix fish integration syntax
The previous fish integration for starship erroneously used parts of
POSIX-esque test syntax. It also used `-n` instead of `-z` to check
for an unset variable.

PR #1422
2020-08-02 13:04:24 +02:00
Robert Helgesson f119d4d142 fontconfig: disable multiple font packages test
This test started failing as described in the code comment. May be
related to Nixpkgs updating Fontconfig from version 2.12 to 2.13. See
https://github.com/NixOS/nixpkgs/pull/73795.
2020-07-31 17:30:57 +02:00
Robert Helgesson 79a2320fd0 files: minor documentation improvements 2020-07-31 00:54:23 +02:00
eyjhbandRobert Helgesson bb6eb9b13e dropbox: fix bug caused by Python gi import
When running the service start script with `DISPLAY` set, a `gi`
import error is triggered. Blanking the variable will make the script
use a different code path that does not attempt to import `gi`.

Also moves activation script up into start of script instead.

PR #1415
2020-07-30 00:07:23 +02:00
Leon KowarschickandRobert Helgesson 2e7935767f alacritty: add package option
PR #1372
2020-07-27 17:08:10 +02:00
seyleriusandRobert Helgesson 89adfc9f01 qutebrowser: unwrap list from keybinding removal
The option to remove the default keybindings by setting the
`programs.qutebrowser.enableDefaultKeybindings` variable to `false`
had a list wrapped around the `config.py` line. This would cause a
type coercion error.

PR #1410
2020-07-27 16:48:38 +02:00
eyjhbandRobert Helgesson 7b73f84071 dropbox: add module
Ability to control Dropbox daemon, if it should start and where to
place the files.

PR #1391
2020-07-25 23:12:33 +02:00
Sergei MaximovandRobert Helgesson 5cd7865c6c spotifyd: add package option
This option can be used to enable optional Spotifyd features, such as
looking up the Spotify password in the system keyring or enabling
MPRIS support.

PR #1390
2020-07-25 20:43:43 +02:00
Philipp MildenbergerandGitHub 3f1be69359 nushell: add module (#1333) 2020-07-24 17:15:55 +02:00
Robert Helgesson 83301ca787 lib: support gvariant maybe type
Fixes #1397
2020-07-24 16:45:13 +02:00
Robert Helgesson 8ad5580021 zsh: fix trailing white space 2020-07-21 01:10:54 +02:00
dawidsowaandGitHub e2e8b7371d zsh: add shellGlobalAliases (#1381) 2020-07-20 19:54:30 +02:00
Mario RodasandGitHub 4bd0ca2cd7 git: configure delta through [delta] git section (#1371)
this breaks backwards compatibility (now accepts a dict instead of a list) so please update
programs.git.delta.options accordingly.
2020-07-20 17:03:40 +02:00
Cole MickensandRobert Helgesson 5c639ff68a sway: focus.followMouse supports yes/no/always
Also add associated tests for both Sway and i3.

PR #1231
2020-07-17 15:35:00 +02:00
Robert Helgesson a49ce0e9ed home-environment: use per-user profile path in /etc
Before the profile directory value would point directly to the build
output in the Nix store. Unfortunately this would cause an infinite
loop if the user's configuration directly or indirectly refers to the
profile directory value.

Fixes #1188
2020-07-14 23:31:20 +02:00
Robert Helgesson 1a8ab9d9de nixos, nix-darwin: fix user packages install
It is insufficient to install the packages in `home.packages`, it has
to be `home.path`, which includes configured extra package outputs or
profile commands.
2020-07-14 23:31:19 +02:00
f4814nandGitHub e0fb488e57 sway: Fix output example (#1385)
The example for wayland.windowManager.sway.config.output has to
contain a mode behind the filename to be correct.
2020-07-14 09:17:05 +01:00
Alex Rice 05565a0145 CODEOWNERS: fix typo 2020-07-13 12:40:13 +01:00
Siva MahadevanandRobert Helgesson 5f189acce4 neomutt: fix SMTP port string
Fix the SMTP port string from #1374 by properly converting the integer
port into a string.

PR #1377
2020-07-04 12:21:02 +02:00
Robin StummandGitHub 7dc322c1eb kakoune: support user modes in keyMappings
kakoune: support user modes in keyMappings

User modes are declared automatically.

PR #1286
2020-07-03 22:43:18 +02:00
Siva Mahadevan 8736190743 neomutt: Add SMTP port to smtp_url 2020-07-03 15:30:12 -04:00
Damien CassouandRobert Helgesson 7f7348b470 powerline-go: fix argument to -error option
Addition of the line "local old_exit_status=$?" broke the call to
powerline-go.

PR #1364
2020-06-29 10:21:17 +02:00
Robert Helgesson 58716b7541 xresources: add missing test file 2020-06-28 11:23:34 +02:00
Robert Helgesson 600f39f966 xresources: do not generate file for empty properties 2020-06-28 00:41:05 +02:00
Robert Helgesson a94c8b072e readme: add reference to Nix Pills 2020-06-25 00:10:08 +02:00
Robert Helgesson 5a15f3833d ne: use dummy package in tests
This is to avoid unnecessary downloads and builds when running the
tests suite.
2020-06-24 23:02:49 +02:00
Tad FisherandRobert Helgesson 54b69d2ef8 emacs: fix service environment
Emacs populates 'exec-path' at launch from the 'PATH' environment
variable. Likewise, the emacs derivation from nixpkgs populates
'load-path' from the 'NIX_PROFILES' variable. As neither of these are
available by default in the systemd user manager, revert to the
previous behavior of launching the Emacs daemon from a login shell.

Fixes #1354
Fixes #1340
PR #1355
2020-06-24 22:50:30 +02:00
cwycandRobert Helgesson 8f2342e13a ne: add module
Added a simple module to place configuration files for ne: the nice
editor.

PR #1336
2020-06-23 22:37:02 +02:00
Mario RodasandRobert Helgesson 8ab1139891 tmux: only enable secureSocket on Linux by default
Darwin does not have the `/run/user` directory.

PR #1349
2020-06-22 19:34:52 +02:00
Robert Helgesson 1f174f6681 git: add news entry about changed escaping 2020-06-18 00:54:41 +02:00
Robert Helgesson bf7297d55c Move email account options to their owning modules
This removes the long list of submodules from

    modules/accounts/email.nix

and instead move each entry to its owning module.
2020-06-16 00:45:20 +02:00
Jonathan ReeveandRobert Helgesson ad4f33cfc4 qutebrowser: add package option
Fixes #1315
PR #1334
2020-06-15 21:06:14 +02:00
Robert Helgesson ecb93ab9ae generic-linux: respect NIX_STATE_DIR 2020-06-14 23:34:53 +02:00
Dmitry KalinkinandRobert Helgesson dc227b579d home-manager: respect NIX_STATE_DIR
This allows to install home-manager on a system without root access.

PR #1196
2020-06-14 20:41:55 +02:00
Vincent BreitmoserandGitHub 7682eb88c4 fluidsynth: fix description 2020-06-14 16:58:08 +02:00
Vincent BreitmoserandRobert Helgesson b0e8a1569e fluidsynth: add module
Fluidsynth is a real-time MIDI synthesizer based on the SoundFont 2
format.

PR #1326
2020-06-14 15:30:51 +02:00
s1341andRobert Helgesson 1b210e7143 zplug: add module
This adds initial support for the zsh package manager "zplug".

PR #1105
2020-06-14 15:12:49 +02:00
Robert Helgesson bb567e20b3 vte: add module
This abstracts out the VTE setup from the gnome-terminal module into
its own module and options.
2020-06-14 12:20:12 +02:00
Zsolt SzendeandRobert Helgesson 507e446475 vscode: fix extensions directory path
Fixes #1302
PR #1327
2020-06-14 00:43:44 +02:00
Damien CassouandRobert Helgesson 478022afad powerline-go: add module
PR #1285
2020-06-13 00:02:13 +02:00
Robert Helgesson edc3bede6e tests: avoid dependency on documentation 2020-06-12 21:59:51 +02:00
Robert Helgesson 21fbc5e5ad ci: do a nightly test run 2020-06-12 20:13:29 +02:00
Damien CassouandRobert Helgesson 43ef16c3e1 clipmenu: add module
PR #1309
2020-06-12 19:52:52 +02:00
Shamrock LeeandRobert Helgesson 561b3d5650 eclipse: add option package
PR #1310
2020-06-12 19:34:39 +02:00
Robert Helgesson a3cb63265d emacs: make news entry Linux specific 2020-06-12 10:30:52 +02:00
Damien CassouandRobert Helgesson 4ba9cedd68 doc: add "Add relevant documentation" guideline
This adds a new section to the contributing guidelines that discusses
how contributions should be documented.

PR #1306
2020-06-11 23:55:31 +02:00
Damien CassouandRobert Helgesson 6f683d9726 home-manager: add documentation to root default.nix
This adds documentation related packages to default.nix to allow
building documentation separately from building a Home Manager
configuration.
2020-06-11 22:53:33 +02:00
Tad FisherandRobert Helgesson 2209d3cb51 emacs: add myself to maintainers 2020-06-11 20:40:10 +02:00
Tad FisherandRobert Helgesson 3815248786 emacs: Support socket activation via systemd
Add 'services.emacs.socketActivation.enable' for generating an
'emacs.socket' systemd unit.

Emacs since version 26 has supported socket activation, whereby an
external process manager such as systemd listens on a socket and passes
it to the Emacs daemon when the manager launches it. This improves
startup time of the user session and avoids launching the daemon when not
needed, for example when launching the user session via SSH.

This implementation hard-codes the socket path to the default for the
version of 'programs.emacs.finalPackage', because systemd does not
perform shell expansion in the socket unit's 'ListenStream' parameter
and it seems like an advanced use-case to change the socket path. Shell
expansion would be desirable as the socket path usually resides in
directories such as $XDG_RUNTIME_DIR or $TMPDIR.

Tests were added to verify behavior in the following cases:

- Emacs service with socket activation disabled
- Emacs 26 with socket activation enabled
- Emacs 27 with socket activation enabled

PR #1314
2020-06-11 20:39:49 +02:00
Robert Helgesson 02c1f8d416 status-notifier-watcher: introduce unit start delay
Fixes #1312
2020-06-10 23:32:44 +02:00
Dany MarcouxandRobert Helgesson c378c1cbcd autorandr: add crtc option
This option was missing. It is generated by autorandr when executing
`autorandr --save my_profile`.

Fixes #1024
PR #1283
2020-06-09 23:15:44 +02:00
Robert Helgesson 89be0943e1 ci: run tests only for pull requests 2020-06-09 23:07:46 +02:00
Robert Helgesson abcddfe090 firefox: update extensions option description
This adds a note that the extensions will only apply to profiles
managed through Home Manager.
2020-06-09 22:12:08 +02:00
Robert Helgesson 5a97bf30d4 ci: switch from Travis CI to GitHub Actions
Unfortunately Travis CI seems stuck on Nix 2.0 on macOS, which no
longer works with Nixpkgs unstable.
2020-06-09 20:48:22 +02:00
Damien CassouandRobert Helgesson b33802ca7f direnv: add support for nix-direnv
PR #1297
2020-06-06 22:17:43 +02:00
Damien CassouandRobert Helgesson 575cd4b8ba direnv: add initial test for bash integration 2020-06-06 21:40:41 +02:00
Alex RiceandRobert Helgesson 68b931aef8 sway: add alexarice as codeowner 2020-06-06 21:35:09 +02:00
Alex RiceandRobert Helgesson 2dbe637478 sway: allow package to be null
This allows the `sway.package` option to be null so that the module
can be used alongside the nixos module.
2020-06-06 21:35:08 +02:00
Jakub FišerandRobert Helgesson 479274775f home-environment: add full locale options support
Allows setting every locale option independently. Also fixes `LC_`
order to match the order of `locale` command output for better
reference.

PR #1278
2020-06-06 21:23:01 +02:00
Robert Helgesson ba91ac5948 texlive: remove upstream dependency in tests
This changes the tests to not require downloading the texlive
distribution.
2020-06-06 16:43:17 +02:00
Robert Helgesson cca5161289 i3: replace deprecated package name 2020-06-06 14:53:44 +02:00
Robert Helgesson 354344d971 gnome-keyring: replace deprecated package name 2020-06-06 14:53:43 +02:00
Robert Helgesson 248dc17394 gnome-terminal: replace deprecated package names
The names `gnome3.vte` and `gnome3.gnome_terminal` have been replaced
by their more modern names.
2020-06-06 14:53:42 +02:00
Robert Helgesson 410d2febbb dunst: replace deprecated package name 2020-06-06 14:53:41 +02:00
Robert Helgesson 42fd47b246 emacs: replace use of emacsPackagesGen
Instead we use `emacsPackagesFor`, which `emacsPackagesGen` aliases
anyway.
2020-06-06 14:53:40 +02:00
Robert Helgesson 46cd37abc9 dunst: replace deprecated package name 2020-06-06 14:53:15 +02:00
Robert Helgesson b2a7d24770 doc: update nmd version 2020-06-06 14:10:14 +02:00
zowoqandRobert Helgesson 3b33862b04 files: reference lndir through xorg
The xlibs attribute set is deprecated and is an alias for xorg.

PR #1304
2020-06-06 13:24:51 +02:00
Roman VolosatovsandRobert Helgesson 85748171ec sway: add option config.bindkeysToCode
Do not use `--to-code` by default in `bindsym`.

PR #1289
2020-06-04 23:40:42 +02:00
Julien MoutinhoandRobert Helgesson 0ee5c9536b broot: fix install check
broot uses `~/.config/broot/launcher/installed-v1`, not
`~/.config/broot/launcher/installed`.

PR #1303
2020-06-04 21:54:35 +02:00
Damien CassouandRobert Helgesson ca6fcc92a1 firefox: show how to get pre-packaged add-ons
PR #1296
2020-06-04 21:29:51 +02:00
Robert Helgesson 8e8210b441 xdg-mime: fix issue on WSL1
This change stops update-mime-database from running unless the
`share/mime/packages` directory is writable. For some reason it
appears to be read-only on WSL1.

Fixes #1192
2020-06-04 19:45:22 +02:00
Damien CassouandRobert Helgesson a21c97d011 ssh: add support for ServerAliveCountMax
PR #1299
2020-06-03 23:16:43 +02:00
Robert Helgesson dd50dc4c13 doc: add licensing section in contribution guidelines 2020-06-03 19:13:41 +02:00
Nicolas BerbicheandRobert Helgesson b567d27394 mpv: use wrapMpv instead of mpv-with-scripts
The latter has been removed from Nixpkgs.

See:

- <https://github.com/NixOS/nixpkgs/pull/88620>
- <https://github.com/NixOS/nixpkgs/pull/89208>

PR #1295
2020-05-31 14:11:10 +02:00
Robert Helgesson d64fff1fe0 doc: add note about line width 2020-05-30 00:45:57 +02:00
Robert Helgesson c8b73e415a doc: add contribution guidelines section
This adds a section in the documentation for describing a list of
guidelines that code in Home Manager should follow.

This also updates the pull request template to reference this new
section.
2020-05-29 21:43:40 +02:00
Robert Helgesson 728c3eba67 doc: bump nmd version 2020-05-29 12:12:16 +02:00
Robert Helgesson a505bb5253 doc: include IRC channel in preface 2020-05-29 12:12:03 +02:00
Robert Helgesson 8bbefa77f7 tests: perform code formatting test in test suite
This should improve visibility when CI job fails due to bad
formatting.
2020-05-28 01:37:27 +02:00
Justin LovingerandRobert Helgesson 3a80ece9fa dircolors: fix usage together with zsh.oh-my-zsh
PR #1280
2020-05-28 00:08:15 +02:00
Robert Helgesson fe59b5bbc7 Minor cleanup of GitHub issue template
In particular indicate that the IRC channel is better for support
issues.
2020-05-28 00:01:51 +02:00
Robert Helgesson 8af92f844f Fix link to contributing document in PR template 2020-05-27 20:11:23 +02:00
Robert Helgesson f36c8a09e6 Add basic GitHub issue template 2020-05-27 00:29:31 +02:00
Matthew BauerandRobert Helgesson 0e2858af94 Add path attribute to root default.nix
This makes it possible to refer to the path of Home Manager when you
just have a Nix expression, not the actual source. Some things run
import on a source and just give access to the result of the import,
not the source.

PR #1259
2020-05-26 19:25:55 +02:00
Finn BehrensandRobert Helgesson 5ba71ef91f nixos: add mount check for home directory
PR #1271
2020-05-26 19:18:24 +02:00
Mario RodasandRobert Helgesson a957e2dc6b zoxide: add module
PR #1274
2020-05-26 19:14:39 +02:00
Nikita UvarovandRobert Helgesson 99a97c917a autorandr: remove blank lines from config
Fixes #1249.
2020-05-26 19:04:26 +02:00
Nikita UvarovandRobert Helgesson 09304026ae autorandr: add basic configuration test 2020-05-26 19:04:25 +02:00
Robert Helgesson b95ad63201 Deprecate use of builtins.getEnv
This removes the use of the non-deterministic function
`builtins.getEnv` for state version ≥ 20.09.

PR #1269
2020-05-26 00:28:59 +02:00
Robert Helgesson 2ed978eb79 systemd: apply nixfmt to test root file 2020-05-25 00:47:29 +02:00
Robert Helgesson 31ed6f1604 gtk: apply nixfmt 2020-05-25 00:46:58 +02:00
Robert Helgesson ac6235e53d emacs: apply nixfmt 2020-05-25 00:45:51 +02:00
Robert Helgesson f90b86b577 sway: fix config.keybindings example 2020-05-24 13:00:51 +02:00
Robert Helgesson 1c71bd1242 i3: fix config.keybindings example 2020-05-24 13:00:30 +02:00
Robert Helgesson a0d9a58616 lorri: make system environment attribute a list
It should be a list to allow inclusions of additional variables.
2020-05-24 12:19:39 +02:00
Matthew BauerandRobert Helgesson d99f54b51b readme: remove firefox "enableIcedTea" option
This option was actually removed in commit
3461ceebc0.
2020-05-22 00:07:53 +02:00
Matthew BauerandRobert Helgesson 4d49cee194 home-manager: allow unspecified confAttr
PR #1255
2020-05-21 14:04:13 +02:00
Robert Helgesson dcbe0f2a31 home-manager: add activation sanity check of Nix
This adds an empty `nix-build` command to verify that the user is
having a good Nix install. It also, as a side effect, will create the
necessary per-user `profiles` and `gcroots` directories.

Fixes #1246
2020-05-20 22:32:35 +02:00
Robert Helgesson cc48e15f28 doc: add chapter with contribution guidelines 2020-05-20 01:13:23 +02:00
Sophie TaylorandRobert Helgesson a43e7112e5 starship: improve Emacs handling for fish
PR #1248
2020-05-19 00:12:11 +02:00
piegamesandRobert Helgesson 6c7a031367 files: print source path for detected collision
PR #1236
2020-05-17 21:49:18 +02:00
Cole HelblingandRobert Helgesson 645149d77b files: fix warning message
PR #1241
2020-05-17 21:20:40 +02:00
Robert Helgesson 9ec9f004e1 home-manager: use nix-env to list generations
Using the `nix-env` command is far more robust. It also has the
benefit that if the per-user `profiles` and `gcroots` directories do
not exist then they will be created with the correct permissions.

Because of the second point this commit also removes the `mkdir` step
of the installation instructions.

PR #1239
Closes #474, #948, #1091
2020-05-16 19:17:13 +02:00
dawidsowaandRobert Helgesson 0fe984d575 tmpfiles: add module
PR #1144
2020-05-16 13:32:33 +02:00
Robert Helgesson 69f8e47e9e starship: allow running in Emacs if vterm is used
The vterm buffer is backed by libvterm and can handle Starship prompts
without issues.
2020-05-15 22:58:57 +02:00
Robert Helgesson db6e261794 gitlab-ci: update nixpkgs pin 2020-05-14 00:02:34 +02:00
Robert Helgesson 5cfc9fed79 gitlab-ci: minor test job improvements
Specifically,

- add code format checking and
- run tests in a pure shell.
2020-05-14 00:02:33 +02:00
Andrew McDermottandRobert Helgesson 40b1c5c448 gnome-terminal: allow for 'system' theme variant
PR #1228
2020-05-13 00:30:09 +02:00
Justin LovingerandRobert Helgesson e9945ee6ee dircolors: add module
PR #1219
2020-05-12 22:15:32 +02:00
Bruno BigrasandRobert Helgesson cca024da2b starship: check if $TERM == "dumb" for Bash setup
This fixes an issue with Emacs tramp.

PR #1191
2020-05-12 20:40:34 +02:00
Samuel GrahnandRobert Helgesson 1ec45b11ab rofi: add package option
Add option to specify which package provides the rofi binary.

PR #1225
2020-05-11 23:07:26 +02:00
Robert Helgesson 4ae188bfc7 Merge PR #1229 2020-05-11 23:02:14 +02:00
Roman VolosatovsandRobert Helgesson 7f4053084c sway: allow unsetting status command 2020-05-11 22:02:38 +02:00
Roman VolosatovsandRobert Helgesson 37202a1b70 sway: use --to-code in bindsym 2020-05-11 22:02:37 +02:00
Robert Helgesson b886cbea0b xdg.mimeApps: use xdg.dataFile instead of home.file
The former honors the data home path set by the user.
2020-05-09 23:53:48 +02:00
9f396fddc6 emacs: add emacsclient desktop file
Add an option to enable a .desktop file for the Emacs client.

PR #1223

Co-authored-by: Michael Lingelbach <m.j.lbach@gmail.com>
Co-authored-by: Robert Helgesson <robert@rycee.net>
2020-05-09 22:13:04 +02:00
Robert Helgesson 2434984336 doc: fix highlighting of root commands 2020-05-08 00:21:42 +02:00
Robert Helgesson 1afa5e257b doc: move FAQ to manual
This converts the FAQ into AsciiDoc and includes it in the HTML
manual.
2020-05-07 23:46:13 +02:00
Mario RodasandRobert Helgesson cba7b6ee6e git: add basic support for delta
PR #1198
2020-05-05 00:12:58 +02:00
ivannandRobert Helgesson 03b4f81679 qutebrowser: add some options
Specificially, this adds options

- `aliases`,
- `searchEngines`,
- `keyMappings`, and
- `keyBindings`.

PR #1212
2020-05-03 13:53:06 +02:00
Justin LovingerandRobert Helgesson 1dd226fde7 aria2: add module
PR #1202
2020-05-03 13:21:52 +02:00
Robert Helgesson ded327b9fc i3status: add news entry 2020-05-03 13:13:26 +02:00
Justin LovingerandRobert Helgesson ecc1f2310c i3status: add module
PR #1210
2020-05-03 13:12:13 +02:00
Robert Helgesson 866d7d5152 lib: add maintainers attribute set
This attribute set is for users who are Home Manager maintainers but
not Nixpkgs maintainers.
2020-05-02 16:30:55 +02:00
Robert Helgesson 91551c09d4 files: add helper function mkOutOfStoreSymlink
Using this function it is possible to make `home.file` create a
symlink to a path outside the Nix store. For example, a Home Manager
configuration containing

    home.file."foo".source = config.lib.file.mkOutOfStoreSymlink ./bar;

would upon activation create a symlink `~/foo` that points to the
absolute path of the `bar` file relative the configuration file.

PR #1211
2020-05-02 01:22:14 +02:00
Robert Helgesson 70f7c9f355 alot: apply nixfmt 2020-05-01 22:33:05 +02:00
Matthieu CoudronandRobert Helgesson 10673bff4c alot: add structured settings
- Also support tags.

- Optionally write the hooks file.

PR #812
2020-05-01 22:26:26 +02:00
Robert Helgesson 642d9ffe24 git: escape string values in configuration
This should handle the special characters that typically occur.

Fixes #1206
2020-05-01 00:50:58 +02:00
Peter RiceandRobert Helgesson 8b82f52e75 fish: source each file in plugin conf.d separately
According to https://fishshell.com/docs/current/cmds/source.html,
only one file can be sourced at a time: "If additional arguments are
specified after the file name, they will be inserted into the $argv
variable."

PR #1204
2020-04-29 21:46:10 +02:00
Johannes RosenbergerandRobert Helgesson a7cdfaa325 tmux: reorder tmux.conf content
In particular, put `extraConfig` in the end, which enables overriding
of all settings, even plugin settings.

PR #945
2020-04-27 22:04:13 +02:00
Jonathan RingerandRobert Helgesson a6037a9eb8 pulseeffects: add module
Pulseeffects is an advanced mixer for PulseAudio.

PR #1182
2020-04-26 15:50:21 +02:00
Johannes RosenbergerandRobert Helgesson 23220d43f3 tmux: use stable plugin names (name -> pname)
PR #1195
2020-04-26 15:22:23 +02:00
Wael M. NasreddineandRobert Helgesson ad8b644de1 lorri: allow customization of the lorri package
PR #1158
2020-04-24 22:25:54 +02:00
Robert Helgesson 95b95b1407 tests: improve test purity
Before the XDG variables would be set from the user's environment, if
available. This would break some tests.

With this change the tests should be fully deterministic.

Fixes #1190
2020-04-24 21:46:34 +02:00
Robert Helgesson cfaf213980 tests: bump nmt revision 2020-04-24 21:45:20 +02:00
Diego AlvarezandRobert Helgesson 5baa0c300f faq: show how to add the nixpkgs-unstable channel
Adds the necessary command to install the nixpkgs-unstable channel.

PR #1165
2020-04-23 23:59:55 +02:00
Bruno BigrasandRobert Helgesson 2d88cbe496 spotifyd: user -> username
PR #1168
2020-04-23 23:53:03 +02:00
Cole HelblingandRobert Helgesson 8369624512 systemd: don't page failed user units
Otherwise, the pager (typically `less`) pauses execution of
`home-manager switch` until the pager is dismissed, if the content is
larger than would fit on the screen.

PR #1175
2020-04-23 23:40:58 +02:00
PaulandRobert Helgesson ee1c40e5c5 keynav: use correct ExecStart command
When the change requested in

  https://github.com/rycee/home-manager/pull/1082#discussion_r392715440

was applied, the service `ExecStart` attribute was not updated to use
`pkgs.keynav`.

Fixes #1177
PR #1184
2020-04-23 22:48:01 +02:00
Owen McGrathandRobert Helgesson 2f2a4396c6 lf: add module
Adds 'programs.lf', configuration managment for lf, a terminal file
manager.

PR #1174
2020-04-23 22:41:22 +02:00
Robert Helgesson cb17f1ede2 Add preliminary release notes for 20.09 2020-04-23 00:29:12 +02:00
Robert Helgesson 42e4eef749 Update documentation for release 20.03 2020-04-23 00:29:11 +02:00
Robert Helgesson 7613fd12ec doc: document dagOf and gvariant types 2020-04-22 23:59:10 +02:00
Robert Helgesson f735fac91b doc: bump nmd revision
Also convert `release-notes.xml` to AsciiDoc.
2020-04-22 23:59:09 +02:00
Robin StummandGitHub f0710115c5 kakoune: add missing hook name
PR #1185
2020-04-22 23:18:23 +02:00
nurelinandGitHub 8c920682e6 sway: remove restart command from sway configuration (#1155)
The restart command does not exists in sway, only reload.
See https://github.com/swaywm/sway/blob/1.4/sway/sway.5.scd
2020-04-22 02:31:07 +02:00
Terje LarsenandRobert Helgesson 9905ab5087 fish: fix fish plugins complete path update
PR #1178
2020-04-22 01:02:10 +02:00
dawidsowaandRobert Helgesson b3bbc8b769 xdg-user-dirs: add user-dirs.conf
PR #1143
2020-04-22 00:52:39 +02:00
Lisa UgrayandRobert Helgesson 3a5cd90631 bat: add custom themes
Add the ability to add custom theme files to bat.

Co-Authored-By: Robert Helgesson <robert@rycee.net>
2020-04-21 18:26:13 -04:00
Bruno BigrasandGitHub 3e3de8cee2 i3/sway: fix typo in fonts option (#1152) 2020-04-21 08:18:38 +02:00
Robert Helgesson 687395ebda home-manager: remove unsupported -2 option
This option used to make the `home-manager` command use the `nix` tool
from Nix 2. Unfortunately the `nix` tool is a bit experimental and it
is best to await its stabilization before supporting it in Home
Manager.
2020-04-18 11:37:06 +02:00
Robert Helgesson e5325c2274 home-manager: fix shellcheck warning 2020-04-18 11:37:05 +02:00
Robert Helgesson 3461ceebc0 firefox: remove options removed upstream
Fixes #1166
2020-04-18 11:24:11 +02:00
Robert Helgesson 133badb297 ssh: deprecate the list form of match block
Configurations depending on specific block order should use the DAG
functions instead of lists.
2020-04-16 23:27:40 +02:00
Robin StummandRobert Helgesson 86ccd8fecb kakoune: implement whitespace highlighter config
The options under `programs.kakoune.config.showWhitespace` existed
but were not implemented.

PR #1162
2020-04-16 22:34:31 +02:00
Robert Helgesson f6afd95ef8 tmux: fix broken test case 2020-04-15 23:25:16 +02:00
Robert Helgesson 022228e0aa ssh: switch type of matchBlocks to listOrDagOf
This switches the type of `matchBlocks` from `loaOf` to `listOrDagOf`.
The former has been deprecated in Nixpkgs. The latter allows
dependencies between entries to be expressed using the DAG functions.
2020-04-13 23:24:40 +02:00
Robert Helgesson 8ad4bd6c1b types: improve dagOf and listOrDagOf
In particular, improve the behavior of these types if the element type
is a submodule.
2020-04-13 22:01:20 +02:00
Piotr BogdanandRobert Helgesson 9f223e98b7 gnome-terminal: add cursorBlinkMode option 2020-04-10 17:10:26 +02:00
Robert Helgesson 2102b4e7b3 home-environment: minor fix of DocBook code 2020-04-10 16:16:46 +02:00
Robert Helgesson ebdfa06685 tests: update nmt 2020-04-10 01:01:20 +02:00
Robert Helgesson 41094aa3c7 neovim: fix docbook syntax in option descriptions 2020-04-09 19:27:57 +02:00
Jonathan RingerandRobert Helgesson 09abc29b73 neovim: add vimdiffAlias 2020-04-09 19:20:19 +02:00
Terje LarsenandRobert Helgesson 5b7b9821e0 qutebrowser: add support for list values in settings 2020-04-09 19:13:07 +02:00
Robert Helgesson ee18288eeb codeowners: add entry for mako 2020-04-09 11:28:22 +02:00
Jonas HeinrichandRobert Helgesson f856da6690 mako: add module
PR #1113
2020-04-09 11:21:22 +02:00
Robert Helgesson 5cdbfc9064 Add code owners and pull request template 2020-04-08 19:29:57 +02:00
Robert Helgesson 068ff76a10 gitlab-ci: improve NUR update trigger
Specifically, trigger NUR updates for all release branches by default.

Also updates the GitLab CI definition to use the new `rules` attribute
rather than the deprecated `only` attribute.
2020-04-08 16:13:01 +02:00
Justin LovingerandRobert Helgesson b7737f1732 qutebrowser: add module
PR #1132
2020-04-08 14:50:59 +02:00
Tobias HappandRobert Helgesson d06bcf4c97 targets.genericLinux: add module
PR #797
2020-04-08 13:36:25 +02:00
Robert Helgesson dd538c2969 home-environment: add option sessionVariablesExtra
This is an internal option for adding additional code to
`hm-session-vars.sh`.
2020-04-08 13:23:02 +02:00
Robert Helgesson f56c4187a4 screen-locker: add option enableDetectSleep
Fixes #1125
2020-04-06 19:41:13 +02:00
Diep PhamandRobert Helgesson 1fd874b7ea go: add goPrivate option
This option configures the `GOPRIVATE` variable. See

   https://golang.org/cmd/go/#hdr-Module_configuration_for_non_public_modules

for more information.

PR #1126
2020-04-06 19:28:31 +02:00
Griffin SmithandRobert Helgesson 5ff245790d gtk: add bookmarks option
Add a new 'bookmarks' option, for managing `~/.config/gtk3/bookmarks`,
a list of URIs to display as bookmarks in the sidebar of GTK file
browsers.

PR #1129
2020-04-06 15:52:46 +02:00
Robert Helgesson 1cfc0a3203 sxhkd: add dummy package in tests 2020-04-06 12:55:58 +02:00
Robert Helgesson a128e35927 Update nixfmt and apply to a few more files 2020-04-06 12:51:11 +02:00
Matthieu Coudron dd93c300bb vim: avoid using alias of vim-sensible 2020-03-30 21:55:10 +02:00
Michael MillwoodandRobert Helgesson 14f83a46d0 kakoune: fix set option
The old `set-option global/ autoreload` code causes an error.

PR #1117
2020-03-30 21:33:24 +02:00
Timo KaufmannandRobert Helgesson 5969551a5c home-manager: add instantiate subcommand
It can be useful to simply instantiate a Home Manager configuration
without actually building it, for example for the purpose of
pre-building it with some custom command.

PR #1099
2020-03-25 21:16:43 +01:00
7fa890462d zsh: support extra settings in oh-my-zsh plugins (#1106)
Co-Authored-By: Robert Helgesson <robert@rycee.net>
2020-03-25 15:40:42 +01:00
Ruby Iris JuricandRobert Helgesson 78a0bbb38b picom: add module
Nixpkgs no longer packages compton, and instead packages picom, a
(mostly) compatible fork of compton, providing an alias from compton
to picom. Because some configuration options have been changed, and
all references to "compton" have been made deprecated and replaced
with "picom", 'services.compton' has been deprecated in favor of the
new 'services.picom'.

Resolves #878
PR #1101
2020-03-24 23:50:22 +01:00
Erik ArvstedtandRobert Helgesson e2414c4a4f systemd: improve systemd-activate.rb script
- Pass arguments verbatim to the `systemctl` subprocess, obviating the
  need for shell escaping.

- Use open3 for capturing subprocess output.

- Fix printing of commands during dry run.

- Simplify `X-RestartIfChanged` regular expression.

  1. Use \s to match whitespace, \b to match a word boundary.

  2. Rename variable to conform to Ruby's underscore naming
     conventions.

- Remove no-op set operation. Specifically, 'no_restart' and 'to_stop'
  are disjunct since

  1. After reloading the daemon with the new generation, units in
     'to_stop' (i.e. units from the old gen that are missing in the
     new gen) are not registered anymore in the systemd daemon.

  2. Hence, 'systemctl cat' returns no output for these units.

  3. Because this output is needed to detect 'no_restart' units,
     'no_restart' includes no units from 'to_stop'.

  So 'to_stop -= to_restart' is a no-op.

- Only notify about units that would otherwise be restarted. That is,
  exclude units that are started but not restarted.

- Previously, all inactive units, like short-running services, were
  handled as failed units.

  Now systemd activation doesn't fail for oneshot services like
  'setxkbmap' while 'servicesStartTimeoutMs' is set.

- Don't start unchanged oneshot services.

PR #1110
2020-03-24 00:00:44 +01:00
Robert Helgesson d11803d7b4 syncthing: install man pages to user profile 2020-03-22 21:15:25 +01:00
Robert Helgesson 19dd9866da dunst: install man pages 2020-03-22 21:15:23 +01:00
Robert Helgesson f080f29292 faq: outline how to override packages
Fixes #1107
2020-03-22 13:16:59 +01:00
Cole HelblingandRobert Helgesson 8571e568e0 sway: fix onChange when defunct sockets exist
Fixes `..../generation/activate: line 181: [: too many arguments`
when, for whatever reason, the user has multiple `sway-ipc` sockets.

PR #1086
2020-03-21 18:00:26 +01:00
Bill SunandRobert Helgesson fe145b12cd vscode: fix extension path symlink error
Fix extension path symlink error caused by [1], which removes
`/share/{wrappedPkgName}/extensions` from the extension install path.

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

PR #1100
2020-03-21 17:47:32 +01:00
Robert Helgesson 0f11a79e02 dconf: make settings have type gvariant
Closes #835, #1094, #1095
2020-03-21 01:02:41 +01:00
Robert Helgesson ac9e44a831 lib: add GVariant datatype and functions 2020-03-21 00:28:50 +01:00
DesetudeandRobert Helgesson 3673107bc4 termite: fix the key for bold foreground color
PR #1097
2020-03-17 23:47:36 +01:00
Robert Helgesson b9d4f55228 firefox: force extension file linking 2020-03-17 23:42:27 +01:00
Robert Helgesson 37694e9f51 files: add force flag
Enabling this flag for a `home.file` entry causes the target to be
unconditionally overwritten. The option is not visible in
documentation for now and shouldn't be relied on for general use.
2020-03-17 23:42:26 +01:00
William CarrollandRobert Helgesson 2cd168467e keynav: add module
PR #1082
2020-03-17 22:59:15 +01:00
Robert HelgessonandCole Helbling cc386e4b3b firefox: prepare for updated sideloading behavior
Co-Authored-By: Cole Helbling <cole.e.helbling@outlook.com>
2020-03-15 19:48:07 +01:00
Joshua FernandRobert Helgesson 2681568f2b firefox: support user content CSS
The `userContent.css` file is similar to `userChrome.css`, it's a CSS
file that you can use to change the way web sites and e-mails look.

See http://kb.mozillazine.org/index.php?title=UserContent.css

PR #1079
2020-03-15 18:26:37 +01:00
Robert Helgesson 5c1e7349bb lieer: remove package dependency in tests 2020-03-08 12:02:35 +01:00
Tad FisherandRobert Helgesson 9f46d516fa services.lieer: add module
Add 'services.lieer', which generates systemd timer and service units
to synchronize a Gmail account with lieer. Per-account configuration
lives in 'accounts.email.accounts.<name>.lieer.sync'.
2020-03-07 15:13:50 +01:00
Tad FisherandRobert Helgesson 60a939bd01 programs.lieer: add module
Add 'programs.lieer', a tool for synchronizing a Gmail account with a
local maildir and notmuch database. Per-account configuration lives in
'accounts.email.accounts.<name>.lieer'.
2020-03-07 15:13:15 +01:00
Maximilian BoschandRobert Helgesson 0056a5aea1 debug: add module
This one is fairly similar to `environment.enableDebugInfo`[1] (hence
the name). It ensures that the `debug`-output of packages defined in
`home.packages` is installed if available and ensures that
`gdb`/`elfutils` find those symbols by adding
`~/.nix-profile/lib/debug` to the `NIX_DEBUG_INFO_DIRS`[2] variable.

[1] https://github.com/NixOS/nixpkgs/blob/release-19.09/nixos/modules/config/debug-info.nix
[2] https://github.com/NixOS/nixpkgs/blob/release-19.09/pkgs/development/tools/misc/gdb/debug-info-from-env.patch

PR #1040
2020-03-07 15:03:44 +01:00
Robert Helgesson b36d3e0261 news: fix condition
The news entry for the new Fish functions functionality was
accidentally conditioned for people using zsh.
2020-03-07 14:33:13 +01:00
Erik ArvstedtandRobert Helgesson efbe1383e6 nixos integration: add option 'useGlobalPkgs'
PR #1059
2020-03-07 14:25:00 +01:00
Erik ArvstedtandRobert Helgesson c7b43786ad README: add link to main manual page
The main manual page is highly relevant and should be easily
discoverable from the README.

PR #1059
Fixes #1048
2020-03-07 13:32:36 +01:00
Cole HelblingandRobert Helgesson a11cf1decd fish: allow arguments to functions
This allows the ability to provide arguments to a function, such as
`--on-event` in order to trigger a function on the
`fish_command_not_found` event, for example.

PR #1063
2020-03-07 12:51:37 +01:00
zimbatmandRobert Helgesson 9a1feb5b10 git: fix the config output formatting
When setting values using the `git config --set` command, git formats
the file a bit differently. This changes the output so it maps to that
format.

Differences:

* each `key = value` in a section is prefixed by a tab character
* the `=` between the key and the value is surrounded by spaces

PR #1069
2020-03-07 12:02:20 +01:00
William CarrollandRobert Helgesson 71c7aaee83 fzf: support fish integration
Create the `enableFishIntegration` option to install the fzf
key-bindings for people who use fish shell.

PR #1074
2020-03-07 11:52:54 +01:00
Robert Helgesson faa2945606 tests: remove package dependencies on rofi and abook 2020-03-06 00:27:21 +01:00
Robert Helgesson 1a4c10e950 ci: run tests with --pure 2020-03-06 00:14:09 +01:00
Robert Helgesson f3fbb50b68 polybar: add test case 2020-03-04 21:26:35 +01:00
Alex RiceandRobert Helgesson a6657d6b21 sway: fix floating modifier description
PR #1054
2020-03-04 21:09:36 +01:00
MmeQuignonandRobert Helgesson 0a1ce53990 abook: add module
PR #1058
2020-03-04 19:58:05 +01:00
Robert Helgesson 2678fb3441 format: pin Nixpkgs version
This is to make sure that we get a consistent version of nixfmt.
2020-03-04 19:36:07 +01:00
Robert Helgesson 6fc6c736f9 tests: bump nmt version 2020-03-02 23:47:39 +01:00
Robert Helgesson 28401ddd91 systemd: skip services taking an instance parameter
Fixes #730
2020-03-02 20:33:20 +01:00
Robert Helgesson 7bd043e9ee xresources: give properties option more specific type
This more readily allows merging configurations.
2020-02-29 22:32:52 +01:00
Robert Helgesson acf106ced0 starship: give settings option more specific type
This more readily allows merging configurations.

Fixes #1023
2020-02-29 22:17:47 +01:00
Robert Helgesson 2f726bbd1c bash, fish, zsh: fix shellAliases example
Unfortunately the document generator is not smart enough to quote the
`..` alias in the documentation which is very misleading. By making it
a literal example the quotes stay.
2020-02-26 22:44:54 +01:00
Alex RiceandRobert Helgesson 02d6040003 sway: add module
PR #829
2020-02-26 22:37:15 +01:00
Robert Helgesson 2fcdf3df34 contributing: add section about tests 2020-02-26 22:13:48 +01:00
Robert Helgesson aedde6dcde contributing: add note about news entry for new modules 2020-02-26 21:59:36 +01:00
Martin PotierandRobert Helgesson ef148ab3cb newsboat: show queries before urls
PR #1047
2020-02-26 21:38:07 +01:00
Robert Helgesson 03b622b356 Bump copyright year 2020-02-25 19:27:54 +01:00
Chris HodappandRobert Helgesson 9ab59dd6ac home-manager: handle args with spaces to doBuildAttr
Presently, if you pass an argument with spaces in it to `doBuildAttr`,
it will be split it into multiple arguments to `nix build` or
`nix-build`. This situation arises, for example, on systems with
spaces in `XDG_DATA_HOME`.

Specifically, the `home-manager` script errors out in trying to
address the `read-news` state file. With this change, argument
separation should be preserved properly in `doBuildAttr`.

PR #1044
2020-02-24 23:51:36 +01:00
Vojtěch KáněandRobert Helgesson 9ab4e70d17 readme: add notes on release policy
PR #1046
2020-02-24 23:09:18 +01:00
Robert Helgesson 91c7059d98 udiskie: fix formatting 2020-02-24 23:07:58 +01:00
Robert Helgesson d90ae6dffa udiskie: remove obsolete -2 command line argument
Fixes #1042
2020-02-24 20:45:54 +01:00
ivannandRobert Helgesson 9ab0d2305c kitty: add module
PR #1000
2020-02-23 11:28:53 +01:00
ivannandRobert Helgesson 9bddef74df types: create fontType option type 2020-02-23 11:18:59 +01:00
Wael NasreddineandRobert Helgesson 4e50809c78 modules: remove unused checkPlatform function
PR #1041
2020-02-21 21:56:51 +01:00
Evan StollandGitHub 7f748f27bc neomutt: add reverse sort options (#1036) 2020-02-21 15:24:52 +01:00
Robert Helgesson 543118ac70 fish: apply nixfmt 2020-02-20 00:16:01 +01:00
Robert Helgesson 57bd27b3e7 Merge PR #635 2020-02-20 00:07:04 +01:00
Cole HelblingandRobert Helgesson 5ca224f75b fish: consistency is key and other style changes
I like my empty sets with spaces between them.
2020-02-20 00:03:29 +01:00
Cole HelblingandRobert Helgesson 89239d554d fish: prepend fenv functions dir
Instead of concatenating the `fish_function_path` with the fenv
functions path, just prepend it. Functionally the same, but looks
cleaner (IMO).
2020-02-20 00:03:28 +01:00
Cole HelblingandRobert Helgesson a08dabf015 fish: escape abbrs and aliases
Some of my aliases have apostrophes in them, so shell-escaping them is a
must.
2020-02-20 00:03:27 +01:00
Cole HelblingandRobert Helgesson 9a258edc10 fish: fix sourcing of .fish files
Turns out, the quotes were messing things up.
2020-02-20 00:03:26 +01:00
Ryan OrendorffandRobert Helgesson 111011b2c2 fish: add some tests
- If a function is defined, check that the function file exists and
  that the contents matches a given string.

- If no functions exists, the functions folder should not exist.

- Verify plugin functionality.
2020-02-20 00:03:26 +01:00
Ryan OrendorffandRobert Helgesson 108259925a fish: plugins separated into conf.d files
This was done to make it easier for the generated files to be understood.
2020-02-20 00:03:25 +01:00
Ryan OrendorffandRobert Helgesson 639f6fea8c fish: plugins concated to 99plugins.fish
This change allows the entire repo to be imported directly. Some plugins (such
as oh-my-fish's vi-mode) have extra files that are referenced by the plugin
itself. This means we cannot create a generic plugin file structure out of the
plugins that exist currently.
2020-02-20 00:03:24 +01:00
Ryan OrendorffandRobert Helgesson f5b24635b6 fish: whitespace and style fixes (camel case) 2020-02-20 00:03:23 +01:00
Ryan OrendorffandRobert Helgesson 0522c7c1f6 fish: plugins uses pluginModule type, add example 2020-02-20 00:03:22 +01:00
Ryan OrendorffandRobert Helgesson 2f51b9e418 fish: add pluginModule type
Similar to zsh's `pluginModule` type, but without an initialization
file.
2020-02-20 00:03:21 +01:00
Ryan OrendorffandRobert Helgesson 4f532948f7 fish: shell{Abbrs,Aliases} has more specific type
Converted attrs to attrsOf str.
2020-02-20 00:03:20 +01:00
Ryan OrendorffandRobert Helgesson 0740c257b1 fish: remove fileType function
Replaced by types that are more common. This additionally reflects in the
manpages, which should have types the reader is familiar with.
2020-02-20 00:03:19 +01:00
Ryan OrendorffandRobert Helgesson 490f5fc585 fish: remove completions
They are not currently handled in the code, hence they are removed for now.
2020-02-20 00:03:18 +01:00
Ryan OrendorffandRobert Helgesson 642bd67126 fish: add comma to program slogan
Matches what is on the fish website
2020-02-20 00:03:18 +01:00
Ryan OrendorffandRobert Helgesson 4833a8b532 fish: add section headers to generated config
The section headers help show where each section came from when looking at the
generated config. Added a note about how the config was generated in the
generated file.
2020-02-20 00:03:17 +01:00
Ryan OrendorffandRobert Helgesson d45e1c4adc fish: functions type to attrsOf lines, load by text
Functions in fish are now defined in terms of adding the appropriate
files and `files.text` sets to `xdg.configFile`.
2020-02-20 00:02:58 +01:00
Ryan OrendorffandRobert Helgesson 3de8102e7f fish: revamp descriptions to match bash style 2020-02-19 23:42:54 +01:00
Ryan OrendorffandRobert Helgesson 665766f8bb fish: add examples for shellAliases, shellAbbrs 2020-02-19 23:42:53 +01:00
Ryan OrendorffandRobert Helgesson 2eb1cb077d fish: move type declarations to top of mkOptions
A closer match to the style of the definitions in the bash program.
2020-02-19 23:42:52 +01:00
Jonas Holst DamtoftandRobert Helgesson c22f3e1d29 fish: basic completions support 2020-02-19 23:42:51 +01:00
Jonas Holst DamtoftandRobert Helgesson b18d302d44 fish: add plugin functionality 2020-02-19 23:42:51 +01:00
Robert Helgesson 5be9aa417a neomutt: fix sendMailCommand when msmtp is enabled
This resolves the error

    The option `accounts.email.accounts.xyz.neomutt.sendMailCommand`
    is defined both null and not null, in
    `…/home-manager/modules/accounts/email.nix' and
    `…/home-manager/modules/accounts/email.nix'.

that would occur previously when both neomutt and msmtp were enabled
for an account.
2020-02-16 23:08:37 +01:00
Robert Helgesson 7a3e2cc063 files: use nix-env to create profile links 2020-02-15 23:53:39 +01:00
Robert Helgesson e1153f4d2e home-manager: make sure all files are uninstalled
This forces the `home.file` option to be completely empty when
switching to the uninstall configuration. This is necessary to guard
against files are added by default in Home Manager, such as
`$XDG_CACHE_HOME/.keep`.
2020-02-15 19:26:23 +01:00
brettm12345andRobert Helgesson 7b7499dd70 starship: use promptInit for fish 2020-02-14 21:07:50 +01:00
Robert Helgesson f0fe18cd22 systemd: start timers as well
Fixes #1019
2020-02-09 22:59:36 +01:00
Jonathan RingerandRobert Helgesson f487b527ec compton: add inactiveDim option
PR #1016
2020-02-05 20:13:20 +01:00
Gregory C. OakesandRobert Helgesson 6cc4fd6ede screen-locker: made xss-lock a systemd service.
Takes advantage of the new `--session` xss-lock parameter to allow
xss-lock be made into a systemd service.

PR #1015
2020-02-02 01:33:36 +01:00
Robert Helgesson 115e76ae12 Merge PR #1006 2020-02-02 01:26:45 +01:00
Robert Helgesson a4a07ba996 readline: fix example 2020-02-02 01:20:05 +01:00
Robert Helgesson 70af3b126a ci: add format script and use in CI pipeline
The format script can be used to automatically format the Nix source
files and also verify that the files are formatted using the `-c`
command argument.

At the moment some files are exempt from the formatting to avoid
causing merge conflicts in active pull requests.

Finally, update the contribution guidelines to note that `nixfmt`
should be used.
2020-02-02 01:19:35 +01:00
Robert Helgesson 45abf3d38a Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
Michael HoangandNikita Uvarov 9799d3de2d feh: add buttons option
Use `null` to disable keybindings or button mappings.
2020-02-01 10:04:52 +01:00
Owen ShepherdandNikita Uvarov a591e8f9e4 zsh: add 'ignoreSpace' option
This option sets HIST_IGNORE_SPACE, which determines whether commands starting with a
space are put in the history or not.
2020-01-26 21:36:03 +01:00
Robert Helgesson de8033747c tests: clean up tests
- Move all module tests to their own directories.

- Avoid duplication of `// import`.
2020-01-26 21:11:23 +01:00
Matthieu CoudronandRobert Helgesson fba87f8998 neomutt: add module
PR #1002
2020-01-26 20:46:44 +01:00
dind d8d5f85ab7 termite: fix scrollbar position option description
Signed-off-by: dind <lewdavatar@gmail.com>
2020-01-26 16:31:41 +00:00
Marius BergmannandRobert Helgesson b4e8d9869f grobi: add module
This adds a service module for [grobi](https://github.com/fd0/grobi),
which can be used to automatically configure monitors/outputs for Xorg
via RANDR.
2020-01-26 13:57:49 +01:00
b270fcef2f bspwm: add module
PR #362, #981

Co-authored-by: Vincent Breitmoser <look@my.amazin.horse>
2020-01-26 13:43:13 +01:00
arcnmxandRobert Helgesson 244d795325 nixpkgs: add indirection to _module.args.pkgs
This allows pkgs to be overridden in such a way that `<nixpkgs>` is
never imported, allowing home-manager to be used in environments where
`NIX_PATH` is not set.

PR #993
2020-01-26 13:03:23 +01:00
eyeinskyandRobert Helgesson e5fb259872 readme: add more prominent link to the manual
PR #996
2020-01-26 12:04:43 +01:00
Robert Helgesson ba097beb17 tests: remove unnecessary user of import 2020-01-26 11:30:32 +01:00
Robert Helgesson 1397570eea tests: use lib.hm.types instead of explicit import 2020-01-26 11:28:34 +01:00
Robert Helgesson 57ede1369f emacs: use lib.hm.types instead of explicit import 2020-01-26 11:26:33 +01:00
Robert Helgesson 95c8007b8f xresources: improve properties option example
Fixes #1001
2020-01-21 22:27:57 +01:00
Ashish SHUKLAandRobert Helgesson 805d82e1be ssh: make certificateFile similar to identityFile
PR #998
2020-01-21 21:10:11 +01:00
Robert Helgesson 6e4b9af080 Switch to extended Nixpkg's lib
This change makes use of the `extend` function inside `lib` to inject
a new `hm` field containing the Home Manager library functions. This
simplifies use of the Home Manager library in the modules and reduces
the risk of accidental infinite recursion.

PR #994
2020-01-21 20:47:04 +01:00
0x6d6178andRobert Helgesson c8323a0bf1 xdg-user-dirs: fix typo in option name
Fixes #985
PR #987
2020-01-17 23:55:27 +01:00
Robert Helgesson 4b04050953 Merge PR #991 2020-01-16 00:29:57 +01:00
Robert Helgesson f65510b1d1 home-environment: make home.activation public
Also improve documentation and add an example.
2020-01-16 00:16:35 +01:00
Robert Helgesson 7f87329fca home-environment: use DAG type in activation option 2020-01-16 00:16:35 +01:00
Robert Helgesson 6c127efb2d lib: add type generators dagOf and listOrDagOf
Given an inner type, the former function generates a type that expect
DAG option values. The latter function is only present to temporarily
allow the `programs.ssh.matchBlocks` to keep accepting list values.
2020-01-16 00:16:09 +01:00
arcnmxandRobert Helgesson b053dc8697 modules: use pkgs.path instead of <nixpkgs>
PR #992
2020-01-15 20:58:15 +01:00
Robert Helgesson bff499113e manual: note deprecation of list values for file options
In particular, this entry notes that assigning lists to `home.file`,
`xdg.configFile`, and `xdg.dataFile` is deprecated and will be removed
in the next release.
2020-01-13 22:34:38 +01:00
Robert Helgesson ee01d24a45 notmuch: use writeShellScript 2020-01-13 21:45:20 +01:00
Robert Helgesson e9beef31eb getmail: use attribute set to define files
To avoid warning message concerning deprecation of the `loaOf` type.
2020-01-13 21:45:19 +01:00
Robert Helgesson cff9ee7cce zsh: use attribute set to define files
To avoid warning message concerning deprecation of the `loaOf` type.
2020-01-13 21:45:18 +01:00
Robert Helgesson 07dc3e5425 notmuch: use attribute set to define files
To avoid warning message concerning deprecation of the `loaOf` type.
2020-01-13 21:45:17 +01:00
Robert Helgesson e857249d86 go: use attribute set to define files
To avoid warning message concerning deprecation of the `loaOf` type.
2020-01-13 21:45:17 +01:00
Robert Helgesson 8ace1ab1b0 browserpass: use attribute set to define files
To avoid warning message concerning deprecation of the `loaOf` type.
2020-01-13 21:45:16 +01:00
Robert Helgesson 00e26ceffe chromium: use attribute set to define files
To avoid warning message concerning deprecation of the `loaOf` type.
2020-01-13 21:45:15 +01:00
Vojtěch KáněandRobert Helgesson 4ad3fe78f9 go: adds an option extraGoPaths
PR #946
2020-01-13 21:44:13 +01:00
Robert Helgesson 297ed97166 mpv: allow string values in scripts list
Fixes #976
2020-01-11 17:44:04 +01:00
Ross A. BakerandRobert Helgesson 0fce533e70 lorri: add gitMinimal to daemon path
Fixes https://github.com/target/lorri/issues/255 when the service is
installed through home-manager.

PR #975
2020-01-11 17:19:10 +01:00
Philipp MiddendorfandRobert Helgesson 3a3657b107 cbatticon: add module (#963) 2020-01-11 13:08:56 +01:00
Denys PavlovandMatthieu Coudron d677556e62 spotifyd: update flags (#979)
Following nixos/nixpkgs@54433c4
2020-01-09 15:10:16 +01:00
Wael M. Nasreddine 1b7b1bc294 neovim: un-deprecate the configure option
The `programs.neovim.configure` option is consistent with NixOS's
`wrapNeovim` and offers features not supported by the `extraConfig`
and `plugins` option pair.

Closes #971
2020-01-06 07:02:37 -08:00
Robert Helgesson ef6674d1d1 contributing.md: minor update
This elaborates the instructions for the news entry of new modules.
2020-01-06 11:31:37 +01:00
YVTandGitHub e70912df26 lsd: add shell aliases for fish 2020-01-06 15:09:51 +09:00
Robert Helgesson 0bb2d87cfd gitlab-ci: pin Nixpkgs version 2020-01-01 13:52:01 +01:00
jD91mZM2andRobert Helgesson ebf1df58da gpg-agent: fix GnuPG by adding pinentry flavor option
See https://github.com/NixOS/nixpkgs/pull/71095.

Fixes #908
2020-01-01 13:26:21 +01:00
oxalicaandRobert Helgesson 7c30831e8f home-manager: fix pass-through option passing
This resolves, e.g., the errors occurring when passing empty arguments
like `--option builders ''`.

Closes #967
2020-01-01 12:27:29 +01:00
Michael HoangandRobert Helgesson df4db50632 i3: update default i3 key bindings
Update to match the default i3 key bindings

  https://github.com/i3/i3/blob/master/etc/config

PR #957
2019-12-31 11:19:20 +01:00
Robert Helgesson 54f367b119 install: add state version to initial configuration
This sets the state version in recent installs to the latest released
version. It is beneficial for people to be aware of this option and it
is also good to help new users get a more recent setup.
2019-12-31 09:27:37 +01:00
cmacraeandRobert Helgesson f66cc1b851 firefox: add darwin support 2019-12-31 00:08:20 +01:00
jD91mZM2andRobert Helgesson a0ab0b16fe keychain: add xsession integration 2019-12-28 17:29:57 +01:00
Julien Tanguy 5992c1b469 keychain: add fish shell integration
The shell command is added in the interactiveShellInit, as it is the
equivalent of initExtra in bash or zsh.
2019-12-27 10:58:03 +01:00
Robert Helgesson 8d14ffbe88 blueman-applet: minor cleanup of enable option
In particular use proper DocBook format in description.
2019-12-25 22:00:54 +01:00
Cabia RangrisandRobert Helgesson a5d3d6f665 blueman: update advice for removing error message
The old method for hiding the error no longer works in NixOS 19.09,
and ends up breaking blueman-applet entirely. Enable the NixOS service
instead.

Pull request #950
2019-12-25 21:52:49 +01:00
Gregory OakesandRobert Helgesson a12a8f7977 random-background: add bgSupport documentation
On NixOS it is necessary to set `bgSupport = true` when creating a
Home Manager desktop manager session. Otherwise NixOS will add code
that sets the background, overriding the effort made by the
`random-background` module.

Fixes #955
Pull request #956
2019-12-25 21:44:23 +01:00
Bernardo MeurerandSilvan Mosberger 0f1c9f25cf beets: allow custom package (#952) 2019-12-18 01:25:52 +01:00
arcnmx 8abaa025ec systemd: fix degraded warning 2019-12-15 14:58:43 -08:00
Robert Helgesson 621c98f15a mbsync: skip maildir creation if no account is defined
Fixes #937
2019-12-08 21:46:30 +01:00
Robert Helgesson bcfc52cb85 tests: move git and files tests to directories 2019-12-08 21:40:22 +01:00
David WoodandRobert Helgesson 5c9ec0d8e9 starship: add package option 2019-12-08 21:24:04 +01:00
Robert Helgesson 284b8d94d4 readline: add variables option
Also add a basic test case.
2019-12-08 21:13:58 +01:00
Vojtěch KáněandRobert Helgesson bb5dea02b9 readline: add module
Add basic readline configuration (~/.inputrc) management.
2019-12-08 20:49:00 +01:00
Konrad BorowskiandRobert Helgesson 711109d468 vscode: correct VSCodium extension directory path 2019-12-07 15:04:11 +01:00
Robert Helgesson ed9a6e34ad gpg: remove dummy gnupg package from test
It caused evaluation issues related to systemd.

Fixes #934
2019-12-02 21:16:44 +01:00
Sebastian UllrichandRobert Helgesson 571989f564 xdg-mime: add module 2019-12-01 23:11:49 +01:00
Robin StummandRobert Helgesson fdd65e5fad parcellite: remove obsolete backward compatibility fixes
This also fixes that the `gtk.theme` option was not picked up due to
hardcoded XDG_DATA_DIRS.
2019-12-01 20:03:05 +01:00
Robert Helgesson 7c2532d9f9 home-manager: add --(no-)substitute options
Fixes #312
2019-12-01 10:43:39 +01:00
pacienandRobert Helgesson 94d183eaaa unison: add module 2019-11-29 23:49:00 +01:00
pacienandRobert Helgesson 9d09738e4d password-store: add modules 2019-11-29 23:03:15 +01:00
worldofpeace ef11164c0c vscode: don't create an empty settings.json
If I enable this module without using the userSettings option it will
create an empty settings.json. We use mkIf to prevent this on the default
value.
2019-11-28 16:01:58 -05:00
leotakuandRobert Helgesson 34dc4a5e03 mpdris2: improve service description
In particular, make sure the systemd service actually starts.
2019-11-27 22:46:02 +01:00
Philip StearsandRobert Helgesson 0e9b7aab3c files: additional support for symlinked /nix
In the case where `/nix` is a link, for example, on macOS Catalina,
`builtins.storeDir` returns `/nix`, not the canonical location.

This causes tests on existing files to result in Home Manager thinking
those files are outside of the store.

This change uses `readlink` on the store path so that the tests work
as intended.
2019-11-26 22:22:19 +01:00
Robert Helgesson 9781f3766d systemd: perform reload even in degraded state
This fixes #355, fixes #798, and fixes #909.
2019-11-24 18:55:01 +01:00
Robert Helgesson 9e716025b6 lorri: restrict news entry to Linux 2019-11-24 18:53:44 +01:00
KloenkandRobert Helgesson eee6ae33e8 spotifyd: add module 2019-11-24 18:52:52 +01:00
Anton PlotnikovandRobert Helgesson b1dd373f5a files: update script to support linked Nix store 2019-11-22 20:16:42 +01:00
Tobias HappandRobert Helgesson 286dd9b308 lorri: add service 2019-11-17 20:36:27 +01:00
PasqualeandRobert Helgesson 595150be86 vscode: correct base path from which to pull extensions 2019-11-15 23:18:12 +01:00
HerrMAzikandRobert Helgesson 08094f3cc2 vscode: fix configDir for VSCodium 2019-11-15 23:15:00 +01:00
pacienandRobert Helgesson 24dbac8da7 Revert "astroid: require notmuch synchronize flags"
The Astroid program can work without this option,
which should be disabled when synchronising emails with muchsync for example.

This reverts commit fa3d1f98e0.
2019-11-15 23:11:27 +01:00
pacien 18dc4153c7 astroid: fix maildir folder paths
Using the absolute path of maildir folders is required for Astroid to save
messages in those.
2019-11-15 18:14:58 +01:00
Nikita UvarovandRobert Helgesson 4505710565 zsh: fix history.path issues
- Default value is set to static '$HOME/.zsh_history' -- dotDir is not
prepended anymore
- $HOME is not prepended to the option value
- Ensure history path directory exists

Fixes #886, replaces #427.
2019-11-05 23:04:06 +01:00
Mario RodasandRobert Helgesson 05dabb7239 pazi: add module 2019-11-04 21:57:15 +01:00
adisbladis 49852220f9 emacs: Don't use emacsPackagesNg
It's deprecated and since Nixos 19.09 it's an alias to `emacsPackages`.
2019-11-04 11:16:06 +00:00
Robert Helgesson 6b6f759e7a doc: update version number in some places 2019-10-29 23:08:46 +01:00
Nikita UvarovandRobert Helgesson 149c0593ab version: add 20.03 2019-10-28 22:08:51 +01:00
Nikita UvarovandRobert Helgesson 26defdf205 tests: fix i3-keybindings test 2019-10-28 22:05:09 +01:00
wedensandNikita Uvarov 5161dd3b2e i3: add workspaceAutoBackAndForth option 2019-10-28 11:31:51 +01:00
Robert Helgesson a93d01fb4d faq: describe how to install Nixpkgs unstable packages 2019-10-26 16:43:14 +02:00
Robert Helgesson 797c77a00a tests: reduce number of downloads
This replaces some derivation outputs by simple strings rather than
full Nix store paths. This removes the need to download the whole
derivation when all we need is a static string.
2019-10-26 13:07:04 +02:00
dnsdhrjandRobert Helgesson a177d0282f getmail: fix port option type mismatch
Fixed type mismatch in commit 410f573226.
Added test case to ensure it works well.
2019-10-26 10:58:31 +02:00
Robert HelgessonandMatthieu Coudron 1b987952b5 kakoune: prepend extra configuration with newline (#870)
Fixes #869
2019-10-23 20:39:52 +09:00
SoonHo SeoandMatthieu Coudron 410f573226 getmail: add port option (#882)
Fixed bug where "accounts.email.accounts.<name>.imap.port" option was being ignored in getmail.
2019-10-23 20:17:04 +09:00
PasqualeandRobert Helgesson 024d1aa227 vscode: add package option and link extensions 2019-10-20 21:49:17 +02:00
Wael NasreddineandGitHub b1d8c0f9c3 termite: use vte-ng at pkgs.termite.vte-ng (#865) 2019-10-12 11:39:33 -07:00
Robert Helgesson 90bf989002 newsboat: support feed titles
Fixes #861
2019-10-11 21:41:05 +02:00
Robert Helgesson 79c16b9a90 doc: fix section ID for 20.03 release notes 2019-10-09 22:41:56 +02:00
Robert Helgesson 83018ac54a doc: add preliminary release notes for 20.03 2019-10-09 21:07:43 +02:00
Robert Helgesson ad52dbe044 doc: finalize the 19.09 release notes 2019-10-09 21:03:04 +02:00
Robert Helgesson 8bddc1adab redshift: add assertion on latitude and longitude
These two options must be set if the provider is set to "manual".

Closes #841
2019-10-02 23:17:57 +02:00
David WoodandRobert Helgesson e8dbc35613 ssh: sockets forwards; remote and dynamic forwards
This commit adds support for forwarding paths rather than just
addresses/ports. It also adds options for specifying remote and
dynamic forwards.
2019-10-02 20:42:29 +02:00
Robert Helgesson 3d546e0d01 starship: use [[ in bash init 2019-10-01 21:56:56 +02:00
Robert Helgesson a5999a62cd starship: fix fish syntax
Fixes #858
2019-10-01 21:21:36 +02:00
Robert Helgesson 761b3d0c12 rtorrent: add news entry 2019-09-26 23:47:41 +02:00
Mario RodasandRobert Helgesson bdb4cf6c59 rtorrent: add module 2019-09-26 23:42:52 +02:00
Mario RodasandRobert Helgesson 7205d3b2d2 starship: add module 2019-09-26 23:19:39 +02:00
Mario RodasandMatthieu Coudron bb5c29107e git: add attributes support 2019-09-26 22:11:01 +09:00
Tobias HappandRobert Helgesson 3f45630180 xdg-mime-apps: add legacy mimeapps.list path
Although `.local/share/applications/mimeapps.list` is deprecated, this
file is still being read by some applications. To ensure compatibility
duplicate the file as recommended in
https://wiki.archlinux.org/index.php/XDG_MIME_Applications#mimeapps.list
2019-09-20 20:15:47 +02:00
Nazarii BardiukandRobert Helgesson 51581b7e43 sxhkd: add service 2019-09-17 21:42:05 +02:00
Robert Helgesson b0544c8cde mpd: allow path literal values in options
This allows specifying, for example, the music directory using path
literals without causing the directory to be copied to the Nix store.

Suggested-by: Silvan Mosberger <infinisil@icloud.com>
2019-09-16 21:43:53 +02:00
pacienandRobert Helgesson e347e932af xdg-mime-apps: add module 2019-09-15 17:21:42 +02:00
Robert Helgesson 0dfa1eef25 xsession: remove bashisms in start scripts
Fixes #836
2019-09-12 21:28:36 +02:00
pacienandRobert Helgesson aa5ba177cc xdg-user-dirs: add module 2019-09-11 20:03:32 +02:00
Bjarki Ágúst GuðmundssonandRobert Helgesson 41f918499b gpg: sane default for throw-keyids option
The [throw-keyids](https://www.gnupg.org/gph/en/manual/r2110.html)
option "hides the receiver of the encrypted data as a countermeasure
against traffic analysis." However, it also slows down decryption, and
even breaks some applications; see e.g.
https://github.com/open-keychain/open-keychain/issues/626

I think the sane default would be to leave it off, just as it is off
by default in gpg. The typical user will probably not need this level
of security, and will probably prefer a better user experience (faster
decryption and compatibility with a wider range of applications).

Closes #838
2019-09-11 19:30:26 +02:00
Bruno BigrasandRobert Helgesson d3e316eec5 imapnotify: pkgs.mbsync -> pkgs.isync 2019-09-11 19:27:04 +02:00
Robert Helgesson 45ec65e1cc doc: convert some DocBook files to AsciiDoc 2019-09-07 09:29:24 +02:00
Hugo GeoffroyandRobert Helgesson 05d91c5f50 mpd: use systemd journal instead of syslog
MPD is using syslog for its logging output, while it could directly
log to systemd's journal, as this daemon is primarily used as a
systemd user service. This change makes MPD log to standard output,
which is captured by systemd.

See https://github.com/NixOS/nixpkgs/pull/57608, which does the same
thing to NixOS's MPD service.
2019-09-05 22:38:35 +02:00
Robert Helgesson d6b36f12ff keyboard: make the model option optional
Also, actually use it in the call to setxkbmap.
2019-09-05 01:56:14 +02:00
Robert Helgesson 824d31a21c keyboard: make layout and variant optional
Also default these options to `null` for state version ≥ 19.09.

Fixes #811

Suggested-by: Sean Marshallsay <srm.1708@gmail.com>
2019-09-05 01:56:06 +02:00
Robert Helgesson 0083087e01 xsession: verify setxkbmap service in test 2019-09-05 01:32:53 +02:00
Robert Helgesson 1923ac3358 rofi: add test to verify assertion 2019-09-04 12:52:14 +02:00
Robert Helgesson 698d0f0a44 polybar: restart service on failure 2019-09-03 23:51:23 +02:00
Alex Rice ec0459e139 rofi: string -> str 2019-09-03 01:25:24 +01:00
dawidsowaandRobert Helgesson d5e73c39fc mpv: add scripts option 2019-09-02 18:23:17 +02:00
Robert Helgesson a144c723a1 doc: surround name? with fancier characters 2019-09-01 21:28:40 +02:00
Robert Helgesson a28614e65d git: deprecate extraConfig as string 2019-08-30 14:50:10 +02:00
Robert Helgesson 8ab1d22a82 home-manager: support --option argument
Fixes #784
2019-08-30 00:52:09 +02:00
Tobias Happ b6289f7022 vim: always add sensible plugin 2019-08-29 23:18:11 +02:00
Robert Helgesson 875eea1330 systemd: fix unit examples
Closes #823
2019-08-29 19:12:39 +02:00
Robert Helgesson 7c76ae1814 manual: add nmd as a generation dependency
This is to allow network-less rebuilding of a generation after a
garbage collection.

Fixes #819
2019-08-28 20:36:11 +02:00
Tobias HappandRobert Helgesson c142e5264d neovim: add extraConfig and plugins options 2019-08-28 12:35:48 +02:00
Tobias HappandRobert Helgesson 5d7eabb93f neovim: add finalPackage option as readOnly 2019-08-28 12:25:06 +02:00
Tobias HappandRobert Helgesson f1146a1fef vim: allow packages to be passed as plugins
This change allows to pass custom packages into the `vim.plugins`
option.

Additionally this adds a deprecation warning and an error message if a
vim plugin is not present. This is an improvement because the user
gets instant feedback, when a plugin is not found.
2019-08-28 12:18:24 +02:00
Robert Helgesson 55b71223d4 Fix option defaultText when referencing packages
By using `literalExample` the documentation will show the option
default without surrounding quotes.
2019-08-28 00:14:22 +02:00
Robert Helgesson db86bd6c01 doc: update nmd
Also perform scrubbing of `pkgs` since nmd no longer does this
automatically.
2019-08-27 23:40:52 +02:00
Robert Helgesson 13fa61744c doc: minor grammar fix 2019-08-26 23:14:51 +02:00
Robert Helgesson 8fe4e0879c home-manager: support a few extra pass-through options
These options will be passed through to the `nix-build` tool.
2019-08-26 23:06:36 +02:00
Robert Helgesson 6bec9547c6 home-manager: exit directly after printing help 2019-08-26 23:06:36 +02:00
Robert Helgesson bfc28cacbe random-background: disable creation of ~/.fehbg file 2019-08-26 20:07:07 +02:00
Michael FellingerandRobert Helgesson b2a787ca69 random-background: add option enableXinerama 2019-08-26 16:42:00 +02:00
Robert Helgesson eb1b86a5ec Replace use of stdenv.shell by runtimeShell 2019-08-22 08:35:06 +02:00
Robert Helgesson 7159c293af gitlab-ci: fix deployment of manual 2019-08-21 23:00:04 +02:00
Robert Helgesson eb0ccf7286 docs: use nmd for generating documentation
The nmd library is an external library for generating Nix-centric
documentation.
2019-08-21 20:35:59 +02:00
Robert Helgesson 35752e07fa kakoune: add missing period at end of description 2019-08-21 20:34:43 +02:00
Robert Helgesson 57925c50bf nixpkgs: improve description formatting slightly 2019-08-21 20:20:08 +02:00
Tobias HappandRobert Helgesson 0e871b490e ssh: add localForwards option for matchBlocks 2019-08-20 12:11:00 +02:00
Robert Helgesson ed4f66185f Use types.port where applicable
This changes the type of all options that specify ports to
`types.port`. This type restricts values to between 0 and 65535.
2019-08-19 20:37:48 +02:00
leotakuandRobert Helgesson 3d645c0ce1 kdeconnect: fix incorrect path to kdeconnectd 2019-08-18 23:35:53 +02:00
Robert Helgesson 8830b8d082 gitlab-ci: only run a single test
Unfortunately the full test suite seems to run out of memory on the
GitLab CI runner.
2019-08-18 21:33:56 +02:00
Robert Helgesson 73641e492c firefox: use wrapped package
This makes the

    programs.firefox.package

option take a pre-wrapped Firefox package as value if state version is
set to "19.09" or later. This should make the Firefox module work with
a wider range of Firefox packages.
2019-08-18 18:04:04 +02:00
Robert Helgesson c2429ca0cf nix-darwin: pass on warnings to the system configuration 2019-08-18 17:37:26 +02:00
Robert Helgesson 7834ffbbf1 nixos: pass on warnings to the system configuration
Fixes #804
2019-08-18 17:35:42 +02:00
Robert Helgesson fa82ced414 nixos: use non-deprecated fontconfig option 2019-08-18 17:35:41 +02:00
Tobias HappandRobert Helgesson 9cc30b18f7 nixos: add backup file extension and verbosity options 2019-08-18 17:19:39 +02:00
Tobias HappandRobert Helgesson db0dfb4b08 dwm-status: add module 2019-08-18 16:23:31 +02:00
Robert Helgesson 5eed33ef08 emacs: document how to list available extra packages 2019-08-18 13:34:26 +02:00
pacienandRobert Helgesson 31ae1bc2ff alot: fix account extraConfig section 2019-08-18 12:00:38 +02:00
Robert Helgesson 6932e6330e muchsync: add news entry 2019-08-17 14:25:15 +02:00
pacienandMatthieu Coudron a124dae35a muchsync: add module 2019-08-17 20:08:11 +09:00
Tobias HappandMatthieu Coudron 5203340b64 zsh: add envExtra option 2019-08-16 17:00:08 +09:00
Tobias HappandMatthieu Coudron ed0e40dee8 zsh: add initExtraBeforeCompInit config option
The new initExtraBeforeCompInit option enables the user to inject
commands in zshrc before compinit is executed.
2019-08-16 16:57:52 +09:00
Tobias HappandMatthieu Coudron 8b759c24e6 bash: add logoutExtra option 2019-08-16 16:46:38 +09:00
paumrandMatthieu Coudron 1499b85ac6 alot: added send/draf_box to configuration file 2019-08-16 16:27:28 +09:00
Robert Helgesson fcdab6a62d install: restrict to nix-shell
This commit adds a "build" command to the install derivation that
tells the user that `nix-shell` should be used.

A derivation attribute `shellHookOnly = true` is also added with the
intent to indicate that the shell hook is the entire point of the
derivation.
2019-08-15 23:23:43 +02:00
Tobias HappandRobert Helgesson 5c94538c7d numlock: set RemainAfterExit for numlockx.service 2019-08-15 11:53:34 +02:00
Tobias HappandRobert Helgesson 2eae9daae7 xsession: set RemainAfterExit for setxkbmap.service 2019-08-15 11:53:34 +02:00
Robert Helgesson 55c962fda2 gitlab-ci: trigger NUR update
This will trigger a CI job at

    https://gitlab.com/rycee/nur-expressions

that will update Home Manager in NUR.
2019-08-14 21:57:22 +02:00
Robert Helgesson eb7f39f0aa gitlab-ci: add test stage 2019-08-14 17:38:47 +02:00
Nikita Uvarov 7310cfc557 zsh: fix completion when oh-my-zsh is enabled
enableCompletion option not only calls compinit but also adds
nix-zsh-completions package to home.packages which should still happen
even if oh-my-zsh is enabled.

The double compinit call will still be eliminated by moving guarding condition
down to the compinit call itself.

Fixes #771.
2019-08-09 15:02:31 +02:00
Nikita Uvarov 42ad0effdd zsh: create oh-my-zsh cache directory
Fixes #761.
2019-08-09 14:53:03 +02:00
paumrandRobert Helgesson bce63e4dff msmtp: add account option tls.fingerprint 2019-08-08 14:12:34 +02:00
Robert Helgesson 9302523d34 modules: fix module order 2019-08-08 13:53:22 +02:00
adisbladisandRobert Helgesson a9ecef1fa9 hound: add module 2019-08-08 13:52:27 +02:00
Evan StollandRobert Helgesson e59b8b0c37 numlock: add module
This adds an option `xsession.numlock` that enable the Num Lock key
when starting a graphical session.

Fixes #651
2019-08-08 13:25:01 +02:00
paumrandRobert Helgesson 3743e8995a mbsync: fix use of certificatesFile
The `tls.certificatesFile` option may be set to a path but the
`CertificateFile` attribute should be a string.
2019-08-08 00:50:52 +02:00
Tobias Happ 4c9b40ca0e systemd-activate.rb: add start/stop/restart sockets 2019-08-07 23:12:30 +02:00
Robert Helgesson d625186ce5 Remove use of network-online.target
This target is only available at the system level and has no effect on
user services.
2019-07-28 14:17:28 +02:00
Olli Helenius caf3349f01 dconf: assume empty list value is a list of strings
Fixes #769.
2019-07-28 13:01:29 +03:00
Brian HicksandRobert Helgesson 6239ce20af nix-darwin: add docs 2019-07-26 23:45:05 +02:00
Robert Helgesson 54de0e1d79 xdg: create cache directory using keep file
We can avoid the activation block by instead creating a hidden file in
the directory.
2019-07-26 23:23:51 +02:00
Robert Helgesson 056443ccbd vscode: fix configuration path for Darwin
Fixes #737
2019-07-22 12:44:52 +02:00
Sebastian ZivotaandRobert Helgesson 7d68c46feb kakoune: add module 2019-07-17 22:40:26 +02:00
Shanon McQuayandRobert Helgesson 734128930f skim: correctly name default options
skim uses SKIM_DEFAULT_OPTIONS rather than SKIM_DEFAULT_OPTS.
2019-07-17 21:53:30 +02:00
pacienandRobert Helgesson cc0cd538e6 taskwarrior-sync: add service module 2019-07-17 21:34:53 +02:00
Robert Helgesson ca4f22be85 mbsync: use full path to mu in example 2019-07-17 10:02:35 +02:00
Robert Helgesson c3520bfa52 mbsync: put extra config at the beginning
If it is at the end it will just end up applying to the last defined
section.

Fixes #748
2019-07-05 22:16:15 +02:00
Andreas FehnandRobert Helgesson 2029e104d4 xsuspender: write all options to config 2019-07-05 18:44:28 +02:00
Andreas FehnandRobert Helgesson 7c76f4a71f xsuspender: correctly name default section 2019-07-05 18:44:28 +02:00
arcnmxandRobert Helgesson 95382060eb git: support nested section options
Closes #614
2019-07-04 16:51:28 +02:00
arcnmxandRobert Helgesson 472d7731d6 git: support multiple values
Closes #614
2019-07-04 16:51:24 +02:00
Alexandre HéauméandRobert Helgesson 28f2dd612e broot: add module 2019-07-02 11:28:31 +02:00
Robert Helgesson 8467e7e10a getmail: restrict tests to Linux 2019-06-28 05:56:42 +02:00
Robert Helgesson 8f7cd53204 getmail: restrict platform to Linux
Need to limit this module to Linux since it uses systemd.
2019-06-27 20:04:18 +02:00
Róman JoostandMatthieu Coudron 68fe8623ad Address code review comments for getmail service
This patch started by addresssing the code review comments to close
https://github.com/rycee/home-manager/pull/290. However initiating a new
pull request it became clear, that home-manager changed significantly
since then.

This changes the initial pull request to be consistent with the email
account management in home-manager now. It also adds a simple test and support
for multiple accounts.
2019-06-27 07:48:09 +02:00
Mats RauhalaandMatthieu Coudron 8243cc0a5d getmail: add module 2019-06-27 07:48:09 +02:00
Robert Helgesson 95d55b8da1 xsession: add option importedVariables
This option lists the environment variables to be imported into the
systemd user session.

Also add a basic test of the xsession module.
2019-06-23 14:06:29 +02:00
Kai Wohlfahrt f83c49baa3 gpg-agent: add sshcontrol configuration
This lets gpg-agent serve specific keys with authentication capability
as SSH keys
2019-06-18 13:37:19 +01:00
Jonas Holst DamtoftandRobert Helgesson cf0aad391c emacs: fix merging of extraPackages and overrides
Because `extraPackages` and `overrides` expect functions as values it
has not been possible to perform merges. This adds suitable types for
these options that allow reasonable merging.
2019-06-10 22:56:47 +02:00
Robert Helgesson 42732990cd home-manager: rewrite argument parsing
This rewrite allows "long options" but unfortunately does not allow
merged options such as `-vn`.

Also improve the home-manager manual page, with this it should include
all sub-commands and arguments.

Finally, include the home-manager manual page in the generated HTML
documentation.
2019-06-09 22:19:03 +02:00
JudsonandRobert Helgesson f82246171b files: backup file collisions
When a configuration file would be written to an existing file, rather
than failing switch (and having the user have to move or delete those
files), move the files automatically to a new path.

Closes #585
2019-06-09 14:26:12 +02:00
Robert Helgesson 5b50eb18fc network-manager-applet: fix indentation 2019-06-09 12:13:11 +02:00
Sebastián EstrellaandMatthieu Coudron 29824a8cf6 tmux: Disable confirmation prompt 2019-06-05 13:05:10 +09:00
Jaka HudoklinandRobert Helgesson 0db26fc3ab gpg: add module 2019-06-03 23:50:50 +02:00
Florian KlinkandRobert Helgesson 8991fe2e90 screen-locker: fix systemd unit
In particular, don't add trailing backslashes introduced by
`xautolockExtraOptions`. Systemd's unit file parser seems to have
gotten a bit stricter and with systemd 242, the trailing backslash
caused the next non-empty line to be ignored.

In that case, this was `[Section]`, so all subsequent settings were
mistakenly added to `[Service]`, causing them to be ignored entirely.

Simplify and fix this by using `concatStringsSep` to build a single
`ExecStart` line.
2019-06-02 23:29:37 +02:00
Sam BoosalisandRobert Helgesson 2211770d8b home-manager: add Bash completion 2019-06-01 14:00:38 +02:00
Tad FisherandRobert Helgesson e25113bcf0 browserpass: fix host/policy link sources 2019-06-01 12:24:30 +02:00
Robert Helgesson e1535d2bd8 vscode: add example for extensions option 2019-05-31 21:37:28 +02:00
Robert Helgesson d5bf68d77d xsuspender: limit module to Linux 2019-05-30 23:25:30 +02:00
Jaka HudoklinandRobert Helgesson 5b95fd0521 firefox: add profile options 2019-05-30 22:58:36 +02:00
Jaka HudoklinandRobert Helgesson fcacba268d xsuspender: add module 2019-05-30 19:53:10 +02:00
Richard MarkoandRobert Helgesson d7eaeaf636 random-background: add option display
This option parameterizes the `--bg-*` argument for feh.
2019-05-30 13:40:15 +02:00
Jaka HudoklinandRobert Helgesson 2e13c3cdfd nixos: use usercfg.home.username for username
Use `usercfg.home.username` for username instead of attribute name,
as this way we can change username regardless of the name of the attribute.
2019-05-25 14:26:49 +02:00
Robert Helgesson d726afd9e4 imapnotify: specify notmuch configuration path 2019-05-19 01:08:06 +02:00
Roman VolosatovsandRobert Helgesson 1480a6ca14 nix-darwin: actually install packages
Also apply assertions when using the nix-darwin module.

Closes #702
2019-05-19 00:36:35 +02:00
kaliumandNikita Uvarov 02a07f19a1 zsh: add autocd option 2019-05-17 09:39:26 +02:00
Tadeo KondrakandRobert Helgesson d2ed39f103 alacritty: don't create file if settings is empty
Also add a few test cases for the alacritty module.
2019-05-14 23:53:10 +02:00
Tadeo KondrakandRobert Helgesson 8b15f18993 mpv: add module 2019-05-08 00:42:18 +02:00
Robert Helgesson b256e3a44f fontconfig: fix build error
This fixes a build error occurring when building a configuration
having fontconfig enabled and `home.packages` only containing one
package installing things to `/lib`.

Also adds a number of test cases to verify the fontconfig cache
generation functionality.

Fixes #703
2019-05-06 00:44:23 +02:00
Robert Helgesson 939274281a tests: bump nmt version 2019-05-06 00:17:30 +02:00
Jos van BakelandRobert Helgesson be4b100ae5 rsibreak: add module 2019-05-05 01:56:53 +02:00
Robert Helgesson f99d4ba7c4 flameshot: fix service description 2019-05-01 13:13:38 +02:00
Robert Helgesson 1f4e9681f7 fontconfig: fix error on missing cachedir file
Fixes #699
2019-04-30 18:43:58 +02:00
Will DietzandRobert Helgesson f56256f488 files: fix find invocation broken in c94eaa0e
Add parens to expression so the `-exec` includes files matching both.

Otherwise (before this change) the `-exec` is only invoked for
links (`-type l`):

    file or (link -> doexec)
      =>
    (file or link) -> doexec
2019-04-30 15:07:47 +02:00
Robert Helgesson f18e2933d4 fontconfig: generate font cache files
Also deprecates the `fonts.fontconfig.enableProfileFonts` option. The
configuration is now always generated if `fonts.fontconfig.enable` is
set.

Fixes #520
2019-04-30 00:28:07 +02:00
Nick HuandRobert Helgesson 2f819d1647 imapnotify: add service 2019-04-29 00:05:02 +02:00
Mario RodasandRobert Helgesson 821df406c9 z-lua: add module 2019-04-28 23:57:31 +02:00
Robert Helgesson 3bb7c75db3 home-manager: add uninstall command 2019-04-28 18:40:41 +02:00
Robert Helgesson c94eaa0e6c files: replace unnecessary use of xargs 2019-04-27 13:48:57 +02:00
Robert Helgesson a16439e38e firefox: deprecate Google Talk and IcedTea options 2019-04-27 10:01:30 +02:00
Robert Helgesson b6e613c771 Fix type of various sessionVariables options
Unfortunately, using `attrsOf` is not possible since it results in too
eager evaluation. In particular, the

    home.sessionVariables = {
      FOO = "Hello";
      BAR = "${config.home.sessionVariables.FOO} World!";
    };

example will cause an infinite recursion.

This commit restores the option type of

- `home.sessionVariables`,
- `pam.sessionVariables`,
- `programs.bash.sessionVariables`, and
- `programs.zsh.sessionVariables`

to `attrs`. It also adds test cases for the above options to avoid
regressions.

Fixes #659
2019-04-27 01:07:09 +02:00
Robert HensingandRobert Helgesson c5f230e682 vscode.haskell: add module
- Haskell IDE Engine integration
- Syntax highlighting
2019-04-27 01:00:57 +02:00
Robert Helgesson ba0375bf06 docs: add systemd type change to 19.03 release notes 2019-04-23 22:02:29 +02:00
Robert Helgesson 13ad532412 xscreensaver: add option settings 2019-04-22 23:44:46 +02:00
Robert Helgesson 8ecc311bcc Update stable version to 19.03
Also prepares for 19.09.
2019-04-22 20:04:31 +02:00
hyperfektandRobert Helgesson e3831d8ecc alacritty: add module 2019-04-22 14:43:43 +02:00
Robert Helgesson 9c0536deda emacs: prevent service restart on change
Fixes #668
2019-04-18 01:38:25 +02:00
Robert Helgesson 6b42bd7abf systemd: support X-RestartIfChanged = false
Having this in the unit file will prevent the file from being
restarted if a change is detected. This is useful if data loss may
occur if the unit is suddenly restarted. For example, restarting the
Emacs service may result in the loss of unsaved open buffers.
2019-04-18 01:38:20 +02:00
Robert Helgesson 0d246aa435 systemd: escape unit names in systemctl commands 2019-04-18 01:37:59 +02:00
Benjamin StaffinandRobert Helgesson c5f35b7ff9 dconf: allow values to be floats
Technically dconf calls these "double" but nix floats ought to work.
2019-04-17 23:04:48 +02:00
Alex AmeenandRobert Helgesson ff602cb906 manual: add option manual.json.enable
Make it possible to install a JSON file containing the available Home
Manager options.
2019-04-15 22:43:46 +02:00
Olli HeleniusandRobert Helgesson 1806e5511e skim: add module 2019-04-14 17:36:27 +02:00
ash leaandRobert Helgesson cb93316fed browserpass: update app id 2019-04-14 11:40:37 +02:00
Nick HuandRobert Helgesson a6f0fa90f7 email: add facility for email aliases
Also update the notmuch and alot modules to include support for email
aliases.
2019-04-12 21:26:46 +02:00
Robert Helgesson 30a16e3a87 polybar: change restart trigger to contain a string
The systemd unit type is a bit more strict now and needs an explicit
string in this position.
2019-04-12 17:56:14 +02:00
Robert Helgesson 3db46fa9bf news: limit mpdris2 and xcape news to Linux
These modules are limited to Linux since they define systemd services.
2019-04-12 01:02:12 +02:00
Robert Helgesson 12cb82af91 systemd: make the unit option type more robust
This should allow more sensible merging behavior. In particular, with
this change it is possible to use, for example, `mkForce` for greater
control of merging.

Fixes #543
2019-04-12 01:02:12 +02:00
Nick HuandMatthieu Coudron d49b514aa6 make notmuch search.exclude_tags configurable 2019-04-11 23:28:36 +09:00
Robert Helgesson b6e1d82685 home-environment: make home.keyboard optional
When set to `null` then the `xsession` module will not attempt to
manage the keyboard settings.
2019-04-11 01:09:27 +02:00
Nick HuandRobert Helgesson 6cd5c8fca5 alot: fix address book completion regex 2019-04-10 23:55:07 +02:00
Robert Helgesson 67aee78fdf home-manager: remove unnecessary error message
An error message about the erroneous option is already printed by
`getopts` so there is no need to print it again.
2019-04-10 01:31:22 +02:00
Nick HuandRobert Helgesson c48db4fbba xcape: add service 2019-04-09 22:15:48 +02:00
Robert Helgesson f8b03f5750 modules: register the base modules path
This is needed, for example, to support relative paths when disabling
modules.
2019-04-07 13:26:38 +02:00
arcnmxandRobert Helgesson 2c07829be2 home-manager: use callPackage where appropriate 2019-04-06 18:48:29 +02:00
Wael M. Nasreddine 652c694244 programs.tmux: implement secureSocket 2019-04-04 17:14:29 -07:00
Olli HeleniusandRobert Helgesson 995fa3af36 qt: add option platformTheme
This deprecates `useGtkTheme=true` with the intention of replacing it
with the `platformTheme` selection.
2019-04-03 23:55:36 +02:00
Robert Helgesson 4323b35198 pam: use attrsOf instead of attrs 2019-04-03 00:09:56 +02:00
Robert Helgesson fd50f5465f zsh: use attrsOf instead of attrs 2019-04-03 00:09:55 +02:00
Robert Helgesson 13d2c470be home-environment: use attrsOf instead of attrs 2019-04-03 00:09:55 +02:00
Robert Helgesson b690a8be2f bash: use attrsOf instead of attrs 2019-04-03 00:09:55 +02:00
Robert Helgesson e85804efa2 feh: use attrsOf instead of attrs 2019-04-03 00:09:55 +02:00
Robert Helgesson e26ad2026c gtk: use attrsOf instead of attrs 2019-04-03 00:09:46 +02:00
Olli HeleniusandRobert Helgesson 03162970cd gnome-terminal: add cursor and highlight color settings 2019-03-31 14:24:31 +02:00
Tadeo KondrakandRobert Helgesson bc2b7d4f09 qt: use xdg.configHome instead of hard-coding 2019-03-27 22:40:12 +01:00
Robert Helgesson f77d6b7a2d taffybar: restart the service on failure 2019-03-26 18:05:44 +01:00
Olli HeleniusandRobert Helgesson 1fdb16866b systemd: add support for session variables
Via environment.d(5).
2019-03-24 17:23:50 +01:00
Robert Helgesson 6ebf14143a systemd: add some basic tests 2019-03-24 15:52:30 +01:00
Robert Helgesson cf5dac9563 random-background: minor documentation improvements 2019-03-24 15:29:08 +01:00
Robert Helgesson 2e1c825b90 readme: expand contact section slightly
In particular, mention that the channel is hosted by freenode and the
channel logs are hosted by samueldr.
2019-03-23 23:20:22 +01:00
Robert Helgesson a974ce6257 readme: add contact section with the IRC channel 2019-03-22 19:10:43 +01:00
Robert Helgesson 5d81cb6ac7 manual: use writeShellScriptBin 2019-03-21 00:39:54 +01:00
Robert Helgesson 41356ac267 polybar: use writeShellScriptBin 2019-03-21 00:39:36 +01:00
Robert Helgesson 86af599a18 firefox: make the extensions option visible
Also change the example to use the firefox-addons available on NUR.
2019-03-20 23:41:02 +01:00
Mario RodasandRobert Helgesson 95e36dfe74 lsd: add module 2019-03-20 00:07:49 +01:00
Mario RodasandRobert Helgesson 24b5f62090 bat: add module 2019-03-19 23:58:12 +01:00
Robert Helgesson 989e636d98 ssh: add some basic tests 2019-03-19 23:00:17 +01:00
Robert Helgesson eec78fbd1e ssh: support multiple identity files in a match block
Fixes #625
2019-03-19 22:35:13 +01:00
Robert Helgesson 70d4cf2cd9 Remove some use of mkDerivation
Instead use `runCommand`, which by default uses `stdenvNoCC` resulting
in a reduced dependency footprint.

Fixes #612
2019-03-18 23:09:54 +01:00
arcnmxandRobert Helgesson 52692e299d git: make userName and userEmail options optional 2019-03-17 20:46:00 +01:00
Robert Helgesson fd2bc150d8 faq: add entry about missing ca.desrt.dconf 2019-03-17 15:30:59 +01:00
Robert Helgesson 267afa5a3b firefox: add support for add-on packages
Since no official source of packages exist the option is hidden for
now. For adventurous people there is an overlay of a few selected
add-ons available at

    https://rycee.gitlab.io/nixpkgs-firefox-addons/overlay.tar.gz

This overlay is automatically built daily using the REST API available
on https://addons.mozilla.org/.
2019-03-11 00:55:32 +01:00
Wael M. NasreddineandRobert Helgesson 7ec153889c nix-darwin: login as the user when activating 2019-03-10 02:10:15 +01:00
Wael M. NasreddineandRobert Helgesson efc795920b nix-darwin: support package install through user packages 2019-03-10 02:09:00 +01:00
Wael M. NasreddineandRobert Helgesson d3fd287efb nix-darwin: activate home-manager through postActivation 2019-03-10 02:03:26 +01:00
Robert PrijeandRobert Helgesson 0fa19ed555 gnome-terminal: add support for light/dark theme variants 2019-03-10 01:59:00 +01:00
Robert Helgesson 52fdf5b7ec docs: add NixOS module installation instructions 2019-03-06 19:20:42 +01:00
Robert Helgesson a09196c4ae docs: add language attribute to program listings 2019-03-06 18:52:54 +01:00
Robert Helgesson 1d8997633c docs: use <screen> for terminal interaction 2019-03-06 18:52:54 +01:00
Maximilian BoschandRobert Helgesson 0898b6b482 nixos module: evaluate assertions from Home Manager modules 2019-03-06 18:37:37 +01:00
Olli HeleniusandRobert Helgesson 848b8b983e pam: enclose session variable values in quotes 2019-03-06 18:00:51 +01:00
Maximilian BoschandNikita Uvarov 465d08d99f programs/zsh: properly escape shell aliases
Otherwise all aliases break that use single quotes inside.

Already fixed in the nixpkgs module in 1e211a70cbdaf230a18ea4cb67a959039d5c2ddb.
2019-02-28 14:10:14 +01:00
Peter JonesandRobert Helgesson f07510e2b6 mpdris2: add module 2019-02-24 01:32:34 +01:00
Robert Helgesson b8b391ad18 tests: remove tests attribute from root default.nix
Having it there prevented, e.g., `nix-env -qaP` from working in some
cases.

Fixes #509
2019-02-23 22:32:44 +01:00
Matthieu CoudronandRobert Helgesson 81dae2f88e alot: support contact completion
Make choice of contact completion easier.
2019-02-20 00:55:39 +01:00
Douglas WilsonandRobert Helgesson 74811679b7 systemd: sanitize unit derivation names
To allow a few special characters such as "@".

This is taken from

    https://github.com/NixOS/nixpkgs/blob/c414e5bd080836376d3a0305535644423dc2cbbb/nixos/modules/system/boot/systemd-lib.nix#L14
2019-02-19 23:43:47 +01:00
Robert Helgesson 93f5fcae1e msmtp: use <parameter> for CLI options in description 2019-02-17 23:25:42 +01:00
Robert Helgesson 92d4e3e75a autorandr: remove unnecessary method attribute
I mistakenly added this before noticing that it was already defaulted
to "factory". Sorry!
2019-02-17 23:06:39 +01:00
Terje LarsenandRobert Helgesson 03f1aea069 autorandr: add support for xrandr scale and dpi 2019-02-17 22:56:01 +01:00
Mario RodasandRobert Helgesson 6da88339f5 git: allow contents in git.includes 2019-02-17 22:28:15 +01:00
Robert Helgesson e0e8d5061d keychain: add news entry 2019-02-17 22:12:25 +01:00
Mario RodasandRobert Helgesson 62e73b17d2 keychain: add module 2019-02-17 22:07:24 +01:00
Robert Helgesson 799a90ecfa fontconfig: make fonts accessible when in NixOS module 2019-02-16 21:42:47 +01:00
Robert Helgesson ef168979bf nixos module: support NixOS user packages install
When using the NixOS module we cannot guarantee that the Nix store
will be writable during startup. Installing the user packages through
`nix-env -i` will fail in these cases.

This commit adds a NixOS option `home-manager.useUserPackages` that,
when enabled, installs user packages through the NixOS

    users.users.<name?>.packages

option.

Note, when submodule support and external package install is enabled
then the installed packages are not available in `~/.nix-profile`. We
therefore set `home.profileDirectory` directly to the HM profile
packages.
2019-02-16 21:42:47 +01:00
Wael M. NasreddineandRobert Helgesson 2093cf425f tmux: general improvements and added options
See #575 for discussion.
2019-02-13 22:14:30 +01:00
Olli HeleniusandRobert Helgesson a3462daeb1 msmtp: use XDG config directory 2019-02-11 01:06:28 +01:00
Robert Helgesson a334a941c4 tests: bump to latest nmt version 2019-02-10 12:09:47 +01:00
Robert Helgesson 1cdb8abf30 git: add basic support for LFS
Fixes #542
2019-02-10 00:51:16 +01:00
Ingolf WangerandRobert Helgesson fbdb5beb59 nixos: use correct username for systemd service 2019-02-10 00:46:44 +01:00
Robert Helgesson 2f372ab4d6 Clean up support code for Home Manager as a submodule
This removes the `nixosSubmodule` option in favor of a new option
`submoduleSupport.enable`. This name better indicates that the
submodule mode applies to both NixOS and nix-darwin.
2019-02-10 00:44:55 +01:00
Lorenzo ManacordaandRobert Helgesson 524ce43e23 doc: add "See also" section to manpages
Pointing to each other.
2019-02-10 00:38:35 +01:00
Lorenzo ManacordaandRobert Helgesson 7f8e139413 doc: remove extraneous contrib element
`contrib` is "A summary of the contributions made to a document by a
credited source", which we don't need in this case.
2019-02-10 00:38:35 +01:00
Robert Helgesson 99d79d0a80 doc: move home-manager man page to section 1
This is not really a system administration tool so 8 is unsuitable.
2019-02-10 00:38:28 +01:00
Jonas Holst DamtoftandRobert Helgesson 0ca1bf3cfd emacs: add service module 2019-02-09 15:28:11 +01:00
Matthieu CoudronandRobert Helgesson c18984c452 neovim: allow to override package
If you want to run a development version for instance, it is easier to
set neovim.package rather than work around the wrapping mechanism etc.
2019-02-04 21:52:01 +01:00
Robert Helgesson 445c0b1482 git: use attrsOf instead of attrs
This makes sure that values added to

    programs.git.aliases

or

    programs.git.extraConfig

are merged as expected.

Also add a few option examples.
2019-02-01 01:12:58 +01:00
Robert Helgesson 0590c2a4f6 mbsync: add basic test of result configuration 2019-01-31 02:08:40 +01:00
NadrierilandRobert Helgesson 81ec856a0f mbsync: add some required assertions 2019-01-31 01:41:12 +01:00
Yurii RashkovskiiandRobert Helgesson 2410bc603b nixpkgs: fix installation on non-x86
On non-x86 architectures (for example, aarch64) the installation of
home-manager fails indicating that it is attempting to select i686
packages for Linux and those aren't available.

Solution: make the condition for choosing these packages stricter
2019-01-29 20:15:18 +01:00
Robert Helgesson 45cadbd4f3 git: quote sendemail section header
This will allow, e.g., the character `@` in the email identity.

Also adds a test case.

Fixes #557
2019-01-29 18:28:55 +01:00
AmarandusandRobert Helgesson 02a5a678f6 irssi: add module
irssi is a cli IRC client.
2019-01-29 00:53:39 +01:00
Robert Helgesson 98f534e172 flameshot: add bars to systemd After
Fixes #544
2019-01-29 00:20:16 +01:00
Matthieu CoudronandRobert Helgesson a68c8cf5f1 git: generate identities from mail accounts 2019-01-29 00:13:21 +01:00
wedensandRobert Helgesson 604fc92943 polybar: add /run/wrappers/bin to PATH
Without this the network module in polybar is unable to check
connection as it invokes 'ping' command directly.
2019-01-26 14:44:57 +01:00
Robert Helgesson 008d93928f xembed-sni-proxy: add module 2019-01-26 14:20:46 +01:00
Jonas Holst Damtoft 601619660d fish: use global for abbr
Makes fish use global scope for abbreviations.
This makes it so that they don't stick across config changes.
Before, an abbreviation would still exist even if removed from the config.
2019-01-23 21:19:23 +01:00
Robert Helgesson 4aa07c3547 doc: bump copyright year to 2019 in man pages 2019-01-20 18:03:04 +01:00
Robert Helgesson f3f7c5cc57 doc: reformat XML files 2019-01-20 18:01:22 +01:00
Robert Helgesson c035046999 doc: add basic release notes 2019-01-20 17:56:44 +01:00
Robert Helgesson e15cd64ac9 Update LICENSE file for 2019 2019-01-19 22:12:55 +01:00
Robert Helgesson 59a4ac71f9 i3: replace use of types.string by types.str 2019-01-19 19:02:59 +01:00
Robert Helgesson 7c04351a57 files: allow a wider range of source file names
In particular support source files whose name start with `.` or
contain characters not allowed in the nix store, such as spaces.

Also add some test cases for `home.file`.
2019-01-19 12:44:58 +01:00
Robert Helgesson 46f787950a tests: bump nmt version 2019-01-19 12:41:45 +01:00
Adam WashingtonandRobert Helgesson 6a244b3a8d matplotlib: add module 2019-01-18 01:23:36 +01:00
John WiegleyandRobert Helgesson 3cf8b9ea86 ssh: add proxyJump option 2019-01-15 22:31:08 +01:00
NadrierilandMatthieu Coudron df8a14e12a i3: add bar.extraConfig option 2019-01-15 12:31:10 +09:00
Robert Helgesson f6ec26075d tests: simplify test names 2019-01-14 23:02:33 +01:00
Robert Helgesson c42206db02 i3: add test of keybinding merge logic 2019-01-14 22:50:11 +01:00
Robert Helgesson bb64012914 tests: bump nmt to latest 2019-01-14 22:48:59 +01:00
NadrierilandRobert Helgesson d5cc53a4e1 i3: reallow using null to disable a keybinding 2019-01-14 22:21:42 +01:00
Robert Helgesson 55100918cc dunst: avoid error on missing dunst process 2019-01-14 00:04:50 +01:00
Robert Helgesson faee571850 dunst: kill daemon on configuration change
Since Dunst is DBus activated it is OK to simply kill it since DBus
will restart it when necessary.
2019-01-13 23:48:20 +01:00
hyperfektandRobert Helgesson 6f422785c3 fish: autogenerate completions from man pages 2019-01-13 01:06:46 +01:00
David GuibertandRobert Helgesson a7affc93ba msmtp: add extraConfig account option
This patch allow to define custom msmtp options per email account. For
example: to change the "auth" method from "on" to "login", add
`msmtp.extraConfig.auth="login"`.
2019-01-13 00:25:05 +01:00
Marcial GaißertandNikita Uvarov 9052131aef programs.zsh: option localVariables
Add option "extraLocalVars" for additional local variable definitions
in .zshrc, at the top of the file.

Some zsh plugins/themes expect configuration in local variables before they
are loaded (example: https://github.com/bhilburn/powerlevel9k). Exporting
those clutters the environment and is unnecessary.
2019-01-11 10:26:13 +01:00
Marcial GaißertandNikita Uvarov 6b5e0efd1e programs.zsh: generate export statements in zsh syntax
Use the new module lib.zsh to generate export statements in zsh syntax, using
zsh arrays for lists.

Being a zsh script, this seems more intuitive for .zshrc
2019-01-11 10:26:12 +01:00
Marcial GaißertandNikita Uvarov 62eb7ebeba lib.zsh: add module
Added utilities to generate export statements and definitions for zsh scripts.

Currently, there is only lib.shell which generates export statements in bash
syntax. However, this does not allow to generate export statements for zsh
arrays (syntax: NAME=(elem1 elem2 ...) ), which would be the natural
representation of lists in the nix language.
2019-01-11 10:26:12 +01:00
Wael M. NasreddineandRobert Helgesson c48fd9d842 autorandr: add support for xrandr transformation 2019-01-10 01:39:01 +01:00
Robert Helgesson e150dd4a66 texlive: always require at least one extra package
Fixes #526
2019-01-09 02:09:23 +01:00
Olli HeleniusandRobert Helgesson b3d73e0aff gnome-terminal: enable VTE OSC7 support for bash and zsh 2019-01-08 23:14:55 +01:00
Olli HeleniusandNikita Uvarov 16946a6f00 Address review comments 2019-01-03 10:51:37 +01:00
Olli HeleniusandNikita Uvarov a4383075af zsh: add default keymap configuration 2019-01-03 10:51:37 +01:00
Robert Helgesson 20a60be550 emacs: make finalPackage option more accessible
Instead of "internal" mark it as "invisible".
2019-01-03 02:15:17 +01:00
Mario RodasandRobert Helgesson 7afefcf75d opam: add module 2018-12-28 13:33:13 +01:00
Robert Helgesson 40b3443c8f dconf: add some information of use under NixOS 2018-12-24 18:36:55 +01:00
Robert Helgesson e3167068d9 Merge PR #436 2018-12-24 17:35:48 +01:00
Robert Helgesson cc964b4609 gtk: remove option gtk.gtk3.waylandSupport 2018-12-24 17:26:34 +01:00
Robert Helgesson 370a84192e gtk: make gtk.gtk2 and gtk.gtk3 not submodules 2018-12-24 17:26:34 +01:00
Robert Helgesson 4104ff2b6a gtk: use dconf module for settings 2018-12-24 17:26:34 +01:00
Robert Helgesson a0162dacf6 gnome-terminal: use dconf module for settings 2018-12-24 17:26:34 +01:00
Robert Helgesson b2cc186d22 dconf: add module
This module allows unified configuration of dconf settings.
2018-12-24 17:26:34 +01:00
Robert Helgesson 235a6617c4 readme: add notice that relog may be needed
Also add instructions for non-NixOS users to add the user channel
directory to `NIX_PATH`.
2018-12-23 10:55:30 +01:00
Robert Helgesson 218a8c4d90 modules: support conditional module inclusion
Also make use of this functionality for the `programs.chromium`
module.

See #501
2018-12-22 23:57:00 +01:00
Robert Helgesson e68d6e7924 emacs: add overrides option
This option enables overriding packages within the generated Emacs
package set.

Fixes #486
2018-12-17 23:01:43 +01:00
Olli HeleniusandRobert Helgesson dc72aa2305 jq: add module 2018-12-12 22:02:51 +01:00
LorenzoandRobert Helgesson 93b10bcf3c readme: fix .gitconfig example
The example was referencing `~/.gitconfig`, which isn't being checked
anymore since 356c0bf751.
2018-12-12 00:17:09 +01:00
Lorenzo ManacordaandRobert Helgesson 4971e3735e readme: clarify bash/zsh compatibility
Makes it clearer that the compatibility mentioned only relates to the
manual loading approach.
2018-12-12 00:15:54 +01:00
Robert Helgesson 6d56abcec1 tests: add initial test framework 2018-12-11 00:57:58 +01:00
Nikita UvarovandRobert Helgesson 5d63abb473 i3: fix default keybindings override
All default keybindings should have a default priority attached to them.
This will allow users to redefine some of the default keybindings
without using mkForce. Fixes #485.
2018-12-08 15:32:30 +01:00
Robert Helgesson 6e67bb7ae6 doc: add installation instructions to manual
Also minor cleanups in README.
2018-12-06 00:57:49 +01:00
Nikita Uvarov d67835260d polybar: switch from attrs to attrsOf 2018-12-05 12:14:43 +01:00
Nikita Uvarov b085344b91 dunst: switch from attrs to attrsOf 2018-12-05 12:14:40 +01:00
Nikita Uvarov c108eaba42 i3: switch from attrs to attrsOf 2018-12-05 12:00:20 +01:00
dsxandRobert Helgesson 6ce3ce69b9 ssh: add addressFamily option 2018-12-05 00:24:34 +01:00
Robert Helgesson 6826521ec5 ssh: add certificateFile option 2018-12-05 00:19:40 +01:00
Robert Helgesson 5fe62660aa ssh: realign options 2018-12-05 00:14:15 +01:00
dsxandRobert Helgesson 7a28f68ad0 dunst: use 'icon_path' instead of 'icon_folders'
The 'icon_folders' option is deprecated.
2018-12-05 00:05:06 +01:00
Robert Helgesson ea9d44bede rofi: switch from types.string to types.str 2018-12-04 23:43:12 +01:00
Robert Helgesson fd3692b36f newsboat: switch from types.string to types.str 2018-12-04 23:42:30 +01:00
Robert Helgesson cd7b6fdbc1 autorandr: switch from types.string to types.str 2018-12-04 23:41:42 +01:00
zimbatmandRobert Helgesson 571e17410a home-manager: add edit command
With this change, running

    home-manager edit

opens `$HOME_MANAGER_CONFIG` in `$EDITOR`.

This is mainly for convenience. Users should not have to remember the
exact location of the Home Manager configuration.
2018-12-04 23:17:19 +01:00
Robert Helgesson 797fbbf826 beets: add enable option 2018-12-04 23:03:23 +01:00
Robert Helgesson a37b5c9c61 Change installation instructions to use nix-channel
This avoids the uncontrollable nature of fetching the tarball as part
of the evaluation. Instead the user can decide when to update and also
perform rollbacks, if necessary.
2018-12-04 00:59:52 +01:00
Wael M. NasreddineandRobert Helgesson 30f3baabaf home-manager: import modules using relative path 2018-12-04 00:39:34 +01:00
Robert Helgesson ef29f321e0 readme: switch stable channel to 18.09 2018-12-03 01:06:12 +01:00
dsxandRobert Helgesson 15bca92b2c i3: support for workspace_layout option 2018-12-01 01:01:35 +01:00
dsxandRobert Helgesson 71f6bc41eb i3: support for bar tray_output option 2018-12-01 00:53:16 +01:00
Robert Helgesson 6d2f16a7ae pasystray: add paprefs and pavucontrol
This enables the "volume control" and "control local sound server"
menu options.

Fixes #461
2018-11-30 23:43:26 +01:00
zimbatmandRobert Helgesson 40b279e3a3 ssh: tweak default controlPath
Instead of using the hostname `%h`, which can be changed by the
~/.ssh/config file, use the commandline-given hostname `%n`.

This allows to alias a host with different hostnames, which then point
to different configurations. A common use-case for this is if you have
multiple accounts on github with each access to different private repos:

    Host github.com
      IdentitiesOnly yes
      User git
      IdentityFile ~/.ssh/id_rsa

    Host customer.github.com
      IdentitiesOnly yes
      User git
      IdentityFile ~/.ssh/customer
      HostName github.com

Without this change, if a connection was established with the first
github.com alias, then the user would try to pull a repo from the second
account, ssh would re-use the SSH connection which doesn't have access
to that repository.
2018-11-30 00:13:50 +01:00
Lee HensonandRobert Helgesson 5d8b089188 neovim: support withNodeJs option 2018-11-29 00:54:27 +01:00
Wael M. NasreddineandRobert Helgesson 9686d93ff6 keybase: install the keybase package 2018-11-29 00:51:58 +01:00
zimbatmandRobert Helgesson 67ebe16b40 termite: setup the shell hook
This fixes Ctrl+Shift+T not working.
2018-11-26 21:28:06 +01:00
hyperfektandRobert Helgesson 6ab6488e5a vscode: add module 2018-11-26 00:01:01 +01:00
Manuel BärenzandRobert Helgesson ffdbefe22c nextcloud-client: add module
Adds the nextcloud-client as a service, simply copying the syntax from owncloud.client.
2018-11-25 23:13:13 +01:00
zimbatmandRobert Helgesson 456e2d7ed5 ssh: add more options 2018-11-25 22:46:06 +01:00
Robert Helgesson fa3d1f98e0 astroid: require notmuch synchronize flags 2018-11-25 13:53:45 +01:00
Robert Helgesson c21b69e73e notmuch: add maildir.synchronizeFlags option 2018-11-25 13:33:30 +01:00
Robert Helgesson 9318bd3b0d notmuch: replace incorrect use of toJSON 2018-11-25 13:33:30 +01:00
Robert Helgesson 59448d635c version: add module 2018-11-24 17:27:59 +01:00
Will FancherandRobert Helgesson a9a4fb641f nix-darwin: add system module for nix-darwin 2018-11-20 00:22:53 +01:00
Wael M. NasreddineandRobert Helgesson f247b3b99b offlineimap: add an extraConfig for the account section 2018-11-19 23:57:58 +01:00
Robert Helgesson fa62c5afb6 modules: fix list sort order 2018-11-19 00:07:29 +01:00
Ben SimaandRobert Helgesson 061c7b633f afew: add module 2018-11-18 23:47:45 +01:00
Matthieu CoudronandRobert Helgesson dacc07136c astroid: add module
Astroid is a notmuch/gtk based MUA: https://github.com/astroidmail/astroid
2018-11-18 19:55:28 +01:00
Robert Helgesson abfc37076a compton: minor reformatting 2018-11-15 00:28:52 +01:00
Robert Helgesson 9a0f388f66 compton: fix corrupt colors under Mesa 18
Fixes #441
2018-11-15 00:28:50 +01:00
Ben SimaandRobert Helgesson b08e6221e0 faq: add instructions on targeting multiple logins
Content adapted from

    https://github.com/rycee/home-manager/issues/394#issuecomment-422958338
2018-11-14 23:25:17 +01:00
Robert Helgesson 0efda9cd6b Use preferLocalBuild with runCommand 2018-11-14 20:59:45 +01:00
Sam StitesandRobert Helgesson f4ebbcbf70 tmux: add module
This commit adds the tmux program to Home Manager.

In addition to configuring tmux, a user may specify tmux plugins from
Nixpkgs. These can be included in the list of `plugins` and can either
be a package (all tmux plugins live under `nixpkgs.tmuxPlugins.*`), or
an object which includes the plugin and an `extraConfig`, which will
be run immediately after sourcing the tmux plugin.

Finally, this commit introduces two nested programs which may be
enabled which depend on tmux: tmuxp and tmuxinator. These do not have
the ability to be configured, although this may be a future
contribution.
2018-11-14 00:08:39 +01:00
Robert Helgesson 36ecad6cbe Add basic gitignore file 2018-11-14 00:08:39 +01:00
Robert Helgesson 22568a3d26 Revert PR #408
This reverts the commits

- "alot: change msmtp default command"
  8e798e4c28

- "astroid: init"
  736e340bde

because they include changes that break some configurations and some
options that are misplaced.
2018-11-12 21:59:11 +01:00
Matthieu CoudronandMatthieu Coudron 8e798e4c28 alot: change msmtp default command 2018-11-12 23:16:03 +09:00
Matthieu CoudronandMatthieu Coudron 736e340bde astroid: init
Astroid is a notmuch/gtk based MUA: https://github.com/astroidmail/astroid
2018-11-12 23:16:03 +09:00
Robert Helgesson 05c93ff3ae home-manager: remove uninstall activation phase
The manual install has been long deprecated so it should be safe to no
longer attempt to do an uninstall on each activation.
2018-11-04 09:58:00 +01:00
Robert Helgesson 8d4c65f259 fzf: only enable when line editing is available
Fixes #401

Suggested-by: Alex Vorobiev
Suggested-by: Mario Rodas
2018-10-30 00:17:09 +01:00
Robert Helgesson 0435d9c338 news: remove news item about removed vim options 2018-10-29 19:42:09 +01:00
Jonas CarpayandNikita Uvarov 15a5f3278a Remove tabSize and lineNumbers check from news item 2018-10-20 16:57:27 +02:00
Nikita UvarovandRobert Helgesson 34bbd0ded1 vim: remove deprecated options 2018-10-20 13:13:19 +02:00
Nikita UvarovandRobert Helgesson c17f37857c urxvt: add module 2018-10-20 11:35:39 +02:00
Nikita Uvarov a2e09b4c9d vim: add options 2018-10-20 11:00:13 +02:00
Robert Helgesson 5013155e58 readme: documentation is now hosted on GitLab 2018-10-18 23:42:15 +02:00
Alex BrandtandRobert Helgesson 7575e119d6 systemd: add more detail to user unit documentation
The current documentation does not provide guidance to users on how
systemd units are defined in Home Manager. A user may expect the
configuration to be similar to NixOS, when it actually differs.

Fixes #418
2018-10-18 23:39:28 +02:00
Alex BrandtandRobert Helgesson 3b9b897af3 home-manager: add generation expiration command
This adds a new command to the home-manager shell script that allows
generations to be removed that are older than an given absolute or
relative date.

This allows users to manage the expiration of their home-manager
generations separately from their system or user profiles via
nix-collect-garbage. It is most important if the user desires to have
a convenient way to have different expiration times for Home Manager
generations than other system or user profiles.
2018-10-18 23:12:29 +02:00
Will DietzandNikita Uvarov 0cfd21cc15 compton: drop no-dock-blur option, add dock and dnd shadow
no-dock-blur doesn't exist in compton and was added by mistake.
2018-10-14 12:13:57 +02:00
Daniël de Kok 05a98b6be0 mbsync: change service unit type to 'oneshot'
The ExecStartPost command is currently started when the mbsync is
invoked succesfully. However, we typically want to run something like
'mu index' or 'notmuch new' after mbsync completes.  This changes the
unit type to oneshot, so that the ExecStartPost command is run after
mbsync finishes succesfully.
2018-10-13 19:28:40 +02:00
Nikita Uvarov 52b9363745 rofi: set configPath defaultText to avoid rebuilds 2018-10-12 10:52:41 +02:00
Mario RodasandRobert Helgesson f947fafec9 direnv: add config option 2018-10-10 23:05:30 +02:00
Mario RodasandRobert Helgesson 68d3cdd722 direnv: add stdlib option 2018-10-10 23:02:31 +02:00
Will Dietz 5770dc58b9 mbsync: add option to add extra account configuration 2018-10-03 13:35:04 -05:00
Edward BettsandRobert Helgesson 36da7a918f Correct spelling mistakes 2018-10-02 22:41:08 +02:00
Matthieu CoudronandNikita Uvarov 782d2fab83 rofi: fix default path 2018-10-01 09:27:33 +02:00
Matthieu CoudronandRobert Helgesson d9c5d3c868 alot: add module
Alot is a python mail user agent (MUA) built around the Notmuch mail
system.
2018-09-28 23:43:40 +02:00
Robert Helgesson 9b3122e92c lib: copy module from NixOS
Importing the module directly from NixOS causes the documentation to
break, in particular the "Declared by" section.

Fixes #405
2018-09-27 21:01:13 +02:00
adisbladisandRobert Helgesson f44d4a1d86 obs-studio: add module 2018-09-27 19:58:31 +02:00
gnidorahandRobert Helgesson 33a2943e8c gtk: add support for wayland 2018-09-26 21:32:43 +02:00
Mario RodasandRobert Helgesson a1a7e7cd24 bash: fix bashrcExtra interactive shell test
To determine if bash is running interactively test whether "$-"
contains "i".

See: https://www.gnu.org/software/bash/manual/html_node/Is-this-Shell-Interactive_003f.html
2018-09-26 18:18:57 +02:00
Robert Helgesson 6957911657 xresources: remove unnecessary parentheses 2018-09-24 23:24:04 +02:00
Robert Helgesson 7cc36b7703 xresources: run xrdb -merge on change
Fixes #400
2018-09-24 23:19:54 +02:00
Matthieu CoudronandRobert Helgesson 9407b42f97 accounts.emails: adding gpg/signature modules 2018-09-23 23:22:39 +02:00
Matthieu CoudronandRobert Helgesson 151f29a17a mbsync: add options extraConfig.{channel|local|remote}
To allow supporting more advanced configurations. The local refers to
the "maildir store" configuration, remote to the "IMAP store", and
"channel" to the channel.
2018-09-23 23:22:39 +02:00
Roman Volosatovs f7dc354f42 go: Fix package example 2018-09-21 09:46:11 +02:00
Robert Helgesson 4d870f665b taffybar: fix indentation 2018-09-21 00:51:23 +02:00
Roman VolosatovsandRobert Helgesson 0635423e73 go: add module 2018-09-21 00:11:25 +02:00
Mario RodasandRobert Helgesson 3f34bf4465 noti: add module 2018-09-20 21:26:55 +02:00
Robert Helgesson 9f0fdc68a9 xsession: add option xsession.scriptPath
This option allows overriding the default script path `~/.xsession`.
On NixOS, this is needed to allow multiple possible graphical login
sessions.

Fixes #391.
2018-09-19 23:33:13 +02:00
Robert Helgesson 701b4130bd Remove unnecessary dag variables
Also remove a few trailing whitespaces.
2018-09-19 00:13:31 +02:00
Adam WashingtonandRobert Helgesson d27bccdff1 zathura: add module
Add the zathura document viewer as a program option with support for
managing the zathurarc configuration file.
2018-09-18 23:57:36 +02:00
MinijacksonandRobert Helgesson 5ff03ce5ac taskwarrior: add module 2018-09-18 23:31:37 +02:00
Nikita UvarovandRobert Helgesson 6eea2a409e vim: improve instructions for listing available plugins 2018-09-15 12:01:36 +02:00
Robert Helgesson ea74820176 home-environment: add option home.extraProfileCommands
This _internal_ option indicates extra commands that should be run in
the `postBuild` step of the profile environment build.

Fixes #386
2018-09-14 21:08:51 +02:00
Robert Helgesson 50de1a6885 emacs: add internal finalPackage option 2018-09-11 21:23:11 +02:00
gnidorahandMatthieu Coudron 055d100548 i3 module: add missing pieces to default config 2018-09-10 11:33:51 +09:00
Roman VolosatovsandRobert Helgesson 63efd26767 neovim: support new extraPython*Packages options
Also fix `configure` argument.
2018-09-09 22:09:00 +02:00
Robert Helgesson 8d2cb0ef9b fish: minor formatting fixes 2018-09-09 21:18:39 +02:00
gnidorahandRobert Helgesson 2bff6e5188 fish module: envoke hm-session-vars.sh 2018-09-09 21:17:13 +02:00
Matthieu CoudronandRobert Helgesson 453d0494fb notmuch: synchronize_flag should be "true"
...and not "True"

According to doc https://notmuchmail.org/manpages/notmuch-config-1/

It also causes a crash in astroid :
https://github.com/astroidmail/astroid/issues/546
2018-09-07 19:38:39 +02:00
gnidorahandNikita Uvarov 97c6073d39 i3 module: fonts option for bar section 2018-09-06 17:09:47 +02:00
Roman VolosatovsandNikita Uvarov 9fe6fa7f44 neovim: add vi{,m}Alias options 2018-09-04 07:32:01 +02:00
Mario RodasandRobert Helgesson 7699ed3fc8 email: fix port setting for flavor gmail.com
See https://support.google.com/mail/answer/7126229.
2018-09-02 12:07:30 +02:00
Matthieu CoudronandRobert Helgesson 5eca556fe7 offlineimap: add module
OfflineIMAP is a Mail Retrieval Agent (MRA) like mbsync but written in
Python.
2018-08-30 18:57:35 +02:00
Robert Helgesson 4602c00dcf polybar: minor reformatting 2018-08-29 21:46:11 +02:00
Jonathan ReeveandRobert Helgesson 629d66e0b9 polybar: only quote strings if needed
Polybar expects quoted values only when whitespace is important to the
value.

Fixes #356
2018-08-29 21:42:42 +02:00
Robert Helgesson 859c132ee2 home-manager: enable build output during switch
Fixes #352
2018-08-28 00:17:57 +02:00
adisbladisandRobert Helgesson 99a0e2469b direnv: add fish support 2018-08-27 22:52:53 +02:00
MogriaandRobert Helgesson 2548c43175 fzf: add options for setting commands for all keys
This allows you to specify your own custom commands
to be run when calling fzf. You might use tools like
fd to search faster and take `.gitignore` files into
consideration.
2018-08-23 23:22:53 +02:00
Anton PlotnikovandRobert Helgesson 90bcaaf582 pasystray: add module 2018-08-22 23:17:47 +02:00
Tad FisherandRobert Helgesson da8307cd26 chromium: parseDrvName quick fix 2018-08-22 23:13:54 +02:00
Matthieu CoudronandRobert Helgesson cfa06c3f38 msmtp: add module
msmtp is a simple mail transfer agent (MTA).
2018-08-21 00:22:51 +02:00
Robert Helgesson 906965b48b Revert "email: note that passwordCommand should output '\n'"
This reverts commit d5bbbbd41d.

This was premature, the example will not emit a terminal newline and
it is not clear whether it is a good idea to force this limitation.
2018-08-21 00:19:33 +02:00
Robert Helgesson d5bbbbd41d email: note that passwordCommand should output '\n'
This is because some programs, for example msmtp, expect the output to
end with a newline character.
2018-08-20 22:47:49 +02:00
Robert Helgesson 8e05229e62 Add initial GitLab CI configuration
This will automatically build and publish the Home Manager manual on
GitLab Pages.
2018-08-20 22:03:26 +02:00
Matthieu CoudronandRobert Helgesson 7a8d50a803 xdg: create $XDG_CACHE_HOME
Some programs fail silently (bash with HISTFILE for instance) when the
folder doesn't exist.
2018-08-20 20:37:26 +02:00
Robert Helgesson 6630cfbe16 chromium: only enable for the linux platform 2018-08-20 07:11:00 +02:00
Tad FisherandRobert Helgesson dd25fbcb4b chromium: add module 2018-08-19 22:46:30 +02:00
LightDiscordandRobert Helgesson f9ac73732b awesome: fix missing concatenation 2018-08-19 22:42:14 +02:00
Tad FisherandRobert Helgesson 26342588ab gpg-agent: add extraConfig option 2018-08-19 21:46:25 +02:00
Vincent DemeesterandRobert Helgesson 29191eb2c7 fish: add module
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2018-08-17 22:32:08 +02:00
Matthieu CoudronandRobert Helgesson 168d546304 accounts.mail: add "gmail.com" as a flavor
To help with some autoconfiguration.
2018-08-16 23:46:27 +02:00
Robert Helgesson 34133ca7f3 accounts.email: add global certificatesFile option
This defaults to `/etc/ssl/certs/ca-certificates.crt` and will be
picked up as default by the account specific option.
2018-08-16 23:29:10 +02:00
Robert Helgesson 4b32f16747 Use submodules for program email accounts
This reworks the way program specific email account options are
specified. In particular, we no longer use the deprecated `options`
field of `mkOption`. Instead submodules are used.
2018-08-16 21:37:42 +02:00
Robert Helgesson 99c900946d Avoid substitution for some derivations
In particular, don't bother attempting to do substitution of the home
files and home generation derivations since these rarely, if ever,
could be substituted.

Fixes #330
2018-07-31 21:16:36 +02:00
Robert Helgesson 39213a1847 home-manager: fix work directory when building generation 2018-07-31 21:05:05 +02:00
Malte BrandyandRobert Helgesson c18b1328a5 Parametrize path to profile directory 2018-07-31 16:04:19 +02:00
Robert Helgesson 93ef6aefce direnv: add module 2018-07-31 15:48:08 +02:00
Anton PlotnikovandRobert Helgesson 2e9e1909da status-notifier-watcher: add service 2018-07-31 15:33:57 +02:00
Robert Helgesson 4f67e8d0c3 home-manager: fix GC issue
It was previously possible to create the news information and lose it
in a Nix GC before being able to view it. This also causes a switch to
error out. This change makes the news information a root in the
garbage collector.

Note, this change also removes the need for `nix eval` so the
`doBuildAttr` function is simplified accordingly.

Fixes #327
2018-07-31 13:42:56 +02:00
Andrew ScottandRobert Helgesson 30cba446f2 files: add onChange option
This option allows execution of arbitrary shell code when a file that
is linked into the home directory has been changed between
generations.
2018-07-27 22:07:12 +02:00
Robert Helgesson dda65c0877 polybar: let systemd reload trigger restart 2018-07-26 18:01:35 +02:00
Roman VolosatovsandRobert Helgesson cf80199bfc xresources: join lists with a "," 2018-07-25 20:53:02 +02:00
Robert Helgesson 6694330bb2 udiskie: use xsession.preferStatusNotifierItems 2018-07-24 12:59:56 +02:00
Robert Helgesson a5a49c350d network-manager-applet: use xsession.preferStatusNotifierItems 2018-07-24 12:59:50 +02:00
Robert Helgesson 6ae2d74fca xsession: add option preferStatusNotifierItems
The intent is for tray applets to honor this option if they support
the SNI protocol.
2018-07-24 12:53:20 +02:00
Anton PlotnikovandRobert Helgesson 29ad012763 udiskie: add sni support 2018-07-24 11:52:38 +02:00
Robert Helgesson 9570cedff6 nixos module: we need a running nix-daemon
Make sure the nix-daemon is prepared before we attempt to do the user
activation otherwise the script may fail due to not being able to
communicate.
2018-07-21 13:15:34 +02:00
rembo10andRobert Helgesson d3871ed774 mpd: add module 2018-07-18 22:17:26 +02:00
rembo10andRobert Helgesson 34db8df6d9 redshift: enable geoclue2 2018-07-13 22:07:07 +02:00
Mario RodasandRobert Helgesson 092706eff8 nixpkgs: only pass pkgs_i686 argument on Linux
Nixpkgs added an assertion on pkgsi686Linux [1] to avoid evaluating it
pkgsi686Linux on non-Linux systems.

[1] https://github.com/nixos/nixpkgs/commit/ad20a4a1c328967c7e4abe211f3dd63bb68bf966
2018-07-13 19:26:08 +02:00
Robert Helgesson f4a1a5e94c home-manager: resolve default configuration file path
Home Manager needs an absolute and resolved path to its configuration
file. The default configuration path is absolute but not necessarily
resolved. For example, some users may have `~/.config` be a symbolic
link to somewhere else. We therefore run the default configuration
path through the `realpath` tool to resolve it.

Fixes #304
2018-07-12 00:30:54 +02:00
Robert Helgesson dadfaed829 home-manager: add support for the nix tool
This adds an experimantal, undocumented, and unsupported flag `-2` for
the `home-manager` command that enables the use of the new `nix`
command instead of `nix-build`.
2018-07-08 23:24:35 +02:00
LightDiscordandRobert Helgesson e365943a70 awesome: add module 2018-07-07 17:49:11 +02:00
Robert Helgesson 86fcfc74da nixpkgs: replace use of traceValIfNot
The `traceValIfNot` function is deprecated in Nixpkgs master. Instead
use `traceSeqN`.

Fixes #301
2018-07-04 19:56:13 +02:00
Robert HelgessonandMatthieu Coudron eecebbf186 notmuch: add module
Co-authored-by: Matthieu Coudron <mattator@gmail.com>
2018-07-01 18:44:53 +02:00
Robert HelgessonandMatthieu Coudron 8dc1737e39 mbsync: add module
Co-authored-by: Matthieu Coudron <mattator@gmail.com>
2018-07-01 18:44:53 +02:00
Robert HelgessonandMatthieu Coudron 34bb9b5766 email: add module
This adds a general module infrastructure for configuring email
accounts. The intent is to specify high level information such as IMAP
and SMTP hostnames and login information so that more specific program
and service modules do not have to duplicate options for specifying
accounts.

It is allowed for modules to inject further options within this
namespace where relevant. For example, an MUA may wish add an option
to add per-account filter rules.

Co-authored-by: Matthieu Coudron <mattator@gmail.com>
2018-07-01 18:06:09 +02:00
Olli HeleniusandRobert Helgesson 299e01722f Add support for systemd path units 2018-07-01 18:04:06 +02:00
jD91mZM2andRobert Helgesson 97ee4578c9 gpg-agent: Add maxCacheTtl(Ssh) options 2018-06-29 00:39:14 +02:00
Robin Stumm 0d3f9ba913 compton: fix syntax error 2018-06-27 15:18:30 +02:00
Denny SchaeferandRobert Helgesson 6aa44d62ad autorandr: add rotate option 2018-06-26 21:17:54 +02:00
NadrierilandNikita Uvarov 5641ee3f94 i3: use null to disable a keybinding 2018-06-14 09:26:30 +02:00
Robert Helgesson 2e9fbbc978 termite: use docbook man page reference 2018-06-13 23:56:47 +02:00
Robert Helgesson ad634c0a94 compton: use docbook man page references 2018-06-13 23:51:53 +02:00
gmarmstrongandRobert Helgesson 7190f46938 bash: fix shellAliases description
The aliases aren't added to all users' shells.
2018-06-11 22:32:53 +02:00
Robert Helgesson e27cd96494 newsboat: remove unnecessary period 2018-06-09 11:40:49 +02:00
Mats RauhalaandRobert Helgesson 4caa45b8bb newsboat: add module 2018-06-09 11:36:45 +02:00
Robert Helgesson f3473b9eba zsh: add missing periods in descriptions 2018-06-09 10:29:02 +02:00
Mats RauhalaandRobert Helgesson 06a984e4ff zsh: add extended, expireDuplicatesFirst history options 2018-06-09 10:26:41 +02:00
adisbladisandNikita Uvarov 53f10f4d46 kdeconnect: add module 2018-06-05 14:58:54 +02:00
Robert Helgesson ed0cd78e05 i3: use fancy docbook markup in description 2018-06-03 20:53:07 +02:00
Robert Helgesson faf04b009b qt: support GTK+ theming for Qt services 2018-06-03 17:26:47 +02:00
Lenz WeberandRobert Helgesson 965bad626a flameshot: set PATH to let Qt find plugins 2018-05-31 20:26:25 +02:00
Julien LangloisandRobert Helgesson 69445cb4a0 udiskie: change package
The old package is deprecated.
2018-05-31 20:10:47 +02:00
Nikita Uvarov 30c97391d7 i3: add modifier option
This allows to easily change modifier key for default keybindings and
gives a possibility to reference specified value in other modules.

Fixes #147.
2018-05-27 20:20:00 +02:00
Nikita Uvarov cacb8d410e i3: deprecate i3.config.startup.*.workspace option
Fixes #265.
2018-05-27 00:00:10 +02:00
Nikita Uvarov 4b388ee902 i3: fix reloading for nixos module
By default, i3-msg gets socket from X11 property
which is not available when home manager is running
as nixos module.

This patch changes i3-msg command call by specifying
all i3 sockets found in $XDG_RUNTIME_DIR/i3 folder.

Fixes #252.
2018-05-26 19:14:05 +02:00
Robert Helgesson 10865f9952 bash: escape alias values
This should allow use of the apostrophe character within aliases
without having to escape them manually.

Fixes #273
2018-05-26 10:52:40 +02:00
Robert Helgesson dfaccdd03b readme: make branch suggestion more clear
Fixes #270.
2018-05-22 18:14:37 +02:00
Robert Helgesson f812260c23 manual: add HTML manual
Also add a `home-manager-help` script that attempts to open the HTML
manual in a browser.
2018-05-18 23:22:03 +02:00
Robert Helgesson b6da6569c4 qt: add module 2018-05-18 20:57:36 +02:00
Robert Helgesson bbcef2fd33 readme: add link to online options documentation 2018-05-11 22:38:47 +02:00
Robert Helgesson ec3cbf81c4 manual: some cleanups 2018-05-11 22:26:21 +02:00
Adrian KummerlaenderandRobert Helgesson 1a471b0a45 xcursor: add default cursor file option 2018-05-10 20:26:01 +02:00
Cornelius MikaandRobert Helgesson 73b8aa8bcc systemd: merge unit definitions recursively
This removes the need for monolithic unit definitions and allows
users to modify existing units.

Example:
```
{
  systemd.user.services.owncloud-client.Unit.OnFailure = "my-notify-service";
}
```
2018-05-10 20:13:58 +02:00
Cornelius Mika 394045f68a systemd: improve comments 2018-05-09 16:22:02 +02:00
Robert Helgesson f9af8e0390 manual: fix import path
Need to refer to the `default.nix` in the same home-manager source
otherwise you might get an old version.
2018-05-07 00:10:58 +02:00
Robert Helgesson 1260349384 doc: make documentation independent from NixOS
Unfortunately this duplicates some code from NixOS but it does allow
much more flexibility and, hopefully, stability in the Home Manager
documentation.

Fixes #254.
2018-05-06 22:16:48 +02:00
Nikita Uvarov 74f4ed5fd2 syncthing: fix tray startup
Workaround for #249.
2018-05-04 13:08:08 +02:00
Nikita Uvarov 91725ddced owncloud-client: fix startup
Workaround for #249.
2018-05-04 13:01:34 +02:00
Hamish HutchingsandRobert Helgesson e055e4a092 flameshot: add module 2018-05-03 17:21:03 +02:00
Peter JonesandRobert Helgesson f26cc3b957 mbsync: add module 2018-05-01 22:50:37 +02:00
MinijacksonandRobert Helgesson 9a3b1ec222 screen-locker: Add extraOptions for xss-lock and xautolock 2018-05-01 22:40:32 +02:00
Robert Helgesson 9141d11a7d readme: update stable NixOS version to 18.03 2018-04-19 18:29:04 +02:00
Tad FisherandRobert Helgesson 6dc4f31ba1 git: add 'includes' option 2018-04-19 17:45:09 +02:00
Silvan Mosberger d294aa4356 zsh: only source plugin file if it exists
This allows adding plugins to fpath without sourcing anything
2018-04-19 16:43:03 +02:00
Nikita Uvarov f314ee3d6a autorandr: add module 2018-04-19 10:41:52 +02:00
Tad FisherandRobert Helgesson 581ad6fc29 kbfs: fix systemd service PATH 2018-04-18 19:01:57 +02:00
Anton PlotnikovandNikita Uvarov 8ff7d934b2 Add blur options to compton 2018-04-16 08:50:28 +02:00
Anton PlotnikovandNikita Uvarov 5bdebf5ab0 Add opacity-rules to compton 2018-04-16 08:50:28 +02:00
Guthrie McAfee ArmstrongandNikita Uvarov 96250b7ad3 Fix typo: compton.shadowOffsets description 2018-04-16 08:45:48 +02:00
Lenz Weber 7c9278bd92 xresources: add option extraConfig 2018-03-26 21:10:32 +02:00
Robert Helgesson 4205c91609 ssh: move options to end of configuration file
This is needed to support overriding these options inside match
blocks. A new option `programs.ssh.extraOptionOverrides` has been
added to allow global overrides.
2018-03-25 08:51:20 +02:00
Robert Helgesson 75c4075345 nixpkgs: expand description of nixpkgs.config and nixpkgs.overlays 2018-03-20 20:23:42 +01:00
Gleb PeregudandRobert Helgesson f8398339a3 fzf: add enableZshIntegration option
When enabled this will extend user's `$HOME/.zshrc` with sourcing of fzf's
completion and key-bindings integration libraries.
2018-03-14 17:37:39 +01:00
Gleb PeregudandRobert Helgesson 9bf9e7ac5c gpg-agent: add enableExtraSocket and verbose options.
This option enables a GPG Agent restricted socket (aka "extra-socket"), which
can be used to forward GPG Agent over SSH.

Additionally `verbose` option enables verbose output of an `gpg-agent.service`
unit for easier debugging.

See: https://wiki.gnupg.org/AgentForwarding
2018-03-13 22:36:30 +01:00
Robert Helgesson 567b21b1d6 activation-init: sanity check oldGenNum and oldGenPath
Something is terribly wrong if one is set but not the other so error
out with a message if that happens.
2018-03-13 20:49:45 +01:00
Robert Helgesson fa7d63d9d1 fzf: add module 2018-03-07 22:44:29 +01:00
Robert Helgesson 46a94cce56 texlive: add option programs.texlive.package
This read-only option will hold a reference to the customized texlive
package.
2018-03-05 19:05:30 +01:00
Robert Helgesson bc50202d0d gpg-agent: do updatestartuptty only when SSH is enabled
Inspired by #163.
2018-03-04 22:20:35 +01:00
Tad Fisher 8fc8e158e2 unclutter: add module 2018-03-03 22:54:46 -08:00
Robert Helgesson 06e7d087f2 home-manager: colorize only when connected to terminal
Before, the output of `home-manager generations` would be colorized
even when used in a pipeline.
2018-03-03 22:00:02 +01:00
Robert Helgesson fbff38de33 xscreensaver: install the xscreensaver package
This is needed to make the xscreensaver tools available.
2018-03-01 23:21:45 +01:00
Robert Helgesson 19b4002f25 home-environment: use nix-env from PATH
It is safest to use the system install of Nix since that will be
compatible with the running nix-daemon and/or databases.

Also add a printout of the used Nix version in the activation script
when running in verbose mode.

Fixes #218.
2018-02-27 20:31:03 +01:00
Robert Helgesson b47cc4bc66 qsyncthingtray: remove deprecated option 2018-02-26 22:30:28 +01:00
Robert Helgesson e307ceeee7 systemd: replace use of who command
Curiously the `who` command sometimes does not list logged-in users,
resulting in systemd not being reloaded. Instead we use

    systemctl --user is-system-running

to more directly detect whether systemd is running.
2018-02-20 22:04:29 +01:00
Robert Helgesson 4745c7a00d pidgin: add module 2018-02-19 22:57:50 +01:00
Robert Helgesson 5c783e1a63 Add initial Travis-CI configuration 2018-02-19 22:52:56 +01:00
Nikita Uvarov 05ad0c9e06 i3: escape ${} in bars.command example 2018-02-19 20:17:33 +01:00
Matthieu Coudron 6d7b5c9513 i3: don't evaluate "command" example
else it attempts to build i3-gaps and fails on darwin see
https://github.com/rycee/home-manager/pull/214#issuecomment-366594833
2018-02-19 16:28:30 +09:00
Nikita Uvarov de001e05da i3: add missing bar options
New options are: id, commmand, workspaceNumbers, colors.
Fixes #210.
2018-02-18 20:58:52 +01:00
Matthieu CoudronandGitHub 08ce0579aa Merge pull request #212 from teto/neovim_configurable
neovim: add 'configure' flag
2018-02-18 22:42:24 +09:00
Matthieu Coudron be60600a47 neovim: add 'configure' flag
so that we have the same options as in nixpkgs.
2018-02-19 07:41:24 +09:00
Andrew ScottandRobert Helgesson f2265b10e4 rofi: add theme option
The preferred method of theming rofi is now to use "rasi" theme files.
This commit therefore downplays the colors option and introduces the
theme option.
2018-02-10 20:11:33 +01:00
2657 changed files with 142507 additions and 6086 deletions
+35
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
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
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
+15
View File
@@ -0,0 +1,15 @@
---
name: Feature request
about: Ask for a new feature to be added (module, program, etc.)
title: ''
labels: feature request
assignees: rycee, berbiche, sumnerevans
---
<!--
Note: Please search to see if the feature has already been requested
-->
### Description
+55
View File
@@ -0,0 +1,55 @@
name: Bug Report
description: File a bug/issue
title: 'bug: '
labels: [bug, triage]
# We cannot use nix-community/home-manager
# See https://github.com/dear-github/dear-github/issues/170
assignees: [rycee, berbiche, sumnerevans]
body:
- type: checkboxes
attributes:
label: Are you following the right branch?
description: |
You should follow the branch of Home Manager that corresponds to your
version of Nixpkgs; see [the README](https://github.com/nix-community/home-manager#releases) for details.
options:
- label: My Nixpkgs and Home Manager versions are in sync
required: true
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: |
Please search to see if an issue already exists for the bug you encountered.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Issue description
description: |
Please describe the issue.
For support and help please use the IRC channel #home-manager at irc.oftc.net or
Matrix room <https://matrix.to/#/#hm:rycee.net> instead.
validations:
required: false
- type: textarea
attributes:
label: Maintainer CC
description: |
Please @ people who are in the `meta.maintainers` list of the offending module.
If in doubt, check `git blame` for whoever last touched something.
validations:
required: false
- type: textarea
id: system
attributes:
label: System information
description: |
Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result.
render: markdown
validations:
required: true
+50
View File
@@ -0,0 +1,50 @@
### Description
<!--
Please provide a brief description of your change.
-->
### Checklist
<!--
Please go through the following checklist before opening a non-WIP
pull-request.
Also make sure to read the guidelines found at
https://nix-community.github.io/home-manager/#sec-guidelines
-->
- [ ] Change is backwards compatible.
- [ ] Code formatted with `nix fmt` or `./format`.
- [ ] 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).
- [ ] Commit messages are formatted like
```
{component}: {description}
{long description}
```
See [CONTRIBUTING](https://nix-community.github.io/home-manager/#sec-commit-style) for more information and [recent commit messages](https://github.com/nix-community/home-manager/commits/master) for examples.
- If this PR adds a new module
- [ ] Added myself as module maintainer. See [example](https://github.com/nix-community/home-manager/blob/a51598236f23c89e59ee77eb8e0614358b0e896c/modules/programs/lesspipe.nix#L11).
#### 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.
-->
+17
View File
@@ -0,0 +1,17 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
target-branch: "master"
schedule:
interval: "weekly"
commit-message:
prefix: "ci:"
- package-ecosystem: "github-actions"
directory: "/"
target-branch: "release-24.11"
schedule:
interval: "weekly"
commit-message:
prefix: "ci:"
+577
View File
@@ -0,0 +1,577 @@
"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
- 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/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/**/*
+71
View File
@@ -0,0 +1,71 @@
# Configuration for probot-stale - https://github.com/probot/stale
daysUntilStale: 90
daysUntilClose: false
staleLabel: "status: stale"
issues:
markComment: |
<p>
Thank you for your contribution!
I marked this issue as stale due to inactivity.
Please be considerate of people watching this issue and receiving notifications before commenting 'I have this issue too'.
We welcome additional information that will help resolve this issue.
<b>Please read the relevant sections below before commenting.</b>
</p>
<details>
<summary><b>If you are the original author of the issue</b></summary>
<p>
* If this is resolved, please consider closing it so that the maintainers know not to focus on this.
* If this might still be an issue, but you are not interested in promoting its resolution, please consider closing it while encouraging others to take over and reopen an issue if they care enough.
* If you know how to solve the issue, please consider submitting a Pull Request that addresses this issue.
</p>
</details>
<details>
<summary><b>If you are <i>not</i> the original author of the issue</b></summary>
<p>
* If you are also experiencing this issue, please add details of your situation to help with the debugging process.
* If you know how to solve the issue, please consider submitting a Pull Request that addresses this issue.
</p>
</details>
<details>
<summary><b>Memorandum on closing issues</b></summary>
<p>
Don't be afraid to manually close an issue, even if it holds valuable information.
Closed issues stay in the system for people to search, read, cross-reference, or even reopen nothing is lost!
Closing obsolete issues is an important way to help maintainers focus their time and effort.
</p>
</details>
pulls:
markComment: |
<p>
Thank you for your contribution!
I marked this pull request as stale due to inactivity.
<b>Please read the relevant sections below before commenting.</b>
</p>
<details>
<summary><b>If you are the original author of the PR</b></summary>
<p>
* GitHub sometimes doesn't notify people who commented / reviewed a PR previously when you (force) push commits. *If you have addressed the reviews* you can [officially ask for a review](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/requesting-a-pull-request-review) from those who commented to you or anyone else.
* If it is unfinished but you plan to finish it, please mark it as a draft.
* If you don't expect to work on it any time soon, please consider closing it with a short comment encouraging someone else to pick up your work.
* To get things rolling again, rebase the PR against the target branch and address valid comments.
</p>
</details>
<details>
<summary><b>If you are <i>not</i> the original author of the PR</b></summary>
<p>
* If you want to pick up the work on this PR, please create a new PR and indicate that it supercedes and closes this PR.
</p>
</details>
+15
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
+28
View File
@@ -0,0 +1,28 @@
name: GitHub Pages
on:
push:
branches:
- master
jobs:
publish:
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- uses: cachix/install-nix-action@v31
with:
nix_path: nixpkgs=channel:nixos-25.05
- uses: cachix/cachix-action@v16
with:
name: nix-community
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- run: |
nix-build -A docs.html
cp -r result/share/doc/home-manager public
- name: Deploy
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
+24
View File
@@ -0,0 +1,24 @@
name: "Label PR"
on:
- pull_request_target
# WARNING:
# When extending this action, be aware that $GITHUB_TOKEN allows some write
# access to the GitHub API. This means that it should not evaluate user input in
# a way that allows code injection.
permissions:
contents: read
pull-requests: write
issues: write
jobs:
labels:
runs-on: ubuntu-latest
if: github.repository_owner == 'nix-community'
steps:
- uses: actions/labeler@v6
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
sync-labels: true
+46
View File
@@ -0,0 +1,46 @@
name: Test
on:
pull_request:
schedule:
- cron: "30 2 * * *"
jobs:
tests:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- uses: cachix/install-nix-action@v31
with:
# TODO: Adjust uninstall to not need channel
nix_path: nixpkgs=channel:nixos-25.05
extra_nix_config: |
experimental-features = nix-command flakes
- run: |
if grep -R --exclude stdlib-extended.nix literalExample modules ; then
echo "Error: literalExample should be replaced by literalExpression" > /dev/stderr
exit 1
fi
- run: nix build --show-trace .#docs-jsonModuleMaintainers
- run: ./format --ci
- 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 --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 --reference-lock-file flake.lock "./tests#test-all-no-big"
env:
GC_INITIAL_HEAP_SIZE: 4294967296
+21
View File
@@ -0,0 +1,21 @@
name: Update flake inputs
on:
schedule:
# Update every Sunday and Wednesday
- cron: "51 3 * * 0,3"
workflow_dispatch:
jobs:
update:
runs-on: ubuntu-latest
if: github.event_name != 'schedule' || github.repository_owner == 'nix-community'
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Install Nix
uses: cachix/install-nix-action@v31
- name: Update flake.lock
uses: DeterminateSystems/update-flake-lock@v27
with:
token: ${{ secrets.GH_TOKEN_FOR_UPDATES }}
pr-labels: dependencies
+1
View File
@@ -0,0 +1 @@
/result*
+20
View File
@@ -0,0 +1,20 @@
image: nixos/nix:latest
variables:
NIX_PATH: "nixpkgs=channel:nixos-unstable"
stages:
- deploy
pages:
stage: deploy
script:
- nix-build -A docs.html
- mkdir public
- cp -r ./result/share/doc/home-manager/* public/
artifacts:
paths:
- public
rules:
- if: $CI_COMMIT_BRANCH == "master"
when: always
-158
View File
@@ -1,158 +0,0 @@
Contributing
============
Thanks for wanting to contribute to Home Manager! These are some
guidelines to make the process as smooth as possible for both you and
the Home Manager developers.
If you are only looking to report a problem then it is sufficient to
read through the following section on reporting issues. If you instead
want to directly contribute improvements and additions then please
have a look at everything here.
Reporting an issue
------------------
If you notice a problem with Home Manager and want to report it then
have a look among the already [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][] 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.
Contributing code
-----------------
If you want to contribute code to improve Home Manager then please
follow these guidelines.
### Fork and create a pull request ###
If you have not previously forked Home Manager then you need to do
that first. Have a look at GitHub's "[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`. Give your branch a reasonably
descriptive name. Perform your changes on this branch and when you are
happy with the result push the branch to GitHub and
[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:
home-manager -I home-manager=$HOME/devel/home-manager
or
2. changing the default path by ensuring your configuration includes
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.
### 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 format
{component}: {description}
{long description}
where `{component}` refers to the code component (or module) your
change affects, `{description}` is a brief description of your change,
and `{long description}` is an optional clarifying description. Note,
`{description}` should start with a lower case letter. As a rare
exception, if there is no clear component, or your change affects many
components, then the `{component}` part is optional.
When adding a new module, say `foo.nix`, we use the fixed commit
format `foo: add module`. You can, of course, still include a long
description if you wish.
In addition to the above commit message guidelines, try to follow the
[seven rules][] as much as possible.
### Style guidelines ###
The code in Home Manager should follow the [Nixpkgs syntax
guidelines][]. Note, 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.
### 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`][] 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
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
(without any condition) that has a message along the lines of
> A new service is available: 'services.foo'.
or
> A new program configuration is available: 'program.foo'.
depending on the type of module.
[open issues]: https://github.com/rycee/home-manager/issues
[new issue]: https://github.com/rycee/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/rycee/home-manager/blob/master/modules/misc/news.nix
[Nixpkgs syntax guidelines]: https://nixos.org/nixpkgs/manual/#sec-syntax
-66
View File
@@ -1,66 +0,0 @@
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
```console
$ nix-env --query
hello-2.10
```
and your Home Manager configuration contains
home.packages = [ pkgs.hello ];
Then attempting to switch to this configuration will result in an
error similar to
```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.
Why are the session variables not set?
--------------------------------------
Home Manager is only able to set session variables automatically if it
manages your Bash or Z shell configuration. 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
```sh
. "$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.
+1 -1
View File
@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2017-2018 Robert Helgesson
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
+20
View File
@@ -0,0 +1,20 @@
.PHONY: all all-tests test test-install format
NIXPKGS_REV := nixpkgs-unstable
NIX_PATH := nixpkgs=https://github.com/NixOS/nixpkgs/archive/${NIXPKGS_REV}.tar.gz
all: all-tests test-install
all-tests:
$(MAKE) test TEST=all
test:
ifndef TEST
$(error Use 'make test TEST=<test_name>' to run desired test)
endif
nix-shell --pure tests -I ${NIX_PATH} -A run.${TEST}
test-install:
HOME=$(shell mktemp -d) NIX_PATH=${NIX_PATH} nix-shell . -A install
format:
./format
+94 -267
View File
@@ -1,301 +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][]. Before attempting to use Home Manager please
read the warning below.
Words of warning
----------------
This project is under development. I personally use it to manage
several user configurations but it may fail catastrophically for you.
So beware!
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 overwrite was from a previous Home Manager
generation or from manual configuration.
Home Manager targets [NixOS][] unstable and NixOS version 17.09 (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](#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.
Installation
------------
Currently the easiest way to install Home Manager is as follows:
1. Make sure you have a working Nix installation. If you are not
using NixOS then you may here have to run
```console
$ mkdir -m 0755 -p /nix/var/nix/{profiles,gcroots}/per-user/$USER
```
since Home Manager uses these directories to manage your profile
generations. On NixOS these should already be available.
Also 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`. For a
multi-user install of Nix this means that your user must be
covered by the [`allowed-users`][nixAllowedUsers] Nix option. On
NixOS you can control this option using the
[`nix.allowedUsers`][nixosAllowedUsers] system option.
2. Assign a temporary variable holding the URL to the appropriate
archive. Typically this is
```console
$ HM_PATH=https://github.com/rycee/home-manager/archive/master.tar.gz
```
or
```console
$ HM_PATH=https://github.com/rycee/home-manager/archive/release-17.09.tar.gz
```
depending on whether you follow Nixpkgs unstable or version 17.09.
3. Create an initial Home Manager configuration file:
```console
$ cat > ~/.config/nixpkgs/home.nix <<EOF
{
programs.home-manager.enable = true;
programs.home-manager.path = $HM_PATH;
}
EOF
```
4. Install Home Manager and create the first Home Manager generation:
```console
$ nix-shell $HM_PATH -A install
```
Home Manager should now be active and available in your user
environment.
5. If you do not plan on having Home Manager manage your shell
configuration then you must source the
```
"$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
```
file in your shell configuration. Unfortunately, we currently only
support POSIX.2-like shells such as [Bash][] or [Z shell][].
For example, if you use Bash then add
```bash
. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
```
to your `~/.profile` file.
Note, because the `HM_PATH` variable above points to the live Home
Manager repository you will automatically get updates whenever you
build a new generation. If you dislike automatic updates then perform
a Git clone of the desired branch and instead do the above steps with
`HM_PATH` set to the _absolute path_ of your clone.
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
-----
Home Manager is typically managed through the `home-manager` tool.
This tool can, for example, apply configurations to your home
directory, list user packages installed by the tool, and list the
configuration generations.
Before attempting to use Home Manager please read [the warning
below](#words-of-warning).
As an example, let us expand the initial configuration file from the
installation above to install the htop and fortune packages, install
Emacs with a few extra packages enabled, install Firefox with the
IcedTea plugin enabled, and enable the user gpg-agent service.
For a systematic overview of Home Manager and its available options, please see:
To satisfy the above setup we should elaborate the
`~/.config/nixpkgs/home.nix` file as follows:
- [Home Manager manual][manual]
- [Home Manager configuration options][configuration options]
- [3rd party Home Manager option
search](https://home-manager-options.extranix.com/)
```nix
{ pkgs, ... }:
If you would like to contribute to Home Manager, then please have a look at
["Contributing" in the manual][contributing].
{
home.packages = [
pkgs.htop
pkgs.fortune
];
Releases
--------
programs.emacs = {
enable = true;
extraPackages = epkgs: [
epkgs.nix-mode
epkgs.magit
];
};
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.
programs.firefox = {
enable = true;
enableIcedTea = true;
};
Words of warning
----------------
services.gpg-agent = {
enable = true;
defaultCacheTtl = 1800;
enableSshSupport = true;
};
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.
programs.home-manager = {
enable = true;
path = "…";
};
}
```
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.
To activate this configuration you can then run
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.
```console
$ home-manager switch
```
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.
or if you are not feeling so lucky,
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.
```console
$ home-manager build
```
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.
which will create a `result` link to a directory containing an
activation script and the generated home directory files.
Contact
-------
To see available configuration options with descriptions and usage
examples run
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.
```console
$ man home-configuration.nix
```
Installation
------------
Rollbacks
---------
Home Manager can be used in three primary ways:
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. 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.
1. Run `home-manager generations` to determine which generation you
wish to rollback to:
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.
```console
$ 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
```
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.
2. Copy the Nix store path of the generation you chose, e.g.,
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.
/nix/store/mv960kl9chn2lal5q8lnqdp1ygxngcd1-home-manager-generation
Translations
------------
for generation 763.
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/).
3. Run the `activate` script inside the copied store path:
<a href="https://hosted.weblate.org/engage/home-manager/">
<img src="https://hosted.weblate.org/widgets/home-manager/-/multi-auto.svg" alt="Translation status" />
</a>
```console
$ /nix/store/mv960kl9chn2lal5q8lnqdp1ygxngcd1-home-manager-generation/activate
Starting home manager activation
```
License
-------
Keeping your ~ safe from harm
-----------------------------
This project is licensed under the terms of the [MIT license](LICENSE).
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
`~/.gitconfig` 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
```console
$ home-manager switch
Activating checkLinkTargets
Existing file '/home/jdoe/.gitconfig' is in the way
Please move the above files and try again
```
Graphical services
------------------
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.
[Bash]: https://www.gnu.org/software/bash/
[Nix]: https://nixos.org/nix/
[#home-manager]: https://webchat.oftc.net/?channels=home-manager
[Nix Flakes]: https://wiki.nixos.org/wiki/Flakes
[NixOS]: https://nixos.org/
[Nixpkgs]: https://nixos.org/nixpkgs/
[nixAllowedUsers]: https://nixos.org/nix/manual/#conf-allowed-users
[nixosAllowedUsers]: https://nixos.org/nixos/manual/options.html#opt-nix.allowedUsers
[Z shell]: http://zsh.sourceforge.net/
[Nix]: https://nixos.org/explore.html
[Nixpkgs]: https://github.com/NixOS/nixpkgs
[OFTC]: https://oftc.net/
[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
+30 -8
View File
@@ -1,14 +1,36 @@
{ pkgs ? import <nixpkgs> {} }:
{
pkgs ? import <nixpkgs> { },
}:
let
path = builtins.path {
path = ./.;
name = "home-manager-source";
};
in
rec {
home-manager = import ./home-manager {
inherit pkgs;
path = toString ./.;
};
docs =
let
releaseInfo = pkgs.lib.importJSON ./release.json;
in
with import ./docs {
inherit pkgs;
inherit (releaseInfo) release isReleaseBranch;
};
{
install = import ./home-manager/install.nix {
inherit home-manager pkgs;
};
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; };
inherit path;
}
+224
View File
@@ -0,0 +1,224 @@
{
pkgs,
# Note, this should be "the standard library" + HM extensions.
lib ? import ../modules/lib/stdlib-extended.nix pkgs.lib,
release,
isReleaseBranch,
}:
let
# Recursively replace each derivation in the given attribute set
# with the same derivation but with the `outPath` attribute set to
# the string `"\${pkgs.attribute.path}"`. This allows the
# documentation to refer to derivations through their values without
# establishing an actual dependency on the derivation output.
#
# This is not perfect, but it seems to cover a vast majority of use
# cases.
#
# Caveat: even if the package is reached by a different means, the
# path above will be shown and not e.g.
# `${config.services.foo.package}`.
scrubDerivations =
prefixPath: attrs:
let
scrubDerivation =
name: value:
let
pkgAttrName = prefixPath + "." + name;
in
if lib.isAttrs value then
scrubDerivations pkgAttrName value
// lib.optionalAttrs (lib.isDerivation value) {
outPath = "\${${pkgAttrName}}";
}
else
value;
in
lib.mapAttrs scrubDerivation attrs;
# Make sure the used package is scrubbed to avoid actually
# instantiating derivations.
scrubbedPkgsModule = {
imports = [
{
_module.args = {
pkgs = lib.mkForce (scrubDerivations "pkgs" pkgs);
pkgs_i686 = lib.mkForce { };
};
}
];
};
dontCheckDefinitions = {
_module.check = false;
};
gitHubDeclaration =
user: repo: subpath:
let
urlRef = if isReleaseBranch then "release-${release}" else "master";
in
{
url = "https://github.com/${user}/${repo}/blob/${urlRef}/${subpath}";
name = "<${repo}/${subpath}>";
};
hmPath = toString ./..;
buildOptionsDocs =
args@{
modules,
includeModuleSystemOptions ? true,
...
}:
let
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"
]
);
hmOptionsDocs = buildOptionsDocs {
modules =
import ../modules/modules.nix {
inherit lib pkgs;
check = false;
}
++ [ 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;
};
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
);
}
+45
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
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;
}
);
};
}
+3
View File
@@ -0,0 +1,3 @@
.SH "AUTHORS"
.PP
Home Manager contributors
+17
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
+75
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 ];
};
}
+408
View File
@@ -0,0 +1,408 @@
.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 | 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
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
];
}
+14
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
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.
+27
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
```
@@ -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.
+219
View File
@@ -0,0 +1,219 @@
# 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
```
## 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.
+64
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.
+50
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
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
```
+19
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.
+66
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.
+47
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 '*'`.
@@ -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.
+24
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
```
+36
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.
+35
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
```
+115
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.
+157
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.
+75
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.
+32
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).
+32
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
View File
@@ -0,0 +1,34 @@
# Home Manager Manual {#home-manager-manual}
## Version 25.05
```{=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
```
+7
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
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
```
+39
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`.
+47
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
```
+47
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
```
+42
View File
@@ -0,0 +1,42 @@
# 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 = {
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`).
``` 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.
+62
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.
:::
+7
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
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
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
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
```
+112
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.
+36
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
```
+81
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
...
```
+32
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.
+32
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
```
+12
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
```
+13
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
```
+368
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.
+15
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>
+21
View File
@@ -0,0 +1,21 @@
# 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-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
```
+3
View File
@@ -0,0 +1,3 @@
# Release 18.09 {#sec-release-18.09}
The 18.09 release branch became the stable branch in September, 2018.
+52
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.
+28
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.
+122
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.
+112
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
}
}
+194
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`.
+81
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" = { };
```
+45
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" = { };
```
+113
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`.
+59
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`.
+37
View File
@@ -0,0 +1,37 @@
# Release 23.11 {#sec-release-23.11}
The 23.11 release branch became stable in November, 2023.
## Highlights {#sec-release-23.11-highlights}
This release has the following notable changes:
- When using [programs.fish.enable](#opt-programs.fish.enable), the setup code for
[home.sessionVariables](#opt-home.sessionVariables) is now translated with
[babelfish](https://github.com/bouk/babelfish). This should result
in significantly faster shell startup times but could theoretically
break if you have very complex bash expressions in a session
variable. Please report any issues you experience.
- The `.release` file in the Home Manager source tree has been
supplanted by `release.json`, which contains more information about
the branch. If you have any external code reading this file, please
switch to consuming `release.json` instead. The `.release` file will
be removed in 24.05.
- Home Manager has migrated to using the upstream Nixpkgs
`lib.nixosOptionsDoc` processor for option documentation. If you
have any external Home Manager modules, their option descriptions
and literal examples should be translated to [Nixpkgs-flavoured
Markdown](https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-markup).
- The `services.password-store-sync` module has been removed. Use
`services.git-sync` instead.
## State Version Changes {#sec-release-23.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
\"23.11\" or later.
- Nothing, yet.
+91
View File
@@ -0,0 +1,91 @@
# Release 24.05 {#sec-release-24.05}
The 24.05 release branch became stable in May, 2024.
## Highlights {#sec-release-24.05-highlights}
This release has the following notable changes:
- The `.release` file in the Home Manager project root has been
removed. Please use the `release.json` file instead.
- The {command}`home-manager uninstall` command has been reworked to,
hopefully, be more robust. The new implementation makes use of a new
Boolean configuration option [uninstall](#opt-uninstall) that can
also be used in a pure Nix Flake setup.
Specifically, if you are using a Flake only installation, then you
can clean up a Home Manager installation by adding
``` nix
uninstall = true;
```
to your existing configuration and then build and activate. This
will override any other configuration and cause, for example, the
removal of all managed files.
Please be very careful when enabling this option since activating
the built configuration will not only remove the managed files but
_all_ Home Manager state from your user environment. This includes
removing all your historic Home Manager generations!
- The use of `$DRY_RUN_CMD` and `$DRY_RUN_NULL` in activation script
blocks is now deprecated. Instead use the new shell function
{command}`run`. In most cases it is sufficient to replace
`$DRY_RUN_CMD` by {command}`run`. For example, if your configuration
currently contains
```nix
home.activation.reportChanges = config.lib.dag.entryAnywhere ''
if [[ -v oldGenPath ]]; then
$DRY_RUN_CMD nix store diff-closures $oldGenPath $newGenPath
fi
'';
```
then you are now encouraged to change to
```nix
home.activation.reportChanges = config.lib.dag.entryAnywhere ''
if [[ -v oldGenPath ]]; then
run nix store diff-closures $oldGenPath $newGenPath
fi
'';
```
See the description of [home.activation](#opt-home.activation) for
more. The deprecated variables will continue to work for now but
their use may in the future trigger a warning message and eventually
they may be removed entirely.
- Similarly, the use of `$VERBOSE_ECHO` in activation script blocks is
deprecated. Instead use the new shell function
{command}`verboseEcho`. That is,
```nix
home.activation.doThing = config.lib.dag.entryAnywhere ''
$VERBOSE_ECHO "Doing the thing"
''
```
should now be expressed
```nix
home.activation.doThing = config.lib.dag.entryAnywhere ''
verboseEcho "Doing the thing"
''
```
See the description of [home.activation](#opt-home.activation) for
more. The deprecated variable will continue to work for now but its
use may in the future trigger a warning message and eventually it
may be removed entirely.
## State Version Changes {#sec-release-24.05-state-version-changes}
The state version in this release includes the changes below. These
changes are only active if the `home.stateVersion` option is set to
\"24.05\" or later.
- There was no state version change in this release.
+31
View File
@@ -0,0 +1,31 @@
# Release 24.11 {#sec-release-24.11}
The 24.11 release branch became stable in November, 2024.
## Highlights {#sec-release-24.11-highlights}
This release has the following notable changes:
- The swayidle module behavior has changed. Specifically, swayidle was
previously always called with a `-w` flag. This flag is now moved to
the default
[services.swayidle.extraArgs](#opt-services.swayidle.extraArgs)
value to make it optional.
Your configuration may break if you already set this option and also
rely on the flag being automatically added. To resolve this, please
add `-w` to your assignment of
[services.swayidle.extraArgs](#opt-services.swayidle.extraArgs).
- Support for Boolean values in the option
[programs.eza.icons](#opt-programs.eza.icons) is deprecated for
future removal. The new value for `true` is `"auto"`, and for
`false` it is `null`.
## State Version Changes {#sec-release-24.11-state-version-changes}
The state version in this release includes the changes below. These
changes are only active if the `home.stateVersion` option is set to
\"24.11\" or later.
- There was no state version change in this release.
+30
View File
@@ -0,0 +1,30 @@
# Release 25.05 {#sec-release-25.05}
The 25.05 release branch became stable in May, 2025.
## Highlights {#sec-release-25.05-highlights}
This release has the following notable changes:
- The [](#opt-systemd.user.startServices) option now defaults to
`true`, meaning that services will automatically be restarted as
needed when activating a configuration.
Further, the `"legacy"` alternative has been removed and will now
result in an evaluation error if used.
The `"suggest"` alternative will remain for a while longer but may
also be deprecated for removal in the future.
- The Home Manager test suite has been removed from the main Nix Flake
since it caused unnecessary evaluations and downloads. Instead the
tests are available through a Nix Flake file inside the `tests`
directory. See [](#sec-tests) for example commands.
## State Version Changes {#sec-release-25.05-state-version-changes}
The state version in this release includes the changes below. These
changes are only active if the `home.stateVersion` option is set to
\"25.05\" or later.
- No changes.
+7
View File
File diff suppressed because one or more lines are too long
+310
View File
@@ -0,0 +1,310 @@
:root {
--nmd-color0: #0A3E68;
--nmd-color1: #268598;
--nmd-color2: #B8D09E;
--nmd-color3: #F6CF5E;
--nmd-color4: #EC733B;
--nmd-color-info: #167cb9;
--nmd-color-warn: #ff6700;
}
// Copied from Tailwind CSS.
$color-gray-50: #F9FAFB;
$color-gray-100: #F3F4F6;
$color-gray-200: #E5E7EB;
$color-gray-300: #D1D5DB;
$color-gray-400: #9CA3AF;
$color-gray-500: #6B7280;
$color-gray-600: #4B5563;
$color-gray-700: #374151;
$color-gray-800: #1F2937;
$color-gray-900: #111827;
$color-blue-50: #EFF6FF;
$color-blue-100: #DBEAFE;
$color-blue-200: #BFDBFE;
$color-blue-300: #93C5FD;
$color-blue-400: #60A5FA;
$color-blue-500: #3B82F6;
$color-blue-600: #2563EB;
$color-blue-700: #1D4ED8;
$color-blue-800: #1E40AF;
$color-blue-900: #1E3A8A;
@use 'scss-reset/reset';
@mixin boxed {
background: $color-gray-50;
margin: 2rem 16px;
padding: 10px;
border: 1px solid $color-gray-200;
border-radius: 4px;
box-shadow: 4px 4px 8px $color-gray-200;
@media (prefers-color-scheme: dark) {
background: $color-gray-800;
border-color: black;
box-shadow: 4px 4px 8px black;
}
}
@mixin margined {
margin: 0.9rem 0;
&:first-child {
margin-top: 0;
}
&:last-child {
margin-bottom: 0;
}
}
body {
background: white;
color: $color-gray-900;
max-width: min(100ch, 1024px);
margin: 0 auto;
padding: 10px;
font-family: 'Lucida Sans', Arial, sans-serif;
font-size: 16px;
line-height: 1.4em;
@media (prefers-color-scheme: dark) {
background: $color-gray-900;
color: $color-gray-50;
}
}
h1, h2, h3 {
color: var(--nmd-color0);
font-family: "Lato", sans-serif;
font-weight: 300;
line-height: 1.125;
@media (prefers-color-scheme: dark) {
color: var(--nmd-color4);
}
}
h1 {
font-size: 48px;
font-weight: 300;
margin: 4rem 0 1.5rem;
}
h2 {
font-size: 32px;
font-weight: 300;
margin: 2rem 0 1rem;
}
h3 {
font-size: 20px;
font-weight: 400;
margin: 0.5rem 0.25rem;
}
p {
@include margined;
}
a {
color: var(--nmd-color0); //$color-secondary-1-3;
text-decoration: underline;
text-underline-offset: 3px;
&:visited {
color: var(--nmd-color1);
}
&:hover {
color: var(--nmd-color1);
}
@media (prefers-color-scheme: dark) {
color: var(--nmd-color3);
&:visited {
color: var(--nmd-color2);
}
&:hover {
color: var(--nmd-color4);
}
}
}
code {
font-size: 90%;
}
span.command {
font-size: 90%;
font-family: monospace;
}
em {
font-style: italic;
}
strong {
font-weight: bold;
}
pre {
@include boxed;
font-size: 90%;
margin-bottom: 1.5rem;
padding: 6px;
overflow: auto;
// The callout markers should not be selectable.
span img {
user-select: none;
}
}
pre:has(code) {
padding: 0;
}
td, th {
padding: 2px 5px;
&:first-child {
padding-left: 0;
}
&:last-child {
padding-right: 0;
}
}
dt {
margin: 1.2rem 0 0.8rem;
}
dd {
margin-left: 2rem;
}
div.book {
}
ul {
@include margined;
padding-left: 30px;
list-style: disc;
}
ol {
@include margined;
padding-left: 30px;
list-style: decimal;
}
li {
@include margined;
padding-left: 5px;
}
.navheader, .navfooter {
hr {
margin: 1rem 0;
background: $color-gray-200;
@media (prefers-color-scheme: dark) {
background: $color-gray-600;
}
}
a {
text-decoration: none;
}
}
div.titlepage {
margin: 40px 0;
hr {
display: none;
}
}
div.toc {
@include boxed;
a {
text-decoration: none;
}
}
div.note, div.warning {
@include boxed;
font-style: italic;
h3 {
float: right;
margin: 0 0 1rem 1rem;
width: 42px;
height: 42px;
content: url();
}
h3 + p {
margin-top: 0;
}
}
div.note {
h3 {
background-color: var(--nmd-color-info);
// From https://tabler-icons.io/i/info-square-rounded
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 24 24' stroke-width='2' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M12 8h.01'%3E%3C/path%3E%3Cpath d='M11 12h1v4h1'%3E%3C/path%3E%3Cpath d='M12 3c7.2 0 9 1.8 9 9s-1.8 9 -9 9s-9 -1.8 -9 -9s1.8 -9 9 -9z'%3E%3C/path%3E%3C/svg%3E");
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 24 24' stroke-width='2' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M12 8h.01'%3E%3C/path%3E%3Cpath d='M11 12h1v4h1'%3E%3C/path%3E%3Cpath d='M12 3c7.2 0 9 1.8 9 9s-1.8 9 -9 9s-9 -1.8 -9 -9s1.8 -9 9 -9z'%3E%3C/path%3E%3C/svg%3E");
}
}
div.warning {
h3 {
background-color: var(--nmd-color-warn);
// From https://tabler-icons.io/i/alert-triangle
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 24 24' stroke-width='2' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M12 9v2m0 4v.01'%3E%3C/path%3E%3Cpath d='M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75'%3E%3C/path%3E%3C/svg%3E");
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 24 24' stroke-width='2' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M12 9v2m0 4v.01'%3E%3C/path%3E%3Cpath d='M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75'%3E%3C/path%3E%3C/svg%3E");
}
}
.term {
font-weight: 300;
}
.docbook .xref img[src^=images\/callouts\/],
.screen img,
.programlisting img {
width: 1em;
}
.calloutlist img {
width: 1.3em;
}
/** The console prompt, e.g., `$` and `#` should not be selectable. */
.programlisting.language-shell .hljs-meta.prompt_ {
user-select: none;
}
@import 'tomorrow.min.css';
@media (prefers-color-scheme: dark) {
@import 'tomorrow-night.min.css';
}
+7
View File
@@ -0,0 +1,7 @@
/*!
Theme: Tomorrow Night
Author: Chris Kempson (http://chriskempson.com)
License: ~ MIT (or more permissive) [via base16-schemes-source]
Maintainer: @highlightjs/core-team
Version: 2021.09.0
*/pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#ccc;background:#2d2d2d}.hljs ::selection,.hljs::selection{background-color:#515151;color:#ccc}.hljs-comment{color:#999}.hljs-tag{color:#b4b7b4}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#ccc}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#f2777a}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#f99157}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#fc6}.hljs-strong{font-weight:700;color:#fc6}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#9c9}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#6cc}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#69c}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#c9c}.hljs-emphasis{color:#c9c;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#a3685a}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
+7
View File
@@ -0,0 +1,7 @@
/*!
Theme: Tomorrow
Author: Chris Kempson (http://chriskempson.com)
License: ~ MIT (or more permissive) [via base16-schemes-source]
Maintainer: @highlightjs/core-team
Version: 2021.09.0
*/pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#4d4d4c;background:#fff}.hljs ::selection,.hljs::selection{background-color:#d6d6d6;color:#4d4d4c}.hljs-comment{color:#8e908c}.hljs-tag{color:#969896}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#4d4d4c}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#c82829}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#f5871f}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#eab700}.hljs-strong{font-weight:700;color:#eab700}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#718c00}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#3e999f}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#4271ae}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#8959a8}.hljs-emphasis{color:#8959a8;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#a3685a}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
+47
View File
@@ -0,0 +1,47 @@
{
lib,
flake-parts-lib,
moduleLocation,
...
}:
let
inherit (lib)
toString
mapAttrs
mkOption
types
;
in
{
options = {
flake = flake-parts-lib.mkSubmoduleOptions {
homeConfigurations = mkOption {
type = types.lazyAttrsOf types.raw;
default = { };
description = ''
Instantiated Home Manager configurations.
`homeConfigurations` is for specific installations. If you want to expose
reusable configurations, add them to `homeModules` in the form of modules, so
that you can reference them in this or another flake's `homeConfigurations`.
'';
};
homeModules = mkOption {
type = types.lazyAttrsOf types.deferredModule;
default = { };
apply = mapAttrs (
k: v: {
_class = "homeManager";
_file = "${toString moduleLocation}#homeModules.${k}";
imports = [ v ];
}
);
description = ''
Home Manager modules.
You may use this for reusable pieces of configuration, service modules, etc.
'';
};
};
};
}
Generated
+27
View File
@@ -0,0 +1,27 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1753345091,
"narHash": "sha256-CdX2Rtvp5I8HGu9swBmYuq+ILwRxpXdJwlpg8jvN4tU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3ff0e34b1383648053bba8ed03f201d3466f90c9",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}
+88
View File
@@ -0,0 +1,88 @@
{
description = "Home Manager for Nix";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
outputs =
{
self,
nixpkgs,
...
}:
{
nixosModules = rec {
home-manager = ./nixos;
default = home-manager;
};
darwinModules = rec {
home-manager = ./nix-darwin;
default = home-manager;
};
flakeModules = rec {
home-manager = ./flake-module.nix;
default = home-manager;
};
templates = {
default = self.templates.standalone;
nixos = {
path = ./templates/nixos;
description = "Home Manager as a NixOS module,";
};
nix-darwin = {
path = ./templates/nix-darwin;
description = "Home Manager as a nix-darwin module,";
};
standalone = {
path = ./templates/standalone;
description = "Standalone setup";
};
};
lib = import ./lib { inherit (nixpkgs) lib; };
}
// (
let
forAllSystems = nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed;
in
{
formatter = forAllSystems (
system:
nixpkgs.legacyPackages.${system}.nixfmt-tree.override {
settings = {
tree-root-file = "release.json";
};
}
);
packages = forAllSystems (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
releaseInfo = nixpkgs.lib.importJSON ./release.json;
docs = import ./docs {
inherit pkgs;
inherit (releaseInfo) release isReleaseBranch;
};
hmPkg = pkgs.callPackage ./home-manager { path = "${self}"; };
in
{
default = hmPkg;
home-manager = hmPkg;
create-news-entry = pkgs.writeShellScriptBin "create-news-entry" ''
./modules/misc/news/create-news-entry.sh
'';
docs-html = docs.manual.html;
docs-htmlOpenTool = docs.manual.htmlOpenTool;
docs-json = docs.options.json;
docs-jsonModuleMaintainers = docs.jsonModuleMaintainers;
docs-manpages = docs.manPages;
}
);
}
);
}
Executable
+35
View File
@@ -0,0 +1,35 @@
#! /usr/bin/env nix-shell
#! nix-shell -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/42a1c966be226125b48c384171c44c651c236c22.tar.gz -i bash -p git gnugrep gnused findutils nixfmt-tree
# Avoid being affected by system and user git config.
export GIT_CONFIG_NOSYSTEM=1
export HOME=/var/empty
export XDG_CONFIG_HOME=/var/empty
nixfmt_args=()
files=()
for arg do
case $arg in
-h)
echo "$0 [-c]"
exit
;;
--ci)
nixfmt_args+=("$arg")
;;
-*)
echo "unrecognised flag: $arg" >&2
exit 1
;;
*)
files+=("$arg")
;;
esac
done
git_root=$(git rev-parse --show-toplevel)
git ls-files -z --cached --others --full-name -- "${files[@]}" |
grep -z '\.nix$' |
sed -z "s|^|$git_root/|" |
xargs -0 treefmt --no-cache "${nixfmt_args[@]}"
+78
View File
@@ -0,0 +1,78 @@
# Used by the home-manager tool to present news to the user. The content of this
# file is considered internal and the exported fields may change without
# warning.
{
newsJsonFile,
newsReadIdsFile ? null,
}:
let
inherit (builtins)
concatStringsSep
filter
hasAttr
isString
length
readFile
replaceStrings
sort
split
;
newsJson = builtins.fromJSON (builtins.readFile newsJsonFile);
# Sorted and relevant entries.
relevantEntries = sort (a: b: a.time > b.time) (filter (e: e.condition) newsJson.entries);
newsReadIds =
if newsReadIdsFile == null then
{ }
else
let
ids = filter isString (split "\n" (readFile newsReadIdsFile));
in
builtins.listToAttrs (
map (id: {
name = id;
value = null;
}) ids
);
newsIsRead = entry: hasAttr entry.id newsReadIds;
newsUnread =
let
pred = entry: entry.condition && !newsIsRead entry;
in
filter pred relevantEntries;
prettyTime = t: replaceStrings [ "T" "+00:00" ] [ " " "" ] t;
layoutNews =
entries:
let
mkTextEntry =
entry:
let
flag = if newsIsRead entry then "read" else "unread";
in
''
* ${prettyTime entry.time} [${flag}]
${replaceStrings [ "\n" ] [ "\n " ] entry.message}
'';
in
concatStringsSep "\n\n" (map mkTextEntry entries);
in
{
meta = {
numUnread = length newsUnread;
display = newsJson.display;
ids = concatStringsSep "\n" (map (e: e.id) newsJson.entries);
};
news = {
all = layoutNews relevantEntries;
unread = layoutNews newsUnread;
};
}
+388
View File
@@ -0,0 +1,388 @@
#!/bin/env bash
##################################################
# « home-manager » command-line completion
#
# © 2019 "Sam Boosalis" <samboosalis@gmail.com>
#
# MIT License
#
##################################################
# Contributing:
# Compatibility — Bash 3.
#
# OSX won't update Bash 3 (last updated circa 2009) to Bash 4,
# and we'd like this completion script to work on both Linux and Mac.
#
# For example, OSX Yosemite (released circa 2014) ships with Bash 3:
#
# $ echo $BASH_VERSION
# 3.2
#
# While Ubuntu LTS 14.04 (a.k.a. Trusty, also released circa 2016)
# ships with the latest version, Bash 4 (updated circa 2016):
#
# $ echo $BASH_VERSION
# 4.3
#
# Testing
#
# (1) Invoke « shellcheck »
#
# * source: « https://github.com/koalaman/shellcheck »
# * run: « shellcheck ./share/bash-completion/completions/home-manager »
#
# (2) Interpret via Bash 3
#
# * run: « bash --noprofile --norc ./share/bash-completion/completions/home-manager »
#
##################################################
# Examples:
# $ home-manager <TAB>
#
# -A
# -I
# -f
# --file
# -h
# --help
# -n
# --dry-run
# -v
# --verbose
# build
# edit
# expire-generations
# generations
# help
# news
# option
# packages
# remove-generations
# switch
# uninstall
# $ home-manager e<TAB>
#
# edit
# expire-generations
# $ home-manager remove-generations 20<TAB>
#
# 200
# 201
# 202
# 203
##################################################
# Notes:
# « home-manager » Subcommands:
#
# help
# edit
# option
# build
# switch
# generations
# remove-generations
# expire-generations
# packages
# news
# uninstall
# « home-manager » Options:
#
# -b EXT
# -f FILE
# --file FILE
# -A ATTRIBUTE
# -I PATH
# -v
# --verbose
# -n
# --dry-run
# -h
# --help
# $ home-manager
#
# Usage: /home/sboo/.nix-profile/bin/home-manager [OPTION] COMMAND
#
# Options
#
# -f FILE The home configuration file.
# Default is '~/.config/nixpkgs/home.nix'.
# -A ATTRIBUTE Optional attribute that selects a configuration
# expression in the configuration file.
# -I PATH Add a path to the Nix expression search path.
# -b EXT Move existing files to new path rather than fail.
# -v Verbose output
# -n Do a dry run, only prints what actions would be taken
# -h Print this help
#
# Commands
#
# help Print this help
#
# edit Open the home configuration in $EDITOR
#
# option OPTION.NAME
# Inspect configuration option named OPTION.NAME.
#
# build Build configuration into result directory
#
# switch Build and activate configuration
#
# generations List all home environment generations
#
# remove-generations ID...
# Remove indicated generations. Use 'generations' command to
# find suitable generation numbers.
#
# expire-generations TIMESTAMP
# Remove generations older than TIMESTAMP where TIMESTAMP is
# interpreted as in the -d argument of the date tool. For
# example "-30 days" or "2018-01-01".
#
# packages List all packages installed in home-manager-path
#
# news Show news entries in a pager
#
# uninstall Remove Home Manager
#
##################################################
# Dependencies:
command -v home-manager >/dev/null
command -v grep >/dev/null
command -v sed >/dev/null
##################################################
# Code:
_home-manager_list-generation-identifiers ()
{
home-manager generations | sed -n -e 's/^................ : id \([[:alnum:]]\+\) -> .*/\1/p'
}
# NOTES
#
# (1) the « sed -n -e 's/.../.../p' » invocation:
#
# * the « -e '...' » option takes a Sed Script.
# * the « -n » option only prints when « .../p » would print.
# * the « s/xxx/yyy/ » Sed Script substitutes « yyy » whenever « xxx » is matched.
#
# (2) the « '^................ : id \([[:alnum:]]\+\) -> .*' » regular expression:
#
# * matches « 199 », for example, in the line « 2019-03-13 15:26 : id 199 -> /nix/store/mv619y9pzgsx3kndq0q7fjfvbqqdy5k8-home-manager-generation »
#
#
#------------------------------------------------#
# shellcheck disable=SC2120
_home-manager_list-nix-attributes ()
{
local HomeFile
local HomeAttrsString
# local HomeAttrsArray
# local HomeAttr
if [ -z "$1" ]
then
HomeFile=$(readlink -f "$(_home-manager_get-default-home-file)")
else
HomeFile="$1"
fi
HomeAttrsString=$(nix-instantiate --eval -E "let home = import ${HomeFile}; in (builtins.trace (builtins.toString (builtins.attrNames home)) null)" |& grep '^trace: ')
HomeAttrsString="${HomeAttrsString#trace: }"
echo "${HomeAttrsString}"
# IFS=" " read -ar HomeAttrsArray <<< "${HomeAttrsString}"
#
# local HomeAttr
# for HomeAttr in "${HomeAttrsArray[@]}"
# do
# echo "${HomeAttr}"
# done
}
# e.g.:
#
# $ nix-instantiate --eval -E 'let home = import /home/sboo/configuration/configs/nixpkgs/home-attrs.nix; in (builtins.trace (builtins.toString (builtins.attrNames home)) null)' 1>/dev/null
# trace: darwin linux
#
# $ _home-manager_list-nix-attributes
# linux darwin
#
#------------------------------------------------#
_home-manager_get-default-home-file ()
{
local HomeFileDefault
HomeFileDefault="$(_home-manager_xdg-get-config-home)/nixpkgs/home.nix"
echo "${HomeFileDefault}"
}
# e.g.:
#
# $ _home-manager_get-default-home-file
# ~/.config/nixpkgs/home.nix
#
##################################################
# XDG-BaseDirs:
_home-manager_xdg-get-config-home () {
echo "${XDG_CONFIG_HOME:-$HOME/.config}"
}
#------------------------------------------------#
_home-manager_xdg-get-data-home () {
echo "${XDG_DATA_HOME:-$HOME/.local/share}"
}
#------------------------------------------------#
_home-manager_xdg-get-cache-home () {
echo "${XDG_CACHE_HOME:-$HOME/.cache}"
}
##################################################
_hm_subcommands=( "help" "edit" "option" "build" "init" "instantiate" "switch" "generations" "remove-generations" "expire-generations" "packages" "news" "uninstall" )
declare -ra _hm_subcommands
# Finds the active sub-command, if any.
_home-manager_subcommand() {
local subcommand='' i=
for ((i = 1; i < ${#COMP_WORDS[@]}; i++)); do
local word="${COMP_WORDS[i]}"
if [[ " ${_hm_subcommands[*]} " == *" ${word} "* ]]; then
subcommand="$word"
break
fi
done
echo "$subcommand"
}
# shellcheck disable=SC2207
_home-manager_completions ()
{
local Options
Options=( "-f" "--file" "-b" "-A" "-I" "-h" "--help" "-n" "--dry-run" "-v" \
"--verbose" "--cores" "--debug" "--impure" "--keep-failed" \
"--keep-going" "-j" "--max-jobs" "--no-substitute" "--no-out-link" \
"-L" "--print-build-logs" "--log-format" \
"--show-trace" "--flake" "--substitute" "--builders" "--version" \
"--update-input" "--override-input" "--experimental-features" \
"--extra-experimental-features" "--refresh")
# ^ « home-manager »'s options.
#--------------------------#
local CurrentWord
CurrentWord="${COMP_WORDS[$COMP_CWORD]}"
# ^ the word currently being completed
local PreviousWord
if [ "$COMP_CWORD" -ge 1 ]
then
PreviousWord="${COMP_WORDS[COMP_CWORD-1]}"
else
PreviousWord=""
fi
# ^ the word to the left of the current word.
#
# e.g. in « home-manager -v -f ./<TAB> »:
#
# PreviousWord="-f"
# CurrentWord="./"
local CurrentCommand
CurrentCommand="$(_home-manager_subcommand)"
#--------------------------#
COMPREPLY=()
case "$CurrentCommand" in
"init")
COMPREPLY+=( $( compgen -W "--switch" -- "$CurrentWord" ) )
COMPREPLY+=( $( compgen -A directory -- "$CurrentWord") )
;;
"remove-generations")
COMPREPLY+=( $( compgen -W "$(_home-manager_list-generation-identifiers)" -- "$CurrentWord" ) )
;;
*)
case "$PreviousWord" in
"-f"|"--file")
COMPREPLY+=( $( compgen -A file -- "$CurrentWord") )
;;
"-I")
COMPREPLY+=( $( compgen -A directory -- "$CurrentWord") )
;;
"-A")
# shellcheck disable=SC2119
COMPREPLY+=( $( compgen -W "$(_home-manager_list-nix-attributes)" -- "$CurrentWord") )
;;
*)
if [[ ! $CurrentCommand ]]; then
COMPREPLY+=( $( compgen -W "${_hm_subcommands[*]}" -- "$CurrentWord" ) )
fi
COMPREPLY+=( $( compgen -W "${Options[*]}" -- "$CurrentWord" ) )
;;
esac
;;
esac
#--------------------------#
}
##################################################
complete -F _home-manager_completions -o default home-manager
#complete -W "help edit option build switch generations remove-generations expire-generations packages news" home-manager
+73
View File
@@ -0,0 +1,73 @@
#!/bin/env fish
##################################################
# « home-manager » command-line fish completion
#
# © 2021 "Ariel AxionL" <i at axionl dot me>
#
# MIT License
#
##################################################
### Functions
function __home_manager_generations --description "Get all generations"
for i in (home-manager generations)
set -l split (string split " " $i)
set -l gen_id $split[5]
set -l gen_datetime $split[1..2]
set -l gen_hash (string match -r '\w{32}' $i)
echo $gen_id\t$gen_datetime $gen_hash
end
end
### SubCommands
complete -c home-manager -n "__fish_use_subcommand" -f -a "help" -d "Print home-manager help"
complete -c home-manager -n "__fish_use_subcommand" -f -a "edit" -d "Open the home configuration in $EDITOR"
complete -c home-manager -n "__fish_use_subcommand" -f -a "option" -d "Inspect configuration option"
complete -c home-manager -n "__fish_use_subcommand" -f -a "build" -d "Build configuration into result directory"
complete -c home-manager -n "__fish_use_subcommand" -f -a "instantiate" -d "Instantiate the configuration and print the resulting derivation"
complete -c home-manager -n "__fish_use_subcommand" -f -a "switch" -d "Build and activate configuration"
complete -c home-manager -n "__fish_use_subcommand" -f -a "generations" -d "List all home environment generations"
complete -c home-manager -n "__fish_use_subcommand" -f -a "packages" -d "List all packages installed in home-manager-path"
complete -c home-manager -n "__fish_use_subcommand" -f -a "news" -d "Show news entries in a pager"
complete -c home-manager -n "__fish_use_subcommand" -f -a "uninstall" -d "Remove Home Manager"
complete -c home-manager -n "__fish_use_subcommand" -x -a "remove-generations" -d "Remove indicated generations"
complete -c home-manager -n "__fish_seen_subcommand_from remove-generations" -f -ka '(__home_manager_generations)'
complete -c home-manager -n "__fish_use_subcommand" -x -a "expire-generations" -d "Remove generations older than TIMESTAMP"
### Options
complete -c home-manager -F -s f -l "file" -d "The home configuration file"
complete -c home-manager -x -s A -d "Select an expression in the configuration file"
complete -c home-manager -F -s I -d "Add a path to the Nix expression search path"
complete -c home-manager -F -l "flake" -d "Use Home Manager configuration at specified flake-uri"
complete -c home-manager -F -s b -d "Move existing files to new path rather than fail"
complete -c home-manager -f -s v -l "verbose" -d "Verbose output"
complete -c home-manager -f -s n -l "dry-run" -d "Do a dry run, only prints what actions would be taken"
complete -c home-manager -f -s h -l "help" -d "Print this help"
complete -c home-manager -f -s h -l "version" -d "Print the Home Manager version"
complete -c home-manager -x -l "arg" -d "Override inputs passed to home-manager.nix"
complete -c home-manager -x -l "argstr" -d "Like --arg but the value is a string"
complete -c home-manager -x -l "cores" -d "Threads per job (e.g. -j argument to make)"
complete -c home-manager -x -l "debug"
complete -c home-manager -x -l "impure"
complete -c home-manager -f -l "keep-failed" -d "Keep temporary directory used by failed builds"
complete -c home-manager -f -l "keep-going" -d "Keep going in case of failed builds"
complete -c home-manager -x -s j -l "max-jobs" -d "Max number of build jobs in parallel"
complete -c home-manager -x -l "option" -d "Set Nix configuration option"
complete -c home-manager -x -l "builders" -d "Remote builders"
complete -c home-manager -f -s L -l "print-build-logs" -d "Print full build logs on standard error"
complete -c home-manager -x -l "log-format" -d "Set the format of log output"
complete -c home-manager -f -l "show-trace" -d "Print stack trace of evaluation errors"
complete -c home-manager -f -l "substitute"
complete -c home-manager -f -l "no-substitute"
complete -c home-manager -f -l "no-out-link"
complete -c home-manager -f -l "update-input"
complete -c home-manager -f -l "override-input"
complete -c home-manager -f -l "experimental-features"
complete -c home-manager -f -l "extra-experimental-features"
complete -c home-manager -f -l "refresh" -d "Consider all previously downloaded files out-of-date"
+85
View File
@@ -0,0 +1,85 @@
#compdef home-manager
local state ret=1
_arguments \
'-A[attribute]:ATTRIBUTE:()' \
'-I[search path]:PATH:_files -/' \
'-b[backup files]:EXT:()' \
'--flake[flake-uri]:PATH:_files -/' \
'--cores[cores]:NUM:()' \
'--debug[debug]' \
'--impure[impure]' \
'--keep-failed[keep failed]' \
'--keep-going[keep going]' \
'--version[version]' \
'(-h --help)'{--help,-h}'[help]' \
'(-v --verbose)'{--verbose,-v}'[verbose]' \
'(-n --dry-run)'{--dry-run,-n}'[dry run]' \
'(-f --file)'{--file,-f}'[configuration file]:FILE:_files' \
'(-j --max-jobs)'{--max-jobs,-j}'[max jobs]:NUM:()' \
'--option[option]:NAME VALUE:()' \
'--builders[builders]:SPEC:()' \
'(-L --print-build-logs)'{--print-build-logs,-L}'[print build logs]' \
'--log-format[log format]:FORMAT:()' \
'--show-trace[show trace]' \
'--override-input[override flake input]:NAME VALUE:()' \
'--update-input[update flake input]:NAME:()' \
'--experimental-features[set experimental Nix features]:VALUE:()' \
'--extra-experimental-features:[append to experimental Nix features]:VALUE:()' \
'1: :->cmds' \
'*:: :->args' && ret=0
case "$state" in
cmds)
_values 'command' \
'help[help]' \
'edit[edit]' \
'option[inspect option]' \
'build[build]' \
'init[init]' \
'switch[switch]' \
'generations[list generations]' \
'remove-generations[remove generations]' \
'expire-generations[expire generations]' \
'packages[managed packages]' \
'news[read the news]' \
'uninstall[uninstall]' && ret=0
;;
args)
case $line[1] in
remove-generations)
_values 'generations' \
$(home-manager generations | cut -d ' ' -f 5) && ret=0
;;
build|switch)
_arguments \
'--cores[cores]:NUM:()' \
'--flake[flake-uri]:PATH:_files -/' \
'--debug[debug]' \
'--impure[impure]' \
'--keep-failed[keep failed]' \
'--keep-going[keep going]' \
'--max-jobs[max jobs]:NUM:()' \
'--no-out-link[no out link]' \
'--no-substitute[no substitute]' \
'--option[option]:NAME VALUE:()' \
'--log-format[log format]:FORMAT:()' \
'--show-trace[show trace]' \
'--substitute[substitute]' \
'--builders[builders]:SPEC:()' \
'--refresh[refresh]' \
'--override-input[override flake input]:NAME VALUE:()' \
'--update-input[update flake input]:NAME:()' \
'--experimental-features[set experimental Nix features]:VALUE:()' \
'--extra-experimental-features:[append to experimental Nix features]:VALUE:()'
;;
init)
_arguments \
'--switch[switch]' \
':PATH:_files -/'
;;
esac
esac
return ret
+68 -23
View File
@@ -1,34 +1,79 @@
{ pkgs
{
runCommand,
lib,
bash,
callPackage,
coreutils,
findutils,
gettext,
gnused,
jq,
less,
ncurses,
inetutils,
# used for pkgs.path for nixos-option
pkgs,
# Extra path to Home Manager. If set then this path will be tried
# before `$HOME/.config/nixpkgs/home-manager` and
# `$HOME/.nixpkgs/home-manager`.
, path ? null
# Path to use as the Home Manager channel.
path ? null,
}:
let
pathStr = if path == null then "" else path;
nixos-option =
pkgs.nixos-option or (callPackage (pkgs.path + "/nixos/modules/installer/tools/nixos-option") { });
in
pkgs.stdenv.mkDerivation {
name = "home-manager";
buildCommand = ''
install -v -D -m755 ${./home-manager} $out/bin/home-manager
runCommand "home-manager"
{
preferLocalBuild = true;
nativeBuildInputs = [ gettext ];
meta = {
mainProgram = "home-manager";
description = "A user environment configurator";
maintainers = [ lib.maintainers.rycee ];
platforms = lib.platforms.unix;
license = lib.licenses.mit;
};
}
''
install -v -D -m755 ${./home-manager} $out/bin/home-manager
substituteInPlace $out/bin/home-manager \
--subst-var-by bash "${pkgs.bash}" \
--subst-var-by coreutils "${pkgs.coreutils}" \
--subst-var-by less "${pkgs.less}" \
--subst-var-by HOME_MANAGER_PATH '${pathStr}'
'';
--subst-var-by bash "${bash}" \
--subst-var-by DEP_PATH "${
lib.makeBinPath [
coreutils
findutils
gettext
gnused
jq
less
ncurses
nixos-option
inetutils # for `hostname`
]
}" \
--subst-var-by HOME_MANAGER_LIB '${../lib/bash/home-manager.sh}' \
--subst-var-by HOME_MANAGER_PATH '${pathStr}' \
--subst-var-by OUT "$out"
meta = with pkgs.stdenv.lib; {
description = "A user environment configurator";
maintainers = [ maintainers.rycee ];
platforms = platforms.unix;
license = licenses.mit;
};
}
install -D -m755 ${./completion.bash} \
$out/share/bash-completion/completions/home-manager
install -D -m755 ${./completion.zsh} \
$out/share/zsh/site-functions/_home-manager
install -D -m755 ${./completion.fish} \
$out/share/fish/vendor_completions.d/home-manager.fish
install -D -m755 ${../lib/bash/home-manager.sh} \
"$out/share/bash/home-manager.sh"
for path in ${./po}/*.po; do
lang="''${path##*/}"
lang="''${lang%%.*}"
mkdir -p "$out/share/locale/$lang/LC_MESSAGES"
msgfmt -o "$out/share/locale/$lang/LC_MESSAGES/home-manager.mo" "$path"
done
''
+912 -165
View File
File diff suppressed because it is too large Load Diff

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