- Configuration file is now placed in XDG_CONFIG_HOME/codex/config.toml by default for versions >=0.2.0 when preferXdgDirectories is enabled.
- Falls back to ~/.codex/config.yaml for versions <0.2.0 and to ~/.codex/config.toml when preferXdgDirectories is disabled
- Sets CODEX_HOME environment variable to $XDG_CONFIG_HOME/codex when using XDG directories.
- Updated tests to verify XDG directory behavior and environment variable presence.
One of the most annoying things is finding the test you want to run and
executing it, manually. Created a python script to leverage fuzzy
finding our available test outputs to execute with the CI commands.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
We need to catch the news entry issues sooner. Right now we don't have
any testing around them.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Creating a sherlock module for the sherlock launcher. Prefer a file be
controlled by a single option and using settings for the main config
file.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Create the programs/nix-search-tv module, with options to enable,
change settings, and television integration.
Co-authored-by: awwpotato <awwpotato@voidq.com>
adjusting the tmux lines for setting the prefix.
previously the prefix option would be set in the prefix key table, causing it to not register correctly.
- updated tests
It was a bit too ambitious to also remove production of the gcroot, we
need it to keep track of the currently active Home Manager
configuration.
Fixes#7583
Allow easily seeing what tests are involved in a chunk so you can
identify tests -> chunks easily.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
- Add basic-service.nix test for caffeine service configuration
- Test systemd service generation with proper graphical-session.target
integration
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
- Add basic-service.nix test for default gnome-keyring configuration
- Add custom-components.nix test for pkcs11, secrets, and ssh components
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Adds tests to ensure that the services are still created correctly and the correct deprecation warnings are shown
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Adds tests to verify that the configuration files and services were created sucessfully, even in a no configuration case
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Warn users when they configure a relative path. We want to encourage
using absolute paths and env variables.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
We currently only need the tests covered by test-chunks in CI. We will
migrate more tests into the buildbot CI, as we are able to flesh them
out more.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
We have lots of tests and would like to add more. However, adding more
testing coverage comes at the cost of a slower CI when we run them
sequentially. This adds test outputs that are chunked however we'd like
to tune for batch sizes. Allowing us to create a parallelized CI
workflow.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Previously, a stateVersion check for 20.03 determined whether or not the input to
`programs.zsh.history.path` would be prepended with `$HOME`. However, this was not
communicated in the documentation, which stated the version check determined whether
the default histfile location would be in `programs.zsh.dotDir` or
`home.homeDirectory`.
The current change simplifies matters and brings path handling in-line with that of
the preceding work on dotDir path handling. If a relative path is provided, it is
parsed as being relative to `home.homeDirectory`. Both absolute and relative paths
are supported, and are cleaned before being passed to other functions.
Tests have been rewritten for the new logic, with case handling for reusability.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Previously, `config.programs.zsh.dotDir` prepended strings with `$HOME`.
This caused issues like nix-community#5100, where `$HOME` is
inconsistently resolved in time for the evaluation of the option. The handling
of this variable is also inconsistent with how paths are handled elsewhere,
including within the same module, where `config.programs.zsh.history.path`
does not mutate the supplied string.
To preserve backwards compatibility, this change prepends
`config.home.homeDirectory` to relative paths, while assigning absolute paths
unchanged. Tests for both cases are added.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
- Automatically include "$schema": "https://opencode.ai/config.json" in the generated
opencode config.json file
- Update documentation to mention the added schema property
- Add corresponding "$schema" entry in test config.json file for validation purposes
Closes#7506
- Introduce `rules` option to provide global custom instructions for opencode
- Write `rules` content to `~/.config/opencode/AGENTS.md` if non-empty
- Update tests to cover presence and absence of `AGENTS.md` file with rules content
This commit deprecates profile management from the activation script.
The profile management is instead the responsibility of the driving
software, for example, the `home-manager` tool in the case of
standalone installs.
The legacy behavior is still available for backwards compatibility but
may be removed in the future.
The new behavior resolves (or moves us closer to resolving) a number
of long standing open issues:
- `home-manager switch --rollback`, which performs a rollback to the
previous Home Manager generation before activating. While it was
previously possible to accomplish this by activating an old
generation, it did always create a new profile generation.
This option has been implemented as part of this commit.
- `home-manager switch --specialisation NAME`, which switches to the
named specialisation. While it was previously possible to accomplish
this by manually running the specialisation activate script, it did
always create a new profile generation.
This option has been implemented as part of this commit.
- `home-manager switch --test`, which activates the configuration but
does not create a new profile generation.
This option has _not_ been implemented here since it relies on the
current configuration being activated on login, which we do not
currently do.
- When using the "Home Manager as a NixOS module" installation method
we previously created an odd `home-manager` per-user "shadow
profile" for the user. This is no longer necessary.
This has been implemented as part of this commit.
Fixes#3450