117 lines
3.9 KiB
YAML
117 lines
3.9 KiB
YAML
---
|
||
# 20260716 - Hyperling
|
||
# Add the setup for a simple i3 configuration. It´s pretty easy to use and
|
||
# functions super well. Very easy to get going and does not need a whole lot of
|
||
# work to change things around. Good alternative to DWM and so lightweight that
|
||
# it doesn´t even matter if both are installed!!
|
||
|
||
- name: Workstation | Linux | Software | i3 | Facts | General [1/2]
|
||
set_fact:
|
||
i3_config: "settings/i3.config"
|
||
i3_config_dir: "{{ user_user.home }}/.config/i3"
|
||
i3_package: i3
|
||
i3_light: light
|
||
i3_files: thunar
|
||
i3_term01: alacritty
|
||
i3_term02: kitty
|
||
i3_theming: lxappearance
|
||
i3_theme01: greybird-gtk-theme
|
||
i3_theme02: arc-theme
|
||
i3_theme03: numix-gtk-theme
|
||
|
||
- name: Workstation | Linux | Software | i3 | Facts | General [1/2]
|
||
set_fact:
|
||
i3_config_file: "{{ i3_config_dir }}/config"
|
||
|
||
#- name: Workstation | Linux | Software | i3 | Facts | TBD
|
||
# set_fact:
|
||
# i3_package: i3-wm
|
||
# when: ansible_distribution in ("TBD")
|
||
|
||
- name: Workstation | Linux | Software | i3 | Install
|
||
package:
|
||
name:
|
||
- "{{ i3_package }}"
|
||
- "{{ lightdm }}"
|
||
- "{{ i3_light }}"
|
||
- "{{ i3_files }}"
|
||
- "{{ i3_term01 }}"
|
||
- "{{ i3_term02 }}"
|
||
- "{{ i3_theming }}"
|
||
- "{{ i3_theme01 }}"
|
||
- "{{ i3_theme02 }}"
|
||
- "{{ i3_theme03 }}"
|
||
state: present
|
||
update_cache: yes
|
||
|
||
- name: Workstation | Linux | Software | i3 | Config | Create Dir
|
||
ansible.builtin.file:
|
||
path: "{{ i3_config_dir }}"
|
||
state: directory
|
||
mode: '0755'
|
||
owner: "{{ user }}"
|
||
group: "{{ user }}"
|
||
|
||
- name: Workstation | Linux | Software | i3 | Config | Copy File
|
||
copy:
|
||
src: "{{ i3_config }}"
|
||
dest: "{{ i3_config_file }}"
|
||
owner: "{{ user }}"
|
||
group: "{{ user }}"
|
||
mode: '0664'
|
||
|
||
# TBD: Automate getting the brightness keys to work.
|
||
#
|
||
# User is already part of the video group. Just need to configure udev rules.
|
||
#
|
||
# Get the folder name from here: `ls /sys/class/backlight/`
|
||
#
|
||
# That is your <DEVICE> for the following lines, which go here: /etc/udev/rules.d/backlight.rules
|
||
# ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="<DEVICE>", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness"
|
||
# ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="<DEVICE>", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"
|
||
#
|
||
# So, for example:
|
||
# [18:12:20 root@device ~]# cat /etc/udev/rules.d/backlight.rules
|
||
# ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="intel_backlight", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness"
|
||
# ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="intel_backlight", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"
|
||
# [18:12:21 root@device ~]#
|
||
#
|
||
# It then required a reboot. Doing the commands below was not enough.
|
||
#
|
||
# # sudo udevadm control --reload-rules ^C
|
||
# # sudo udevadm trigger
|
||
#
|
||
|
||
- name: Workstation | Linux | Software | i3 | Light | Check Backlights
|
||
ansible.builtin.find:
|
||
paths: /sys/class/backlight
|
||
file_type: any # Options: file, directory, any
|
||
patterns: "*" # Wildcard patterns (e.g., "*.log")
|
||
recurse: no # Set to 'yes' for subdirectories
|
||
register: i3_light_device_check
|
||
|
||
#- name: Display var _ DELETEME
|
||
# ansible.builtin.debug:
|
||
# msg: "{{ i3_light_device_check }}"
|
||
|
||
- name: Workstation | Linux | Software | i3 | Light | Pull Backlight Name
|
||
set_fact:
|
||
i3_light_device_name: "{{ i3_light_device_check.files[0].path | basename }}"
|
||
|
||
#- name: Display var - DELETEME
|
||
# ansible.builtin.debug:
|
||
# msg: "{{ i3_light_device_name }}"
|
||
|
||
- name: Workstation | Linux | Software | i3 | Light | Create udev Rules
|
||
ansible.builtin.copy:
|
||
dest: /etc/udev/rules.d/backlight.rules
|
||
content: |
|
||
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="{{ i3_light_device_name }}", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness"
|
||
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="{{ i3_light_device_name }}", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"
|
||
owner: root
|
||
group: root
|
||
mode: '0644'
|
||
|
||
#- name: FAIL - DELETEME
|
||
# meta: end_play
|