1
0
mirror of https://github.com/nix-community/home-manager synced 2024-07-02 11:28:32 +02:00
home-manager/modules/programs/darcs.nix
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

53 lines
1.2 KiB
Nix

{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.darcs;
in {
meta.maintainers = with maintainers; [ chris-martin ];
options = {
programs.darcs = {
enable = mkEnableOption (lib.mdDoc "darcs");
package = mkPackageOption pkgs "darcs" { };
author = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "Fred Bloggs <fred@example.net>" ];
description = lib.mdDoc ''
If this list has a single entry, it will be used as the author
when you record a patch. If there are multiple entries, Darcs
will prompt you to choose one of them.
'';
};
boring = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "^.idea$" ".iml$" "^.stack-work$" ];
description = lib.mdDoc "File patterns to ignore";
};
};
};
config = mkIf cfg.enable (mkMerge [
{ home.packages = [ cfg.package ]; }
(mkIf (cfg.author != [ ]) {
home.file.".darcs/author".text =
concatMapStrings (x: x + "\n") cfg.author;
})
(mkIf (cfg.boring != [ ]) {
home.file.".darcs/boring".text =
concatMapStrings (x: x + "\n") cfg.boring;
})
]);
}