1
0
Fork 0
mirror of https://github.com/roles-ansible/ansible_role_weechat.git synced 2024-08-16 13:09:48 +02:00
Find a file
2020-11-10 17:30:41 +01:00
.github drop ubuntu xenial 2020-11-10 14:24:51 +01:00
defaults try to optimize 2020-11-10 17:30:41 +01:00
handlers improve autostart and fix some typos 2020-03-11 17:37:33 +01:00
meta add min_ansible_version: 2.8 2020-11-06 11:00:45 +01:00
tasks try to optimize 2020-11-10 17:30:41 +01:00
templates improve autostart and fix some typos 2020-03-11 17:37:33 +01:00
vars try to optimize 2020-11-10 17:30:41 +01:00
.travis.yml add travis check 2020-03-16 10:53:33 +01:00
LICENSE Update LICENSE and FOUNDING informations 2019-07-20 18:52:12 +02:00
README.md travis? 2020-11-10 14:37:16 +01:00

Ansible Galaxy Build Status MIT License

ansible weechat role

Ansible role to install and configure weechat.

WEECHAT
WeeChat, the extensible chat client.

What can this role:

  • install weechat on Debian, Ubuntu, Archlinux or Fedora
  • configure weechat
  • autostart via tmux and systemd

Settings

 weechat:
    install: true
  • weechat.install: true: This role should install weechat. On debian based OS we add the official weechat apt source and install some plugin support and weechat-doc.
  • weechat.install: false: We do not install weechat
weechat:
    autostart: false
  • weechat.autostart: false: We do not install any autostart mechanism
  • weechat.autostart: true: This role install tmux and creates a systemd service to launch weechat inside a tmux session as user {{ weechat.user }}
weechat:
  install_plugins: false
  • weechat.install_plugins: false: we do not install any weechat plugins
  • weechat.install_plugins: true: We do install all official plugins specified in {{ weecat.plugins }} dict.
weechat:
  use_custom_config: false
  • weechat.use_custom_config: false: You do not provide a custom config from your own git repository
  • weechat.use_custom_config: true: You have your weechat configuration in a own git repository and want to use it
weechat:
  install_plugins: false
  • weechat.install_plugins: false we do not install any official weechat plugins
  • weechat.install_plugins: true we install the official weechat plugins defined in the {{ weechat.plugins: [] }} directory.
weechat:
  plugins:
    - go.py
    - iset.pl
  • Example weechat.plugins: [] list
weechat:
  user: "{{ ansible_user_id }}"
  • the user to use weechat with. This value is used in the autostart task, the custom_config task and the {{ weechat.home_directory }} variable
weechat:
  home_directory: "{{ ansible_env.HOME | default('/home/{{ weechat.user }}') }}"
  • the path where the weechat home is located. If the variable {{ ansible_env.HOME }} is not set it will use "/home/{{ weechat.user }}" as fallback.
weechat:
  gpg_id: '11E9DE8848F2B65222AA75B8D1820DB22A11534E'
weechat:
  custom_config:
    private_repo: false
  • The path to your git repo with your personal weechat config.
  • This role clones the repo to the "{{ weechat.home_directory }}/.weechat" directory. (Also known al your local .weechat directory.) It will fail if you already have files and/or folders in your local .weechat dorectory.
  • You have to add, commit and push the local changes in your local .weechat folder manually. Please be aware that it is a good idea to disable your log or at least add the weechatlog folder to your .gitignore file in your personal weechat config.
weechat:
  custom_config:
    gen_ssh_key_pair: true
  • weechat.custom_config.gen_ssh_key_pair: true: We will generate a eleptic curve ssh key (if it not already exist at "{{ weechat.home_directory }}/.ssh/id_ed25519") and print the public key to the prompt. This will give you the time to add this public key to your private git repo for your own weechat config as deploy key. This is required to download your private repo withour username/password. This requires that you set {{ weechat.custom_config.private_repo }} to the ssh accessable version of your git repo.
  • weechat.custom_config.gen_ssh_key_pair: false: We do not manage access to the git repo with your weechat config.
WARNING

It is work-in-progress. Be careful!

MISSING
- all task for configurations
- testing for all OS
- improved docs
- galaxy

References and Inspiration:

Contribute

If you missing a feature, found a bug or have questions about this role please feel free to open a git issue. Or - even better - create a pull request.

LICENSE

MIT License

  • Copyright (c) 2019 L3D
  • The complete list of awesome contributros can be found here.

testing

This role is tested with these github-action tests for different versions of differen linux systems. Linting is tested via travis-ci and the ansible-lint action. If you want to find out more about our tests, please have a look at the github marketplace.

test status Github Marketplace
Travis Build Status .travis.yml
Ansible Lint check ansible-lint action
Ansible check debian:stable ansible test with debian stable
Ansible check debian:latest ansible test with debian latest
Ansible check debian:sid ansible test with debian sid
Ansible check debian:buster ansible test with debian buster
Ansible check debian:stretch ansible test with debian stretch
Ansible check archlinux:latest ansible test with archlinux latest
Ansible check ubuntu:latest ansible test with ubuntu latest
Ansible check ubuntu:bionic ansible test with ubuntu bionic
Ansible check ubuntu:eoan ansible test with ubuntu eoan
Ansible check ubuntu:trusty ansible test with ubuntu trusty
Ansible check fedora:latest ansible test with fedora latest
Ansible check fedora:33 ansible test with fedora 33
Ansible check fedora:32 ansible test with fedora 32
Ansible check fedora:31 ansible test with fedora 31