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

113 lines
2.9 KiB
Markdown
Raw Normal View History

2023-05-19 20:45:06 +02:00
[![MIT License](https://ansible.l3d.space/svg/l3d.i3wm_license.svg)](LICENSE)
2024-07-16 21:35:20 +02:00
SWAY Window Manager - ansible role
2019-05-29 10:55:59 +02:00
=========================================
2017-12-31 00:56:01 +01:00
2024-07-16 21:35:20 +02:00
```
WORK IN PROGRESS
IGNORE ALL OTHER PART IN README
```
2020-10-08 15:11:51 +02:00
Install and deploy a basic configuration of [I3 Window Manager](https://i3wm.org/) via ansible.<br/>
Optionally configure your resolution, which applications will be bound to which screen and what will be included in the autostart.<br/>
If you want to use wayland instead of xorg, think about using [sway](https://swaywm.org/) as window manager. The corresponding ansible is located on [github.com/roles-ansible/role-sway](https://github.com/roles-ansible/role-sway.git).
2017-12-31 00:56:01 +01:00
2020-10-08 15:11:51 +02:00
### Get it directly from Ansible Galaxy
2019-04-24 15:27:24 +02:00
```bash
$ ansible-galaxy install l3d.i3wm
2019-04-24 15:27:24 +02:00
```
2019-02-04 17:33:57 +01:00
2019-05-29 10:55:59 +02:00
Role Variables
2017-12-31 00:56:01 +01:00
--------------
2019-05-29 10:55:59 +02:00
For a good overview about possible variables, please have a look into ``defaults/main.yml``.
2017-12-31 00:56:01 +01:00
## Example Usage
2022-04-11 17:57:56 +02:00
```yaml
- name: install i3wm on localhost
hosts: localhost
vars_files:
- vars/main.yml
roles:
- {role: l3d.i3wm, tags[i3, i3wm]}
2019-05-29 10:55:59 +02:00
```
2017-12-31 00:56:01 +01:00
*`vars/main.yml`*
2022-04-11 17:57:56 +02:00
```yaml
# User List for i3wm config
i3wm_user_list:
- user: "alice"
home: "/home/alice"
- user: "bob"
home: "/home/bob"
2019-06-24 15:33:51 +02:00
# background image
2019-06-11 09:19:11 +02:00
i3_desktop_background: "~/Bilder/wallpaper.jpg"
2017-12-31 00:56:01 +01:00
2019-06-24 15:33:51 +02:00
# you want additional keybindings?
2017-12-31 00:56:01 +01:00
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%
2019-06-24 15:33:51 +02:00
# how your monitors are configured
2017-12-31 00:56:01 +01:00
i3_monitors:
- monitor:
id: 1
2022-04-11 17:57:56 +02:00
output: "HDMI-A-0"
2017-12-31 00:56:01 +01:00
mode: "1920x1080"
pos: "0x0"
rotate: "normal"
2022-04-11 17:57:56 +02:00
workspaces: [0,1,2,3,4,5,6]
2017-12-31 00:56:01 +01:00
- monitor:
id: 2
2022-04-11 17:57:56 +02:00
output: "DisplayPort-0"
2017-12-31 00:56:01 +01:00
mode: "1920x1080"
pos: "1920x0"
rotate: "normal"
2022-04-11 17:57:56 +02:00
workspaces: [7,8,9]
2017-12-31 00:56:01 +01:00
2019-06-24 15:33:51 +02:00
# startup applications
2017-12-31 00:56:01 +01:00
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
2019-06-24 15:33:51 +02:00
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'
2019-05-29 10:55:59 +02:00
```
## Requirements
The ``community.general`` collection is required for some parts of this ansible role.
You can install it with this command:
```bash
ansible-galaxy collection install -r requirements.yml --upgrade
```