Commit graph

1035 commits

Author SHA1 Message Date
Austin Horstman
2c8b962091 tests/delta: add tests
Create a new set of tests to verify the new module's behavior.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-19 10:24:15 -05:00
Austin Horstman
f436677f5f delta: create new module
Pull out of git module and deprecate old usage.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-19 10:24:15 -05:00
Thierry Delafontaine
6ea30b26cd opencode: make the themes also accept path
- Removed unnecessary empty-themes test.
2025-10-19 09:47:26 -05:00
Thierry Delafontaine
fddb33a1a5 opencode: make the rules option also accept a path 2025-10-19 09:47:26 -05:00
Mirza Arnaut
fc837be107 opencode: add themes option
Add themes option to configure custom themes through nix.
Define a submodule for the settings option, to give the `theme` setting
a description.
2025-10-18 09:21:38 -05:00
Bob van der Linden
ba6aaa0e0a mergiraf: add merge.conflictStyle git configuration
Mergiraf expects merge.conflictStyle to be "diff3" in git. If this isn't
the case, mergiraf cannot operate correctly. This change adds this
option to git's configuration.
2025-10-14 22:59:58 -05:00
liyangau
ed1eb4cfdd fix config file location on macOS and fix test 2025-10-14 17:10:47 -05:00
will
990e5ce679 docker-cli: add docker contexts support
Adds docker-cli.contexts support. This allows declarative configuration
of [docker
contexts](https://docs.docker.com/engine/manage-resources/contexts/).
2025-10-14 12:20:39 -05:00
Austin Horstman
e121f3773f gemini-cli: context support multiple file generation
Support multiple context files since gemini supports configuring
multiple names as supported / looked for.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-12 18:44:04 -05:00
Austin Horstman
5ead1867bb tests/gemini-cli: add context tests
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-12 18:44:04 -05:00
Mirza Arnaut
904fa32d77 vivid: modify themes option with custom nix entries 2025-10-12 13:58:58 -05:00
Aguirre Matteo
f2cda99e4a anvil-editor: add module 2025-10-11 22:14:37 -05:00
Aguirre Matteo
55091079d6 anup: add module 2025-10-11 22:12:56 -05:00
Aguirre Matteo
95419fb985 anime-downloader: add module 2025-10-11 22:12:37 -05:00
Aguirre Matteo
efb5aa7779 andcli: add module 2025-10-11 22:12:09 -05:00
Aguirre Matteo
91daee72ef amp: add module 2025-10-11 22:11:51 -05:00
Austin Horstman
d305eece82 zsh: fix zsh history substring search generation
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-10 16:06:46 -05:00
Austin Horstman
bcccb01d0a tests/firefox: change test case to verify we handle missing addonId
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-10 08:40:00 -05:00
musjj
c7f4214fac firefox: new permission checks for extensions
Add two new options to customize how extension permissions are checked:

- `extensions.exhaustivePermissions`
  Ensures that the permissions requested by all extensions managed by
  home-manager are authorized
- `extensions.exactPermissions`
  When enabled, the user must authorize only the permissions that the
  extensions requests, not more nor less.
2025-10-09 21:06:28 -05:00
Chris
b27e551270 aerc: change stylesets option to reflect the structure aerc expects
Instead of placing all 'stylesets' attribute set values into the 'global'
section this places them in the specified section.
2025-10-09 21:01:58 -05:00
Aguirre Matteo
c6f8669f09 amoco: add module 2025-10-07 11:06:11 -05:00
jaredmontoya
6c5025e2bb tests/dircolors: add nushell integration tests 2025-10-07 11:02:19 -05:00
Aguirre Matteo
40ff79012e amfora: add module 2025-10-07 08:28:39 -05:00
Bruno BELANYI
929535c308 git: difftastic: use 'option' attrset
This will avoid having to enumerate and hard-code default values.
2025-10-06 09:41:50 -05:00
Brian Lyles
7d3d323e90 git: add extraArgs option for difftastic
This option will cover any other arguments that aren't made available
with dedicated options.
2025-10-06 08:06:53 -05:00
Brian Lyles
1652349e57 git: add option for difftastic context
The ability to control the number of contextual lines is a basic
expectation of a diff program, so a dedicated option feels warranted.
2025-10-06 08:06:53 -05:00
Brian Lyles
d328666dba git: add tests for difftastic 2025-10-06 08:06:53 -05:00
Austin Horstman
5b45dcf479 tests/hyprshot: add tests
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-05 17:19:26 -05:00
Austin Horstman
3c3076b1c1 tests/discoss: add tests
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-05 16:38:57 -05:00
Austin Horstman
994d854a4a tests/grep: add tests
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-05 16:22:37 -05:00
Austin Horstman
c2e3f1cacd tests/gcc: add tests
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-05 16:22:37 -05:00
Aguirre Matteo
87570dbc43 am2rlauncher: add module 2025-10-05 14:01:08 -05:00
Aguirre Matteo
2b64e332a0 amber: add module 2025-10-05 14:00:51 -05:00
andre4ik3
5f06ceafc6
vscode: also test unknown package if IFD is enabled 2025-10-04 12:18:56 +02:00
Aguirre Matteo
2126d13d7f aliae: add configLocation option 2025-10-03 19:01:20 -05:00
S0AndS0
bd92e8ee4a asciinema: Add module to configure package
Enabling and defining minimal config file example;

```nix
{
  programs.asciinema = {
    enable = true;
    settings = {
      session.idle_time_limit = 2;
    };
  };
}
```

...  _Should_ result in output `~/.config/asciinema/config.toml` of;

```toml
[session]
idle_time_limit = 2
```

Co-authored-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-03 14:21:22 -05:00
Aguirre Matteo
6bbfe2d697 alistral: add module 2025-10-03 13:36:26 -05:00
Austin Horstman
a42e05d9b1 Revert "fish: support theme plugins"
This reverts commit 5a21f4819e.
2025-10-01 11:17:30 -05:00
Thiago Kenji Okada
6b1b122c1b tests: fix zsh-session-variables test 2025-10-01 09:50:11 -05:00
NovaViper
5a21f4819e fish: support theme plugins
Allows for linking fish plugin theme files to [fish's themes
folder](https://fishshell.com/docs/current/cmds/fish_config.html#theme-files).
Fully allowing for theme plugins to properly be installed declaratively.
Fixes nix-community/home-manager#3724
2025-09-30 14:48:53 -05:00
Aguirre Matteo
10bcab77af aliae: add module 2025-09-30 14:45:48 -05:00
Aguirre Matteo
a65df80783 algia: add module 2025-09-30 14:41:57 -05:00
Thiago Kenji Okada
9e0453a9b0 zsh: source session variable file directly
Right now we load `hm-session-vars.sh` from
`config.home.profileDirectory`, generally resulting in the following
code being generated in `zshenv`:

```
. "/etc/profiles/per-user/<username>/etc/profile.d/hm-session-vars.sh"
```

This is problematic in a few situations. For example, when entering a
`distrobox` environment I got the following error:

```
/home/<username>/.zshenv:.:2: no such file or directory: /etc/profiles/per-user/<username>/etc/profile.d/hm-session-vars.sh
```

Instead, let's point to the path directly to the `/nix/store` by using
`config.home.sessionVariablesPackage` instead. This is more robust and
it is more consistent with other things we source in ZSH.
2025-09-30 07:50:26 -05:00
Aguirre Matteo
580ff74a71 intelli-shell: add module 2025-09-28 19:47:46 -05:00
Austin Horstman
a97df40c19 zsh: envVarsStr fix indentation
Use new indentation support to generate properly indented variables

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-09-28 14:44:14 -05:00
Austin Horstman
2b03dc82bb lib/zsh: revert escapeShellArg in toZshValue
Causes variables to be generated with single ticks breaking shell
expansion.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-09-28 14:44:14 -05:00
S0AndS0
1dbb3fd2f7
radio-active: add module to create config files
Configuration entry similar to;

```nix
programs.radio-active.enable = true;
```

By default `ffplay` is used for recording/playback, but that can be
changed by applying either of the following;

```nix
programs.radio-active.settings.AppConfig.player = "vlc";
programs.radio-active.settings.AppConfig.player = "mpv";
```

All other configuration options documented by;
https://github.com/deep5050/radio-active?tab=readme-ov-file#default-configs
maybe applied under the `AppConfig` attribute set.

Finally, the `aliases` attribute set allows for defining key/value pares
that will generate a `~/.radio-active-alias` of bookmarked stations, for
example something like;

```nix
programs.radio-active.aliases = {
  "Deep House Lounge" = "http://198.15.94.34:8006/stream";
};
```

... will result in;

```
Deep House Lounge==http://198.15.94.34:8006/stream
```

WARN: Darwin hosts may report issues about `pkgs.vlc`

Co-authored-by: Robert Helgesson <robert@rycee.net>
2025-09-28 08:58:42 +02:00
Austin Horstman
26ace005b7 tests/zsh: add comprehensive smart formatting test
Add test to verify intelligent width optimization of shell arrays.
The test demonstrates how formatShellArrayContent packs multiple items
per line
within reasonable width limits rather than one item per line.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-09-27 13:18:01 -05:00
Austin Horstman
3aaf340173 zsh: optimize setOptions with array-based loops
Replace individual setopt statements with array-based loops for cfg.setOptions.
Use lib.hm.zsh.define for consistent array formatting and add unset statements
to clean up temporary variables, improving consistency with other zsh optimizations.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-09-27 13:18:01 -05:00
Austin Horstman
04f672b5db zsh/history: optimize history options with array-based loops
Replace individual setopt/unsetopt statements for history options with efficient
array-based loops. Also optimize history substring search key bindings using
the same pattern. Use lib.hm.zsh.define for consistent array formatting and
add unset statements to clean up temporary variables.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-09-27 13:18:01 -05:00