1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-12-24 18:59:47 +01:00

fish: functions type to attrsOf lines, load by text

Functions in fish are now defined in terms of adding the appropriate
files and `files.text` sets to `xdg.configFile`.
This commit is contained in:
Ryan Orendorff 2019-09-23 22:00:23 -07:00 committed by Robert Helgesson
parent 3de8102e7f
commit d45e1c4adc
No known key found for this signature in database
GPG key ID: 36BDAA14C2797E89

View file

@ -127,14 +127,12 @@ in
};
programs.fish.functions = mkOption {
type = types.attrsOf (fileType (name: body: ''
function ${name}
${body}
end
''));
type = types.attrsOf types.lines;
default = {};
example = { gitignore = "curl -sL https://www.gitignore.io/api/$argv"; };
description = ''
Functions to add to fish.
Basic functions to add to fish. For more information see
<link xlink:href="https://fishshell.com/docs/current/commands.html#function"/>.
'';
};
@ -253,7 +251,14 @@ in
end
'';
} {
xdg.configFile = map (n: { target = "fish/functions/${n}.fish"; source = cfg.functions.${n}.source; }) (attrNames cfg.functions);
xdg.configFile = mapAttrs' (f_name: f_body: {
name = "fish/functions/${f_name}.fish";
value = {"text" = ''
function ${f_name}
${f_body}
end
'';};
}) cfg.functions;
} (
let
wrappedPkgVersion = lib.getVersion pkgs.fish;