项目作者: chaos-bodensee

项目描述 :
Ansible role to create i3wm config
高级语言: Jinja
项目地址: git://github.com/chaos-bodensee/role-i3wm.git
创建时间: 2019-04-24T07:23:11Z
项目社区:https://github.com/chaos-bodensee/role-i3wm

开源协议:MIT License

下载


Ansible Galaxy
MIT License
Maintainance

I3 Window Manager - ansible role

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

  1. $ ansible-galaxy install roles-ansible.i3wm

Role Variables

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

Example Usage

  1. - name: install i3wm on localhost
  2. hosts: localhost
  3. vars_files:
  4. - vars/main.yml
  5. roles:
  6. - {role: roles-ansible.i3wm, tags[i3, i3wm]}

vars/main.yml

  1. # User List for i3wm config
  2. i3wm_user_list:
  3. - user: "alice"
  4. home: "/home/alice"
  5. - user: "bob"
  6. home: "/home/bob"
  7. # background image
  8. i3_desktop_background: "~/Bilder/wallpaper.jpg"
  9. # you want additional keybindings?
  10. i3_keybindings_extra:
  11. - keybinding:
  12. name: Volume (mute/unmute)
  13. key: $mod+F12
  14. exec: --no-startup-id amixer sset Master toggle
  15. - keybinding:
  16. name: Volue (default)
  17. key: $mod+Shift+F12
  18. exec: --no-startup-id amixer sset Master 40%
  19. # how your monitors are configured
  20. i3_monitors:
  21. - monitor:
  22. id: 1
  23. output: "HDMI-A-0"
  24. mode: "1920x1080"
  25. pos: "0x0"
  26. rotate: "normal"
  27. workspaces: [0,1,2,3,4,5,6]
  28. - monitor:
  29. id: 2
  30. output: "DisplayPort-0"
  31. mode: "1920x1080"
  32. pos: "1920x0"
  33. rotate: "normal"
  34. workspaces: [7,8,9]
  35. # startup applications
  36. i3_applications:
  37. - application:
  38. class: "Firefox"
  39. name: "firefox"
  40. workspace: 1
  41. on_startup: false
  42. - application:
  43. class: "Code"
  44. name: "code"
  45. workspace: 7
  46. on_startup: true
  47. # lock your screen after 90 min
  48. i3_wallpaper: true
  49. i3_no_screensaver: true
  50. i3_xautolock: true
  51. i3_screensaver_time: '90'
  52. i3_disable_beep: true
  53. files/rofi/dracula_dark.rasi
  54. # enable multiple i3blocks options
  55. i3_i3blocks_options:
  56. weather: true
  57. audio_volume: true
  58. wifisignal: true
  59. ipaddress: true
  60. clock: true
  61. battery: true
  62. ddate: true
  63. # choose rofi theme
  64. 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:

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