Skip to content

a wrapper for apt to install packages according to XDG Home Directory specification

License

Notifications You must be signed in to change notification settings

tuxecure/crackle

Repository files navigation

Crackle

NOTE This project is being migrated to Rust. While the bash version is still maintained, it will eventually™ be superceded by the rust version

A project started by Fuseteam, inspired by Pacstall, Nix and nyaa

Crackle is a client which allows apt users to install stuff in their home directory, following the XDG Base Directory specification.

Installation

The project is currently a bunch of bash scripts, as such installation relatively simple~

  • Download the code

download

  • open a terminal
  • run unzip Downloads/crackle.zip -d crackle
  • run crackle/crackle setup
  • ???
  • profit

Usage

To run the program, specify the operation, and the package to act on.

crackle
	install $PKG
	download $PKG
	crack $PKG
	search $PKG
	show $PKG
	clean
	setup
	debug
	nuke

Essentially, what each command does is what you would expect from using apt as usual, but with amendments for installing things locally, instead of system-wide.

Crackle specific commands:

  • setup: Automagically configures and installs/upgrades crackle
  • debug: Shows some debugging information. Doesn't do any changes to the system.
  • crack: this will extract the package $PKG and it's dependencies to $HOME/packages/$PKG for easy inspection, usefull to see the file tree or navigate through the various files associated with the package or its dependencies
  • click: this will build a click package from the downloaded deb packages
  • reinstall: this is equivalent to apt install --reinstall $PKG
  • nuke: Automagically remove everything crackle related from the system*

* except the references to it in ~/.bash_completion. all those references are documented in crackle.conf

Limitations

the following are the limitations of crackle:

  • currently crackle doesn't account for desktop files i.e. gui applications
  • crackle doesn't work on systems with a readwrite rootfs
  • currently crackle doesn't know how to remove packages
  • crackle doesn't know how to deal with all packages, so it may be hit or miss please report packages that don't work on gitlab

Support

Support, question and suggestions for crackle can be filed on GitLab. There is also a discussion & support group on Telegram

Status

Crackle should considered Alpha, packages may or may not work and crackle is unable to remove packages, it can only remove itself and all the packages it installed with crackle nuke. for 0.3.x considerations are being made to restructure how crackle installs packages to facililate package removal. however this update may require the user to run crackle nuke first for now the plan for 0.2.6 is to deprecate cracklerc to make the experience much smoother, to handle desktop files and other smaller bug fixes that don't currently comes to mind

Configuration

The installed packages will be found under ~/$HOME/.local/share/crackle, modify the runtime configuration to change this, or pass in the $CRACKLERC variable to override.

Note that the configuration location for packages by default is in $XDG_CONFIG_HOME/crackle, as expected. The same goes for this package, found under $XDG_CONFIG_HOME/.config/crackle/cracklerc