Commit graph

7005 commits

Author SHA1 Message Date
Austin Horstman
2f3da3d45f launchd: fix user domain agents
User-domain agents need the Background session type to bootstrap into user/501, and activation should fail rather than silently unloading services when launchctl bootstrap fails.
2026-06-30 23:39:07 -05:00
Amadej Kastelic
2a37d71bbe herdr: add module 2026-06-30 12:14:44 -05:00
Matej Blagšič
5d72a29fc3
hyprpaper: add system target option
Adding option `systemdTarget` to hyprpaper to match other
wayland/hyprland modules. This allows easy fixup of startup dependencies
for the service, depending on system.
2026-06-29 11:13:51 -05:00
Austin Horstman
8f096963ae maintainers: regenerate all-maintainers
Regenerate the combined maintainer list with the lock-aware extractor so migrated nixpkgs maintainers and Home Manager source labels are correct.
2026-06-29 11:12:43 -05:00
Austin Horstman
7042d2b31b lib/nix: use locked nixpkgs for maintainer extraction
Importing <nixpkgs> tied extraction to the caller's NIX_PATH. When that
channel lacks a maintainer referenced through `with lib.maintainers`
(such as sherlock's `_74k1`, which exists in the locked nixpkgs but not
in an older channel), evaluation fails outright and the generated list
varies by machine. Resolve nixpkgs from flake.lock so extraction matches
what Home Manager builds with.

Also classify maintainers by identity (github/name) rather than attribute
name so renamed entries like `_9p4` still match, and correct the
arguments passed to the manual derivation so its maintainer is collected.
2026-06-29 11:12:43 -05:00
Austin Horstman
9eec3ef087 maintainers: remove quoted names in set
Prefer underscore to match nixpkgs.
2026-06-29 11:12:43 -05:00
Austin Horstman
789a35fbde maintainers: remove duplicate maintainers 2026-06-28 22:04:23 -05:00
dependabot[bot]
2c661cc960 flake: bump nixpkgs from 3e41b24 to 89570f2
Bumps [nixpkgs](https://github.com/NixOS/nixpkgs) from `3e41b24` to `89570f2`.
- [Commits](3e41b24abd...89570f24e9)

---
updated-dependencies:
- dependency-name: nixpkgs
  dependency-version: 89570f24e97e614aa34aa9ab1c927b6578a43775
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-28 22:04:23 -05:00
Felix Stupp
1cba40f931
vscode: refactor profile paths to use unified profileDir helper
Refactor code to remove duplicated code. The location of the profile directory dependent on the profile name was duplicated over several locations. This PR unifies this into one single helper function profileDir.
2026-06-28 21:50:51 -05:00
Felix Stupp
abeeea1221
vscode: fix userMcp option example syntax
literalExample with JSON code is wrong, changed to direct Nix attr
2026-06-28 21:50:04 -05:00
Jure Varlec
4ad9aaae70 generic-linux-gpu: add EGL support for Nvidia 2026-06-28 09:30:28 -05:00
Joshua Ferguson
8d8a6cc50d gpg: make package optional 2026-06-26 20:08:58 -05:00
Peter Bittner
6eba758fee uv: prune Python versions and tools by diff
The prune option uninstalled all managed Python versions (and tools)
and reinstalled them on every activation, which is slow. Instead,
resolve each requested version to the install target uv would produce
and uninstall only the difference; already-correct versions are left
untouched. Resolving to the install target (not every installed match)
also prunes superseded patch releases, which uv retains on upgrade.

Tools are diffed by PEP 503-normalized package name: requested names
are extracted and normalized at build time, and the installed set is
read from uv's tool directory, whose entries are already normalized, so
no uv output is parsed. Pruning to an empty set still removes everything.
2026-06-26 20:08:04 -05:00
Vinicius Deolindo
5d320ab301 fzf: source nushell integration after carapace 2026-06-25 16:45:22 -05:00
Austin Horstman
19d7472aca codex: reorganize module files
Move option definitions and helper functions into dedicated files while keeping module assembly in default.nix.
2026-06-25 14:21:12 -05:00
Austin Horstman
2ebe9c0fe7 codex: sanitize plugin cache paths
Use sanitized plugin name and version components for cache targets while preserving manifest names in Codex config.
2026-06-25 14:21:12 -05:00
Austin Horstman
64221f9c87 codex: add lifecycle hooks option
Manage CODEX_HOME/hooks.json directly while covering the generated file in the existing TOML test.
2026-06-25 14:21:12 -05:00
Austin Horstman
1c64122e70 codex: add context override file
Expose AGENTS.override.md declaratively and cover it in the existing TOML generation test.
2026-06-25 14:21:12 -05:00
Austin Horstman
01e23f497c codex: update upstream config reference
Use the current Codex configuration docs URL and snake_case model provider keys in examples and fixtures.
2026-06-25 14:21:12 -05:00
Austin Horstman
9e3e1d95be codex: add maintainer khaneliman 2026-06-25 14:21:12 -05:00
Austin Horstman
3d8f49f360 alacritty: normalize key binding escape sequences
`pkgs.formats.toml` escapes backslashes and cannot emit raw control
characters, so key-binding `chars` written as escape text (e.g.
"\uXXXX" or the "\^[" caret form) ended up as invalid literals in the
generated config. Rewrite each escape to a placeholder before
generation and restore it to "\u" afterward.

Use `builtins.split` so escapes are handled anywhere in the value,
including when repeated or mixed with other text.
2026-06-25 14:20:58 -05:00
Josef Hofer
085e92b04a github-copilot-cli: preserve args for local-type MCP servers
forCopilotFormat only checked for type == "stdio" to add back args,
missing the case where a server already has type = "local" (e.g. set
directly by a third-party module). This caused args to be absent in the
generated mcp-config.json, failing validation.

Also, running forCopilotFormat as an extraTransform meant it ran inside
transformMcpServer, which then filtered out args = [] in its cleanup
pass. Move forCopilotFormat to run after transformMcpServer so the
empty args list is preserved in the output.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-25 14:16:07 -05:00
Dionisie Stratulat
3b3ff17621
firefox: legacyUserProfileCustomizations when userChrome is present
When a user configures the userChrome option, automatically enable the
`toolkit.legacyUserProfileCustomizations.stylesheets` preference with
`mkDefault` priority so that the user chrome CSS is actually loaded.
The user can still override this in the settings option if needed.
2026-06-25 14:15:06 -05:00
r-vdp
3a70e333f2 fish: extract completion generator from the fish binary
fish 4.8.0 stops installing share/fish/tools/ and embeds the script
in the binary instead. Instead we use `status get-file` to extract it,
which works for fish >= 4.1.

See NixOS/nixpkgs#534907.
2026-06-24 22:36:00 -05:00
Austin Horstman
a9232b8b10 launchd: use user domain for background agents
Move non-graphical Darwin services out of the GUI launchd domain so they can be managed from non-Aqua contexts such as SSH sessions.
2026-06-24 20:38:38 -05:00
Austin Horstman
dc89b0c0bb launchd: add agent domain option
Allow Darwin LaunchAgents to target either the GUI or user launchd domain while preserving gui as the compatibility default.
2026-06-24 20:38:38 -05:00
Austin Horstman
062581938b claude-code: reject disabled mcp servers instead of dropping
Filtering disabled shared servers out of `.mcp.json` (#9457) collapsed
"present but disabled" and "absent" into the same output, so a server
set
`enabled = false` for OpenCode could no longer remain present in Claude
Code. `.mcp.json` has no per-server `enabled` field, but settings.json
does via `disabledMcpjsonServers`.

Keep disabled servers in `.mcp.json` and list them under
`disabledMcpjsonServers` (merged with any user-set value). This honors
the
disabled intent without dropping the server, and covers both shared and
Claude Code-native servers.
2026-06-23 11:54:25 -05:00
Benedikt Rips
1ac720f007 home: document the 'home.profileDirectory' default 2026-06-23 11:11:50 -05:00
ReStranger
d6b7bf1695 hyprland-qt-support: add news entry
Signed-off-by: ReStranger <restranger@disroot.org>
2026-06-23 11:10:25 -05:00
ReStranger
16fdc3504e hyprland-qt-support: add test case
Signed-off-by: ReStranger <restranger@disroot.org>
2026-06-23 11:10:25 -05:00
ReStranger
83c0e03687 hyprland-qt-support: init module 2026-06-23 11:10:25 -05:00
Bruno BELANYI
4b0b947474 zsh: add 'fastSyntaxHighlighting' 2026-06-23 08:09:29 -05:00
leiserfg
471a1d2f84 news: Add devenv entry 2026-06-22 17:14:11 -05:00
leiserfg
6cb9da2a4d devenv: init module 2026-06-22 17:14:11 -05:00
leiserfg
351959fcdb fzf: Add tests 2026-06-22 15:17:52 -05:00
leiserfg
cb6bcc43e7 fzf: add nushell integration 2026-06-22 15:17:52 -05:00
mikaeladev
af11a877f2 nvibrant: add module 2026-06-22 13:55:29 -05:00
Austin Horstman
66eb0fc116 docs: clarify new module news conditions
Clarify that new-module news should remain visible to users who have not enabled the new module yet.
2026-06-22 12:35:03 -05:00
leiserfg
979bfee6e1 vicinae: add firefox mesaging host 2026-06-22 08:19:19 -05:00
Austin Horstman
d8dac1f668 ci: build docs in buildbot output
GitHub Actions runners lack a reusable /nix/store, so rendering the full
manual, options JSON, and manpages on every docs PR pays that cost
uncached. buildbot has a persistent store, so expose the docs outputs
there instead and leave the GHA docs step at the lightweight maintainers
check.
2026-06-21 23:44:06 -05:00
Austin Horstman
f3dc0b8583 docs: update platform module guidance
Program and service modules are auto-imported now, so contributor docs should point platform-specific work at guarded module behavior and tests instead of loadModule.
2026-06-21 22:58:48 -05:00
Austin Horstman
db97e414d5 docs: describe embedded module integration
Document the extra module arguments, shared modules hook, and NixOS activation modes so embedded Home Manager setup matches the current integration code.
2026-06-21 22:51:39 -05:00
Austin Horstman
e731ff60ec docs: correct test command guidance
Document list and run commands separately, keep test runner usage through the flake wrapper, and avoid stale legacy full-suite commands.
2026-06-21 22:43:01 -05:00
Austin Horstman
e45cc6e15a docs: fix manpage path
The generated home-configuration manpage is not compressed, so point contributors at the file that docs.manPages actually creates.
2026-06-21 22:20:43 -05:00
Austin Horstman
8f3bc61192 news: remove duplicate module announcements
Drop sparse duplicate entries for amberol and mpdscribble while keeping the richer platform-gated announcements.
2026-06-21 22:07:39 -05:00
Austin Horstman
5bf17310cf docs: preserve legacy manual links
Generate XHTML-safe redirect shims that route old single-page manual anchors to their mdBook pages.
2026-06-21 22:02:16 -05:00
Thierry Delafontaine
d1ccd0721e news: add podman registries v2 entry 2026-06-21 09:20:14 -05:00
Thierry Delafontaine
e3e24bfd0f podman: generate v2 registries.conf
Convert `services.podman.settings.registries` output to v2 format.
Keep legacy `insecure` and `block` inputs, add `registry` entries,
and warn when legacy options are used.

Update podman configuration tests and expected registries.conf output.

Resolves #9501
2026-06-21 09:20:14 -05:00
Austin Horstman
78e7d8b13e ci: checkout base ref for backports
Checkout v7 still treats the pull_request_target default ref as fork PR code, so pin the backport checkout to the trusted base SHA.
2026-06-20 16:06:13 -05:00
Austin Horstman
ee6b160bcb ci: avoid fork head checkout in backport
Checkout v7 blocks fork PR head checkouts in pull_request_target workflows, so keep backport on the trusted base checkout and let the backport action fetch PR commits itself.
2026-06-20 16:01:01 -05:00