go-appimage

module
v0.0.0-...-426deee Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 14, 2024 License: MIT

README

Go AppImage

An implementation of AppImage tools written in Go by the inventor of the AppImage format.

  • appimagetool, a tool to deploy dependencies into AppDirs (including things like Qt, Gtk, GStreamer,...) and to convert AppDirs into AppImages
  • appimaged, an optional daemon that integrates AppImages into the system, shows their icons, and makes them executable

Download them from https://github.com/probonopd/go-appimage/releases/tag/continuous.

NOTE: You might be looking for https://github.com/AppImage/AppImageKit instead in case you are looking for current production code.

Why Go?

I am playing around with Go because

  • Go follows the "keep it simple" principle - in line with what I like
  • Go compiles code to static binaries by default - no messing around with shared libraries that tend to break on some target systems (e.g., for converting SVG to PNG), no need to build in Docker containers with ancient systems for compatibility
  • Go does not need Makefiles, Autoconf, CMake, Meson - stuff that adds "meta work" which I don't like to spend my time on
  • Go is designed with concurrency and networking in mind - stuff that will come in handy for building in p2p distribution and updating
  • Go is something I want to learn - and one learns best using a concrete project

TODO

Conventions

Directories

Path Synopsis
internal
src
appimaged
appwrapper executes applications and presents errors to the GUI as notifications TODO: Enable appimaged for DBus Activation so that the running instance can wrap the apps, so that we don't need to run another appimaged process for each app
appwrapper executes applications and presents errors to the GUI as notifications TODO: Enable appimaged for DBus Activation so that the running instance can wrap the apps, so that we don't need to run another appimaged process for each app
appimagetool
Code generated by go generate; DO NOT EDIT.
Code generated by go generate; DO NOT EDIT.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL