59 Commits
Author SHA1 Message Date
sinavirandGitHub 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 PakandGitHub 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 BagabasandRobert Helgesson 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 LovandRobert Helgesson 471e3eb0a1 git: add option to provide difftastic package 2024-09-01 10:42:46 +02:00
Léo DUBOINandGitHub 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
VwCSXgandRobert Helgesson 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
Emily 36a53d9f26 treewide: convert all option docs to Markdown
This process was automated by [my fork of `nix-doc-munge`]. All
conversions were automatically checked to produce the same DocBook
result when converted back, modulo minor typographical/formatting
differences on the acceptable-to-desirable spectrum.

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 \
    {} +
  $ ./format

[my fork of `nix-doc-munge`]: https://github.com/emilazy/nix-doc-munge/tree/home-manager
2023-07-17 18:40:56 +01:00
Emily e04de5b308 treewide: mkPackageOption -> mkPackageOptionMD 2023-07-17 16:49:35 +01:00
Emily 9e4a73c25e treewide: convert custom enable docs to Markdown
`nix-doc-munge` can't tell what's going on with this pattern, so I
just handled them all manually.
2023-07-17 16:49:35 +01:00
Sebastian EstrellaandRobert Helgesson e21ec3db17 git: add delta.package option
This makes it possible to conveniently customize the `delta` package.

PR #3897
2023-04-23 20:02:28 +02:00
Sylvain FankhauserandGitHub 547a3bc8d4 git: allow tags to be unsigned when signing.signByDefault=true (#3479) 2023-03-02 12:27:57 +01:00
Maximilian BoschandGitHub 635bbcdd6f modules/git: make options passed to less(1) for diff-so-fancy configurable (#3704)
The `-X` prevents that screen is cleared when showing a diff that's
larger than my screen.

I.e. when running `git diff` and press `q`, the last thing I want to see
is the prompt with `git diff` and *not* the part of the diff I browsed,
to be clear

    $ git diff
    $ <cursor>

Considering that this is somewhat opinionated, I decided to build an
option which allows you to pass arbitrary commands to the less
invocation.
2023-02-27 13:04:46 +01:00
Loïc ReynierandGitHub 2f62da9837 git: unset pager while using difftastic (#3633) 2023-02-02 02:58:17 +01:00
Mario RodasandRobert Helgesson b5c083300b treewide: fix typos 2022-12-05 12:58:02 +01:00
Charlie MoogandRobert Helgesson 340ec22f6f git: add config helper for hooks 2022-09-08 11:05:07 +02:00
Lily FosterandRobert Helgesson 140aaed3df git: gpg sign tags with signing.signByDefault set
The `tag.gpgSign` config option was added in Git 2.23.0 and seems like
it should be set in addition to `commit.gpgSign` when
`programs.git.signing.signByDefault` is enabled
2022-09-05 14:52:39 +02:00
Ronny PfannschmidtandGitHub 5bb1f67568 git: add option to define store names for generated include files (#3171)
This allows to use gitconfig/gitconfig-some-intent
as store path suffixes for the texts.
2022-08-26 15:48:50 -04:00
CongeeandRobert Helgesson 0639aa34f1 git: add option to set difftastic display setting 2022-07-12 10:48:26 +02:00
Arjan SchrijverandRobert Helgesson 5872aad1d0 git: add option to use diff-so-fancy as diff tool
Add the option to use diff-so-fancy as diff tool in git. This makes
the shown diffs human readable instead of machine readable.
2022-05-02 23:08:08 +02:00
Roch D'AmourandGitHub 0382c5f75e git: Add option to use difftastic as diff tool (#2850)
Difftastic is a syntax-aware diff tool which can be used with git.
2022-04-04 08:53:29 -06:00
Naïm FavierandRobert Helgesson bd11e2c5e6 Replace usage of literalExample
Instead use the new function `literalExpression`. See

  https://github.com/NixOS/nixpkgs/pull/136909
2021-10-13 00:16:10 +02:00
Luka T. KorošecandGitHub 8d68dbd144 doc: Add an example for a git includes section (#2275)
This adds an example for the `programs.git.includes.*.contents` section
since it was a bit ambiguous as to what kind of format it expects.
2021-08-17 16:12:00 -04:00
Matthew LeachandRobert Helgesson 5515ec99cc email: allow null certificatesFile
Allow the value of certificatesFile to be null.

Also fixup uses of this variable.

Fixes: #2206
2021-08-10 00:12:13 +02:00
Viacheslav LotsmanovandGitHub cc60c22c69 programs.git: make signing key id be optional (#1886)
* Git: Make signing key id be optional

Thus by default the signing key is selected by commit’s author.

* Git: Add tests for config with and without signing key id
* Git: Format tests for signing key
* Git: Remove default value (null) for signing key
* Git: Update description for signing key
2021-04-05 14:28:36 +02:00
Dany MarcouxandGitHub f30b62a74d git: install delta when it's enabled (#1866) 2021-03-18 18:32:50 -04:00
Andrew FontaineandGitHub 39e4991856 git: Add configured SSL certificate for SMTP (#1833)
If you have a custom SSL certificate configured for SMTP TLS, git should
use it.
2021-03-03 21:24:19 -05:00
Andrew FontaineandGitHub f45c7000d5 git: correct value of envelopeSender for msmtp (#1838)
The value should be "auto", not `true`.

Also fix news entry.
2021-02-28 20:42:44 +01:00
Andrew FontaineandGitHub aa479b0124 git: rely on msmtp for smtp if msmtp is enabled (#1829)
If a user using msmtp to send all their email, it would be preferred if
git used it as well.

The only settings necessary are to set the smtp server to the msmtp
binary and set envelop sender to true, which makes git call msmtp with
the -f flag to set the from address from the email.
2021-02-28 16:06:11 +01:00
Robert Helgesson 8f24ed4c7f git: fix attribute paths
This fixes some attribute paths to match recent changes in Nixpkgs.
2021-01-20 18:58:35 +01:00
Nicolas Berbiche 44f9d68d8c treewide: replace attrs by formats or types.anything 2020-11-29 21:54:55 -05:00
Andrew FontaineandRobert Helgesson baea46c5ac git: set SSL if useStartTls is false
The git-send-email [0] script uses StartTLS if `smtpEncryption` is set
to `tls`, which can break services that don't support StartTLS.

[0]: https://github.com/git/git/blob/bd42bbe1a46c0fe486fc33e82969275e27e4dc19/git-send-email.perl#L1533

PR #1395
2020-08-13 21:36:31 +02:00
Mario RodasandGitHub 4bd0ca2cd7 git: configure delta through [delta] git section (#1371)
this breaks backwards compatibility (now accepts a dict instead of a list) so please update
programs.git.delta.options accordingly.
2020-07-20 17:03:40 +02:00
Mario RodasandRobert Helgesson cba7b6ee6e git: add basic support for delta
PR #1198
2020-05-05 00:12:58 +02:00
Robert Helgesson 642d9ffe24 git: escape string values in configuration
This should handle the special characters that typically occur.

Fixes #1206
2020-05-01 00:50:58 +02:00
zimbatmandRobert Helgesson 9a1feb5b10 git: fix the config output formatting
When setting values using the `git config --set` command, git formats
the file a bit differently. This changes the output so it maps to that
format.

Differences:

* each `key = value` in a section is prefixed by a tab character
* the `=` between the key and the value is surrounded by spaces

PR #1069
2020-03-07 12:02:20 +01:00
Robert Helgesson 45abf3d38a Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
Mario RodasandMatthieu Coudron bb5c29107e git: add attributes support 2019-09-26 22:11:01 +09:00
Robert Helgesson a28614e65d git: deprecate extraConfig as string 2019-08-30 14:50:10 +02:00
Robert Helgesson 55b71223d4 Fix option defaultText when referencing packages
By using `literalExample` the documentation will show the option
default without surrounding quotes.
2019-08-28 00:14:22 +02:00
arcnmxandRobert Helgesson 95382060eb git: support nested section options
Closes #614
2019-07-04 16:51:28 +02:00
arcnmxandRobert Helgesson 472d7731d6 git: support multiple values
Closes #614
2019-07-04 16:51:24 +02:00
arcnmxandRobert Helgesson 52692e299d git: make userName and userEmail options optional 2019-03-17 20:46:00 +01:00
Mario RodasandRobert Helgesson 6da88339f5 git: allow contents in git.includes 2019-02-17 22:28:15 +01:00
Robert Helgesson 1cdb8abf30 git: add basic support for LFS
Fixes #542
2019-02-10 00:51:16 +01:00
Robert Helgesson 445c0b1482 git: use attrsOf instead of attrs
This makes sure that values added to

    programs.git.aliases

or

    programs.git.extraConfig

are merged as expected.

Also add a few option examples.
2019-02-01 01:12:58 +01:00
Robert Helgesson 45cadbd4f3 git: quote sendemail section header
This will allow, e.g., the character `@` in the email identity.

Also adds a test case.

Fixes #557
2019-01-29 18:28:55 +01:00
Matthieu CoudronandRobert Helgesson a68c8cf5f1 git: generate identities from mail accounts 2019-01-29 00:13:21 +01:00
Tad FisherandRobert Helgesson 6dc4f31ba1 git: add 'includes' option 2018-04-19 17:45:09 +02:00
Florian KlinkandRobert Helgesson c718951e97 git: add option 'programs.git.ignores'
This allows the global Git ignores to be configured.
2017-11-12 14:22:59 +01:00