default.nix (1401B)
1 { stdenv 2 , callPackage 3 , fetchFromGitHub 4 , fetchurl 5 , gobject-introspection 6 , gtk3 7 , gtk-layer-shell 8 , lib 9 , librsvg 10 , lua53Packages 11 , lua5_3 12 , luaDbusProxy 13 , makeWrapper 14 , writeText 15 }: 16 let 17 pname = "blinkenlicht"; 18 fennel = fetchurl { 19 name = "fennel.lua"; 20 url = "https://fennel-lang.org/downloads/fennel-1.0.0"; 21 hash = "sha256:1nha32yilzagfwrs44hc763jgwxd700kaik1is7x7lsjjvkgapw7"; 22 }; 23 24 netlink = lua53Packages.callPackage ./netlink.nix {}; 25 26 lua = lua5_3.withPackages (ps: with ps; [ 27 lgi 28 luaDbusProxy 29 luafilesystem 30 luaposix 31 readline 32 netlink 33 ]); 34 35 gdk_pixbuf_module_file = "${librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"; 36 37 in stdenv.mkDerivation { 38 inherit pname; 39 version = "0.1"; 40 src =./.; 41 42 inherit fennel; 43 44 buildInputs = [ 45 gobject-introspection.dev 46 gtk-layer-shell 47 gtk3 48 lua 49 ]; 50 nativeBuildInputs = [ lua makeWrapper ]; 51 52 makeFlags = [ "PREFIX=${placeholder "out"}" ]; 53 54 GDK_PIXBUF_MODULE_FILE = gdk_pixbuf_module_file; 55 56 # GDK_PIXBUF_MODULE_FILE setting is to support SVG icons without 57 # their having been transformed to bitmaps. 58 # This makes a big difference to how many icons are displayed on 59 # my machine 60 postInstall = '' 61 mkdir -p $out/share/dbus-1/services 62 63 wrapProgram $out/bin/${pname} --set GDK_PIXBUF_MODULE_FILE ${gdk_pixbuf_module_file} --set GI_TYPELIB_PATH "$GI_TYPELIB_PATH" 64 ''; 65 }