Turn program into a flake
This commit is contained in:
parent
2b8397f319
commit
0caba82b7c
10
default.nix
10
default.nix
|
@ -1,4 +1,4 @@
|
||||||
{ bundlerEnv, ruby, stdenv }:
|
{ bundlerEnv, ruby, stdenv, katex-server }:
|
||||||
|
|
||||||
let
|
let
|
||||||
gems = bundlerEnv {
|
gems = bundlerEnv {
|
||||||
|
@ -13,14 +13,18 @@ in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "katex-converter";
|
name = "katex-converter";
|
||||||
src = ./convert.rb;
|
src = ./convert.rb;
|
||||||
buildInputs = [ gems ruby ];
|
buildInputs = [ katex-server gems ruby ];
|
||||||
unpackPhase = "echo 'Skipping unpack phase (nothing to unpack)'";
|
unpackPhase = "echo 'Skipping unpack phase (nothing to unpack)'";
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/{bin,share/katex-converter}
|
mkdir -p $out/{bin,share/katex-converter}
|
||||||
cp $src $out/share/katex-converter/convert.rb
|
cp $src $out/share/katex-converter/convert.rb
|
||||||
cat > $out/bin/katex-converter <<EOF
|
cat > $out/bin/katex-converter <<EOF
|
||||||
#!/bin/sh -e
|
#!/bin/sh -e
|
||||||
exec ${gems}/bin/bundle exec ${ruby}/bin/ruby $out/share/katex-converter/convert.rb \$@
|
${katex-server}/bin/katex-server &
|
||||||
|
server_pid=\$!
|
||||||
|
sleep 1
|
||||||
|
${gems}/bin/bundle exec ${ruby}/bin/ruby $out/share/katex-converter/convert.rb \$@
|
||||||
|
kill -KILL \$server_pid
|
||||||
EOF
|
EOF
|
||||||
chmod +x $out/bin/katex-converter
|
chmod +x $out/bin/katex-converter
|
||||||
'';
|
'';
|
||||||
|
|
92
flake.lock
Normal file
92
flake.lock
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"flake-utils": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1648297722,
|
||||||
|
"narHash": "sha256-W+qlPsiZd8F3XkzXOzAoR+mpFqzm3ekQkJNa+PIh1BQ=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "0f8662f1319ad6abf89b3380dd2722369fc51ade",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1648297722,
|
||||||
|
"narHash": "sha256-W+qlPsiZd8F3XkzXOzAoR+mpFqzm3ekQkJNa+PIh1BQ=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "0f8662f1319ad6abf89b3380dd2722369fc51ade",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"katex-server": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils_2",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1648429554,
|
||||||
|
"narHash": "sha256-jNRd9gzrOIYlvuVr/Je2Uh6/FXRoGwAIjgVHhf2NOoE=",
|
||||||
|
"ref": "master",
|
||||||
|
"rev": "a277542d9b7eb23806b123aed41a0bd441ff669b",
|
||||||
|
"revCount": 4,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://dev.danilafe.com/Nix-Configs/katex-server"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://dev.danilafe.com/Nix-Configs/katex-server"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1648425779,
|
||||||
|
"narHash": "sha256-0tcpEiiq3f3Hh77ax7QFuF15AnPaBIdDSbvrCUeyb9k=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "1edfe6d91bd8348cfccacd72e82d1d06ad470117",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1648425779,
|
||||||
|
"narHash": "sha256-0tcpEiiq3f3Hh77ax7QFuF15AnPaBIdDSbvrCUeyb9k=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "1edfe6d91bd8348cfccacd72e82d1d06ad470117",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"katex-server": "katex-server",
|
||||||
|
"nixpkgs": "nixpkgs_2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
20
flake.nix
Normal file
20
flake.nix
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs";
|
||||||
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
katex-server.url = "git+https://dev.danilafe.com/Nix-Configs/katex-server";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, flake-utils, katex-server }:
|
||||||
|
flake-utils.lib.eachDefaultSystem (
|
||||||
|
system:
|
||||||
|
let
|
||||||
|
pkgs = import nixpkgs { inherit system; };
|
||||||
|
katex-html = pkgs.callPackage ./default.nix { katex-server = katex-server.defaultPackage.${system}; };
|
||||||
|
in
|
||||||
|
{
|
||||||
|
packages = { inherit katex-html; };
|
||||||
|
defaultPackage = katex-html;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
Reference in New Issue
Block a user