stockholm/lass/5pkgs/default.nix

39 lines
1.2 KiB
Nix
Raw Normal View History

2018-03-03 15:07:00 +01:00
with import <stockholm/lib>;
self: super: let
2015-08-23 16:51:11 +02:00
2018-03-03 15:07:00 +01:00
# This callPackage will try to detect obsolete overrides.
callPackage = path: args: let
override = super.callPackage path args;
upstream = optionalAttrs (override ? "name")
(super.${(parseDrvName override.name).name} or {});
in if upstream ? "name" &&
override ? "name" &&
compareVersions upstream.name override.name != -1
then
trace
"Upstream `${upstream.name}' gets overridden by `${override.name}'."
override
else override;
2017-11-12 13:04:42 +01:00
2018-03-03 15:07:00 +01:00
subdirsOf = path:
mapAttrs (name: _: path + "/${name}")
(filterAttrs (_: eq "directory") (readDir path));
in {
bank = self.writeDashBin "bank" ''
2017-12-18 18:53:15 +01:00
tmp=$(mktemp)
2018-03-03 15:07:00 +01:00
${self.pass}/bin/pass show hledger > $tmp
${self.hledger}/bin/hledger --file=$tmp "$@"
${self.pass}/bin/pass show hledger | if ${self.diffutils}/bin/diff $tmp -; then
2017-12-18 18:53:15 +01:00
exit 0
else
2018-03-03 15:07:00 +01:00
${self.coreutils}/bin/cat $tmp | ${self.pass}/bin/pass insert -m hledger
2017-12-18 18:53:15 +01:00
fi
2018-03-03 15:07:00 +01:00
${self.coreutils}/bin/rm $tmp
'';
2015-08-23 16:51:11 +02:00
}
2018-03-03 15:07:00 +01:00
// mapAttrs (_: flip callPackage {})
(filterAttrs (_: dir: pathExists (dir + "/default.nix"))
(subdirsOf ./.))