Commit Graph

102 Commits

Author SHA1 Message Date
Cédric Prezelin
693e8ce0fb git: add allowedSigners option 2026-09-03 21:09:37 -05:00
Austin Horstman
165228b0ef launchd: restore gui domain defaults
User-domain agents are not rediscovered from the user LaunchAgents directory after reboot. Let built-in agents inherit the GUI default while keeping explicit user-domain configuration available.
2026-07-15 10:29:26 -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
John Lewis
866412a198 git: use absolute paths for git-lfs in config
This allows the git config to be used by programs that have git
installed natively and where other programs access git but don't have
the nix path available, so cannot access git-lfs.
2026-05-18 21:21:03 -05:00
Austin Horstman
a89686d115 git: avoid implicit signing config
Fixes #6630
2026-05-04 11:53:44 -05:00
Austin Horstman
e09259dd2e git: clean up literalExpression 2026-04-23 12:13:58 -05:00
Austin Horstman
30db803c98 git: support ordered settings fragments
Allow programs.git.settings to keep its existing attrset shorthand while also accepting an ordered list of fragments for repeated sections and order-sensitive config. Cover the new list form with a focused Git config snapshot test.
2026-04-23 12:13:58 -05:00
Austin Horstman
b92cad188c git: warn on signing format default change
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>
2026-03-22 11:46:51 -05:00
nescias
258db1d39b git: respect programs.msmtp.package
Since the user may override `programs.msmtp.package` using
`pkgs.msmtp` as the sendmail binary might result in the wrong package
being used.
2026-02-12 16:42:39 -06:00
Léana 江
715e6d7f89 programs.git: fix assertion message inconsistency 2026-02-04 21:43:38 -06:00
Hanwen Guo
36817384a6 programs/git: package nullable
Some platforms (e.g. macOS) provide their customized version of git with
exclusive features, and user might want to use that instead.
2025-12-05 23:03:42 -06:00
Austin Horstman
a709427248 git: aliases / user options -> settings
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-19 10:24:15 -05:00
Austin Horstman
ac7c05a90c git: extraConfig -> settings
Remove string support and convert to rfc42 settings option

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-19 10:24:15 -05:00
Austin Horstman
bb7bb23583 git: reorganize
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-19 10:24:15 -05:00
Austin Horstman
b695586f92 riff: new module
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-19 10:24:15 -05:00
Austin Horstman
c80be80282 patdiff: new module
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-19 10:24:15 -05:00
Austin Horstman
2e527427b1 git: add git-lfs package option
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-19 10:24:15 -05:00
Austin Horstman
111329b475 difftastic: new module
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-19 10:24:15 -05:00
Austin Horstman
7a10f175db diff-so-fancy: new module
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-19 10:24:15 -05:00
Austin Horstman
7d03d5fb73 diff-highlight: new module
Break out diff-highlight into its own module.

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
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
Adam Dinwoodie
dbfcd3292d accounts.email: add option to disable an account
Allow a user to disable an email account by setting
`accounts.email.accounts.<name>.enable = false`.  This is useful if
someone wants to configure email accounts globally but only use them in
certain circumstances.

Everywhere email account configuration is used, check if the account is
enabled before checking any attributes of the account.
2025-08-07 14:08:46 -05:00
Austin Horstman
86402a17b6 treewide: flatten single file modules
Some files don't need nesting and can be root level again to reduce
conflicts with other PRs.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-23 16:20:26 -05:00
Austin Horstman
4fca600cb1 treewide: implement auto importing for modules
Reduce maintenance burden and increase efficiency by automatically
importing modules following a specific convention.

Co-authored-by: awwpotato <awwpotato@voidq.com>
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Plume
2ede089d11 git: configure patdiff through [patdiff] git section (#6978)
This adds the ability to enable the patdiff program as git differ.
Website of the project: https://opensource.janestreet.com/patdiff/
2025-05-08 08:15:51 -05:00
Josh Heinrichs
42d90297b3 git: support maintenance on darwin (#6868) 2025-04-21 14:25:57 -07:00
Austin Horstman
cba2f9ce95 treewide: reformat nixfmt-rfc-style
Reformat repository using new nixfmt-rfc-style.
2025-04-08 08:50:05 -07:00
Austin Horstman
0b491b460f treewide: remove with lib (#6735)
Continuation of `with lib;` cleanup.
2025-03-31 22:32:16 -05:00
Austin Horstman
f1d4acaa10 treewide: use mkPackageOption (#6727) 2025-03-29 11:48:55 -05:00
Manuel
908e055e15 git: option to use difftastic as difftool (#5335)
I want `git diff` to stay the same, but `git difftool` to use
difftastic, as described in the difftastic docs:
https://difftastic.wilfred.me.uk/git.html#regular-usage
2025-03-24 09:19:19 -05:00
Vonfry
6f71acf71b git: apply sendmailCmd instead of smtpServer (#6399)
In manpage of git-send-email --smtp-server,

    For backward compatibility, this option can also specify
    full pathname of a sendmail-like program instead; the program
    must support the -i option. This method does not support
    passing arguments or using plain command names. For those use
    cases, consider using --sendmail-cmd instead.
2025-03-04 22:46:31 +01:00
Seth Flynn
3b6550f710 git: add option to use riff as diff tool (#5748)
https://github.com/walles/riff
2025-02-22 19:43:56 -06:00
Sumner Evans
f4f6dd2698 git: fix setting format on >=25.05 (#6480)
Signed-off-by: Sumner Evans <me@sumnerevans.com>
Co-authored-by: Immae <immae@users.noreply.github.com>
2025-02-17 12:02:24 -06:00
Austin Horstman
5c5697b82a git: support not configuring signing.format (#6478) 2025-02-17 03:00:03 -08:00
Sizhe Zhao
e5bc9c2af1 git: reduce priority of signing.format (#6465) 2025-02-16 13:55:03 -06:00
sinavir
8bc5e4c9b2 git-maintenance: More details in the documentation
Signed-off-by: Sumner Evans <me@sumnerevans.com>
2025-02-15 14:36:13 -07:00
Austin Horstman
6d3163aea4 git: change stateVersion check for compatiblity (#6453)
Original change was created before 24.11 release. We are in 25.05 now.
2025-02-14 16:21:52 -06:00
Sizhe Zhao
7da01bc47a git: support alternate signing methods (#5516)
The Git module now supports SSH and X.509 signing in addition to
OpenPGP/GnuPG, via setting the `programs.git.signing.format` option.
It defaults to `openpgp` for now as a backwards compatibility measure,
but I feel like we shouldn't enforce GPG as the default on everyone,
especially for people who use SSH signing like me.

Accordingly, `programs.git.signing.gpgPath` has been renamed to
`programs.git.signing.signer`, as now the signer binary is not
restricted to GnuPG. Users should only get a warning and everything
should continue to work.

Fixes #4221, supersedes #4235

Co-authored-by: Mario Rodas <marsam@users.noreply.github.com>
Co-authored-by: Sumner Evans <me@sumnerevans.com>
Co-authored-by: Leah Amelia Chen <hi@pluie.me>
2025-02-14 11:47:27 -07:00
Hoang Nguyen
dae6d3460c git: add default value null to programs.git.signing.key (#6032) 2025-02-01 17:52:06 +01:00
Austin Horstman
cb985acc3c git: add khaneliman maintainer 2025-01-30 13:42:37 -06:00
sinavir
2c6a9b3ccf git: fix maintenance service
Call to git-maintenance in the systemd user service was using a
erroneous value for exec-path flag. Removing the flag is fine.
2024-11-03 12:29:02 +01:00
Perchun Pak
65ae9c1473 git: add module for git maintenance (#5772)
Adds module for git-scm.com/docs/git-maintenance.
2024-10-11 14:48:52 +02:00
Ayman Bagabas
43845d04f8 git: add diff-highlight diff pager option
This adds a new diff-highlight option to make use of the simple
included git diff highlighter that comes with canonical git.

For more info, see https://github.com/git/git/blob/master/contrib/diff-highlight/README
2024-09-14 01:38:40 +02:00
Alex Lov
471e3eb0a1 git: add option to provide difftastic package 2024-09-01 10:42:46 +02:00
Léo DUBOIN
2b87a11125 git: add realName inside From field
We currently have no way of specifying the sender's name inside the
From field, making a patch sent through `git send-email` appear as
coming from "xxx@domain.com".

In this commit we make this field follow the standard

    realName <email>

format.
2024-05-06 08:17:53 +02:00
VwCSXg
feb7006159 git: replace gitToInit with lib function
Remove the function gitToInit and underlying functions in favor of using
the function lib.generators.toGitINI from nixpkgs.
2023-09-18 23:57:36 +02:00
Emily
9f9e277b60 treewide: remove now-redundant lib.mdDoc calls
These (and the `*MD` functions apart from `literalMD`) are now no-ops
in nixpkgs and serve no purpose other than to add additional noise and
potentially mislead people into thinking unmarked DocBook documentation
will still be accepted.

Note that if backporting changes including documentation to 23.05,
the `mdDoc` calls will need to be re-added.

To reproduce this commit, run:

    $ NIX_PATH=nixpkgs=flake:nixpkgs/e7e69199f0372364a6106a1e735f68604f4c5a25 \
      nix shell nixpkgs#coreutils \
      -c find . -name '*.nix' \
      -exec nix run -- github:emilazy/nix-doc-munge/98dadf1f77351c2ba5dcb709a2a171d655f15099 \
      --strip {} +
    $ ./format
2023-07-17 18:49:09 +01:00