Commit graph

84 commits

Author SHA1 Message Date
Austin Horstman
ac351d435a tests/news: add new test for news entries
We need to catch the news entry issues sooner. Right now we don't have
any testing around them.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-08-06 00:11:26 -05:00
Benedikt Rips
74b4edc2d2 fontconfig: add options for font rendering 2025-08-05 14:05:43 -05:00
Adam Dinwoodie
f7a45b0831
nix: use-sandbox -> sandbox (#7475)
The Nix configuration file sandbox setting is now "sandbox", not
"use-sandbox".  Correct the documentation and tests that reference this
setting.
2025-07-15 10:22:11 -05:00
Austin Horstman
47443585fe tests/gtk: refactor and organize
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-11 11:53:47 -05:00
Austin Horstman
18ff4e1e11 tests/gtk: expand testing for new customization
We can now customize a lot more in the gtk module. Test more scenarios
to ensure a user has more control over what gets generated.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-11 11:53:47 -05:00
Austin Horstman
d9915499e3 gtk: refactor to support more modular customization
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-11 11:53:47 -05:00
Rosario Pulella
f9186c64fc
Revert "fontconfig: Fix missing default fontconfig files (#7045)" (#7103)
This reverts commit 65d2282ff6.
2025-05-21 20:04:44 -05:00
Rosario Pulella
65d2282ff6
fontconfig: Fix missing default fontconfig files (#7045)
This adds the fontconfig's default files to
`home-path/etc/fonts/fonts.conf` and `home-path/etc/fonts/conf.d/*`
2025-05-20 08:22:08 -05:00
awwpotato
5da6eafceb
treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
awwpotato
585bae4bbb i18n.inputMethod: align enable option with nixos
see: https://github.com/NixOS/nixpkgs/pull/310708
2025-04-22 20:48:01 -07:00
Austin Horstman
cba2f9ce95 treewide: reformat nixfmt-rfc-style
Reformat repository using new nixfmt-rfc-style.
2025-04-08 08:50:05 -07:00
Olmo Kramer
09280e17bb
xdg-autostart: Add readOnly option (#6629)
When `readOnly` is set to `true` the autostart entries are linked from
a readonly directory in the nix store and `XDG_CONFIG_HOME/autostart` is
a link to that directory, so that programs cannot install arbitrary
autostart services.
2025-03-30 11:22:16 -05:00
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
Austin Horstman
439a125afe
tests: remove with lib (#6511) 2025-02-21 23:20:07 -06: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
Sefa Eyeoglu
9ce5d0b888
xdg-autostart: add module (#5251)
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2025-01-29 18:45:54 -06:00
Robert Helgesson
d00c6f6d0a
nix: simplify tests 2024-12-06 12:24:37 +01:00
Robert Helgesson
6c3a7a0b72
qt: reduce test closure 2024-12-04 10:24:09 +01:00
Timothy Gallion
038630363e
xdg-mime type package options (#5920)
* xdg-mime: allow overrides to shared-mime-info and desktop-file-utils

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

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

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

The xdg-mime module was missing tests so I added basic test for all the
options and checked the basic behavior. It covers ensuring that the
proper files/folders are created and that the package overrides work.
2024-10-07 23:39:24 +02:00
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
Bruno BELANYI
b00bdf59c0
xdg: add option 'xdg.stateFile' 2024-09-06 14:55:36 +02:00
midchildan
8d5e27b480
nix: add a declarative alternative to Nix channels (#4031)
* nix: add options 'nixPath' and 'keepOldNixPath'

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

    nix.keepOldNixPath = false;

* nix: add more tests

* nix: add a declarative alternative to Nix channels

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

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

* nix: add news entry

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

* nix: remove 'with lib;'

---------

Co-authored-by: Michael Hoang <enzime@users.noreply.github.com>
2024-06-13 01:47:38 +00:00
tschai-yim
54e35e0e1c
qt: use warnings API 2024-04-18 23:29:12 +02:00
tschai-yim
b31019d64f
qt: add adwaita platform theme
Fixes #4702 and https://github.com/NixOS/nixpkgs/issues/295345.
2024-04-18 23:25:50 +02:00
Gabriel Fontes
1c2acec999
xdg-portal: align with NixOS module
Nixpkgs has recently made a few major changes to its
xdg-desktop-portal package, which silently breaks our module here:

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

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

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

Long story short, I think it's worth it to make it more similar to the
NixOS one, as it will make behavior more predictable and consistent.
The main change is relying on the upstream linked systemd
unit (instead of using systemd.user.services), and setting the
environment variables globally instead of scoping it to the unit, as
it's a very global thing anyway.
2024-03-20 23:41:55 +01:00
Gabriel Fontes
fcbc70a7ee
xdg-portal: add new module 2024-01-03 20:51:54 +01: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
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
f48a0062df docs: update paths to make manual tests pass 2023-12-07 21:27:38 +09:00
Thiago Kenji Okada
3de857fa7d qt: fix qt.platformTheme = "gtk3" 2023-11-20 20:33:29 +00:00
Thiago Kenji Okada
fff5204e5d qt: fix basic usage when just qt.enable = true is set 2023-11-19 12:39:53 +00:00
Thiago Kenji Okada
3452e14ec7 qt: workaround issue when i18n.inputMethod.enabled = 'fcitx5' 2023-10-18 16:17:32 +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
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
Rodney Lorrimar
3be2abb2e6
i18n: Use glibcLocales from NixOS if possible (#2333) (#4177)
This will reduce the system closure size by about 200MB under NixOS by
sharing the glibcLocales package.

When home-manager is installed on Linux without the NixOS module, all
glibc locales are installed, as before.

Resolves: #2333
2023-07-04 11:28:25 +02:00
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
arcnmx
78ceec68f2
xsession: cleanup systemd variables (#3636) 2023-05-07 23:59:56 +02:00
Naïm Favier
ec06f419af
xdg-desktop-entries: make exec default to null (#3827)
The [specification](https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html)
does not require those keys to be set, and the type reflects that, so
they should default to null.
2023-04-04 10:41:46 +02:00
Naïm Favier
72ce74d3ea
qt: auto-detect style package from name (#3692)
* qt: auto-detect style package from name

* qt: test package auto-detection
2023-02-20 12:30:29 +01:00
Mario Rodas
c59f0eac51
treewide: fix typos (#3618) 2023-01-24 11:30:04 +01:00
Andrew Marshall
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
Loïc Reynier
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
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
Nicolas Berbiche
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
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
polykernel
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