about summary refs log tree commit diff
diff options
context:
space:
mode:
authoraszlig <aszlig@nix.build>2022-12-11 14:45:30 +0100
committeraszlig <aszlig@nix.build>2022-12-11 16:58:36 +0100
commita78bc76e23284e207cc9e3bc71510e74e6a62c69 (patch)
tree5811cbb5c1e88325278c26508aafa32451465b42
parent858411f799af46f77862c0be3a12f7c64caefce3 (diff)
Rename vim_configurable to vim-full
The "vim_configurable" derivation has had a long history in nixpkgs back
then when there was no RFC process and where people still were figuring
out better ways on how to configure compile-time flags.

One of those was a composableDerivation function, which was used for
"vim_configurable" and mapped attribute sets to autoconf-flags, so that
for example if there was a "--enable-foo" flag you could just use
something like:

  vim_configurable.merge { cfg.fooSupport = true; }

You'd then get a Vim with "--enable-foo" passed to configureFlags.

However, the composableDerivation feature was too complicated and was
ultimately removed at some point. While it does allow for things such as
introducing new "edf" (stands for Enable Disable Feature and maps the
autoconf flags mentioned above to attribute sets) flags, the complexity
that comes with that system is way too large than using something like
eg.:

  vim-full.overrideAttrs (drv: {
     configureFlags = (drv.configureFlags or []) ++ [ "--enable-foo" ];
  })

While this looks more verbose than the above, one can easily follow
what's happening, whereas if you'd need to add and enable a new "edf"
flag, you'd do something like this:

  vim_configurable.merge {
     flags = composableDerivation.edf { name = "foo"; };
     cfg.fooSupport = true;
  }

I admit that this does look a little nicer, but even I'm not sure
whether it's worth adding so much complexity since in practice I rarely
came across a sitation where something like the above would be really
beneficial.

So back then when "vim_configurable" was introduced[1], it was used as
an alternative to the main vim derivation but using composableDerivation
instead.

Nowadays however, vim_configurable no longer uses composableDerivation
and the rename also doesn't change any features, so I think it's safe to
rename vim_configurable to vim-full in Vuizvui.

[1]: https://github.com/NixOS/nixpkgs/commit/9a4e9e7a3b4014bb3c9f678ec22d254b85c4c98a
[2]: https://github.com/NixOS/nixpkgs/commit/4e5ebcc3ed1de9c5c2001c7d5829f4566e0bde3f

Signed-off-by: aszlig <aszlig@nix.build>
Cc: @Profpatsch
Cc: @devhell
-rw-r--r--machines/profpatsch/pkgs.nix2
-rw-r--r--pkgs/aszlig/default.nix4
-rw-r--r--pkgs/devhell/vim/default.nix2
3 files changed, 4 insertions, 4 deletions
diff --git a/machines/profpatsch/pkgs.nix b/machines/profpatsch/pkgs.nix
index 02a4b9df..330ed1c2 100644
--- a/machines/profpatsch/pkgs.nix
+++ b/machines/profpatsch/pkgs.nix
@@ -14,7 +14,7 @@ let
 
   beets = pkgs.beets.override { enableAlternatives = true; };
 
-  vim = pkgs.vim_configurable;
+  vim = pkgs.vim-full;
 
   fast-init = pkgs.haskellPackages.callPackage (import "${(pkgs.fetchFromGitHub {
     owner = "Profpatsch";
diff --git a/pkgs/aszlig/default.nix b/pkgs/aszlig/default.nix
index 55f73762..976e48fc 100644
--- a/pkgs/aszlig/default.nix
+++ b/pkgs/aszlig/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, vim_configurable, gopass, mutt, xterm, radare2, rustfmt }:
+{ callPackage, vim-full, gopass, mutt, xterm, radare2, rustfmt }:
 
 {
   aacolorize = callPackage ./aacolorize { };
@@ -15,6 +15,6 @@
   pvolctrl = callPackage ./pvolctrl { };
   radare2 = callPackage ./radare2 { inherit radare2; };
   rustfmt = callPackage ./rustfmt { inherit rustfmt; };
-  vim = callPackage ./vim { vim = vim_configurable; };
+  vim = callPackage ./vim { vim = vim-full; };
   xterm = callPackage ./xterm { inherit xterm; };
 }
diff --git a/pkgs/devhell/vim/default.nix b/pkgs/devhell/vim/default.nix
index 35f8c1ec..493ece01 100644
--- a/pkgs/devhell/vim/default.nix
+++ b/pkgs/devhell/vim/default.nix
@@ -1,6 +1,6 @@
 { pkgs ? import <nixpkgs> {} }:
 
-pkgs.vim_configurable.overrideAttrs (drv: {
+pkgs.vim-full.overrideAttrs (drv: {
   vimrc = pkgs.vimUtils.vimrcFile {
     packages.myplugins = with pkgs.vimPlugins; {
       start = [