Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gantsign/ansible-role-pin-to-launcher

Ansible role for pinning applications to the desktop application launcher
https://github.com/gantsign/ansible-role-pin-to-launcher

ansible ansible-role

Last synced: 12 days ago
JSON representation

Ansible role for pinning applications to the desktop application launcher

Awesome Lists containing this project

README

        

Ansible Role: Pin to Launcher
=============================

[![Tests](https://github.com/gantsign/ansible-role-pin-to-launcher/workflows/Tests/badge.svg)](https://github.com/gantsign/ansible-role-pin-to-launcher/actions?query=workflow%3ATests)
[![Ansible Galaxy](https://img.shields.io/badge/ansible--galaxy-gantsign.pin--to--launcher-blue.svg)](https://galaxy.ansible.com/gantsign/pin-to-launcher)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/gantsign/ansible-role-pin-to-launcher/master/LICENSE)

Role to pin applications to the desktop application launcher.

Requirements
------------

* Ansible >= 2.9

* Ubuntu

* Bionic (18.04)
* Focal (20.04)
* Note: other Ubuntu versions are likely to work but have not been tested.

* A supported launcher

* [Gnome](https://www.gnome.org)

* The default desktop installed with Ubuntu from Bionic (18.04).

Role Variables
--------------

The following variables will change the behavior of this role (default values
are shown below):

```yaml
# The favorite applications to pin
pin_to_launcher_favorites: []
```

Favorites are specified as follows:

```yaml
pin_to_launcher_favorites:
- application: # The file name of a .desktop file in /usr/share/applications/
```

Example Playbook
----------------

```yaml
- hosts: servers
roles:
- role: gantsign.pin-to-launcher
pin_to_launcher: gnome
pin_to_launcher_favorites:
# You'll probably need these apps pinned when using Gnome.
- application: 'ubiquity.desktop' # The application search/menu
- application: 'org.gnome.Nautilus.desktop' # The file browser
# Pin the applications of your choice below.
#
# Tip: run `gsettings get org.gnome.shell favorite-apps` to
# see the apps you currently have pinned.
- application: 'firefox.desktop'
- application: 'thunderbird.desktop'
- application: 'rhythmbox.desktop'
- application: 'libreoffice-writer.desktop'
```

More Roles From GantSign
------------------------

You can find more roles from GantSign on
[Ansible Galaxy](https://galaxy.ansible.com/gantsign).

Development & Testing
---------------------

This project uses [Molecule](http://molecule.readthedocs.io/) to aid in the
development and testing; the role is unit tested using
[Testinfra](http://testinfra.readthedocs.io/) and
[pytest](http://docs.pytest.org/).

To develop or test you'll need to have installed the following:

* Linux (e.g. [Ubuntu](http://www.ubuntu.com/))
* [Docker](https://www.docker.com/)
* [Python](https://www.python.org/) (including python-pip)
* [Ansible](https://www.ansible.com/)
* [Molecule](http://molecule.readthedocs.io/)

Because the above can be tricky to install, this project includes
[Molecule Wrapper](https://github.com/gantsign/molecule-wrapper). Molecule
Wrapper is a shell script that installs Molecule and it's dependencies (apart
from Linux) and then executes Molecule with the command you pass it.

To test this role using Molecule Wrapper run the following command from the
project root:

```bash
./moleculew test
```

Note: some of the dependencies need `sudo` permission to install.

License
-------

MIT

Author Information
------------------

John Freeman

GantSign Ltd.
Company No. 06109112 (registered in England)