Giter Club home page Giter Club logo

crackle's Introduction

Crackle

NOTE if you were using crackle before v0.3.0 you will need to nuke your crackle install first before installing v0.3.0.

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
	remove $PKG
	sudo $BIN
	sudok $BIN
	list
	clean
	update
	upgrade
	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
  • sudo: this will make a symlink of the binary $BIN to /root/.local/bin for use with sudo -i $BIN
  • sudok: this will remove the symlink of the binary $BIN from /root/.local/bin
  • 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

Limitations

the following are the limitations of crackle:

  • crackle doesn't work on systems with a readwrite rootfs
  • crackle does not resolve dependencies when removing packages, dependencies have to be removed by name.
  • 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
  • crackle needs to set up the correct environment in order for packages to find their files and libraries as such it is sometimes required to log off and back for them to work as intended

Support

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

Status

Crackle should be considered Alpha, as packages are not aware of crackle they need to be patched to tell them where to find their files before they can work.

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

crackle's People

Contributors

atakku avatar fuseteam avatar fxmbsw7 avatar mazunki avatar nitanmarcel avatar rik-shaw avatar tronfortytwo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.