diff options
-rw-r--r-- | hosts/muhammed/home/dev-utils/default.nix | 1 | ||||
-rw-r--r-- | pkgs/default.nix | 4 | ||||
-rw-r--r-- | pkgs/vemf-unwrapped/default.nix | 29 | ||||
-rw-r--r-- | pkgs/vemf/default.nix | 10 |
4 files changed, 44 insertions, 0 deletions
diff --git a/hosts/muhammed/home/dev-utils/default.nix b/hosts/muhammed/home/dev-utils/default.nix index 486d7ca..f7de33f 100644 --- a/hosts/muhammed/home/dev-utils/default.nix +++ b/hosts/muhammed/home/dev-utils/default.nix @@ -28,6 +28,7 @@ crystal nim guile + vemf # Rust ecosystem rustc diff --git a/pkgs/default.nix b/pkgs/default.nix index d0efcc3..c8b08a7 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -17,6 +17,10 @@ pkgs: { pbv = pkgs.callPackage ./pbv {}; + vemf-unwrapped = pkgs.callPackage ./vemf-unwrapped {}; + + vemf = pkgs.callPackage ./vemf {}; + # TODO: These should be contained in the 'vimPlugins' attrset. This turns out # to be non-trivial because this module is both consumed in a flake output # context and an overlay context. diff --git a/pkgs/vemf-unwrapped/default.nix b/pkgs/vemf-unwrapped/default.nix new file mode 100644 index 0000000..12e3ac2 --- /dev/null +++ b/pkgs/vemf-unwrapped/default.nix @@ -0,0 +1,29 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, +}: +rustPlatform.buildRustPackage { + pname = "vemf-unwrapped"; + version = "12-06-2024"; # date of commit + + src = fetchFromGitHub { + owner = "selaere"; + repo = "vemf"; + rev = "3a3798cbdfacfe35465b90a831e1214907f6a5e2"; + hash = "sha256-7mmphu2XUwwsCUxqrXN2x5B4FEgZM2ZYyvWlZQiPoao="; + }; + + cargoHash = "sha256-h8TOs7r3S1U3RuJwLv5X5SSaVliKsAYDf/QpjEfdBHw="; + + # The actual interpreter is only built when the 'bin' feature is enabled. + # See: https://github.com/selaere/vemf/tree/3a3798cbdfacfe35465b90a831e1214907f6a5e2?tab=readme-ov-file#building + noDefaultFeatures = true; + buildFeatures = ["bin"]; + + meta = with lib; { + description = "not good golfing programming language"; + license = licenses.mit; + homepage = "https://selaere.github.io/vemf/doc/docs.html"; + }; +} diff --git a/pkgs/vemf/default.nix b/pkgs/vemf/default.nix new file mode 100644 index 0000000..3578ce1 --- /dev/null +++ b/pkgs/vemf/default.nix @@ -0,0 +1,10 @@ +# This isn't the actual definition of the derivation for the Vemf interpreter +# – that is found under vemf-unwrapped. This is just a wrapper script. +{ + writeShellScriptBin, + vemf-unwrapped, + rlwrap, +}: +writeShellScriptBin "vemf" '' + exec -a vemf ${rlwrap}/bin/rlwrap ${vemf-unwrapped}/bin/vemf "$@" +'' |