aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 917c8a40eb4da95be872c9f3f95200e88fc81ebf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# fdroid.el

`fdroid.el` is an Emacs interface to [F-Droid](https://f-droid.org/). Its purpose is to aid in the management of F-Droid packages for an Android device or an emulator inside the comfort of Emacs.  

To install it manually, simply point to the `fdroid.el` Git checkout in your `load-path`.  

    (add-to-list 'load-path "path/to/fdroid.el")

If you'd like to contribute to the project, the easiest way is for you to install the [GNU Guix](https://guix.gnu.org/) package manager and start developing on the local checkout by invoking the following commands:  

    cd /path/to/fdroid.el
    guix shell --pure

Since this package leverages the [fdroidcl](https://github.com/mvdan/fdroidcl) F-Droid desktop client for most of its functionality, it's necessary for you to have it installed. If it's your first time using `fdroidcl`, ensure to download the F-Droid repository index via the `M-x fdroid-update` command.  

An example configuration might look like this:  

    (define-key global-map (kbd "C-c C--") 'fdroid-map) ; Set your preferred binding for the fdroid-map
    (with-eval-after-load 'fdroid
      (setopt fdroid-log-events t) ; Whether messages should be logged after an operation
      (setopt fdroid-sans-device t)) ; Perform `fdroid-*' operations without a connected device

Above, we set a global binding for the `fdroid-map`. From here onward we can use the `fdroid-list-packages` command to show all packages available for the current F-Droid repository. You can then invoke the interactive commands set below or, if you have the [Embark](https://github.com/oantolin/embark) package installed, the corresponding Embark actions on the mini-buffer targets:  

-   **`fdroid-install` (`i`):** install the current package.
-   **`fdroid-uninstall` (`u`):** uninstall the current package.
-   **`fdroid-download` (`d`):** download the current package.
-   **`fdroid-show` (`s`):** show more information about the current package.

Feel free to open an issue or send a pull request if you encounter a bug or wish to add a new feature.