1
0
Fork 0
mirror of https://github.com/roles-ansible/ansible_role_i3wm.git synced 2024-08-16 10:09:53 +02:00
ansible_role_i3wm/README.md
2020-10-08 15:11:51 +02:00

2.7 KiB

I3 Window Manager - ansible role

Install and deploy a basic configuration of I3 Window Manager via ansible.
Optionally configure your resolution, which applications will be bound to which screen and what will be included in the autostart.
If you want to use wayland instead of xorg, think about using sway as window manager. The corresponding ansible is located on github.com/roles-ansible/role-sway.

Build Status MIT License MIT License

Get it directly from Ansible Galaxy

$ ansible-galaxy install do1jlr.i3wm

Role Variables

For a good overview about possible variables, please have a look into defaults/main.yml.

Example Playbook

Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:

    - hosts: all
      vars_files:
        - vars/main.yml
      roles:
        - { role: i3, tags[i3,i3wm] }

vars/main.yml

    # background image
    i3_desktop_background: "~/Bilder/wallpaper.jpg"

    # additional programms you need
    i3_packages_extra:
      - ranger

    # you want additional keybindings?
    i3_keybindings_extra:
      - keybinding:
        name: Volume (mute/unmute)
        key: $mod+F12
        exec: --no-startup-id amixer sset Master toggle
      - keybinding:
        name: Volue (default)
        key: $mod+Shift+F12
        exec: --no-startup-id amixer sset Master 40%

    # how your monitors are configured
    i3_monitors:
      - monitor:
        id: 1
        output: "VGA-1"
        mode: "1920x1080"
        pos: "0x0"
        rotate: "normal"
        workspaces: [1,2,3,4,5,6]
      - monitor:
        id: 2
        output: "HDMI-1"
        mode: "1920x1080"
        pos: "1920x0"
        rotate: "normal"
        workspaces: [7,8,9,0]

    # startup applications
    i3_applications:
      - application:
        class: "Firefox"
        name: "firefox"
        workspace: 1
        on_startup: false
      - application:
        class: "Code"
        name: "code"
        workspace: 7
        on_startup: true

    # lock your screen after 3 hours
    enable_lock_after_time: true