Skip to content

Latest commit

 

History

History
38 lines (34 loc) · 1.6 KB

File metadata and controls

38 lines (34 loc) · 1.6 KB

imp1sh.ansible_managemynetwork.ansible_ohmyzsh

Source Code on GitHub This is a fork of gantsigh/oh-my-zsh but it was quite heavily modified.

Supported OS:

  • Debian
  • Ubuntu (best effort)
  • FreeBSD (best effort)
  • Alpine (deprecated, might work though)

This role installs and manages oh-my-zsh. It depends on the system_users vars from the users role.

The role will install dependencies first and then iterate over every user item in system_users. Only users having the object oh_my_zsh defined below the user object will get oh-my-zsh installed. Example user object:

system_users:
  "jochen":
    state: present
    comment: "Jochen Demmer"
    uid: 2048
    shell: "zsh"
    password: "$6$0ySECRET"
    envs:
      - key: "EDITOR"
        value: "vim"
    oh_my_zsh:
      theme: bira
      plugins:
        - git
        - zsh-autosuggestions
      update_mode: auto
      update_frequency: 3
      customs:
        - "hosts_autocomplete"
        - "virtualenv"       

It will then install oh-my-zsh into the users home, set zsh as default shell as long as the e.g. system.users.jochen.shell equals zsh. A .zshrc will be written. You can set zsh environment variables with the envs attribute or enable plugins with the plugins attribute. There are also some custom extensions available via the customs attribute.