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
2023-08-01 22:13:23 +02:00
$ 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
2023-08-01 22:13:23 +02:00
## Example Usage
2022-04-11 17:57:56 +02:00
```yaml
2023-08-01 22:13:23 +02:00
- 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
2023-08-01 22:13:23 +02:00
# User List for i3wm config
i3wm_user_list:
2023-08-01 22:40:01 +02:00
- user: "alice"
home: "/home/alice"
- user: "bob"
home: "/home/bob"
2023-08-01 22:13:23 +02:00
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
2023-08-01 22:40:01 +02:00
# lock your screen after 90 min
2019-06-24 15:33:51 +02:00
enable_lock_after_time: true
2023-08-01 22:40:01 +02:00
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
```
2023-10-28 16:25:06 +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
```