1
0
Fork 0
mirror of https://github.com/roles-ansible/ansible_role_i3wm.git synced 2024-08-16 10:09:53 +02:00
Find a file
2024-07-18 19:09:51 +02:00
.github Merge pull request #25 from roles-ansible/dependabot/github_actions/ansible-actions/ansible-lint-action-1.0.3 2024-03-22 14:50:06 +01:00
defaults Create waybar and continue with layouting... 2024-07-18 13:23:54 +02:00
files Update wlan script 2023-08-22 14:56:40 +02:00
meta Start fork and create sway config 2024-07-16 21:35:20 +02:00
tasks Create waybar and continue with layouting... 2024-07-18 13:23:54 +02:00
templates improve linting 2024-07-18 19:09:51 +02:00
vars Create waybar and continue with layouting... 2024-07-18 13:23:54 +02:00
.gitignore initial commit 2017-12-31 00:56:01 +01:00
.yamllint improve linting 2024-07-18 19:09:51 +02:00
LICENSE Update LICENCE: MIT 2019-05-29 10:52:06 +02:00
README.md Start fork and create sway config 2024-07-16 21:35:20 +02:00
requirements.yml improve linting and adding requirements 2023-10-28 16:25:06 +02:00

MIT License

SWAY Window Manager - ansible role

WORK IN PROGRESS
IGNORE ALL OTHER PART IN README

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.

Get it directly from Ansible Galaxy

$ ansible-galaxy install l3d.i3wm

Role Variables

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

Example Usage

 - name: install i3wm on localhost
   hosts: localhost
   vars_files:
     - vars/main.yml
   roles:
     - {role: l3d.i3wm, tags[i3, i3wm]}

vars/main.yml

    # User List for i3wm config
    i3wm_user_list:
      - user: "alice"
        home: "/home/alice"
      - user: "bob"
        home: "/home/bob"

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

    # 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: "HDMI-A-0"
        mode: "1920x1080"
        pos: "0x0"
        rotate: "normal"
        workspaces: [0,1,2,3,4,5,6]
      - monitor:
        id: 2
        output: "DisplayPort-0"
        mode: "1920x1080"
        pos: "1920x0"
        rotate: "normal"
        workspaces: [7,8,9]

    # 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 90 min
    enable_lock_after_time: true

    files/rofi/dracula_dark.rasi

    # enable multiple i3blocks options
    i3_i3blocks_options:
      weather: true
      audio_volume: true
      wifisignal: true
      ipaddress: true
      clock: true
      battery: true
      ddate: true

    # choose rofi theme
    i3_rofi_config_file: 'files/rofi/dracula_dark.rasi'

Requirements

The community.general collection is required for some parts of this ansible role. You can install it with this command:

ansible-galaxy collection install -r requirements.yml --upgrade