From a137495482971020a0be4be885ee50d2063190cb Mon Sep 17 00:00:00 2001 From: Daniel Barlow Date: Fri, 4 Feb 2022 23:47:14 +0000 Subject: [PATCH] initial commit --- just/default.nix | 46 ++++++++++++++++++++++++++++++++++++++++++++++ just/just.fnl | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 just/default.nix create mode 100644 just/just.fnl diff --git a/just/default.nix b/just/default.nix new file mode 100644 index 0000000..09f2019 --- /dev/null +++ b/just/default.nix @@ -0,0 +1,46 @@ +{ stdenv +, callPackage +, fetchFromGitHub +, fetchurl +, gobject-introspection +, gtk3 +, gnome3 +, lib +, librsvg +, lua53Packages +, lua5_3 +, makeWrapper +, writeText +}: +let fennel = fetchurl { + name = "fennel.lua"; + url = "https://fennel-lang.org/downloads/fennel-1.0.0"; + hash = "sha256:1nha32yilzagfwrs44hc763jgwxd700kaik1is7x7lsjjvkgapw7"; + }; + webkitgtk = gnome3.webkitgtk; + # dbusProxy = callPackage ./dbus-proxy.nix { + # inherit (lua53Packages) lgi buildLuaPackage; + # lua = lua5_3; + # }; + + lua = lua5_3.withPackages (ps: with ps; [ +# dbusProxy +# inifile + inspect + lgi + luafilesystem + luaposix + readline + ]); +in stdenv.mkDerivation { + pname = "just"; + version = "0.1"; + src =./.; + inherit fennel; + + buildInputs = [ lua gtk3 webkitgtk gobject-introspection.dev ]; + nativeBuildInputs = [ lua makeWrapper ]; + + makeFlags = [ "PREFIX=${placeholder "out"}" ]; + +} diff --git a/just/just.fnl b/just/just.fnl new file mode 100644 index 0000000..67b146e --- /dev/null +++ b/just/just.fnl @@ -0,0 +1,39 @@ +(local lgi (require :lgi)) +(local inspect (require :inspect)) + +(local Gtk lgi.Gtk) +(local WebKit2 lgi.WebKit2) + +(let [current-url "about:blank" + window (Gtk.Window { + :title "Just browsing" + :default_width 800 + :default_height 600 + :on_destroy Gtk.main_quit + }) + container (Gtk.Box { + :orientation Gtk.Orientation.VERTICAL + }) + nav-bar (Gtk.Box { + :orientation Gtk.Orientation.HORIZONTAL + }) + webview (WebKit2.WebView) + back (Gtk.Button { + :label "<-" + }) + url (doto (Gtk.Entry) (: :set_text current-url))] + + (nav-bar:pack_start back false false 5) + (nav-bar:pack_start url true true 5) + + (container:pack_start nav-bar false false 5) + (container:pack_start webview true true 5) + + + (webview:load_uri current-url) + + (window:add container) + + (window:show_all)) + +(Gtk.main)