Extract tmuxinator from tmux.nix into its own programs/tmuxinator.nix
module. The new module adds:
- programs.tmux.tmuxinator.package for customising the tmuxinator package
- programs.tmux.tmuxinator.projects for declaring projects declaratively;
each project is written to $HOME/.config/tmuxinator/<name>.yaml
Co-authored-by: Austin Horstman <khaneliman12@gmail.com>
atool is a commandline archive manager that uses packages like gnutar,
p7zip, unrar, and zip as backends for viewing, creating, and extracting
their corresponding archive formats.
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.