kakounePlugins: add aliases for old names

This commit is contained in:
Flakebi 2021-01-04 01:11:33 +01:00
parent f8cc77fc57
commit 30f9fd98f9
No known key found for this signature in database
GPG Key ID: 38E7ED984D7DCD02
3 changed files with 51 additions and 2 deletions

@ -0,0 +1,46 @@
# Deprecated aliases - for backward compatibility
lib: overriden:
with overriden;
let
# Removing recurseForDerivation prevents derivations of aliased attribute
# set to appear while listing all the packages available.
removeRecurseForDerivations = alias: with lib;
if alias.recurseForDerivations or false then
removeAttrs alias ["recurseForDerivations"]
else alias;
# Disabling distribution prevents top-level aliases for non-recursed package
# sets from building on Hydra.
removeDistribute = alias: with lib;
if isDerivation alias then
dontDistribute alias
else alias;
# Make sure that we are not shadowing something from
# all-packages.nix.
checkInPkgs = n: alias: if builtins.hasAttr n overriden
then throw "Alias ${n} is still in kakounePlugins"
else alias;
mapAliases = aliases:
lib.mapAttrs (n: alias: removeDistribute
(removeRecurseForDerivations
(checkInPkgs n alias)))
aliases;
deprecations = lib.mapAttrs (old: info:
throw "${old} was renamed to ${info.new} on ${info.date}. Please update to ${info.new}."
) (builtins.fromJSON (builtins.readFile ./deprecated.json));
in
mapAliases ({
kak-auto-pairs = auto-pairs-kak; # backwards compat, added 2021-01-04
kak-buffers = kakoune-buffers; # backwards compat, added 2021-01-04
kak-fzf = fzf-kak; # backwards compat, added 2021-01-04
kak-powerline = powerline-kak; # backwards compat, added 2021-01-04
kak-prelude = prelude-kak; # backwards compat, added 2021-01-04
kak-vertical-selection = kakoune-vertical-selection; # backwards compat, added 2021-01-04
} // deprecations)

@ -1,4 +1,4 @@
{ callPackage, kakouneUtils }:
{ callPackage, config, kakouneUtils, lib }:
let
@ -18,6 +18,8 @@ let
inherit buildKakounePluginFrom2Nix;
};
aliases = lib.optionalAttrs (config.allowAliases or true) (import ./aliases.nix lib plugins);
in
plugins
plugins // aliases

@ -0,0 +1 @@
{}