feat(packages): add fennel
and fennel-ls
Built using `dream2nix`, based on my (reo101) forks of both projects
This commit is contained in:
parent
ee8d85a568
commit
b35e6362a0
2 changed files with 120 additions and 0 deletions
55
pkgs/fennel-ls/default.nix
Normal file
55
pkgs/fennel-ls/default.nix
Normal file
|
@ -0,0 +1,55 @@
|
|||
{ config
|
||||
, lib
|
||||
, dream2nix
|
||||
, ...
|
||||
}: {
|
||||
imports = [
|
||||
dream2nix.modules.dream2nix.mkDerivation
|
||||
];
|
||||
|
||||
deps = { nixpkgs, ... }: {
|
||||
# Fetchers
|
||||
inherit (nixpkgs)
|
||||
fetchFromGitHub
|
||||
;
|
||||
|
||||
# Build inputs
|
||||
lua = nixpkgs.luajit;
|
||||
fennel = config.deps.lua.pkgs.fennel;
|
||||
};
|
||||
|
||||
name = "fennel-ls";
|
||||
version = "0.1.2-dev";
|
||||
|
||||
mkDerivation = {
|
||||
src = config.deps.fetchFromGitHub {
|
||||
owner = "reo101";
|
||||
repo = config.name;
|
||||
rev = "3099ba016b346696b8600dfbdffd9a66704f83f9";
|
||||
hash = "sha256-H5znjiYuQEbNG2WyTvH1CbnSk5PzaoPNg+xc+y66Gq0=";
|
||||
};
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=$(out)"
|
||||
"LUA=${lib.getExe' config.deps.lua "lua"}"
|
||||
"FENNEL=${lib.getExe' config.deps.fennel "fennel"}"
|
||||
"EXE=${config.mkDerivation.meta.mainProgram}"
|
||||
];
|
||||
|
||||
nativeBuildInputs = with config.deps; [
|
||||
];
|
||||
|
||||
buildInputs = with config.deps; [
|
||||
# NOTE: `lua` and `fennel` provisioned using their corresponding `makeFlags`
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A language server for intelligent editing of the Fennel Programming Language";
|
||||
homepage = "https://github.com/reo101/fennel-ls";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ reo101 ];
|
||||
inherit (config.deps.lua.meta) platforms;
|
||||
mainProgram = "fennel-ls";
|
||||
};
|
||||
};
|
||||
}
|
65
pkgs/fennel/default.nix
Normal file
65
pkgs/fennel/default.nix
Normal file
|
@ -0,0 +1,65 @@
|
|||
{ config
|
||||
, lib
|
||||
, dream2nix
|
||||
, ...
|
||||
}: {
|
||||
imports = [
|
||||
dream2nix.modules.dream2nix.mkDerivation
|
||||
];
|
||||
|
||||
deps = { nixpkgs, ... }: {
|
||||
# Fetchers
|
||||
inherit (nixpkgs)
|
||||
fetchFromGitHub
|
||||
;
|
||||
|
||||
# Build inputs
|
||||
lua = nixpkgs.luajit;
|
||||
|
||||
# # Check inputs
|
||||
# inherit (nixpkgs)
|
||||
# fennel-ls
|
||||
# ;
|
||||
};
|
||||
|
||||
name = "Fennel";
|
||||
version = "1.5.2-dev";
|
||||
|
||||
mkDerivation = {
|
||||
src = config.deps.fetchFromGitHub {
|
||||
owner = "reo101";
|
||||
repo = config.name;
|
||||
rev = "e8fd00ff52c07f8527989f8df6b57008b656f2d1";
|
||||
hash = "sha256-26pvDss6MQKiwNzjXX26yidFquFBBlZP7GvlxdwLMCI=";
|
||||
};
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=$(out)"
|
||||
"LUA=${lib.getExe' config.deps.lua "lua"}"
|
||||
];
|
||||
|
||||
nativeBuildInputs = with config.deps; [
|
||||
];
|
||||
|
||||
buildInputs = with config.deps; [
|
||||
];
|
||||
|
||||
# FIXME:
|
||||
# > fennel-ls --check src/fennel.fnl src/fennel/parser.fnl src/fennel/specials.fnl src/fennel/utils.fnl src/fennel/compiler.fnl src/fennel/macros.fnl src/fennel/match.fnl src/fennel/friend.fnl src/fennel/view.fnl src/fennel/repl.fnl src/launcher.fnl src/fennel/binary.fnl
|
||||
# > USAGE: fennel-ls [--lint file] [--server]
|
||||
|
||||
# checkInputs = with config.deps; [
|
||||
# fennel-ls
|
||||
# ];
|
||||
#
|
||||
# doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = " Lua Lisp Language ";
|
||||
homepage = "https://github.com/reo101/Fennel";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ reo101 ];
|
||||
mainProgram = "fennel";
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue