This commit introduces a new option for the Opencode web service to
allow configuring an environment file so that we can safely specify an
`OPENCODE_SERVER_PASSWORD` environment variable to secure access to the
service without exposing the secret to the Nix store.
The systemd service links a generated config, but some users may like
to have it in ~/.config/mpd instead.
This PR helps working around that limitation allowing users to run:
configFile."mpd/mpd.conf".text = config.services.mpd.generatedConfig;
this way one can skip systemd altogether and test mpd more easily in CLI.
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>
* Translate using Weblate (Serbian)
Currently translated at 79.4% (31 of 39 strings)
Translate using Weblate (Serbian)
Currently translated at 75.0% (12 of 16 strings)
Translate using Weblate (Serbian)
Currently translated at 25.0% (4 of 16 strings)
Translate using Weblate (Serbian)
Currently translated at 25.6% (10 of 39 strings)
Translate using Weblate (Serbian)
Currently translated at 6.2% (1 of 16 strings)
Translate using Weblate (Serbian)
Currently translated at 5.1% (2 of 39 strings)
Add translation using Weblate (Serbian)
Add translation using Weblate (Serbian)
Co-authored-by: Marko Milovanov <markomilovanov03@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/sr/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/sr/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
* Translate using Weblate (Serbian)
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/sr/
* Translate using Weblate (Serbian)
Currently translated at 84.6% (33 of 39 strings)
Translation: Home Manager/Home Manager CLI
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/sr/
OpenSSH ssh-agent exits with status 2 when systemd stops it in
non-socket-activated mode.
Home Manager runs ssh-agent that way, so normal user-manager
shutdowns show up as unit failures.
Set SuccessExitStatus=2 for the Linux user service to match
upstream behavior. Startup failures and other unexpected exits
still fail the unit.
Currently enabling aerc in accounts.email.accounts.<account> doesn't handle existing configs where accounts.email.accounts.<account>.notmuch.enable is set to true. This pr proposes to automatically set notmuch as backend for aerc if this is the case, see rjarry/aerc@master/doc/aerc-notmuch.5.scd.
For set-ups where accounts.email.notmuch.enable has been enabled this was previously ignored, so this is probably a breaking change for these configs, but from running this set up during the last weeks I would consider the upside of better search and filtering performance as significantly larger than the minor changes in query handling as noted here rjarry/aerc@master/doc/aerc-notmuch.5.scd#usage.
Currently translated at 25.0% (4 of 16 strings)
Translate using Weblate (Serbian)
Currently translated at 25.6% (10 of 39 strings)
Translate using Weblate (Serbian)
Currently translated at 6.2% (1 of 16 strings)
Translate using Weblate (Serbian)
Currently translated at 5.1% (2 of 39 strings)
Add translation using Weblate (Serbian)
Add translation using Weblate (Serbian)
Co-authored-by: Marko Milovanov <markomilovanov03@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/sr/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/sr/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
Atuin 18.13.0 deprecated `atuin daemon` in favour of `atuin daemon start`
and prints a warning on every daemon startup. Keep the old invocation for
older versions so NixOS stable (currently shipping 18.10.0) keeps working.
Also drop the 18.2.0 minimum version assertion since all supported
nixpkgs branches ship newer versions.
Support extensions without fetchgit, useful when providing the sources
from a flake input or derivation for all extensions.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Allow for configuring marketplaces or individual plugins.
Both are provided as a list of either paths or packages.
The lone plugins are enabled by adding a --plugin-dir argument to the wrapper script.
Marketplaces are saved to the nix store and enabled by adding to the claude settings and known_marketplaces files.
With the marketplace "installed", the plugin can just be enabled via the enabledPlugins setting.
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.
Use the deferred state-version helper mode for programs.password-store.settings
so explicit empty and explicit legacy values silence the warning correctly,
while partial legacy-era settings still inherit PASSWORD_STORE_DIR until the
user resolves the migration.
Add integration coverage for password-store and pass-secret-service to verify
legacy, explicit empty, explicit legacy, and partial-settings behavior.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Extend mkStateVersionOptionDefault so merged attrset callers can defer
warning emission to config.warnings while still exposing the effective
state-version default and option priority metadata.
Add dedicated lib tests for deferred warning behavior on both legacy and
current state versions.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Handle per-skill values that come through as store-path strings, such as fetcher outputs with subdirectories appended. This restores the previously working pattern for packaged skill directories and adds a regression test for both directory and file sources.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
The default value for programs.git.signing.format changed in 25.05
from an implicit "openpgp" to null. Keep the existing gated
mkOptionDefault behavior so the signing block only materializes when
other signing settings are in use, but route the versioned value and
static docs text through the shared state-version helper.
Add a focused current-state-version test that covers a non-empty
signing configuration with no explicit format, alongside the existing
legacy implicit-openpgp and explicit-format tests.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>