Skip to content

Commit

Permalink
Add nix derivation
Browse files Browse the repository at this point in the history
  • Loading branch information
pniedzwiedzinski committed Mar 7, 2021
1 parent b3caa80 commit 2a106b2
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 14 deletions.
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,15 @@ Better [gal](https://github.com/19pdh/gal) - media gallery generator.
It supports images and videos

## Usage

```
galier [SRC DIR] [OUTPUT DIR]
```

## Caching results

Since video transcoding is a cpu intensive task this script will check if file
exists in output folder. In order to regenerate video you need to remove/rename
file in its destination.

Other files (htmls, images) will always be overwritten.
7 changes: 7 additions & 0 deletions default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
(import (
fetchTarball {
url = "https://github.com/edolstra/flake-compat/archive/99f1c2157fba4bfe6211a321fd0ee43199025dbf.tar.gz";
sha256 = "0x2jn3vrawwv9xp15674wjz9pixwjyj3j771izayl962zziivbx2"; }
) {
src = ./.;
}).defaultNix
35 changes: 21 additions & 14 deletions flake.nix
Original file line number Diff line number Diff line change
@@ -1,25 +1,32 @@
{
description = "Yet another photo gallery generator.";
description = "Yet another photo and video gallery generator.";

outputs = { self, nixpkgs }: {

packages.x86_64-linux.gal =
with import nixpkgs { system = "x86_64-linux"; };
stdenv.mkDerivation {
pname = "gal";
version = "0.2";
let
pname = "galier";
version = "0.1";
install = writeScriptBin "install" ''
${toybox}/bin/mkdir -p $out/bin $out/share/galier
${toybox}/bin/cp $src/galier $out/bin
${toybox}/bin/cp $src/style.css $out/share/galier
src = self;

installPhase = ''
mkdir -p $out/bin $out/share/gal
cp gal $out/bin
cp style.css $out/share/gal
sed -i 's:convert:${imagemagick}/bin/convert:g' $out/bin/gal
sed -i 's:cwebp:${libwebp}/bin/cwebp:g' $out/bin/gal
sed -i "s:cp style.css:cp $out/share/gal/style.css:g" $out/bin/gal
${toybox}/bin/sed -i 's:convert:${imagemagick}/bin/convert:g' $out/bin/galier
${toybox}/bin/sed -i 's:cwebp:${libwebp}/bin/cwebp:g' $out/bin/galier
${toybox}/bin/sed -i 's:ffmpeg:${ffmpeg}/bin/ffmpeg:g' $out/bin/galier
${toybox}/bin/sed -i 's:ffprobe:${ffmpeg}/bin/ffprobe:g' $out/bin/galier
${toybox}/bin/sed -i "s:cp style.css:cp $out/share/galier/style.css:g" $out/bin/galier
'';

in
derivation {
name = "${pname}-${version}";
builder = "${bash}/bin/bash";
args = [ "${install}/bin/install" ];
src = self;
system = "x86_64-linux";
};

defaultPackage.x86_64-linux = self.packages.x86_64-linux.gal;
Expand Down

0 comments on commit 2a106b2

Please sign in to comment.