l3d.i3wm

I3 Fenster-Manager - Ansible-Rolle

Installiere und deploye eine grundlegende Konfiguration des I3 Fenster-Managers über Ansible.
Optional kannst du deine Auflösung konfigurieren, welche Anwendungen an welchen Bildschirm gebunden werden und was beim Autostart enthalten sein soll.
Wenn du Wayland anstelle von Xorg verwenden möchtest, denke darüber nach, Sway als Fenster-Manager zu verwenden. Die entsprechende Ansible-Rolle findest du auf github.com/roles-ansible/role-sway.

Direkt von Ansible Galaxy beziehen

$ ansible-galaxy install roles-ansible.i3wm

Rollen-Variablen

Für einen guten Überblick über mögliche Variablen schaue bitte in die defaults/main.yml.

Beispielanwendung

 - name: i3wm auf localhost installieren
   hosts: localhost
   vars_files:
     - vars/main.yml
   roles:
     - {role: roles-ansible.i3wm, tags[i3, i3wm]}

vars/main.yml

    # Benutzerliste für i3wm-Konfiguration
    i3wm_user_list:
      - user: "alice"
        home: "/home/alice"
      - user: "bob"
        home: "/home/bob"

    # Hintergrundbild
    i3_desktop_background: "~/Bilder/wallpaper.jpg"

    # Möchtest du zusätzliche Tastenkombinationen?
    i3_keybindings_extra:
      - keybinding:
        name: Lautstärke (stumm/unsummen)
        key: $mod+F12
        exec: --no-startup-id amixer sset Master toggle
      - keybinding:
        name: Lautstärke (standard)
        key: $mod+Shift+F12
        exec: --no-startup-id amixer sset Master 40%

    # Wie deine Monitore konfiguriert sind
    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-Anwendungen
    i3_applications:
      - application:
        class: "Firefox"
        name: "firefox"
        workspace: 1
        on_startup: false
      - application:
        class: "Code"
        name: "code"
        workspace: 7
        on_startup: true

    # Sperre deinen Bildschirm nach 90 Minuten
    enable_lock_after_time: true

    files/rofi/dracula_dark.rasi

    # Aktiviere mehrere i3blocks-Optionen
    i3_i3blocks_options:
      weather: true
      audio_volume: true
      wifisignal: true
      ipaddress: true
      clock: true
      battery: true
      ddate: true

    # Wähle Rofi-Theme
    i3_rofi_config_file: 'files/rofi/dracula_dark.rasi'

Anforderungen

Die Sammlung community.general wird für einige Teile dieser Ansible-Rolle benötigt. Du kannst sie mit folgendem Befehl installieren:

ansible-galaxy collection install -r requirements.yml --upgrade
Über das Projekt

Install and configure i3wm on common linux distibutions (https://i3wm.org/)

Installieren
ansible-galaxy install l3d.i3wm
GitHub Repository
Lizenz
mit
Downloads
546
Besitzer
Ansible roles provide a framework for fully independent, or interdependent collections of variables,tasks,files,templates &modules. Here we maintain some. enjoy