The gtk4 theme option still inherits from gtk.theme for users pinned
before 26.05, but that fallback was previously silent. Move the
default through the shared state-version helper so the compatibility
branch emits the standard deprecation warning and stays consistent
with other future cleanups.
Add a focused test that covers the legacy inheritance path alongside
the existing current-state-version test for the null default.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Switch xdg.userDirs.setSessionVariables to the shared state-version default helper so older configurations get an explicit warning before the legacy default is removed.
Add focused tests for the legacy and current branches to verify that the session variable exports remain enabled before 26.05 and are disabled by default starting at 26.05.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Add an optional session setting so that session names can be different
than the smug project name. This also enables using template variables
when naming sessions.
To make it easier for contributors to customize their entry: it's easier
to remove the comments (or not since they wont be seen anyway) then
searching for those examples.
Adds support for configuring Firefox's handlers.json file to
manage MIME type and URL scheme handlers declaratively (at
`programs.firefox.profiles.<profile>.handlers`). Handlers control
how Firefox opens files and protocols (e.g., PDF viewers,
`mailto:` handlers).
The use-xdg-base-directories Nix setting can be set globally in
/etc/nix/nix.conf, in which case Home Manager doesn't know about it.
Users could fix that by also setting it, redundantly, in `nix.settings`,
but then Nix issues a lot of spurious warnings about
use-xdg-base-directories being a restricted setting that untrusted users
can't pass on to the daemon.
As an alternative, users can now set `nix.assumeXdg`, which makes Home
Manager assume that use-xdg-base-directories is in effect without adding
it to the user's nix.conf file.
Adds Home Manager module for Tirith, a shell security monitor.
The module supports:
- Shell integration for Bash, Fish, and Zsh
- Allowlist configuration for bypassing Tirith analysis
- Policy configuration for customizing security behavior
E.g., use `MISC` instead of `XDG_MISC_DIR`, the same way `xdg-user-dirs-update`
works.
This is conditionalized on 26.05, so in future `XDG_MISC_DIR` will be disallowed.
This flag allows Chrome to dynamically link to QT in order to introspect
your Plasma theme and make Chrome match.
Note, you may still need to add this entry to your home-manager config:
```
home.sessionVariables = [
QT_QPA_PLATFORMTHEME = "kde";
];
```
turns out I forgot to remove the now unnecessary wrapper arguments in
https://github.com/nix-community/home-manager/pull/8606.
This meant that `xdg.configFile."nvim/init.lua".enable = false` was
enough to fix the user issues but this should not be the case anymore.
On Darwin, launchd may attempt to start agents before the Nix store is
mounted and available. This leads to failures when the agent's executable
or arguments reside in the Nix store.
This change wraps the agent's command in a shell script that uses
/bin/wait4path to ensure /nix/store is ready before executing the
original program. It also ensures that ProgramArguments are correctly
escaped and concatenated.
so we dont have to add some nix store path to rtp in the wrapper.
Makes the setup more in line with what neovim users are used to.
Also it means other neovim GUIs can see the plugins without wrapping.
A first version of this PR conflicted with existing
~/.local/share/nvim/site folders but this should be fine as it makes
only a subfolder readonly.
I am able to mix rocks.nvim/vim.pack vim packages along with the
home-manager one for instance.
* systemd: add `packages` option
The `systemd.user.packages` option is the Home Manager equivalent of
NixOS’s `systemd.packages` option and provides a way to specify packages
providing systemd user units.
This option is similar to `dbus.packages`.
* systemd: only create the parent directory if there are packages to symlink