Several of the `floorp` tests were broken by the upstream switch to
`floorp-bin`. Most changes were to do with not being able to use
`programs.floorp.wrappedPackageName` in expected results.
Use `command` (POSIX) and `^` (Nushell) to prevent recursive function
calls when `cfg.shellWrapperName` is set to "yazi".
Previously, if `cfg.shellWrapperName` was set to "yazi", the invocation
of `yazi` within the shell integration function triggered the function
itself instead of the binary. This name conflict prevents users from
using the binary name as-is when shell integration is enabled.
Hence, fix this by using shell-specific mechanisms to target the
underlying executable, bypassing any name collisions.
This aligns with the official documentation:
- 2c839b37c8/docs/quick-start.md (L29)
- 2c839b37c8/docs/quick-start.md (L56)
* 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
pimsync: ensure local storage directories exist
Unfortunately pipsync will throw an error if it trys to write into a
nonexistant local storage directory. This patch ensures that all local
storage directories are present for accounts with pimsync enabled.
* pimsync: use tmpfiles to create storage dirs
* pimsync: fix tests
* pimsync: only use tmpfiles on linux
* pimsync: format
* pimsync: use mkdir to create storage dirs if systemd is not available
- restructure module from `podman-linux` to platform-agnostic `podman`
- move linux-specific implementation to `modules/services/podman/linux/`
- add darwin module with declarative machine management
- implement launchd-based watchdog for auto-starting machines
- maintains backward compatibility with existing linux functionality
Adds support for custom tools - user-defined functions that the LLM can
call during conversations. Custom tools work alongside opencode's built-in
tools and are configured through the new `tools` option.
The configuration follows the same pattern as other opencode settings like
`agents` and `commands`, supporting:
- Inline TypeScript content
- Individual file paths
- Bulk directory imports
The `commands`, `agents`, and `themes` options now accept either an
attribute set (existing behavior) or a path to a directory containing
multiple files. When a directory path is provided, it is symlinked to
the appropriate `$XDG_CONFIG_HOME/opencode/` subdirectory.
This change aligns with the existing `skills` option implementation and
provides a more convenient way to manage multiple configuration files
without needing to define each one individually in Nix.
Migrates from the deprecated toCommandLine to toCommandLineGNU.
This changes the output format to use GNU-style options with equals
(--wheel-lines=3). Both formats were verified to work correctly with less.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
This is where unit files are expected to be, making GPU setup compatible
with things like selinux. Fixes#8438. The `resources/` directory was
kept because it is expected to be used in the future.
Migrates from the deprecated toCommandLineShell to toCommandLineShellGNU.
This changes the output format to use GNU-style concatenated options
(--color=always) with shell escaping for git config values. Both formats
were verified to work correctly with difftastic.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Migrates from the deprecated toCommandLineShell to toCommandLineShellGNU.
This changes the output format from space-separated short options
(-c /path) to concatenated GNU-style options (-c/path). Both formats
were verified to work correctly with redshift and gammastep.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Migrates from the deprecated toGNUCommandLineShell to toCommandLineShellGNU.
This changes the output format from space-separated short options
(-t 3500) to concatenated GNU-style options (-t3500). Both formats
were verified to work correctly with wlsunset.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Replace deprecated lib.cli.toGNUCommandLine with lib.cli.toCommandLineGNU.
Should support the GNU style of convention.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Migrates from the deprecated toCommandLineShell to toCommandLineShellGNU.
This changes the output format to use GNU-style concatenated options
(--line-height=28) and adds shell escaping for values with special
characters (e.g., '#1e1e2e' becomes '--ab=#1e1e2e'). The format
was verified to work correctly with bemenu.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Stopping or restarting the service will destroy open Ghostty sessions,
potentially disrupting work. This change ensures that we leave the
existing service untouched.
Fixes#8485
Update the expected results to match changes in the podman generator
and fix not importing the podman stub overlay with module import
behind `mkIf` introduced in #6905.
- charset option doesn't exist. The correct option name is display-charset.
- fixed-list-mode option is always used and thus obsolete since GNUPG 2.0.10.
- use-agent is a dummy option. gpg will always requires the agent.
Adds support for OpenCode Agent Skills by managing skill definitions
under "/opencode/skill/<name>/SKILL.md" via `programs.opencode.skills`.
Documentation: https://opencode.ai/docs/skills/
Adds support for
section = [
"abc"
{ a = 123; }
];
Which gets generated to
section=abc
section {
a=123
}
This is very useful with the new windowrule syntax, where you can
create anonymous window rules as strings and named rules as attribute
sets. See <https://wiki.hypr.land/Configuring/Window-Rules/>.
also assert when overriding accounts. I had overriden settings when
testing this module, forgot about it and then wondered why my email
accounts were ignored.
Generally best to avoid telling normal users to adjust their
stateVersion to avoid other home-manager module logic changes based on
stateVersion.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Fixes issue where dotDir with trailing slash caused failures.
Refactors lib.nix to use raw paths internally, fixing issues with spaces
in paths.
Updates history.path logic to correctly handle raw absolute paths.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>