1
0
Fork 0
mirror of https://github.com/LnL7/nix-darwin.git synced 2025-03-05 08:17:01 +00:00
nix-darwin/modules/lib/write-text.nix

61 lines
1 KiB
Nix
Raw Normal View History

2017-01-02 20:55:06 +01:00
{ lib, mkTextDerivation }:
{ config, name, ... }:
with lib;
let
fileName = file: last (splitString "/" file);
mkDefaultIf = cond: value: mkIf cond (mkDefault value);
drv = mkTextDerivation (fileName name) config.text;
2017-01-02 20:55:06 +01:00
in
{
options = {
enable = mkOption {
type = types.bool;
default = true;
2024-04-14 23:02:32 +02:00
description = ''
2017-01-02 20:55:06 +01:00
Whether this file should be generated.
This option allows specific files to be disabled.
'';
};
text = mkOption {
type = types.lines;
default = "";
2024-04-14 23:02:32 +02:00
description = ''
2017-01-02 20:55:06 +01:00
Text of the file.
'';
};
target = mkOption {
type = types.str;
default = name;
2024-04-14 23:02:32 +02:00
description = ''
2017-01-02 20:55:06 +01:00
Name of symlink. Defaults to the attribute name.
'';
};
source = mkOption {
type = types.path;
2024-04-14 23:02:32 +02:00
description = ''
2017-01-02 20:55:06 +01:00
Path of the source file.
'';
};
knownSha256Hashes = mkOption {
internal = true;
type = types.listOf types.str;
default = [];
};
2017-01-02 20:55:06 +01:00
};
config = {
2017-01-05 23:23:59 +01:00
source = mkDefault drv;
2017-01-02 20:55:06 +01:00
};
}