Clone shirenn's configuration
This commit is contained in:
		
							
								
								
									
										39
									
								
								ansible.cfg
									
									
									
									
									
								
							
							
						
						
									
										39
									
								
								ansible.cfg
									
									
									
									
									
								
							@@ -1,41 +1,14 @@
 | 
				
			|||||||
# Ansible configuration
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[defaults]
 | 
					[defaults]
 | 
				
			||||||
 | 
					 | 
				
			||||||
# Use true Python version
 | 
					 | 
				
			||||||
interpreter_python = /usr/bin/python3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Do not create .retry files
 | 
					 | 
				
			||||||
retry_files_enabled = False
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Use inventory
 | 
					 | 
				
			||||||
inventory = ./hosts
 | 
					inventory = ./hosts
 | 
				
			||||||
 | 
					 | 
				
			||||||
# Custom header in templates
 | 
					 | 
				
			||||||
ansible_managed = Ansible managed, modified on %Y-%m-%d %H:%M:%S by {uid}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Do not use cows (with cowsay)
 | 
					 | 
				
			||||||
nocows = 1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Do more parallelism
 | 
					 | 
				
			||||||
forks = 15
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Some SSH connection will take time
 | 
					 | 
				
			||||||
timeout = 60
 | 
					timeout = 60
 | 
				
			||||||
 | 
					# ask_vault_pass = True
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[privilege_escalation]
 | 
					[privilege_escalation]
 | 
				
			||||||
 | 
					# become_ask_pass = True
 | 
				
			||||||
# Use sudo to get priviledge access
 | 
					 | 
				
			||||||
become = True
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Ask for password
 | 
					 | 
				
			||||||
become_ask_pass = True
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[diff]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# TO know what changed
 | 
					 | 
				
			||||||
always = yes
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[ssh_connection]
 | 
					[ssh_connection]
 | 
				
			||||||
pipelining = True
 | 
					pipelining = True
 | 
				
			||||||
 | 
					retries = 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[diff]
 | 
				
			||||||
 | 
					always = yes
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										29
									
								
								base.yml
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								base.yml
									
									
									
									
									
								
							@@ -1,7 +1,32 @@
 | 
				
			|||||||
#!/usr/bin/env ansible-playbook
 | 
					#!/usr/bin/env ansible-playbook
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
# Put a common configuration on all servers
 | 
					
 | 
				
			||||||
- hosts: all
 | 
					- hosts: all
 | 
				
			||||||
  roles:
 | 
					  roles:
 | 
				
			||||||
    - baseconfig
 | 
					    - cli-utils
 | 
				
			||||||
 | 
					    - vim
 | 
				
			||||||
 | 
					    - ssh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- hosts: templier.adh.crans.org
 | 
				
			||||||
 | 
					  roles:
 | 
				
			||||||
 | 
					    - bind
 | 
				
			||||||
    - docker
 | 
					    - docker
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- hosts: perso
 | 
				
			||||||
 | 
					  roles:
 | 
				
			||||||
 | 
					    - sudo
 | 
				
			||||||
 | 
					    - systemd
 | 
				
			||||||
 | 
					    - ntp
 | 
				
			||||||
 | 
					    - texlive
 | 
				
			||||||
 | 
					    - xorg
 | 
				
			||||||
 | 
					    - i3
 | 
				
			||||||
 | 
					    - terminal
 | 
				
			||||||
 | 
					    - notification
 | 
				
			||||||
 | 
					    - mime
 | 
				
			||||||
 | 
					    - audio
 | 
				
			||||||
 | 
					    - multimedia
 | 
				
			||||||
 | 
					    - pass
 | 
				
			||||||
 | 
					    - communication
 | 
				
			||||||
 | 
					    - navigateur
 | 
				
			||||||
 | 
					  # - scripts
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										22
									
								
								group_vars/all.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								group_vars/all.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pass:
 | 
				
			||||||
 | 
					  upstream: 'ssh://git@git.ynerant.fr:2222/ynerant/pass'
 | 
				
			||||||
 | 
					  dest: '.password-store/'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cliutils:
 | 
				
			||||||
 | 
					  bash:
 | 
				
			||||||
 | 
					    bogus_dirs: []
 | 
				
			||||||
 | 
					  git:
 | 
				
			||||||
 | 
					    email: ynerant@crans.org
 | 
				
			||||||
 | 
					    name: ynerant
 | 
				
			||||||
 | 
					    signingkey: 3A75C55819C8CF85
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bind:
 | 
				
			||||||
 | 
					  domains:
 | 
				
			||||||
 | 
					    - name: ynerant.fr
 | 
				
			||||||
 | 
					      administrator: ynerant.crans.org
 | 
				
			||||||
 | 
					      ipv4: 185.230.78.178
 | 
				
			||||||
 | 
					      ipv6: 2a0c:700:12:0:f21f:afff:fee5:34ca
 | 
				
			||||||
 | 
					      slave: 51.15.199.212
 | 
				
			||||||
 | 
					      aliases: []
 | 
				
			||||||
							
								
								
									
										4
									
								
								group_vars/laptop.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								group_vars/laptop.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					user:
 | 
				
			||||||
 | 
					  name: ynerant
 | 
				
			||||||
 | 
					  root: yes
 | 
				
			||||||
							
								
								
									
										4
									
								
								host_vars/dt.adh.crans.org.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								host_vars/dt.adh.crans.org.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					user:
 | 
				
			||||||
 | 
					  name: ynerant
 | 
				
			||||||
 | 
					  root: yes
 | 
				
			||||||
							
								
								
									
										1
									
								
								host_vars/localhost
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								host_vars/localhost
									
									
									
									
									
										Symbolic link
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					ynerant-thinkpad.wifi.sand.auro.re.yml
 | 
				
			||||||
							
								
								
									
										4
									
								
								host_vars/tealc.crans.org.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								host_vars/tealc.crans.org.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					user:
 | 
				
			||||||
 | 
					  name: ynerant
 | 
				
			||||||
 | 
					  root: no
 | 
				
			||||||
							
								
								
									
										4
									
								
								host_vars/templier.adh.crans.org.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								host_vars/templier.adh.crans.org.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					user:
 | 
				
			||||||
 | 
					  name: ynerant
 | 
				
			||||||
 | 
					  root: yes
 | 
				
			||||||
							
								
								
									
										9
									
								
								host_vars/ynerant-pc.fil.sand.auro.re.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								host_vars/ynerant-pc.fil.sand.auro.re.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					user:
 | 
				
			||||||
 | 
					  name: ynerant
 | 
				
			||||||
 | 
					  root: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					laptop:
 | 
				
			||||||
 | 
					  numpad: true
 | 
				
			||||||
 | 
					  resolution: 1440p
 | 
				
			||||||
 | 
					  gpu: true
 | 
				
			||||||
							
								
								
									
										9
									
								
								host_vars/ynerant-thinkpad.wifi.sand.auro.re.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								host_vars/ynerant-thinkpad.wifi.sand.auro.re.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					user:
 | 
				
			||||||
 | 
					  name: ynerant
 | 
				
			||||||
 | 
					  root: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					laptop:
 | 
				
			||||||
 | 
					  numpad: false
 | 
				
			||||||
 | 
					  resolution: 1080p
 | 
				
			||||||
 | 
					  gpu: false
 | 
				
			||||||
							
								
								
									
										4
									
								
								host_vars/zamok.crans.org.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								host_vars/zamok.crans.org.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					user:
 | 
				
			||||||
 | 
					  name: ynerant
 | 
				
			||||||
 | 
					  root: no
 | 
				
			||||||
							
								
								
									
										16
									
								
								hosts
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								hosts
									
									
									
									
									
								
							@@ -1,3 +1,17 @@
 | 
				
			|||||||
[perso]
 | 
					[server]
 | 
				
			||||||
templier.adh.crans.org
 | 
					templier.adh.crans.org
 | 
				
			||||||
dt.adh.crans.org
 | 
					dt.adh.crans.org
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[perso]
 | 
				
			||||||
 | 
					ynerant-pc.fil.sand.auro.re
 | 
				
			||||||
 | 
					ynerant-thinkpad.wifi.sand.auro.re
 | 
				
			||||||
 | 
					localhost
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[crans]
 | 
				
			||||||
 | 
					odlyd.crans.org
 | 
				
			||||||
 | 
					tealc.crans.org
 | 
				
			||||||
 | 
					zamok.crans.org
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[all:vars]
 | 
				
			||||||
 | 
					# Force remote to use Python 3
 | 
				
			||||||
 | 
					ansible_python_interpreter=/usr/bin/env python3
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										12
									
								
								roles/audio/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								roles/audio/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Queries package manager for audio installation
 | 
				
			||||||
 | 
					  package:
 | 
				
			||||||
 | 
					    name:
 | 
				
			||||||
 | 
					      - alsa-utils
 | 
				
			||||||
 | 
					      - pulseaudio
 | 
				
			||||||
 | 
					      - pulsemixer
 | 
				
			||||||
 | 
					  register: pkg_result
 | 
				
			||||||
 | 
					  retries: 3
 | 
				
			||||||
 | 
					  until: pkg_result is succeeded
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -1,326 +0,0 @@
 | 
				
			|||||||
# Filename:      /etc/skel/.zshrc
 | 
					 | 
				
			||||||
# Purpose:       config file for zsh (z shell)
 | 
					 | 
				
			||||||
# Authors:       (c) grml-team (grml.org)
 | 
					 | 
				
			||||||
# Bug-Reports:   see http://grml.org/bugs/
 | 
					 | 
				
			||||||
# License:       This file is licensed under the GPL v2 or any later version.
 | 
					 | 
				
			||||||
################################################################################
 | 
					 | 
				
			||||||
# Nowadays, grml's zsh setup lives in only *one* zshrc file.
 | 
					 | 
				
			||||||
# That is the global one: /etc/zsh/zshrc (from grml-etc-core).
 | 
					 | 
				
			||||||
# It is best to leave *this* file untouched and do personal changes to
 | 
					 | 
				
			||||||
# your zsh setup via ${HOME}/.zshrc.local which is loaded at the end of
 | 
					 | 
				
			||||||
# the global zshrc.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# That way, we enable people on other operating systems to use our
 | 
					 | 
				
			||||||
# setup, too, just by copying our global zshrc to their ${HOME}/.zshrc.
 | 
					 | 
				
			||||||
# Adjustments would still go to the .zshrc.local file.
 | 
					 | 
				
			||||||
################################################################################
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Aurore host color and white user
 | 
					 | 
				
			||||||
zstyle ':prompt:grml:left:items:host' pre '%B%F{red}'
 | 
					 | 
				
			||||||
zstyle ':prompt:grml:left:items:host' post '%f%b'
 | 
					 | 
				
			||||||
zstyle ':prompt:grml:left:items:user' pre '%B'
 | 
					 | 
				
			||||||
zstyle ':prompt:grml:left:items:user' post '%b'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Settings for umask
 | 
					 | 
				
			||||||
#if (( EUID == 0 )); then
 | 
					 | 
				
			||||||
#    umask 002
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
#    umask 022
 | 
					 | 
				
			||||||
#fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Now, we'll give a few examples of what you might want to use in your
 | 
					 | 
				
			||||||
## .zshrc.local file (just copy'n'paste and uncomment it there):
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Prompt theme extension ##
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Virtualenv support
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#function virtual_env_prompt () {
 | 
					 | 
				
			||||||
#    REPLY=${VIRTUAL_ENV+(${VIRTUAL_ENV:t}) }
 | 
					 | 
				
			||||||
#}
 | 
					 | 
				
			||||||
#grml_theme_add_token  virtual-env -f virtual_env_prompt '%F{magenta}' '%f'
 | 
					 | 
				
			||||||
#zstyle ':prompt:grml:left:setup' items rc virtual-env change-root user at host path vcs percent
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## ZLE tweaks ##
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## use the vi navigation keys (hjkl) besides cursor keys in menu completion
 | 
					 | 
				
			||||||
#bindkey -M menuselect 'h' vi-backward-char        # left
 | 
					 | 
				
			||||||
#bindkey -M menuselect 'k' vi-up-line-or-history   # up
 | 
					 | 
				
			||||||
#bindkey -M menuselect 'l' vi-forward-char         # right
 | 
					 | 
				
			||||||
#bindkey -M menuselect 'j' vi-down-line-or-history # bottom
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## set command prediction from history, see 'man 1 zshcontrib'
 | 
					 | 
				
			||||||
#is4 && zrcautoload predict-on && \
 | 
					 | 
				
			||||||
#zle -N predict-on         && \
 | 
					 | 
				
			||||||
#zle -N predict-off        && \
 | 
					 | 
				
			||||||
#bindkey "^X^Z" predict-on && \
 | 
					 | 
				
			||||||
#bindkey "^Z" predict-off
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## press ctrl-q to quote line:
 | 
					 | 
				
			||||||
#mquote () {
 | 
					 | 
				
			||||||
#      zle beginning-of-line
 | 
					 | 
				
			||||||
#      zle forward-word
 | 
					 | 
				
			||||||
#      # RBUFFER="'$RBUFFER'"
 | 
					 | 
				
			||||||
#      RBUFFER=${(q)RBUFFER}
 | 
					 | 
				
			||||||
#      zle end-of-line
 | 
					 | 
				
			||||||
#}
 | 
					 | 
				
			||||||
#zle -N mquote && bindkey '^q' mquote
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## define word separators (for stuff like backward-word, forward-word, backward-kill-word,..)
 | 
					 | 
				
			||||||
#WORDCHARS='*?_-.[]~=/&;!#$%^(){}<>' # the default
 | 
					 | 
				
			||||||
#WORDCHARS=.
 | 
					 | 
				
			||||||
#WORDCHARS='*?_[]~=&;!#$%^(){}'
 | 
					 | 
				
			||||||
#WORDCHARS='${WORDCHARS:s@/@}'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# just type '...' to get '../..'
 | 
					 | 
				
			||||||
#rationalise-dot() {
 | 
					 | 
				
			||||||
#local MATCH
 | 
					 | 
				
			||||||
#if [[ $LBUFFER =~ '(^|/| |	|'$'\n''|\||;|&)\.\.$' ]]; then
 | 
					 | 
				
			||||||
#  LBUFFER+=/
 | 
					 | 
				
			||||||
#  zle self-insert
 | 
					 | 
				
			||||||
#  zle self-insert
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
#  zle self-insert
 | 
					 | 
				
			||||||
#fi
 | 
					 | 
				
			||||||
#}
 | 
					 | 
				
			||||||
#zle -N rationalise-dot
 | 
					 | 
				
			||||||
#bindkey . rationalise-dot
 | 
					 | 
				
			||||||
## without this, typing a . aborts incremental history search
 | 
					 | 
				
			||||||
#bindkey -M isearch . self-insert
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#bindkey '\eq' push-line-or-edit
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## some popular options ##
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## add `|' to output redirections in the history
 | 
					 | 
				
			||||||
#setopt histallowclobber
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## try to avoid the 'zsh: no matches found...'
 | 
					 | 
				
			||||||
#setopt nonomatch
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## warning if file exists ('cat /dev/null > ~/.zshrc')
 | 
					 | 
				
			||||||
#setopt NO_clobber
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## don't warn me about bg processes when exiting
 | 
					 | 
				
			||||||
#setopt nocheckjobs
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## alert me if something failed
 | 
					 | 
				
			||||||
#setopt printexitvalue
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## with spelling correction, assume dvorak kb
 | 
					 | 
				
			||||||
#setopt dvorak
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Allow comments even in interactive shells
 | 
					 | 
				
			||||||
#setopt interactivecomments
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## compsys related snippets ##
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## changed completer settings
 | 
					 | 
				
			||||||
#zstyle ':completion:*' completer _complete _correct _approximate
 | 
					 | 
				
			||||||
#zstyle ':completion:*' expand prefix suffix
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## another different completer setting: expand shell aliases
 | 
					 | 
				
			||||||
#zstyle ':completion:*' completer _expand_alias _complete _approximate
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## to have more convenient account completion, specify your logins:
 | 
					 | 
				
			||||||
#my_accounts=(
 | 
					 | 
				
			||||||
# {grml,grml1}@foo.invalid
 | 
					 | 
				
			||||||
# grml-devel@bar.invalid
 | 
					 | 
				
			||||||
#)
 | 
					 | 
				
			||||||
#other_accounts=(
 | 
					 | 
				
			||||||
# {fred,root}@foo.invalid
 | 
					 | 
				
			||||||
# vera@bar.invalid
 | 
					 | 
				
			||||||
#)
 | 
					 | 
				
			||||||
#zstyle ':completion:*:my-accounts' users-hosts $my_accounts
 | 
					 | 
				
			||||||
#zstyle ':completion:*:other-accounts' users-hosts $other_accounts
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## add grml.org to your list of hosts
 | 
					 | 
				
			||||||
#hosts+=(grml.org)
 | 
					 | 
				
			||||||
#zstyle ':completion:*:hosts' hosts $hosts
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## telnet on non-default ports? ...well:
 | 
					 | 
				
			||||||
## specify specific port/service settings:
 | 
					 | 
				
			||||||
#telnet_users_hosts_ports=(
 | 
					 | 
				
			||||||
#  user1@host1:
 | 
					 | 
				
			||||||
#  user2@host2:
 | 
					 | 
				
			||||||
#  @mail-server:{smtp,pop3}
 | 
					 | 
				
			||||||
#  @news-server:nntp
 | 
					 | 
				
			||||||
#  @proxy-server:8000
 | 
					 | 
				
			||||||
#)
 | 
					 | 
				
			||||||
#zstyle ':completion:*:*:telnet:*' users-hosts-ports $telnet_users_hosts_ports
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## the default grml setup provides '..' as a completion. it does not provide
 | 
					 | 
				
			||||||
## '.' though. If you want that too, use the following line:
 | 
					 | 
				
			||||||
#zstyle ':completion:*' special-dirs true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## aliases ##
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## translate
 | 
					 | 
				
			||||||
#alias u='translate -i'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## ignore ~/.ssh/known_hosts entries
 | 
					 | 
				
			||||||
#alias insecssh='ssh -o "StrictHostKeyChecking=no" -o "UserKnownHostsFile=/dev/null" -o "PreferredAuthentications=keyboard-interactive"'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## global aliases (for those who like them) ##
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#alias -g '...'='../..'
 | 
					 | 
				
			||||||
#alias -g '....'='../../..'
 | 
					 | 
				
			||||||
#alias -g BG='& exit'
 | 
					 | 
				
			||||||
#alias -g C='|wc -l'
 | 
					 | 
				
			||||||
#alias -g G='|grep'
 | 
					 | 
				
			||||||
#alias -g H='|head'
 | 
					 | 
				
			||||||
#alias -g Hl=' --help |& less -r'
 | 
					 | 
				
			||||||
#alias -g K='|keep'
 | 
					 | 
				
			||||||
#alias -g L='|less'
 | 
					 | 
				
			||||||
#alias -g LL='|& less -r'
 | 
					 | 
				
			||||||
#alias -g M='|most'
 | 
					 | 
				
			||||||
#alias -g N='&>/dev/null'
 | 
					 | 
				
			||||||
#alias -g R='| tr A-z N-za-m'
 | 
					 | 
				
			||||||
#alias -g SL='| sort | less'
 | 
					 | 
				
			||||||
#alias -g S='| sort'
 | 
					 | 
				
			||||||
#alias -g T='|tail'
 | 
					 | 
				
			||||||
#alias -g V='| vim -'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## instead of global aliase it might be better to use grmls $abk assoc array, whose contents are expanded after pressing ,.
 | 
					 | 
				
			||||||
#$abk[SnL]="| sort -n | less"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## get top 10 shell commands:
 | 
					 | 
				
			||||||
#alias top10='print -l ${(o)history%% *} | uniq -c | sort -nr | head -n 10'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Execute \kbd{./configure}
 | 
					 | 
				
			||||||
#alias CO="./configure"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Execute \kbd{./configure --help}
 | 
					 | 
				
			||||||
#alias CH="./configure --help"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## miscellaneous code ##
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Use a default width of 80 for manpages for more convenient reading
 | 
					 | 
				
			||||||
#export MANWIDTH=${MANWIDTH:-80}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Set a search path for the cd builtin
 | 
					 | 
				
			||||||
#cdpath=(.. ~)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## variation of our manzsh() function; pick you poison:
 | 
					 | 
				
			||||||
#manzsh()  { /usr/bin/man zshall |  most +/"$1" ; }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Switching shell safely and efficiently? http://www.zsh.org/mla/workers/2001/msg02410.html
 | 
					 | 
				
			||||||
#bash() {
 | 
					 | 
				
			||||||
#    NO_SWITCH="yes" command bash "$@"
 | 
					 | 
				
			||||||
#}
 | 
					 | 
				
			||||||
#restart () {
 | 
					 | 
				
			||||||
#    exec $SHELL $SHELL_ARGS "$@"
 | 
					 | 
				
			||||||
#}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Handy functions for use with the (e::) globbing qualifier (like nt)
 | 
					 | 
				
			||||||
#contains() { grep -q "$*" $REPLY }
 | 
					 | 
				
			||||||
#sameas() { diff -q "$*" $REPLY &>/dev/null }
 | 
					 | 
				
			||||||
#ot () { [[ $REPLY -ot ${~1} ]] }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## get_ic() - queries imap servers for capabilities; real simple. no imaps
 | 
					 | 
				
			||||||
#ic_get() {
 | 
					 | 
				
			||||||
#    emulate -L zsh
 | 
					 | 
				
			||||||
#    local port
 | 
					 | 
				
			||||||
#    if [[ ! -z $1 ]] ; then
 | 
					 | 
				
			||||||
#        port=${2:-143}
 | 
					 | 
				
			||||||
#        print "querying imap server on $1:${port}...\n";
 | 
					 | 
				
			||||||
#        print "a1 capability\na2 logout\n" | nc $1 ${port}
 | 
					 | 
				
			||||||
#    else
 | 
					 | 
				
			||||||
#        print "usage:\n  $0 <imap-server> [port]"
 | 
					 | 
				
			||||||
#    fi
 | 
					 | 
				
			||||||
#}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## List all occurrences of programm in current PATH
 | 
					 | 
				
			||||||
#plap() {
 | 
					 | 
				
			||||||
#    emulate -L zsh
 | 
					 | 
				
			||||||
#    if [[ $# = 0 ]] ; then
 | 
					 | 
				
			||||||
#        echo "Usage:    $0 program"
 | 
					 | 
				
			||||||
#        echo "Example:  $0 zsh"
 | 
					 | 
				
			||||||
#        echo "Lists all occurrences of program in the current PATH."
 | 
					 | 
				
			||||||
#    else
 | 
					 | 
				
			||||||
#        ls -l ${^path}/*$1*(*N)
 | 
					 | 
				
			||||||
#    fi
 | 
					 | 
				
			||||||
#}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Find out which libs define a symbol
 | 
					 | 
				
			||||||
#lcheck() {
 | 
					 | 
				
			||||||
#    if [[ -n "$1" ]] ; then
 | 
					 | 
				
			||||||
#        nm -go /usr/lib/lib*.a 2>/dev/null | grep ":[[:xdigit:]]\{8\} . .*$1"
 | 
					 | 
				
			||||||
#    else
 | 
					 | 
				
			||||||
#        echo "Usage: lcheck <function>" >&2
 | 
					 | 
				
			||||||
#    fi
 | 
					 | 
				
			||||||
#}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Download a file and display it locally
 | 
					 | 
				
			||||||
#uopen() {
 | 
					 | 
				
			||||||
#    emulate -L zsh
 | 
					 | 
				
			||||||
#    if ! [[ -n "$1" ]] ; then
 | 
					 | 
				
			||||||
#        print "Usage: uopen \$URL/\$file">&2
 | 
					 | 
				
			||||||
#        return 1
 | 
					 | 
				
			||||||
#    else
 | 
					 | 
				
			||||||
#        FILE=$1
 | 
					 | 
				
			||||||
#        MIME=$(curl --head $FILE | \
 | 
					 | 
				
			||||||
#               grep Content-Type | \
 | 
					 | 
				
			||||||
#               cut -d ' ' -f 2 | \
 | 
					 | 
				
			||||||
#               cut -d\; -f 1)
 | 
					 | 
				
			||||||
#        MIME=${MIME%$'\r'}
 | 
					 | 
				
			||||||
#        curl $FILE | see ${MIME}:-
 | 
					 | 
				
			||||||
#    fi
 | 
					 | 
				
			||||||
#}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Memory overview
 | 
					 | 
				
			||||||
#memusage() {
 | 
					 | 
				
			||||||
#    ps aux | awk '{if (NR > 1) print $5;
 | 
					 | 
				
			||||||
#                   if (NR > 2) print "+"}
 | 
					 | 
				
			||||||
#                   END { print "p" }' | dc
 | 
					 | 
				
			||||||
#}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## print hex value of a number
 | 
					 | 
				
			||||||
#hex() {
 | 
					 | 
				
			||||||
#    emulate -L zsh
 | 
					 | 
				
			||||||
#    if [[ -n "$1" ]]; then
 | 
					 | 
				
			||||||
#        printf "%x\n" $1
 | 
					 | 
				
			||||||
#    else
 | 
					 | 
				
			||||||
#        print 'Usage: hex <number-to-convert>'
 | 
					 | 
				
			||||||
#        return 1
 | 
					 | 
				
			||||||
#    fi
 | 
					 | 
				
			||||||
#}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## log out? set timeout in seconds...
 | 
					 | 
				
			||||||
## ...and do not log out in some specific terminals:
 | 
					 | 
				
			||||||
#if [[ "${TERM}" == ([Exa]term*|rxvt|dtterm|screen*) ]] ; then
 | 
					 | 
				
			||||||
#    unset TMOUT
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
#    TMOUT=1800
 | 
					 | 
				
			||||||
#fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## associate types and extensions (be aware with perl scripts and anwanted behaviour!)
 | 
					 | 
				
			||||||
#check_com zsh-mime-setup || { autoload zsh-mime-setup && zsh-mime-setup }
 | 
					 | 
				
			||||||
#alias -s pl='perl -S'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## ctrl-s will no longer freeze the terminal.
 | 
					 | 
				
			||||||
#stty erase "^?"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## you want to automatically use a bigger font on big terminals?
 | 
					 | 
				
			||||||
#if [[ "$TERM" == "xterm" ]] && [[ "$LINES" -ge 50 ]] && [[ "$COLUMNS" -ge 100 ]] && [[ -z "$SSH_CONNECTION" ]] ; then
 | 
					 | 
				
			||||||
#    large
 | 
					 | 
				
			||||||
#fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Some quick Perl-hacks aka /useful/ oneliner
 | 
					 | 
				
			||||||
#bew() { perl -le 'print unpack "B*","'$1'"' }
 | 
					 | 
				
			||||||
#web() { perl -le 'print pack "B*","'$1'"' }
 | 
					 | 
				
			||||||
#hew() { perl -le 'print unpack "H*","'$1'"' }
 | 
					 | 
				
			||||||
#weh() { perl -le 'print pack "H*","'$1'"' }
 | 
					 | 
				
			||||||
#pversion()    { perl -M$1 -le "print $1->VERSION" } # i. e."pversion LWP -> 5.79"
 | 
					 | 
				
			||||||
#getlinks ()   { perl -ne 'while ( m/"((www|ftp|http):\/\/.*?)"/gc ) { print $1, "\n"; }' $* }
 | 
					 | 
				
			||||||
#gethrefs ()   { perl -ne 'while ( m/href="([^"]*)"/gc ) { print $1, "\n"; }' $* }
 | 
					 | 
				
			||||||
#getanames ()  { perl -ne 'while ( m/a name="([^"]*)"/gc ) { print $1, "\n"; }' $* }
 | 
					 | 
				
			||||||
#getforms ()   { perl -ne 'while ( m:(\</?(input|form|select|option).*?\>):gic ) { print $1, "\n"; }' $* }
 | 
					 | 
				
			||||||
#getstrings () { perl -ne 'while ( m/"(.*?)"/gc ) { print $1, "\n"; }' $*}
 | 
					 | 
				
			||||||
#showINC ()    { perl -e 'for (@INC) { printf "%d %s\n", $i++, $_ }' }
 | 
					 | 
				
			||||||
#vimpm ()      { vim `perldoc -l $1 | sed -e 's/pod$/pm/'` }
 | 
					 | 
				
			||||||
#vimhelp ()    { vim -c "help $1" -c on -c "au! VimEnter *" }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## END OF FILE #################################################################
 | 
					 | 
				
			||||||
@@ -1,39 +0,0 @@
 | 
				
			|||||||
#!/bin/sh
 | 
					 | 
				
			||||||
# {{ ansible_managed }}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Pretty uptime
 | 
					 | 
				
			||||||
upSeconds="$(/usr/bin/cut -d. -f1 /proc/uptime)"
 | 
					 | 
				
			||||||
mins=$((${upSeconds}/60%60))
 | 
					 | 
				
			||||||
hours=$((${upSeconds}/3600%24))
 | 
					 | 
				
			||||||
days=$((${upSeconds}/86400))
 | 
					 | 
				
			||||||
UPTIME=`printf "%d jours, %02dh%02dm" "$days" "$hours" "$mins"`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# RAM
 | 
					 | 
				
			||||||
RAM=`free -m | awk 'NR==2{printf "%s/%sMB (%.2f%%)\n", $3,$2,$3*100/$2 }'`
 | 
					 | 
				
			||||||
DISK=`df -h | awk '$NF=="/"{printf "%d/%dGB (%s)\n", $3,$2,$5}'`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Text font
 | 
					 | 
				
			||||||
bold=$(tput bold)
 | 
					 | 
				
			||||||
normal=$(tput sgr0)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Logo
 | 
					 | 
				
			||||||
cat << EOF
 | 
					 | 
				
			||||||
[49m[K[0m
 | 
					 | 
				
			||||||
[0m               [48;5;160m[38;5;160m            [48;5;124m[38;5;124m [48;5;160m[38;5;160m [0m            [49m   ${bold}Uptime${normal} : ${UPTIME}
 | 
					 | 
				
			||||||
[0m           [48;5;160m[38;5;160m                     [0m         [49m   ${bold}Mémoire${normal} : ${RAM}
 | 
					 | 
				
			||||||
[0m       [48;5;160m[38;5;160m       [0m       [48;5;231m[38;5;232m [0m       [48;5;160m[38;5;160m     [0m       [49m   ${bold}Disque racine${normal} : ${DISK}
 | 
					 | 
				
			||||||
[0m     [48;5;160m[38;5;160m      [0m         [48;5;231m[38;5;232m   [0m         [48;5;160m[38;5;160m    [0m     [49m
 | 
					 | 
				
			||||||
[0m   [48;5;160m[38;5;160m [48;5;124m[38;5;124m [48;5;160m[38;5;160m    [0m          [48;5;231m[38;5;232m     [0m          [48;5;160m[38;5;160m   [48;5;52m[38;5;196m [0m   [49m
 | 
					 | 
				
			||||||
[0m  [48;5;124m[38;5;124m [0m [48;5;160m[38;5;160m   [0m           [48;5;231m[38;5;232m   [0m [48;5;231m[38;5;232m   [0m          [48;5;160m[38;5;160m    [0m  [49m
 | 
					 | 
				
			||||||
[0m   [48;5;160m[38;5;160m   [0m           [48;5;231m[38;5;232m   [0m   [48;5;231m[38;5;232m   [0m          [48;5;160m[38;5;160m   [0m [48;5;124m[38;5;124m [0m[49m
 | 
					 | 
				
			||||||
[0m  [48;5;124m[38;5;124m [48;5;160m[38;5;160m   [0m          [48;5;188m[38;5;188m [48;5;231m[38;5;232m  [0m     [48;5;231m[38;5;232m   [0m          [48;5;160m[38;5;160m    [0m[49m
 | 
					 | 
				
			||||||
[0m  [48;5;160m[38;5;160m   [0m           [48;5;160m[38;5;160m   [48;5;231m[38;5;232m         [0m         [48;5;160m[38;5;160m    [0m[49m
 | 
					 | 
				
			||||||
[0m  [48;5;160m[38;5;160m   [0m            [48;5;160m[38;5;160m   [48;5;231m[38;5;232m         [0m        [48;5;160m[38;5;160m    [0m[49m
 | 
					 | 
				
			||||||
[0m  [48;5;160m[38;5;160m   [0m         [48;5;231m[38;5;232m   [0m          [48;5;231m[38;5;232m   [0m       [48;5;160m[38;5;160m   [0m [49m
 | 
					 | 
				
			||||||
[0m  [48;5;160m[38;5;160m    [0m       [48;5;231m[38;5;232m   [0m            [48;5;231m[38;5;232m   [0m      [48;5;160m[38;5;160m   [0m [49m
 | 
					 | 
				
			||||||
[0m  [48;5;160m[38;5;160m    [0m      [48;5;231m[38;5;232m   [0m              [48;5;231m[38;5;232m   [0m    [48;5;160m[38;5;160m   [0m  [49m
 | 
					 | 
				
			||||||
[0m  [48;5;124m[38;5;124m [0m [48;5;160m[38;5;160m   [0m    [48;5;231m[38;5;232m   [0m                [48;5;231m[38;5;232m   [0m  [48;5;160m[38;5;160m    [0m  [49m
 | 
					 | 
				
			||||||
[0m     [48;5;160m[38;5;160m    [0m   [48;5;231m[38;5;232m [0m                  [48;5;231m[38;5;232m   [48;5;160m[38;5;160m    [0m   [49m
 | 
					 | 
				
			||||||
[0m      [48;5;160m[38;5;160m   [0m          ${bold}Aurore${normal}       [48;5;231m[38;5;232m  [48;5;160m[38;5;160m  [0m     [49m
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
@@ -1,3 +0,0 @@
 | 
				
			|||||||
#!/bin/sh
 | 
					 | 
				
			||||||
# {{ ansible_managed }}
 | 
					 | 
				
			||||||
uname -snrvm
 | 
					 | 
				
			||||||
@@ -1,4 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
# Reconfigure locales when conf changes
 | 
					 | 
				
			||||||
- name: Reconfigure locales
 | 
					 | 
				
			||||||
  command: dpkg-reconfigure locales -f noninteractive
 | 
					 | 
				
			||||||
@@ -1,52 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
- name: Install basic tools
 | 
					 | 
				
			||||||
  apt:
 | 
					 | 
				
			||||||
    name:
 | 
					 | 
				
			||||||
      - apt  # better than apt-get
 | 
					 | 
				
			||||||
      - aptitude  # nice to have for Ansible
 | 
					 | 
				
			||||||
      - bash-completion  # because bash
 | 
					 | 
				
			||||||
      - curl  # better than wget
 | 
					 | 
				
			||||||
      - git  # code versioning
 | 
					 | 
				
			||||||
      - htop  # better than top
 | 
					 | 
				
			||||||
      - less  # i like cats
 | 
					 | 
				
			||||||
      - sudo  # i am god
 | 
					 | 
				
			||||||
      - tmux  # better than screen
 | 
					 | 
				
			||||||
      - tree  # create a graphical tree of files
 | 
					 | 
				
			||||||
      - vim  # better than nano
 | 
					 | 
				
			||||||
      - molly-guard  # prevent reboot
 | 
					 | 
				
			||||||
      - ntp  # network time sync
 | 
					 | 
				
			||||||
      - emacs-nox  # for maman
 | 
					 | 
				
			||||||
    update_cache: true
 | 
					 | 
				
			||||||
  register: apt_result
 | 
					 | 
				
			||||||
  retries: 3
 | 
					 | 
				
			||||||
  until: apt_result is succeeded
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Pimp my server
 | 
					 | 
				
			||||||
- name: Customize motd
 | 
					 | 
				
			||||||
  copy:
 | 
					 | 
				
			||||||
    src: "update-motd.d/{{ item }}"
 | 
					 | 
				
			||||||
    dest: "/etc/update-motd.d/{{ item }}"
 | 
					 | 
				
			||||||
    mode: 0755
 | 
					 | 
				
			||||||
  loop:
 | 
					 | 
				
			||||||
    - 00-logo
 | 
					 | 
				
			||||||
    - 10-uname
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- name: Remove Debian warranty motd
 | 
					 | 
				
			||||||
  file:
 | 
					 | 
				
			||||||
    path: /etc/motd
 | 
					 | 
				
			||||||
    state: absent
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Patriotisme
 | 
					 | 
				
			||||||
- name: Ensure French UTF-8 locale exists
 | 
					 | 
				
			||||||
  locale_gen:
 | 
					 | 
				
			||||||
    name: fr_FR.UTF-8
 | 
					 | 
				
			||||||
    state: present
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Fix LC_CTYPE="C"
 | 
					 | 
				
			||||||
- name: Select default locale
 | 
					 | 
				
			||||||
  debconf:
 | 
					 | 
				
			||||||
    name: locales
 | 
					 | 
				
			||||||
    question: locales/default_environment_locale
 | 
					 | 
				
			||||||
    value: fr_FR.UTF-8
 | 
					 | 
				
			||||||
    vtype: select
 | 
					 | 
				
			||||||
  notify: Reconfigure locales
 | 
					 | 
				
			||||||
							
								
								
									
										6
									
								
								roles/bind/handlers/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								roles/bind/handlers/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Restart bind
 | 
				
			||||||
 | 
					  service:
 | 
				
			||||||
 | 
					    name: bind9
 | 
				
			||||||
 | 
					    state: restarted
 | 
				
			||||||
							
								
								
									
										23
									
								
								roles/bind/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								roles/bind/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Queries apt to install bind9
 | 
				
			||||||
 | 
					  apt:
 | 
				
			||||||
 | 
					    name:
 | 
				
			||||||
 | 
					      - bind9
 | 
				
			||||||
 | 
					  register: pkg_result
 | 
				
			||||||
 | 
					  retries: 3
 | 
				
			||||||
 | 
					  until: pkg_result is succeeded
 | 
				
			||||||
 | 
					  notify: Restart bind
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Deploy named local configuration
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: 'named.conf.local.j2'
 | 
				
			||||||
 | 
					    dest: '/etc/bind/named.conf.local'
 | 
				
			||||||
 | 
					  notify: Restart bind
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Deploy per-site configuration
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: 'db.j2'
 | 
				
			||||||
 | 
					    dest: '/var/lib/bind/{{ item.name }}/db'
 | 
				
			||||||
 | 
					  with_items: '{{ bind.domains }}'
 | 
				
			||||||
 | 
					  notify: Restart bind
 | 
				
			||||||
							
								
								
									
										21
									
								
								roles/bind/templates/db.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								roles/bind/templates/db.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					$TTL 3600
 | 
				
			||||||
 | 
					@ IN SOA dns {{ item.administrator }}. (
 | 
				
			||||||
 | 
					  {{ '%Y%m%d%H' | strftime }} ;Serial
 | 
				
			||||||
 | 
					  3600 ;Refresh
 | 
				
			||||||
 | 
					  1800 ;Retry
 | 
				
			||||||
 | 
					  3600000 ;Expire
 | 
				
			||||||
 | 
					  172800 ;Minimum
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{ item.name }}.    IN NS dns
 | 
				
			||||||
 | 
					{{ item.name }}.    IN NS slave
 | 
				
			||||||
 | 
					{{ item.name }}.    IN A {{ item.ipv4 }}
 | 
				
			||||||
 | 
					{{ item.name }}.    IN AAAA {{ item.ipv6 }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dns         IN A {{ item.ipv4 }}
 | 
				
			||||||
 | 
					dns         IN AAAA {{ item.ipv6 }}
 | 
				
			||||||
 | 
					slave       IN A {{ item.slave }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% for alias in item.aliases %}
 | 
				
			||||||
 | 
					{{ alias }} IN CNAME @
 | 
				
			||||||
 | 
					{% endfor %}
 | 
				
			||||||
							
								
								
									
										16
									
								
								roles/bind/templates/named.conf.local.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								roles/bind/templates/named.conf.local.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					//
 | 
				
			||||||
 | 
					// Do any local configuration here
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Consider adding the 1918 zones here, if they are not used in your
 | 
				
			||||||
 | 
					// organization
 | 
				
			||||||
 | 
					//include "/etc/bind/zones.rfc1918";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% for domain in bind.domains %}
 | 
				
			||||||
 | 
					zone "{{ domain.name }}" {
 | 
				
			||||||
 | 
					  type master;
 | 
				
			||||||
 | 
					  file "/var/lib/bind/{{ domain.name }}/db";
 | 
				
			||||||
 | 
					  notify yes;
 | 
				
			||||||
 | 
					  allow-transfer { {{ domain.slave }}; };
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					{% endfor %}
 | 
				
			||||||
							
								
								
									
										36
									
								
								roles/cli-utils/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								roles/cli-utils/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,36 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					- name: Install cli utilities
 | 
				
			||||||
 | 
					  package:
 | 
				
			||||||
 | 
					    name:
 | 
				
			||||||
 | 
					      - bash
 | 
				
			||||||
 | 
					      - bash-completion
 | 
				
			||||||
 | 
					      - bat
 | 
				
			||||||
 | 
					      - git
 | 
				
			||||||
 | 
					      - sl
 | 
				
			||||||
 | 
					      - htop
 | 
				
			||||||
 | 
					      - tmux
 | 
				
			||||||
 | 
					      - tree
 | 
				
			||||||
 | 
					  register: pkg_result
 | 
				
			||||||
 | 
					  retries: 3
 | 
				
			||||||
 | 
					  until: pkg_result is succeeded
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					  when: user.root
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Create directory hierarchy
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    path: '.config/{{ item }}'
 | 
				
			||||||
 | 
					    state: directory
 | 
				
			||||||
 | 
					  with_items:
 | 
				
			||||||
 | 
					    - 'git/'
 | 
				
			||||||
 | 
					    - 'bash/'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Deploying config files
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: '{{ item.src }}'
 | 
				
			||||||
 | 
					    dest: '{{ item.dest }}'
 | 
				
			||||||
 | 
					  with_items:
 | 
				
			||||||
 | 
					    - { src: bashrc.j2, dest: .bashrc }
 | 
				
			||||||
 | 
					    - { src: inputrc.j2, dest: .inputrc }
 | 
				
			||||||
 | 
					    - { src: bash_aliases.j2, dest: .config/bash/bash_aliases }
 | 
				
			||||||
 | 
					    - { src: gitconfig.j2, dest: .config/git/config }
 | 
				
			||||||
 | 
					    - { src: tmux.conf.j2, dest: .tmux.conf }
 | 
				
			||||||
							
								
								
									
										41
									
								
								roles/cli-utils/templates/bash_aliases.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								roles/cli-utils/templates/bash_aliases.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,41 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# enable color support of ls and also add handy aliases
 | 
				
			||||||
 | 
					if [ -x /usr/bin/dircolors ]; then
 | 
				
			||||||
 | 
					    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
 | 
				
			||||||
 | 
					    alias ls='ls --color=auto'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    alias grep='grep --color=always'
 | 
				
			||||||
 | 
					    alias fgrep='fgrep --color=always'
 | 
				
			||||||
 | 
					    alias egrep='egrep --color=always'
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# some more ls aliases
 | 
				
			||||||
 | 
					alias ll='ls -alF'
 | 
				
			||||||
 | 
					alias la='ls -A'
 | 
				
			||||||
 | 
					alias l='ls -CF'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alias cd='cd -P'
 | 
				
			||||||
 | 
					alias ip='ip -c'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alias less='less -R'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alias toilet='toilet -f mono12 --rainbow'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alias startx='exec startx'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alias gst='git status -s'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alias proxy='ssh -q -C -N -D 8080'
 | 
				
			||||||
 | 
					alias wip='watch -c ip -c'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alias vi=vim
 | 
				
			||||||
 | 
					alias cat=bat
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Add some emoji aliases
 | 
				
			||||||
 | 
					alias 🦇=bat
 | 
				
			||||||
 | 
					alias 🐈=cat
 | 
				
			||||||
 | 
					alias 🚆=sl
 | 
				
			||||||
 | 
					alias 🚂=sl
 | 
				
			||||||
 | 
					alias 🚅=sl
 | 
				
			||||||
 | 
					alias 💿=cd
 | 
				
			||||||
							
								
								
									
										57
									
								
								roles/cli-utils/templates/bashrc.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								roles/cli-utils/templates/bashrc.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,57 @@
 | 
				
			|||||||
 | 
					[ -z "$PS1" ] && return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					HISTCONTROL=ignoredups:ignorespace
 | 
				
			||||||
 | 
					HISTFILE=/dev/null
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# check the window size after each command and, if necessary,
 | 
				
			||||||
 | 
					# update the values of LINES and COLUMNS.
 | 
				
			||||||
 | 
					shopt -s checkwinsize
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# make less more friendly for non-text input files, see lesspipe(1)
 | 
				
			||||||
 | 
					[ -x /usr/bin/lesspipe.sh ] && eval "$(SHELL=/bin/sh lesspipe.sh)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PROMPT_COMMAND=__prompt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					__prompt() {
 | 
				
			||||||
 | 
					  retline=$?
 | 
				
			||||||
 | 
					  gitline=$(git branch 2> /dev/null | grep '^*' | awk '{print $2}')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # COLORS
 | 
				
			||||||
 | 
					  RED='\[\e[01;31m\]'
 | 
				
			||||||
 | 
					  GREEN='\[\e[01;32m\]'
 | 
				
			||||||
 | 
					  ORANGE='\[\e[01;33m\]'
 | 
				
			||||||
 | 
					  BLUE='\[\e[01;34m\]'
 | 
				
			||||||
 | 
					  NC='\[\e[0m\]'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  PS1=""
 | 
				
			||||||
 | 
					  PS1+="$GREEN\u@\h$NC" # user@host
 | 
				
			||||||
 | 
					  PS1+=" $BLUE\W$NC" # pwd
 | 
				
			||||||
 | 
					  [ -z $gitline ] || PS1+=" $ORANGE$gitline$NC"
 | 
				
			||||||
 | 
					  PS1="[ $PS1 ]"
 | 
				
			||||||
 | 
					  [ $retline -ne 0 ] && PS1+=" $RED$retline$NC "
 | 
				
			||||||
 | 
					  PS1+="\$ "
 | 
				
			||||||
 | 
					  return $ret
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -f ~/.config/bash/bash_aliases ]; then
 | 
				
			||||||
 | 
					    . ~/.config/bash/bash_aliases
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					rm -rf {{ cliutils.bash.bogus_dirs | join(" ") }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -f /usr/share/bash-completion/bash_completion ]; then
 | 
				
			||||||
 | 
					  . /usr/share/bash-completion/bash_completion
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export XDG_CONFIG_HOME=~/.config/
 | 
				
			||||||
 | 
					grep -q '/\.local/bin'<<<$PATH || export PATH=$PATH:~/.local/bin/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## REMOVING LESSHST
 | 
				
			||||||
 | 
					LESSHISTFILE=/dev/null
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export EDITOR='vim'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export PASSWORD_STORE_ENABLE_EXTENSIONS=true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										13
									
								
								roles/cli-utils/templates/gitconfig.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								roles/cli-utils/templates/gitconfig.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					[user]
 | 
				
			||||||
 | 
					    email = {{ cliutils.git.email }}
 | 
				
			||||||
 | 
					    name = {{ cliutils.git.name }}
 | 
				
			||||||
 | 
					    signingkey = {{ cliutils.git.signingkey }}
 | 
				
			||||||
 | 
					[commit]
 | 
				
			||||||
 | 
					    gpgsign = true
 | 
				
			||||||
 | 
					[core]
 | 
				
			||||||
 | 
					    autocrlf = input
 | 
				
			||||||
 | 
					    editor = vim
 | 
				
			||||||
 | 
					[format]
 | 
				
			||||||
 | 
					    signoff = true
 | 
				
			||||||
 | 
					[pull]
 | 
				
			||||||
 | 
					    ff = only
 | 
				
			||||||
							
								
								
									
										1
									
								
								roles/cli-utils/templates/inputrc.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								roles/cli-utils/templates/inputrc.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					set mark-symlinked-directories on
 | 
				
			||||||
							
								
								
									
										25
									
								
								roles/cli-utils/templates/tmux.conf.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								roles/cli-utils/templates/tmux.conf.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,25 @@
 | 
				
			|||||||
 | 
					unbind r
 | 
				
			||||||
 | 
					bind r source-file ~/.tmux.conf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -g mouse on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# use the vim motion keys to move between panes
 | 
				
			||||||
 | 
					bind h select-pane -L
 | 
				
			||||||
 | 
					bind j select-pane -D
 | 
				
			||||||
 | 
					bind k select-pane -U
 | 
				
			||||||
 | 
					bind l select-pane -R
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					setw -g mode-keys vi
 | 
				
			||||||
 | 
					bind < resize-pane -L 10
 | 
				
			||||||
 | 
					bind > resize-pane -R 10
 | 
				
			||||||
 | 
					bind - resize-pane -D 10
 | 
				
			||||||
 | 
					bind + resize-pane -U 10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bind-key -T copy-mode-vi 'v' send -X begin-selection;
 | 
				
			||||||
 | 
					bind-key -T copy-mode-vi 'V' send -X select-line;
 | 
				
			||||||
 | 
					bind-key -T copy-mode-vi 'r' send -X rectangle-toggle;
 | 
				
			||||||
 | 
					bind-key -T copy-mode-vi 'y' send -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -g base-index 1
 | 
				
			||||||
 | 
					set -g status-bg colour41
 | 
				
			||||||
							
								
								
									
										40
									
								
								roles/communication/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								roles/communication/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					- name: Queries package manager for communication installation
 | 
				
			||||||
 | 
					  package:
 | 
				
			||||||
 | 
					    name:
 | 
				
			||||||
 | 
					      - discord
 | 
				
			||||||
 | 
					      - element-desktop
 | 
				
			||||||
 | 
					      - evolution
 | 
				
			||||||
 | 
					      - gnome-keyring
 | 
				
			||||||
 | 
					      - gnome-themes-extra
 | 
				
			||||||
 | 
					      - lxappearance
 | 
				
			||||||
 | 
					      - seahorse
 | 
				
			||||||
 | 
					  register: pkg_result
 | 
				
			||||||
 | 
					  retries: 3
 | 
				
			||||||
 | 
					  until: pkg_result is succeeded
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Create lxappearance directory hierarchy
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    path: '{{ item }}'
 | 
				
			||||||
 | 
					    state: directory
 | 
				
			||||||
 | 
					  with_items:
 | 
				
			||||||
 | 
					    - '.config/gtk-3.0/'
 | 
				
			||||||
 | 
					    - '.icons/default/'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Enable dark mode for evolution
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: '{{ item.src }}'
 | 
				
			||||||
 | 
					    dest: '{{ item.dest }}'
 | 
				
			||||||
 | 
					  with_items:
 | 
				
			||||||
 | 
					    - { src: 'gtkrc.j2', dest: '.gtkrc-2.0' }
 | 
				
			||||||
 | 
					    - { src: 'settings.ini.j2', dest: '.config/gtk-3.0/settings.ini' }
 | 
				
			||||||
 | 
					    - { src: 'index.theme.j2', dest: '.icons/default/index.theme'}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Create evolution config and cache parent directories
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    path: '{{ item }}'
 | 
				
			||||||
 | 
					    state: directory
 | 
				
			||||||
 | 
					  with_items:
 | 
				
			||||||
 | 
					    - '.config/'
 | 
				
			||||||
 | 
					    - '.local/share/'
 | 
				
			||||||
							
								
								
									
										19
									
								
								roles/communication/templates/gtkrc.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								roles/communication/templates/gtkrc.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					# DO NOT EDIT! This file will be overwritten by LXAppearance.
 | 
				
			||||||
 | 
					# Any customization should be done in ~/.gtkrc-2.0.mine instead.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					include "/home/ynerant/.gtkrc-2.0.mine"
 | 
				
			||||||
 | 
					gtk-theme-name="Adwaita-dark"
 | 
				
			||||||
 | 
					gtk-icon-theme-name="Adwaita"
 | 
				
			||||||
 | 
					gtk-font-name="Monospace 8"
 | 
				
			||||||
 | 
					gtk-cursor-theme-name="Adwaita"
 | 
				
			||||||
 | 
					gtk-cursor-theme-size=0
 | 
				
			||||||
 | 
					gtk-toolbar-style=GTK_TOOLBAR_TEXT
 | 
				
			||||||
 | 
					gtk-toolbar-icon-size=GTK_ICON_SIZE_SMALL_TOOLBAR
 | 
				
			||||||
 | 
					gtk-button-images=0
 | 
				
			||||||
 | 
					gtk-menu-images=0
 | 
				
			||||||
 | 
					gtk-enable-event-sounds=0
 | 
				
			||||||
 | 
					gtk-enable-input-feedback-sounds=0
 | 
				
			||||||
 | 
					gtk-xft-antialias=1
 | 
				
			||||||
 | 
					gtk-xft-hinting=0
 | 
				
			||||||
 | 
					gtk-xft-hintstyle="hintnone"
 | 
				
			||||||
 | 
					gtk-xft-rgba="none"
 | 
				
			||||||
							
								
								
									
										4
									
								
								roles/communication/templates/index.theme.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								roles/communication/templates/index.theme.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					[Icon Theme]
 | 
				
			||||||
 | 
					Name=Default
 | 
				
			||||||
 | 
					Comment=Default Cursor Theme
 | 
				
			||||||
 | 
					Inherits=Adwaita
 | 
				
			||||||
							
								
								
									
										16
									
								
								roles/communication/templates/settings.ini.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								roles/communication/templates/settings.ini.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					[Settings]
 | 
				
			||||||
 | 
					gtk-theme-name=Adwaita-dark
 | 
				
			||||||
 | 
					gtk-icon-theme-name=Adwaita
 | 
				
			||||||
 | 
					gtk-font-name=Monospace 8
 | 
				
			||||||
 | 
					gtk-cursor-theme-name=Adwaita
 | 
				
			||||||
 | 
					gtk-cursor-theme-size=0
 | 
				
			||||||
 | 
					gtk-toolbar-style=GTK_TOOLBAR_TEXT
 | 
				
			||||||
 | 
					gtk-toolbar-icon-size=GTK_ICON_SIZE_SMALL_TOOLBAR
 | 
				
			||||||
 | 
					gtk-button-images=0
 | 
				
			||||||
 | 
					gtk-menu-images=0
 | 
				
			||||||
 | 
					gtk-enable-event-sounds=0
 | 
				
			||||||
 | 
					gtk-enable-input-feedback-sounds=0
 | 
				
			||||||
 | 
					gtk-xft-antialias=1
 | 
				
			||||||
 | 
					gtk-xft-hinting=0
 | 
				
			||||||
 | 
					gtk-xft-hintstyle=hintnone
 | 
				
			||||||
 | 
					gtk-xft-rgba=none
 | 
				
			||||||
							
								
								
									
										28
									
								
								roles/i3/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								roles/i3/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Queries package manager for graphical instalation
 | 
				
			||||||
 | 
					  package:
 | 
				
			||||||
 | 
					    name:
 | 
				
			||||||
 | 
					      - i3-wm
 | 
				
			||||||
 | 
					      - i3blocks
 | 
				
			||||||
 | 
					      - i3status
 | 
				
			||||||
 | 
					  register: pkg_result
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					  retries: 3
 | 
				
			||||||
 | 
					  until: pkg_result is succeeded
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Create i3 configuration folder hierarchy
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    path: '.config/{{ item }}'
 | 
				
			||||||
 | 
					    state: directory
 | 
				
			||||||
 | 
					  with_items:
 | 
				
			||||||
 | 
					    - i3/
 | 
				
			||||||
 | 
					    - i3status/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Copy i3 configuration files
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: '{{ item }}.j2'
 | 
				
			||||||
 | 
					    dest: '.config/{{ item }}/config'
 | 
				
			||||||
 | 
					  with_items:
 | 
				
			||||||
 | 
					    - i3
 | 
				
			||||||
 | 
					    - i3status
 | 
				
			||||||
							
								
								
									
										230
									
								
								roles/i3/templates/i3.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										230
									
								
								roles/i3/templates/i3.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,230 @@
 | 
				
			|||||||
 | 
					# This file has been auto-generated by i3-config-wizard(1).
 | 
				
			||||||
 | 
					# It will not be overwritten, so edit it as you like.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Should you change your keyboard layout some time, delete
 | 
				
			||||||
 | 
					# this file and re-run i3-config-wizard(1).
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# i3 config file (v4)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Please see https://i3wm.org/docs/userguide.html for a complete reference!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exec /home/ynerant/.fehbg
 | 
				
			||||||
 | 
					exec dunst
 | 
				
			||||||
 | 
					exec nm-applet
 | 
				
			||||||
 | 
					exec battery
 | 
				
			||||||
 | 
					exec mpd
 | 
				
			||||||
 | 
					exec mpd_reader
 | 
				
			||||||
 | 
					{% if laptop.numpad %}
 | 
				
			||||||
 | 
					exec numlockx
 | 
				
			||||||
 | 
					{% endif %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set $mod Mod4
 | 
				
			||||||
 | 
					set $refresh killall -SIGUSR1 i3status
 | 
				
			||||||
 | 
					floating_modifier $mod
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Font for window titles. Will also be used by the bar unless a different font
 | 
				
			||||||
 | 
					# is used in the bar {} block below.
 | 
				
			||||||
 | 
					font pango:monospace 8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Center window title and remove edges from windows
 | 
				
			||||||
 | 
					title_align center
 | 
				
			||||||
 | 
					hide_edge_borders both
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Bindings for volume and light
 | 
				
			||||||
 | 
					bindsym XF86MonBrightnessDown exec light -U 10
 | 
				
			||||||
 | 
					bindsym XF86MonBrightnessUp exec light -A 10
 | 
				
			||||||
 | 
					bindsym XF86AudioRaiseVolume exec volume -A 5 && $refresh
 | 
				
			||||||
 | 
					bindsym XF86AudioLowerVolume exec volume -U 5 && $refresh
 | 
				
			||||||
 | 
					bindsym Shift+XF86MonBrightnessDown exec light -U 1
 | 
				
			||||||
 | 
					bindsym Shift+XF86MonBrightnessUp exec light -A 1
 | 
				
			||||||
 | 
					bindsym Shift+XF86AudioRaiseVolume exec volume -A 1 && $refresh
 | 
				
			||||||
 | 
					bindsym Shift+XF86AudioLowerVolume exec volume -U 1 && $refresh
 | 
				
			||||||
 | 
					bindsym XF86AudioMute exec volume -T && $refresh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% if not laptop.numpad %}
 | 
				
			||||||
 | 
					# Binding for mpd
 | 
				
			||||||
 | 
					bindsym KP_Add exec mpc next && $refresh
 | 
				
			||||||
 | 
					bindsym KP_Subtract exec mpc prev && $refresh
 | 
				
			||||||
 | 
					bindsym KP_Multiply exec mpc toggle && $refresh
 | 
				
			||||||
 | 
					bindsym $mod+F3 exec mpc volume +5
 | 
				
			||||||
 | 
					bindsym $mod+F2 exec mpc volume -5
 | 
				
			||||||
 | 
					{% endif %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Binding to toggle mouse tapping
 | 
				
			||||||
 | 
					bindsym XF86TouchpadToggle exec mouse_tap toggle
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# start a terminal
 | 
				
			||||||
 | 
					bindsym $mod+Return exec xfce4-terminal -x tmux
 | 
				
			||||||
 | 
					bindsym $mod+Shift+Return exec xfce4-terminal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# kill focused window
 | 
				
			||||||
 | 
					bindsym $mod+Shift+q kill
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# start dmenu (a program launcher)
 | 
				
			||||||
 | 
					bindsym $mod+d exec dmenu_run -l 1 -p '[ ynerant@morgoth ~ ]'
 | 
				
			||||||
 | 
					bindsym XF86Search exec dmenu_run -l 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Screenshots
 | 
				
			||||||
 | 
					bindsym Print exec scrot 'Pictures/Screenshots/%Y-%m-%d-%s.jpg'
 | 
				
			||||||
 | 
					bindsym --release Shift+Print exec scrot -s "Pictures/Screenshots/$(ls Pictures/Screenshots/ | dmenu)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Binding to lock screen
 | 
				
			||||||
 | 
					bindsym $mod+Escape exec physlock
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# alternatively, you can use the cursor keys:
 | 
				
			||||||
 | 
					bindsym $mod+Left focus left
 | 
				
			||||||
 | 
					bindsym $mod+h focus left
 | 
				
			||||||
 | 
					bindsym $mod+Down focus down
 | 
				
			||||||
 | 
					bindsym $mod+Up focus up
 | 
				
			||||||
 | 
					bindsym $mod+Right focus right
 | 
				
			||||||
 | 
					bindsym $mod+l focus right
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Move through output
 | 
				
			||||||
 | 
					bindsym $mod+j focus output down
 | 
				
			||||||
 | 
					bindsym $mod+k focus output up
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# alternatively, you can use the cursor keys:
 | 
				
			||||||
 | 
					bindsym $mod+Shift+Left move left
 | 
				
			||||||
 | 
					bindsym $mod+Shift+h move left
 | 
				
			||||||
 | 
					bindsym $mod+Shift+Down move down
 | 
				
			||||||
 | 
					bindsym $mod+Shift+Up move up
 | 
				
			||||||
 | 
					bindsym $mod+Shift+Right move right
 | 
				
			||||||
 | 
					bindsym $mod+Shift+l move right
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Move workspace between output
 | 
				
			||||||
 | 
					bindsym $mod+Shift+j move workspace to output down
 | 
				
			||||||
 | 
					bindsym $mod+Shift+k move workspace to output up
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# split in horizontal orientation
 | 
				
			||||||
 | 
					bindsym $mod+s split h
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# split in vertical orientation
 | 
				
			||||||
 | 
					bindsym $mod+v split v
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# enter fullscreen mode for the focused container
 | 
				
			||||||
 | 
					bindsym $mod+f fullscreen toggle
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# change container layout (stacked, tabbed, toggle split)
 | 
				
			||||||
 | 
					bindsym $mod+w layout tabbed
 | 
				
			||||||
 | 
					bindsym $mod+e layout toggle split
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# focus the parent container
 | 
				
			||||||
 | 
					bindsym $mod+a focus parent
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# focus the child container
 | 
				
			||||||
 | 
					bindsym $mod+y focus child
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Define names for default workspaces for which we configure key bindings later on.
 | 
				
			||||||
 | 
					# We use variables to avoid repeating the names in multiple places.
 | 
				
			||||||
 | 
					set $ws0 "0"
 | 
				
			||||||
 | 
					set $ws1 "1"
 | 
				
			||||||
 | 
					set $ws2 "2"
 | 
				
			||||||
 | 
					set $ws3 "3"
 | 
				
			||||||
 | 
					set $ws4 "4"
 | 
				
			||||||
 | 
					set $ws5 "5"
 | 
				
			||||||
 | 
					set $ws6 "6"
 | 
				
			||||||
 | 
					set $ws7 "7"
 | 
				
			||||||
 | 
					set $ws8 "8"
 | 
				
			||||||
 | 
					set $ws9 "9"
 | 
				
			||||||
 | 
					set $ws10 "10"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Screen workspace
 | 
				
			||||||
 | 
					workspace $ws0 output eDP-1
 | 
				
			||||||
 | 
					workspace $ws1 output eDP-1
 | 
				
			||||||
 | 
					workspace $ws2 output eDP-1
 | 
				
			||||||
 | 
					workspace $ws3 output eDP-1
 | 
				
			||||||
 | 
					workspace $ws4 output eDP-1
 | 
				
			||||||
 | 
					workspace $ws5 output eDP-1
 | 
				
			||||||
 | 
					workspace $ws6 output eDP-1
 | 
				
			||||||
 | 
					workspace $ws7 output eDP-1
 | 
				
			||||||
 | 
					workspace $ws8 output eDP-1
 | 
				
			||||||
 | 
					workspace $ws9 output eDP-1
 | 
				
			||||||
 | 
					workspace $ws10 output eDP-1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# switch to workspace
 | 
				
			||||||
 | 
					bindsym $mod+0xb2 workspace $ws0
 | 
				
			||||||
 | 
					bindsym $mod+1 workspace $ws1
 | 
				
			||||||
 | 
					bindsym $mod+2 workspace $ws2
 | 
				
			||||||
 | 
					bindsym $mod+3 workspace $ws3
 | 
				
			||||||
 | 
					bindsym $mod+4 workspace $ws4
 | 
				
			||||||
 | 
					bindsym $mod+5 workspace $ws5
 | 
				
			||||||
 | 
					bindsym $mod+6 workspace $ws6
 | 
				
			||||||
 | 
					bindsym $mod+7 workspace $ws7
 | 
				
			||||||
 | 
					bindsym $mod+8 workspace $ws8
 | 
				
			||||||
 | 
					bindsym $mod+9 workspace $ws9
 | 
				
			||||||
 | 
					bindsym $mod+0 workspace $ws10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# move focused container to workspace
 | 
				
			||||||
 | 
					bindsym $mod+Shift+0xb2 move container to workspace $ws0
 | 
				
			||||||
 | 
					bindsym $mod+Shift+1 move container to workspace $ws1
 | 
				
			||||||
 | 
					bindsym $mod+Shift+2 move container to workspace $ws2
 | 
				
			||||||
 | 
					bindsym $mod+Shift+3 move container to workspace $ws3
 | 
				
			||||||
 | 
					bindsym $mod+Shift+4 move container to workspace $ws4
 | 
				
			||||||
 | 
					bindsym $mod+Shift+5 move container to workspace $ws5
 | 
				
			||||||
 | 
					bindsym $mod+Shift+6 move container to workspace $ws6
 | 
				
			||||||
 | 
					bindsym $mod+Shift+7 move container to workspace $ws7
 | 
				
			||||||
 | 
					bindsym $mod+Shift+8 move container to workspace $ws8
 | 
				
			||||||
 | 
					bindsym $mod+Shift+9 move container to workspace $ws9
 | 
				
			||||||
 | 
					bindsym $mod+Shift+0 move container to workspace $ws10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Leave fullscreen on new window
 | 
				
			||||||
 | 
					popup_during_fullscreen leave_fullscreen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Cycle through workspace
 | 
				
			||||||
 | 
					bindsym $mod+Tab workspace next_on_output
 | 
				
			||||||
 | 
					bindsym $mod+Shift+Tab workspace prev_on_output
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Dont focus discord (for thunderbird passwd)
 | 
				
			||||||
 | 
					no_focus [class="(?i)discord"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# reload the configuration file
 | 
				
			||||||
 | 
					bindsym $mod+Shift+c reload
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
 | 
				
			||||||
 | 
					bindsym $mod+Shift+r restart
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# exit i3 (logs you out of your X session)
 | 
				
			||||||
 | 
					bindsym $mod+Shift+e exec "i3-msg exit"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# resize window (you can also use the mouse for that)
 | 
				
			||||||
 | 
					mode "resize" {
 | 
				
			||||||
 | 
					  bindsym Left resize shrink width 1 px or 1 ppt
 | 
				
			||||||
 | 
					  bindsym Down resize grow height 1 px or 1 ppt
 | 
				
			||||||
 | 
					  bindsym Up resize shrink height 1 px or 1 ppt
 | 
				
			||||||
 | 
					  bindsym Right resize grow width 1 px or 1 ppt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # back to normal: Enter or Escape or $mod+r
 | 
				
			||||||
 | 
					  bindsym Return mode "default"
 | 
				
			||||||
 | 
					  bindsym Escape mode "default"
 | 
				
			||||||
 | 
					  bindsym $mod+r mode "default"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bindsym $mod+r mode "resize"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Window thickness
 | 
				
			||||||
 | 
					new_window 1pixel
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Toogle bar-1 visibility
 | 
				
			||||||
 | 
					bindsym $mod+x bar mode invisible bar-1
 | 
				
			||||||
 | 
					bindsym $mod+Shift+x bar mode toggle bar-1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Start i3bar to display a workspace bar (plus the system information i3status
 | 
				
			||||||
 | 
					# finds out, if available)
 | 
				
			||||||
 | 
					bar {
 | 
				
			||||||
 | 
					  output eDP-1
 | 
				
			||||||
 | 
					  tray_output eDP-1
 | 
				
			||||||
 | 
					  mode hide
 | 
				
			||||||
 | 
					  status_command i3status
 | 
				
			||||||
 | 
					  strip_workspace_numbers yes
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bar {
 | 
				
			||||||
 | 
					  output HDMI-2
 | 
				
			||||||
 | 
					  mode hide
 | 
				
			||||||
 | 
					  status_command i3status
 | 
				
			||||||
 | 
					  strip_workspace_numbers yes
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										61
									
								
								roles/i3/templates/i3status.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								roles/i3/templates/i3status.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,61 @@
 | 
				
			|||||||
 | 
					# i3status configuration file.
 | 
				
			||||||
 | 
					# see "man i3status" for documentation.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# It is important that this file is edited as UTF-8.
 | 
				
			||||||
 | 
					# The following line should contain a sharp s:
 | 
				
			||||||
 | 
					# ß
 | 
				
			||||||
 | 
					# If the above line is not correctly displayed, fix your editor first!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					general {
 | 
				
			||||||
 | 
					  output_format="i3bar"
 | 
				
			||||||
 | 
					  colors = true
 | 
				
			||||||
 | 
					  interval = 1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# order += "ipv6"
 | 
				
			||||||
 | 
					order += "read_file mpd"
 | 
				
			||||||
 | 
					order += "volume master"
 | 
				
			||||||
 | 
					order+= "ipv6"
 | 
				
			||||||
 | 
					order += "wireless _first_"
 | 
				
			||||||
 | 
					order += "ethernet _first_"
 | 
				
			||||||
 | 
					order += "battery all"
 | 
				
			||||||
 | 
					order += "tztime local"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ipv6 {
 | 
				
			||||||
 | 
					 format_up = "IPV6"
 | 
				
			||||||
 | 
					 format_down = ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					wireless _first_ {
 | 
				
			||||||
 | 
					  format_up = "W:%essid"
 | 
				
			||||||
 | 
					  format_down = ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ethernet _first_ {
 | 
				
			||||||
 | 
					  format_up = "E: %speed"
 | 
				
			||||||
 | 
					  format_down = ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					battery all {
 | 
				
			||||||
 | 
					  format = "%status %percentage %remaining"
 | 
				
			||||||
 | 
					  last_full_capacity = true
 | 
				
			||||||
 | 
					  color_good="#00FFFF"
 | 
				
			||||||
 | 
					  color_bad="#00FFFF"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					tztime local {
 | 
				
			||||||
 | 
					  format = "%d-%m %H:%M"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					volume master {
 | 
				
			||||||
 | 
					  format = "♪: %volume"
 | 
				
			||||||
 | 
					  format_muted = "♪: muted (%volume)"
 | 
				
			||||||
 | 
					  device = "pulse"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					read_file mpd {
 | 
				
			||||||
 | 
					  path = "/tmp/mpd.current"
 | 
				
			||||||
 | 
					  color_good = "#00FF99"
 | 
				
			||||||
 | 
					  format_bad = ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										19
									
								
								roles/mime/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								roles/mime/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Queries package manager to install xdg
 | 
				
			||||||
 | 
					  package:
 | 
				
			||||||
 | 
					    name: xdg-utils
 | 
				
			||||||
 | 
					  register: pkg_result
 | 
				
			||||||
 | 
					  retries: 3
 | 
				
			||||||
 | 
					  until: pkg_result is succeeded
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Create default applications config folder
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    path: '.config/'
 | 
				
			||||||
 | 
					    state: directory
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Install default applications configuration file
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: 'mimeapps.list.j2'
 | 
				
			||||||
 | 
					    dest: '.config/mimeapps.list'
 | 
				
			||||||
							
								
								
									
										17
									
								
								roles/mime/templates/mimeapps.list.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								roles/mime/templates/mimeapps.list.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					[Default Applications]
 | 
				
			||||||
 | 
					text/html=firefox.desktop
 | 
				
			||||||
 | 
					x-scheme-handler/http=firefox.desktop
 | 
				
			||||||
 | 
					x-scheme-handler/https=firefox.desktop
 | 
				
			||||||
 | 
					x-scheme-handler/ftp=firefox.desktop
 | 
				
			||||||
 | 
					x-scheme-handler/about=firefox.desktop
 | 
				
			||||||
 | 
					x-scheme-handler/unknown=firefox.desktop
 | 
				
			||||||
 | 
					application/x-extension-htm=firefox.desktop
 | 
				
			||||||
 | 
					application/x-extension-html=firefox.desktop
 | 
				
			||||||
 | 
					application/x-extension-shtml=firefox.desktop
 | 
				
			||||||
 | 
					application/xhtml+xml=firefox.desktop
 | 
				
			||||||
 | 
					application/x-extension-xhtml=firefox.desktop
 | 
				
			||||||
 | 
					application/x-extension-xht=firefox.desktop
 | 
				
			||||||
 | 
					application/pdf=org.pwmt.zathura.desktop
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										30
									
								
								roles/multimedia/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								roles/multimedia/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Queries package manager for multimedia installation
 | 
				
			||||||
 | 
					  package:
 | 
				
			||||||
 | 
					    name:
 | 
				
			||||||
 | 
					      - feh
 | 
				
			||||||
 | 
					      - mpv
 | 
				
			||||||
 | 
					      - vlc
 | 
				
			||||||
 | 
					      - zathura
 | 
				
			||||||
 | 
					      - zathura-pdf-poppler
 | 
				
			||||||
 | 
					  register: pkg_result
 | 
				
			||||||
 | 
					  retries: 3
 | 
				
			||||||
 | 
					  until: pkg_result is succeeded
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Create multimedia folder hierarchy
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    path: '.config/{{ item }}'
 | 
				
			||||||
 | 
					    state: directory
 | 
				
			||||||
 | 
					  with_items :
 | 
				
			||||||
 | 
					    - 'mpv/'
 | 
				
			||||||
 | 
					    - 'zathura/'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Copy multimedia configuration files
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: '{{ item.src }}'
 | 
				
			||||||
 | 
					    dest: '.config/{{ item.dest }}'
 | 
				
			||||||
 | 
					  with_items:
 | 
				
			||||||
 | 
					    - { src: 'zathurarc.j2', dest: 'zathura/zathurarc' }
 | 
				
			||||||
 | 
					    - { src: 'mpv.conf.j2', dest: 'mpv/mpv.conf' }
 | 
				
			||||||
							
								
								
									
										28
									
								
								roles/multimedia/templates/mpv.conf.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								roles/multimedia/templates/mpv.conf.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
				
			|||||||
 | 
					##################
 | 
				
			||||||
 | 
					# video settings #
 | 
				
			||||||
 | 
					##################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# force starting with centered window
 | 
				
			||||||
 | 
					geometry=50%:50%
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# no window title bar
 | 
				
			||||||
 | 
					no-border
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					##################
 | 
				
			||||||
 | 
					# audio settings #
 | 
				
			||||||
 | 
					##################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Specify pulse audio as audio output
 | 
				
			||||||
 | 
					ao=pulse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					##################
 | 
				
			||||||
 | 
					# other settings #
 | 
				
			||||||
 | 
					##################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Display English subtitles if available.
 | 
				
			||||||
 | 
					slang=fr,en
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Play Finnish audio if available, fall back to English otherwise.
 | 
				
			||||||
 | 
					alang=fr,en
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					force-window=yes
 | 
				
			||||||
							
								
								
									
										3
									
								
								roles/multimedia/templates/zathurarc.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								roles/multimedia/templates/zathurarc.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					set selection-clipboard clipboard
 | 
				
			||||||
 | 
					set recolor true
 | 
				
			||||||
 | 
					set recolor-lightcolor "#121212"
 | 
				
			||||||
							
								
								
									
										9
									
								
								roles/navigateur/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								roles/navigateur/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					- name: Queries package manager for browser installation
 | 
				
			||||||
 | 
					  package:
 | 
				
			||||||
 | 
					    name:
 | 
				
			||||||
 | 
					      - firefox
 | 
				
			||||||
 | 
					  register: pkg_result
 | 
				
			||||||
 | 
					  retries: 3
 | 
				
			||||||
 | 
					  until: pkg_result is succeeded
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
							
								
								
									
										24
									
								
								roles/notification/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								roles/notification/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Queries package manager for notification installation
 | 
				
			||||||
 | 
					  package:
 | 
				
			||||||
 | 
					    name:
 | 
				
			||||||
 | 
					      - dunst
 | 
				
			||||||
 | 
					      - gnome-icon-theme
 | 
				
			||||||
 | 
					      - gnome-icon-theme-extras
 | 
				
			||||||
 | 
					      - gnome-icon-theme-symbolic
 | 
				
			||||||
 | 
					  register: pkg_result
 | 
				
			||||||
 | 
					  retries: 3
 | 
				
			||||||
 | 
					  until: pkg_result is succeeded
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Create dunst config directory
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    path: '.config/dunst/'
 | 
				
			||||||
 | 
					    state: directory
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Copy dunst configuration file
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: 'dunstrc.j2'
 | 
				
			||||||
 | 
					    dest: '.config/dunst/dunstrc'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										292
									
								
								roles/notification/templates/dunstrc.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										292
									
								
								roles/notification/templates/dunstrc.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,292 @@
 | 
				
			|||||||
 | 
					[global]
 | 
				
			||||||
 | 
					    ### Display ###
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Which monitor should the notifications be displayed on.
 | 
				
			||||||
 | 
					    monitor = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Display notification on focused monitor.  Possible modes are:
 | 
				
			||||||
 | 
					    #   mouse: follow mouse pointer
 | 
				
			||||||
 | 
					    #   keyboard: follow window with keyboard focus
 | 
				
			||||||
 | 
					    #   none: don't follow anything
 | 
				
			||||||
 | 
					    #
 | 
				
			||||||
 | 
					    # "keyboard" needs a window manager that exports the
 | 
				
			||||||
 | 
					    # _NET_ACTIVE_WINDOW property.
 | 
				
			||||||
 | 
					    # This should be the case for almost all modern window managers.
 | 
				
			||||||
 | 
					    #
 | 
				
			||||||
 | 
					    # If this option is set to mouse or keyboard, the monitor option
 | 
				
			||||||
 | 
					    # will be ignored.
 | 
				
			||||||
 | 
					    follow = none
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # The geometry of the window:
 | 
				
			||||||
 | 
					    #   [{width}]x{height}[+/-{x}+/-{y}]
 | 
				
			||||||
 | 
					    # The geometry of the message window.
 | 
				
			||||||
 | 
					    # The height is measured in number of notifications everything else
 | 
				
			||||||
 | 
					    # in pixels.  If the width is omitted but the height is given
 | 
				
			||||||
 | 
					    # ("-geometry x2"), the message window expands over the whole screen
 | 
				
			||||||
 | 
					    # (dmenu-like).  If width is 0, the window expands to the longest
 | 
				
			||||||
 | 
					    # message displayed.  A positive x is measured from the left, a
 | 
				
			||||||
 | 
					    # negative from the right side of the screen.  Y is measured from
 | 
				
			||||||
 | 
					    # the top and down respectively.
 | 
				
			||||||
 | 
					    # The width can be negative.  In this case the actual width is the
 | 
				
			||||||
 | 
					    # screen width minus the width defined in within the geometry option.
 | 
				
			||||||
 | 
					    geometry = "300x5-30+20"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Show how many messages are currently hidden (because of geometry).
 | 
				
			||||||
 | 
					    indicate_hidden = yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Shrink window if it's smaller than the width.  Will be ignored if
 | 
				
			||||||
 | 
					    # width is 0.
 | 
				
			||||||
 | 
					    shrink = no
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # The transparency of the window.  Range: [0; 100].
 | 
				
			||||||
 | 
					    # This option will only work if a compositing window manager is
 | 
				
			||||||
 | 
					    # present (e.g. xcompmgr, compiz, etc.).
 | 
				
			||||||
 | 
					    transparency = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # The height of the entire notification.  If the height is smaller
 | 
				
			||||||
 | 
					    # than the font height and padding combined, it will be raised
 | 
				
			||||||
 | 
					    # to the font height and padding.
 | 
				
			||||||
 | 
					    notification_height = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Draw a line of "separator_height" pixel height between two
 | 
				
			||||||
 | 
					    # notifications.
 | 
				
			||||||
 | 
					    # Set to 0 to disable.
 | 
				
			||||||
 | 
					    separator_height = 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Padding between text and separator.
 | 
				
			||||||
 | 
					    padding = 8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Horizontal padding.
 | 
				
			||||||
 | 
					    horizontal_padding = 8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Defines width in pixels of frame around the notification window.
 | 
				
			||||||
 | 
					    # Set to 0 to disable.
 | 
				
			||||||
 | 
					    frame_width = 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Defines color of the frame around the notification window.
 | 
				
			||||||
 | 
					    frame_color = "#aaaaaa"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Define a color for the separator.
 | 
				
			||||||
 | 
					    # possible values are:
 | 
				
			||||||
 | 
					    #  * auto: dunst tries to find a color fitting to the background;
 | 
				
			||||||
 | 
					    #  * foreground: use the same color as the foreground;
 | 
				
			||||||
 | 
					    #  * frame: use the same color as the frame;
 | 
				
			||||||
 | 
					    #  * anything else will be interpreted as a X color.
 | 
				
			||||||
 | 
					    separator_color = frame
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Sort messages by urgency.
 | 
				
			||||||
 | 
					    sort = yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Don't remove messages, if the user is idle (no mouse or keyboard input)
 | 
				
			||||||
 | 
					    # for longer than idle_threshold seconds.
 | 
				
			||||||
 | 
					    # Set to 0 to disable.
 | 
				
			||||||
 | 
					    # A client can set the 'transient' hint to bypass this. See the rules
 | 
				
			||||||
 | 
					    # section for how to disable this if necessary
 | 
				
			||||||
 | 
					    idle_threshold = 120
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ### Text ###
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    font = Monospace 9
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # The spacing between lines.  If the height is smaller than the
 | 
				
			||||||
 | 
					    # font height, it will get raised to the font height.
 | 
				
			||||||
 | 
					    line_height = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Possible values are:
 | 
				
			||||||
 | 
					    # full: Allow a small subset of html markup in notifications:
 | 
				
			||||||
 | 
					    #        <b>bold</b>
 | 
				
			||||||
 | 
					    #        <i>italic</i>
 | 
				
			||||||
 | 
					    #        <s>strikethrough</s>
 | 
				
			||||||
 | 
					    #        <u>underline</u>
 | 
				
			||||||
 | 
					    #
 | 
				
			||||||
 | 
					    #        For a complete reference see
 | 
				
			||||||
 | 
					    #        <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
 | 
				
			||||||
 | 
					    #
 | 
				
			||||||
 | 
					    # strip: This setting is provided for compatibility with some broken
 | 
				
			||||||
 | 
					    #        clients that send markup even though it's not enabled on the
 | 
				
			||||||
 | 
					    #        server. Dunst will try to strip the markup but the parsing is
 | 
				
			||||||
 | 
					    #        simplistic so using this option outside of matching rules for
 | 
				
			||||||
 | 
					    #        specific applications *IS GREATLY DISCOURAGED*.
 | 
				
			||||||
 | 
					    #
 | 
				
			||||||
 | 
					    # no:    Disable markup parsing, incoming notifications will be treated as
 | 
				
			||||||
 | 
					    #        plain text. Dunst will not advertise that it has the body-markup
 | 
				
			||||||
 | 
					    #        capability if this is set as a global setting.
 | 
				
			||||||
 | 
					    #
 | 
				
			||||||
 | 
					    # It's important to note that markup inside the format option will be parsed
 | 
				
			||||||
 | 
					    # regardless of what this is set to.
 | 
				
			||||||
 | 
					    markup = full
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # The format of the message.  Possible variables are:
 | 
				
			||||||
 | 
					    #   %a  appname
 | 
				
			||||||
 | 
					    #   %s  summary
 | 
				
			||||||
 | 
					    #   %b  body
 | 
				
			||||||
 | 
					    #   %i  iconname (including its path)
 | 
				
			||||||
 | 
					    #   %I  iconname (without its path)
 | 
				
			||||||
 | 
					    #   %p  progress value if set ([  0%] to [100%]) or nothing
 | 
				
			||||||
 | 
					    #   %n  progress value if set without any extra characters
 | 
				
			||||||
 | 
					    #   %%  Literal %
 | 
				
			||||||
 | 
					    # Markup is allowed
 | 
				
			||||||
 | 
					    format = "<b>%s</b>\n%b"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Alignment of message text.
 | 
				
			||||||
 | 
					    # Possible values are "left", "center" and "right".
 | 
				
			||||||
 | 
					    alignment = left
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Show age of message if message is older than show_age_threshold
 | 
				
			||||||
 | 
					    # seconds.
 | 
				
			||||||
 | 
					    # Set to -1 to disable.
 | 
				
			||||||
 | 
					    show_age_threshold = 60
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Split notifications into multiple lines if they don't fit into
 | 
				
			||||||
 | 
					    # geometry.
 | 
				
			||||||
 | 
					    word_wrap = yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # When word_wrap is set to no, specify where to make an ellipsis in long lines.
 | 
				
			||||||
 | 
					    # Possible values are "start", "middle" and "end".
 | 
				
			||||||
 | 
					    ellipsize = middle
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Ignore newlines '\n' in notifications.
 | 
				
			||||||
 | 
					    ignore_newline = no
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Stack together notifications with the same content
 | 
				
			||||||
 | 
					    stack_duplicates = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Hide the count of stacked notifications with the same content
 | 
				
			||||||
 | 
					    hide_duplicate_count = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Display indicators for URLs (U) and actions (A).
 | 
				
			||||||
 | 
					    show_indicators = yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ### Icons ###
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Align icons left/right/off
 | 
				
			||||||
 | 
					    icon_position = left
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Scale larger icons down to this size, set to 0 to disable
 | 
				
			||||||
 | 
					    max_icon_size = 32
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Paths to default icons.
 | 
				
			||||||
 | 
					    icon_path = /usr/share/icons/gnome/32x32/status/:/usr/share/icons/gnome/32x32/devices/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ### History ###
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Should a notification popped up from history be sticky or timeout
 | 
				
			||||||
 | 
					    # as if it would normally do.
 | 
				
			||||||
 | 
					    sticky_history = yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Maximum amount of notifications kept in history
 | 
				
			||||||
 | 
					    history_length = 20
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ### Misc/Advanced ###
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # dmenu path.
 | 
				
			||||||
 | 
					    dmenu = /usr/bin/dmenu -p dunst:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Browser for opening urls in context menu.
 | 
				
			||||||
 | 
					    browser = /usr/bin/firefox -new-tab
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Always run rule-defined scripts, even if the notification is suppressed
 | 
				
			||||||
 | 
					    always_run_script = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Define the title of the windows spawned by dunst
 | 
				
			||||||
 | 
					    title = Dunst
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Define the class of the windows spawned by dunst
 | 
				
			||||||
 | 
					    class = Dunst
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Print a notification on startup.
 | 
				
			||||||
 | 
					    # This is mainly for error detection, since dbus (re-)starts dunst
 | 
				
			||||||
 | 
					    # automatically after a crash.
 | 
				
			||||||
 | 
					    startup_notification = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Manage dunst's desire for talking
 | 
				
			||||||
 | 
					    # Can be one of the following values:
 | 
				
			||||||
 | 
					    #  crit: Critical features. Dunst aborts
 | 
				
			||||||
 | 
					    #  warn: Only non-fatal warnings
 | 
				
			||||||
 | 
					    #  mesg: Important Messages
 | 
				
			||||||
 | 
					    #  info: all unimportant stuff
 | 
				
			||||||
 | 
					    # debug: all less than unimportant stuff
 | 
				
			||||||
 | 
					    verbosity = mesg
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Define the corner radius of the notification window
 | 
				
			||||||
 | 
					    # in pixel size. If the radius is 0, you have no rounded
 | 
				
			||||||
 | 
					    # corners.
 | 
				
			||||||
 | 
					    # The radius will be automatically lowered if it exceeds half of the
 | 
				
			||||||
 | 
					    # notification height to avoid clipping text and/or icons.
 | 
				
			||||||
 | 
					    corner_radius = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ### Legacy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Use the Xinerama extension instead of RandR for multi-monitor support.
 | 
				
			||||||
 | 
					    # This setting is provided for compatibility with older nVidia drivers that
 | 
				
			||||||
 | 
					    # do not support RandR and using it on systems that support RandR is highly
 | 
				
			||||||
 | 
					    # discouraged.
 | 
				
			||||||
 | 
					    #
 | 
				
			||||||
 | 
					    # By enabling this setting dunst will not be able to detect when a monitor
 | 
				
			||||||
 | 
					    # is connected or disconnected which might break follow mode if the screen
 | 
				
			||||||
 | 
					    # layout changes.
 | 
				
			||||||
 | 
					    force_xinerama = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ### mouse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Defines action of mouse event
 | 
				
			||||||
 | 
					    # Possible values are:
 | 
				
			||||||
 | 
					    # * none: Don't do anything.
 | 
				
			||||||
 | 
					    # * do_action: If the notification has exactly one action, or one is marked as default,
 | 
				
			||||||
 | 
					    #              invoke it. If there are multiple and no default, open the context menu.
 | 
				
			||||||
 | 
					    # * close_current: Close current notification.
 | 
				
			||||||
 | 
					    # * close_all: Close all notifications.
 | 
				
			||||||
 | 
					    mouse_left_click = close_current
 | 
				
			||||||
 | 
					    mouse_middle_click = do_action
 | 
				
			||||||
 | 
					    mouse_right_click = close_all
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Experimental features that may or may not work correctly. Do not expect them
 | 
				
			||||||
 | 
					# to have a consistent behaviour across releases.
 | 
				
			||||||
 | 
					[experimental]
 | 
				
			||||||
 | 
					    # Calculate the dpi to use on a per-monitor basis.
 | 
				
			||||||
 | 
					    # If this setting is enabled the Xft.dpi value will be ignored and instead
 | 
				
			||||||
 | 
					    # dunst will attempt to calculate an appropriate dpi value for each monitor
 | 
				
			||||||
 | 
					    # using the resolution and physical size. This might be useful in setups
 | 
				
			||||||
 | 
					    # where there are multiple screens with very different dpi values.
 | 
				
			||||||
 | 
					    per_monitor_dpi = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[shortcuts]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Shortcuts are specified as [modifier+][modifier+]...key
 | 
				
			||||||
 | 
					    # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
 | 
				
			||||||
 | 
					    # "mod3" and "mod4" (windows-key).
 | 
				
			||||||
 | 
					    # Xev might be helpful to find names for keys.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Close notification.
 | 
				
			||||||
 | 
					    close = ctrl+space
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Close all notifications.
 | 
				
			||||||
 | 
					    close_all = ctrl+shift+space
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Context menu.
 | 
				
			||||||
 | 
					    context = ctrl+shift+period
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[urgency_low]
 | 
				
			||||||
 | 
					    # IMPORTANT: colors have to be defined in quotation marks.
 | 
				
			||||||
 | 
					    # Otherwise the "#" and following would be interpreted as a comment.
 | 
				
			||||||
 | 
					    background = "#222222"
 | 
				
			||||||
 | 
					    foreground = "#888888"
 | 
				
			||||||
 | 
					    timeout = 10
 | 
				
			||||||
 | 
					    # Icon for notifications with low urgency, uncomment to enable
 | 
				
			||||||
 | 
					    #icon = /path/to/icon
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[urgency_normal]
 | 
				
			||||||
 | 
					    background = "#0091FF"
 | 
				
			||||||
 | 
					    foreground = "#ffffff"
 | 
				
			||||||
 | 
					    timeout = 10
 | 
				
			||||||
 | 
					    # Icon for notifications with normal urgency, uncomment to enable
 | 
				
			||||||
 | 
					    #icon = /path/to/icon
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[urgency_critical]
 | 
				
			||||||
 | 
					    background = "#900000"
 | 
				
			||||||
 | 
					    foreground = "#ffffff"
 | 
				
			||||||
 | 
					    frame_color = "#ff0000"
 | 
				
			||||||
 | 
					    timeout = 0
 | 
				
			||||||
 | 
					    # Icon for notifications with critical urgency, uncomment to enable
 | 
				
			||||||
 | 
					    #icon = /path/to/icon
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										7
									
								
								roles/ntp/handlers/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								roles/ntp/handlers/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: restart ntpd.service
 | 
				
			||||||
 | 
					  service:
 | 
				
			||||||
 | 
					    name: ntpd
 | 
				
			||||||
 | 
					    state: restarted
 | 
				
			||||||
 | 
					  become: true
 | 
				
			||||||
							
								
								
									
										23
									
								
								roles/ntp/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								roles/ntp/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Queries package manager for ntp installation
 | 
				
			||||||
 | 
					  package:
 | 
				
			||||||
 | 
					    name: ntp
 | 
				
			||||||
 | 
					  register: pkg_result
 | 
				
			||||||
 | 
					  retries: 3
 | 
				
			||||||
 | 
					  until: pkg_result is succeeded
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					  notify: restart ntpd.service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Deploy ntp configuration
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: 'ntp.conf.j2'
 | 
				
			||||||
 | 
					    dest: '/etc/ntp.conf'
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					  notify: restart ntpd.service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Enable ntp service
 | 
				
			||||||
 | 
					  service:
 | 
				
			||||||
 | 
					    name: ntpd
 | 
				
			||||||
 | 
					    enabled: yes
 | 
				
			||||||
 | 
					  become: true
 | 
				
			||||||
							
								
								
									
										25
									
								
								roles/ntp/templates/ntp.conf.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								roles/ntp/templates/ntp.conf.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,25 @@
 | 
				
			|||||||
 | 
					# Please consider joining the pool:
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#     http://www.pool.ntp.org/join.html
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# For additional information see:
 | 
				
			||||||
 | 
					# - https://wiki.archlinux.org/index.php/Network_Time_Protocol_daemon
 | 
				
			||||||
 | 
					# - http://support.ntp.org/bin/view/Support/GettingStarted
 | 
				
			||||||
 | 
					# - the ntp.conf man page
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Associate to Arch's NTP pool
 | 
				
			||||||
 | 
					server charybde.crans.org
 | 
				
			||||||
 | 
					server 0.fr.pool.ntp.org
 | 
				
			||||||
 | 
					server 1.fr.pool.ntp.org
 | 
				
			||||||
 | 
					server 2.fr.pool.ntp.org
 | 
				
			||||||
 | 
					server 3.fr.pool.ntp.org
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# By default, the server allows:
 | 
				
			||||||
 | 
					# - all queries from the local host
 | 
				
			||||||
 | 
					# - only time queries from remote hosts, protected by rate limiting and kod
 | 
				
			||||||
 | 
					restrict default kod limited nomodify nopeer noquery notrap
 | 
				
			||||||
 | 
					restrict 127.0.0.1
 | 
				
			||||||
 | 
					restrict ::1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Location of drift file
 | 
				
			||||||
 | 
					driftfile /var/lib/ntp/ntp.drift
 | 
				
			||||||
							
								
								
									
										16
									
								
								roles/pass/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								roles/pass/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Queries package manager to install pass
 | 
				
			||||||
 | 
					  package:
 | 
				
			||||||
 | 
					    name:
 | 
				
			||||||
 | 
					      - pass
 | 
				
			||||||
 | 
					      - git
 | 
				
			||||||
 | 
					  register: pkg_result
 | 
				
			||||||
 | 
					  retries: 3
 | 
				
			||||||
 | 
					  until: pkg_result is succeeded
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Clone git pass repository
 | 
				
			||||||
 | 
					  git:
 | 
				
			||||||
 | 
					    repo: '{{ pass.upstream }}'
 | 
				
			||||||
 | 
					    dest: '{{ pass.dest }}'
 | 
				
			||||||
							
								
								
									
										30
									
								
								roles/scripts/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								roles/scripts/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					- name: Queries package manager for graphical instalation
 | 
				
			||||||
 | 
					  package:
 | 
				
			||||||
 | 
					    name:
 | 
				
			||||||
 | 
					      - scrot
 | 
				
			||||||
 | 
					      - network-manager-applet
 | 
				
			||||||
 | 
					      - acpi
 | 
				
			||||||
 | 
					  register: pkg_result
 | 
				
			||||||
 | 
					  retries: 3
 | 
				
			||||||
 | 
					  until: pkg_result is succeeded
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Clone scripts git repo
 | 
				
			||||||
 | 
					  git:
 | 
				
			||||||
 | 
					    repo: '{{ scripts.git }}'
 | 
				
			||||||
 | 
					    dest: '.local/src/scripts'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Find scripts
 | 
				
			||||||
 | 
					  find:
 | 
				
			||||||
 | 
					    path: '.local/src/scripts'
 | 
				
			||||||
 | 
					    pattern: "*"
 | 
				
			||||||
 | 
					  register: scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Link scripts
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    src: '/home/{{ user.name }}/{{ item.path }}'
 | 
				
			||||||
 | 
					    dest: '.local/bin/{{ item.path | basename }}'
 | 
				
			||||||
 | 
					    state: link
 | 
				
			||||||
 | 
					    force: yes
 | 
				
			||||||
 | 
					  with_items: '{{ scripts.files }}'
 | 
				
			||||||
							
								
								
									
										28
									
								
								roles/ssh/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								roles/ssh/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Create ssh directory
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    path: '.ssh'
 | 
				
			||||||
 | 
					    mode: 0700
 | 
				
			||||||
 | 
					    state: directory
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Create ssh configuration file directory
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    path: '.ssh/config.d'
 | 
				
			||||||
 | 
					    mode: 0755
 | 
				
			||||||
 | 
					    state: directory
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Deploying config files
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: 'config.d/{{ item }}.j2'
 | 
				
			||||||
 | 
					    dest: '.ssh/config.d/{{ item }}'
 | 
				
			||||||
 | 
					  loop:
 | 
				
			||||||
 | 
					    - aurore
 | 
				
			||||||
 | 
					    - crans
 | 
				
			||||||
 | 
					    - dptinfo
 | 
				
			||||||
 | 
					    - perso
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Include config files
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: 'config.j2'
 | 
				
			||||||
 | 
					    dest: '.ssh/config'
 | 
				
			||||||
							
								
								
									
										3
									
								
								roles/ssh/templates/config.d/aurore.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								roles/ssh/templates/config.d/aurore.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					Host *.adm.auro.re
 | 
				
			||||||
 | 
					    User ynerant
 | 
				
			||||||
 | 
					    ProxyJump camelot.auro.re
 | 
				
			||||||
							
								
								
									
										13
									
								
								roles/ssh/templates/config.d/crans.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								roles/ssh/templates/config.d/crans.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					Host freebox.crans.org titanic.adm.crans.org soyouz.crans.org ssh.crans.org zamok.crans.org zamok.adm.crans.org *.adh.crans.org note*.crans.org
 | 
				
			||||||
 | 
					    User ynerant
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Host odlyd.crans.org odlyd 10.231.136.4
 | 
				
			||||||
 | 
					    User ynerant
 | 
				
			||||||
 | 
					    Hostname 10.231.136.4
 | 
				
			||||||
 | 
					    ProxyJump zamok.crans.org
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Host 172.16.10.* 185.230.79.* *.adm.crans.org *.crans.org
 | 
				
			||||||
 | 
					    User _ynerant
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Host 172.16.10.* *.adm.crans.org *.crans.org ynerant.fr !hodaur.crans.org !odlyd.crans.org !note*.crans.org
 | 
				
			||||||
 | 
					    ProxyJump hodaur.crans.org
 | 
				
			||||||
							
								
								
									
										6
									
								
								roles/ssh/templates/config.d/dptinfo.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								roles/ssh/templates/config.d/dptinfo.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					Host *.dptinfo.ens-cachan.fr !ssh.dptinfo.ens-cachan.fr
 | 
				
			||||||
 | 
					    User danello
 | 
				
			||||||
 | 
					    ProxyJump ssh.dptinfo.ens-cachan.fr
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Host ssh.dptinfo.ens-cachan.fr
 | 
				
			||||||
 | 
					    User danello
 | 
				
			||||||
							
								
								
									
										4
									
								
								roles/ssh/templates/config.d/perso.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								roles/ssh/templates/config.d/perso.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					Host main
 | 
				
			||||||
 | 
					    User ynerant
 | 
				
			||||||
 | 
					    Hostname ynerant-pc.fil.sand.auro.re
 | 
				
			||||||
 | 
					    ProxyJump camelot.auro.re
 | 
				
			||||||
							
								
								
									
										1
									
								
								roles/ssh/templates/config.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								roles/ssh/templates/config.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					Include ~/.ssh/config.d/*
 | 
				
			||||||
							
								
								
									
										12
									
								
								roles/sudo/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								roles/sudo/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Deploy sudoers configuration files
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: '{{ item.src }}.j2'
 | 
				
			||||||
 | 
					    dest: '/etc/{{ item.src }}'
 | 
				
			||||||
 | 
					    mode: '{{ item.mode }}'
 | 
				
			||||||
 | 
					  with_items:
 | 
				
			||||||
 | 
					    - { src: 'sudoers', mode: '0440' }
 | 
				
			||||||
 | 
					    - { src: 'sudoers.lecture', mode: '0644' }
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										101
									
								
								roles/sudo/templates/sudoers.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										101
									
								
								roles/sudo/templates/sudoers.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,101 @@
 | 
				
			|||||||
 | 
					## sudoers file.
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## This file MUST be edited with the 'visudo' command as root.
 | 
				
			||||||
 | 
					## Failure to use 'visudo' may result in syntax or file permission errors
 | 
				
			||||||
 | 
					## that prevent sudo from running.
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## See the sudoers man page for the details on how to write a sudoers file.
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Host alias specification
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Groups of machines. These may include host names (optionally with wildcards),
 | 
				
			||||||
 | 
					## IP addresses, network numbers or netgroups.
 | 
				
			||||||
 | 
					# Host_Alias	WEBSERVERS = www1, www2, www3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## User alias specification
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Groups of users.  These may consist of user names, uids, Unix groups,
 | 
				
			||||||
 | 
					## or netgroups.
 | 
				
			||||||
 | 
					# User_Alias	ADMINS = millert, dowdy, mikef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Cmnd alias specification
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Groups of commands.  Often used to group related commands together.
 | 
				
			||||||
 | 
					# Cmnd_Alias	PROCESSES = /usr/bin/nice, /bin/kill, /usr/bin/renice, \
 | 
				
			||||||
 | 
					# 			    /usr/bin/pkill, /usr/bin/top
 | 
				
			||||||
 | 
					# Cmnd_Alias	REBOOT = /sbin/halt, /sbin/reboot, /sbin/poweroff
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Defaults specification
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## You may wish to keep some of the following environment variables
 | 
				
			||||||
 | 
					## when running commands via sudo.
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Locale settings
 | 
				
			||||||
 | 
					# Defaults env_keep += "LANG LANGUAGE LINGUAS LC_* _XKB_CHARSET"
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Run X applications through sudo; HOME is used to find the
 | 
				
			||||||
 | 
					## .Xauthority file.  Note that other programs use HOME to find   
 | 
				
			||||||
 | 
					## configuration files and this may lead to privilege escalation!
 | 
				
			||||||
 | 
					# Defaults env_keep += "HOME"
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## X11 resource path settings
 | 
				
			||||||
 | 
					# Defaults env_keep += "XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH"
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Desktop path settings
 | 
				
			||||||
 | 
					# Defaults env_keep += "QTDIR KDEDIR"
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Allow sudo-run commands to inherit the callers' ConsoleKit session
 | 
				
			||||||
 | 
					# Defaults env_keep += "XDG_SESSION_COOKIE"
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Uncomment to enable special input methods.  Care should be taken as
 | 
				
			||||||
 | 
					## this may allow users to subvert the command being run via sudo.
 | 
				
			||||||
 | 
					# Defaults env_keep += "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER"
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Uncomment to use a hard-coded PATH instead of the user's to find commands
 | 
				
			||||||
 | 
					# Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Uncomment to send mail if the user does not enter the correct password.
 | 
				
			||||||
 | 
					# Defaults mail_badpass
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Uncomment to enable logging of a command's output, except for
 | 
				
			||||||
 | 
					## sudoreplay and reboot.  Use sudoreplay to play back logged sessions.
 | 
				
			||||||
 | 
					# Defaults log_output
 | 
				
			||||||
 | 
					# Defaults!/usr/bin/sudoreplay !log_output
 | 
				
			||||||
 | 
					# Defaults!/usr/local/bin/sudoreplay !log_output
 | 
				
			||||||
 | 
					# Defaults!REBOOT !log_output
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Runas alias specification
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## User privilege specification
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					root ALL=(ALL) ALL
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Uncomment to allow members of group wheel to execute any command
 | 
				
			||||||
 | 
					%wheel ALL=(ALL) ALL
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Same thing without a password
 | 
				
			||||||
 | 
					# %wheel ALL=(ALL) NOPASSWD: ALL
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Uncomment to allow members of group sudo to execute any command
 | 
				
			||||||
 | 
					# %sudo	ALL=(ALL) ALL
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Uncomment to allow any user to run sudo if they know the password
 | 
				
			||||||
 | 
					## of the user they are running the command as (root by default).
 | 
				
			||||||
 | 
					# Defaults targetpw  # Ask for the password of the target user
 | 
				
			||||||
 | 
					# ALL ALL=(ALL) ALL  # WARNING: only use this together with 'Defaults targetpw'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Defaults lecture=always
 | 
				
			||||||
 | 
					Defaults lecture_file=/etc/sudoers.lecture
 | 
				
			||||||
 | 
					# toilet -f future --rainbow 'BE NICE' > sudoers.lecture.j2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Read drop-in files from /etc/sudoers.d
 | 
				
			||||||
 | 
					## (the '#' here does not indicate a comment)
 | 
				
			||||||
 | 
					#includedir /etc/sudoers.d
 | 
				
			||||||
							
								
								
									
										3
									
								
								roles/sudo/templates/sudoers.lecture.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								roles/sudo/templates/sudoers.lecture.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					[0;1;35;95m┏┓[0m [0;1;31;91m┏[0;1;33;93m━╸[0m   [0;1;36;96m┏[0;1;34;94m┓╻[0;1;35;95m╻┏[0;1;31;91m━╸[0;1;33;93m┏━[0;1;32;92m╸[0m
 | 
				
			||||||
 | 
					[0;1;31;91m┣┻[0;1;33;93m┓┣[0;1;32;92m╸[0m    [0;1;34;94m┃[0;1;35;95m┗┫[0;1;31;91m┃┃[0m  [0;1;32;92m┣╸[0m 
 | 
				
			||||||
 | 
					[0;1;33;93m┗━[0;1;32;92m┛┗[0;1;36;96m━╸[0m   [0;1;35;95m╹[0m [0;1;31;91m╹[0;1;33;93m╹┗[0;1;32;92m━╸[0;1;36;96m┗━[0;1;34;94m╸[0m
 | 
				
			||||||
							
								
								
									
										19
									
								
								roles/systemd/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								roles/systemd/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Deploy logind configuration
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: 'logind.conf.j2'
 | 
				
			||||||
 | 
					    dest: '/etc/systemd/logind.conf'
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Create autologin directory on tty1
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    path: '/etc/systemd/system/getty@tty1.service.d'
 | 
				
			||||||
 | 
					    state: directory
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Copy autologin template file
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: 'override.conf.j2'
 | 
				
			||||||
 | 
					    dest: '/etc/systemd/system/getty@tty1.service.d/override.conf'
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
							
								
								
									
										37
									
								
								roles/systemd/templates/logind.conf.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								roles/systemd/templates/logind.conf.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
				
			|||||||
 | 
					#  This file is part of systemd.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#  systemd is free software; you can redistribute it and/or modify it
 | 
				
			||||||
 | 
					#  under the terms of the GNU Lesser General Public License as published by
 | 
				
			||||||
 | 
					#  the Free Software Foundation; either version 2.1 of the License, or
 | 
				
			||||||
 | 
					#  (at your option) any later version.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Entries in this file show the compile time defaults.
 | 
				
			||||||
 | 
					# You can change settings by editing this file.
 | 
				
			||||||
 | 
					# Defaults can be restored by simply deleting this file.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# See logind.conf(5) for details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Login]
 | 
				
			||||||
 | 
					#NAutoVTs=6
 | 
				
			||||||
 | 
					#ReserveVT=6
 | 
				
			||||||
 | 
					#KillUserProcesses=no
 | 
				
			||||||
 | 
					#KillOnlyUsers=
 | 
				
			||||||
 | 
					#KillExcludeUsers=root
 | 
				
			||||||
 | 
					#InhibitDelayMaxSec=5
 | 
				
			||||||
 | 
					HandlePowerKey=ignore
 | 
				
			||||||
 | 
					#HandleSuspendKey=suspend
 | 
				
			||||||
 | 
					#HandleHibernateKey=hibernate
 | 
				
			||||||
 | 
					#HandleLidSwitch=suspend
 | 
				
			||||||
 | 
					#HandleLidSwitchExternalPower=suspend
 | 
				
			||||||
 | 
					#HandleLidSwitchDocked=ignore
 | 
				
			||||||
 | 
					#PowerKeyIgnoreInhibited=no
 | 
				
			||||||
 | 
					#SuspendKeyIgnoreInhibited=no
 | 
				
			||||||
 | 
					#HibernateKeyIgnoreInhibited=no
 | 
				
			||||||
 | 
					#LidSwitchIgnoreInhibited=yes
 | 
				
			||||||
 | 
					#HoldoffTimeoutSec=30s
 | 
				
			||||||
 | 
					#IdleAction=ignore
 | 
				
			||||||
 | 
					#IdleActionSec=30min
 | 
				
			||||||
 | 
					#RuntimeDirectorySize=10%
 | 
				
			||||||
 | 
					#RemoveIPC=yes
 | 
				
			||||||
 | 
					#InhibitorsMax=8192
 | 
				
			||||||
 | 
					#SessionsMax=8192
 | 
				
			||||||
							
								
								
									
										3
									
								
								roles/systemd/templates/override.conf.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								roles/systemd/templates/override.conf.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					[Service]
 | 
				
			||||||
 | 
					ExecStart=
 | 
				
			||||||
 | 
					ExecStart=-/usr/bin/agetty --autologin {{ user.name }} --noclear %I $TERM
 | 
				
			||||||
							
								
								
									
										20
									
								
								roles/terminal/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								roles/terminal/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Queries package manager for terminal installation
 | 
				
			||||||
 | 
					  package:
 | 
				
			||||||
 | 
					    name:
 | 
				
			||||||
 | 
					      - xfce4-terminal
 | 
				
			||||||
 | 
					  register: pkg_result
 | 
				
			||||||
 | 
					  retries: 3
 | 
				
			||||||
 | 
					  until: pkg_result is succeeded
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Create xfce4 terminal config directory
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    path: '.config/xfce4/terminal/'
 | 
				
			||||||
 | 
					    state: directory
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Copy xfce4-terminal configuration file
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: 'terminalrc.j2'
 | 
				
			||||||
 | 
					    dest: '.config/xfce4/terminal/terminalrc'
 | 
				
			||||||
							
								
								
									
										35
									
								
								roles/terminal/templates/terminalrc.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								roles/terminal/templates/terminalrc.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
				
			|||||||
 | 
					[Configuration]
 | 
				
			||||||
 | 
					MiscAlwaysShowTabs=FALSE
 | 
				
			||||||
 | 
					MiscBell=TRUE
 | 
				
			||||||
 | 
					MiscBellUrgent=TRUE
 | 
				
			||||||
 | 
					MiscBordersDefault=FALSE
 | 
				
			||||||
 | 
					MiscCursorBlinks=FALSE
 | 
				
			||||||
 | 
					MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK
 | 
				
			||||||
 | 
					MiscDefaultGeometry=90x24
 | 
				
			||||||
 | 
					MiscInheritGeometry=FALSE
 | 
				
			||||||
 | 
					MiscMenubarDefault=FALSE
 | 
				
			||||||
 | 
					MiscMouseAutohide=TRUE
 | 
				
			||||||
 | 
					MiscMouseWheelZoom=TRUE
 | 
				
			||||||
 | 
					MiscToolbarDefault=FALSE
 | 
				
			||||||
 | 
					MiscConfirmClose=TRUE
 | 
				
			||||||
 | 
					MiscCycleTabs=TRUE
 | 
				
			||||||
 | 
					MiscTabCloseButtons=TRUE
 | 
				
			||||||
 | 
					MiscTabCloseMiddleClick=TRUE
 | 
				
			||||||
 | 
					MiscTabPosition=GTK_POS_TOP
 | 
				
			||||||
 | 
					MiscHighlightUrls=TRUE
 | 
				
			||||||
 | 
					MiscMiddleClickOpensUri=FALSE
 | 
				
			||||||
 | 
					MiscCopyOnSelect=TRUE
 | 
				
			||||||
 | 
					MiscShowRelaunchDialog=TRUE
 | 
				
			||||||
 | 
					MiscRewrapOnResize=TRUE
 | 
				
			||||||
 | 
					MiscUseShiftArrowsToScroll=FALSE
 | 
				
			||||||
 | 
					MiscSlimTabs=TRUE
 | 
				
			||||||
 | 
					MiscNewTabAdjacent=FALSE
 | 
				
			||||||
 | 
					MiscSearchDialogOpacity=100
 | 
				
			||||||
 | 
					MiscShowUnsafePasteDialog=FALSE
 | 
				
			||||||
 | 
					TitleMode=TERMINAL_TITLE_HIDE
 | 
				
			||||||
 | 
					ScrollingBar=TERMINAL_SCROLLBAR_NONE
 | 
				
			||||||
 | 
					FontName=Monospace 8
 | 
				
			||||||
 | 
					ShortcutsNoMnemonics=TRUE
 | 
				
			||||||
 | 
					ShortcutsNoHelpkey=TRUE
 | 
				
			||||||
 | 
					ScrollingOnOutput=FALSE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										9
									
								
								roles/texlive/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								roles/texlive/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Queries package manager for texlive most
 | 
				
			||||||
 | 
					  package:
 | 
				
			||||||
 | 
					    name: texlive-most
 | 
				
			||||||
 | 
					  register: pkg_result
 | 
				
			||||||
 | 
					  retries: 3
 | 
				
			||||||
 | 
					  until: pkg_result is succeeded
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
							
								
								
									
										16
									
								
								roles/vim/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								roles/vim/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Queries package manager for vim installation
 | 
				
			||||||
 | 
					  package:
 | 
				
			||||||
 | 
					    name:
 | 
				
			||||||
 | 
					      - vim
 | 
				
			||||||
 | 
					  register: pkg_result
 | 
				
			||||||
 | 
					  retries: 3
 | 
				
			||||||
 | 
					  until: pkg_result is succeeded
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					  when: user.root
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Deploying config files
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: 'vimrc.j2'
 | 
				
			||||||
 | 
					    dest: '.vimrc'
 | 
				
			||||||
							
								
								
									
										46
									
								
								roles/vim/templates/vimrc.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								roles/vim/templates/vimrc.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,46 @@
 | 
				
			|||||||
 | 
					if has('autocmd')
 | 
				
			||||||
 | 
					  filetype plugin indent on
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
 | 
					if has('syntax') && !exists('g:syntax_on')
 | 
				
			||||||
 | 
					  syntax enable
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set viminfo=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set autoindent
 | 
				
			||||||
 | 
					set backspace=indent,eol,start
 | 
				
			||||||
 | 
					set complete-=i
 | 
				
			||||||
 | 
					set smarttab
 | 
				
			||||||
 | 
					set tabstop=2
 | 
				
			||||||
 | 
					set shiftwidth=2
 | 
				
			||||||
 | 
					set expandtab
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set laststatus=2
 | 
				
			||||||
 | 
					set ruler
 | 
				
			||||||
 | 
					set showcmd
 | 
				
			||||||
 | 
					set wildmenu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set incsearch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set encoding=utf-8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if &listchars ==# 'eol:$'
 | 
				
			||||||
 | 
					  set listchars=tab:>\ ,trail:-,extends:>,precedes:<,nbsp:+
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set formatoptions+=j
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set autoread
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if &tabpagemax < 50
 | 
				
			||||||
 | 
					  set tabpagemax=50
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set whichwrap+=<,>,h,l,[,]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					colorscheme elflord
 | 
				
			||||||
 | 
					highlight ExtraWhitespace ctermbg=lightgreen guibg=lightgreen
 | 
				
			||||||
 | 
					match ExtraWhitespace /\s\+$/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set tw=80
 | 
				
			||||||
							
								
								
									
										84
									
								
								roles/xorg/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								roles/xorg/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,84 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					- name: Queries package manager for graphical instalation
 | 
				
			||||||
 | 
					  package:
 | 
				
			||||||
 | 
					    name:
 | 
				
			||||||
 | 
					      - autorandr
 | 
				
			||||||
 | 
					      - font-bh-ttf
 | 
				
			||||||
 | 
					      - gsfonts
 | 
				
			||||||
 | 
					      - light
 | 
				
			||||||
 | 
					      - noto-fonts-emoji
 | 
				
			||||||
 | 
					      - physlock
 | 
				
			||||||
 | 
					      - sdl_ttf
 | 
				
			||||||
 | 
					      - ttf-bitstream-vera
 | 
				
			||||||
 | 
					      - ttf-dejavu
 | 
				
			||||||
 | 
					      - ttf-liberation
 | 
				
			||||||
 | 
					      - xorg-fonts-type1
 | 
				
			||||||
 | 
					      - xorg-xinit
 | 
				
			||||||
 | 
					      - xorg-server
 | 
				
			||||||
 | 
					      - xss-lock
 | 
				
			||||||
 | 
					  register: pkg_result
 | 
				
			||||||
 | 
					  retries: 3
 | 
				
			||||||
 | 
					  until: pkg_result is succeeded
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Queries package manager for graphical instalation specific to abyme installation
 | 
				
			||||||
 | 
					  package:
 | 
				
			||||||
 | 
					    name:
 | 
				
			||||||
 | 
					      - nvidia
 | 
				
			||||||
 | 
					  register: pkg_result
 | 
				
			||||||
 | 
					  retries: 3
 | 
				
			||||||
 | 
					  until: pkg_result is succeeded
 | 
				
			||||||
 | 
					  when: laptop.gpu
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Queries package manager for graphical instalation specific to abyme installation
 | 
				
			||||||
 | 
					  package:
 | 
				
			||||||
 | 
					    name:
 | 
				
			||||||
 | 
					      - numlockx
 | 
				
			||||||
 | 
					  register: pkg_result
 | 
				
			||||||
 | 
					  retries: 3
 | 
				
			||||||
 | 
					  until: pkg_result is succeeded
 | 
				
			||||||
 | 
					  when: laptop.numpad
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Copy user configuration files
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: 'xinitrc.j2'
 | 
				
			||||||
 | 
					    dest: '.xinitrc'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Copy touchpad configuration
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: '30-touchpad.conf.j2'
 | 
				
			||||||
 | 
					    dest: '/etc/X11/xorg.conf.d/30-touchpad.conf'
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Change backlight property # doing some shifty things
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    path: '/sys/class/backlight/intel_backlight/brightness'
 | 
				
			||||||
 | 
					    group: video
 | 
				
			||||||
 | 
					    mode: '0664'
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Gives user the good group
 | 
				
			||||||
 | 
					  user:
 | 
				
			||||||
 | 
					    name: ynerant
 | 
				
			||||||
 | 
					    groups: video
 | 
				
			||||||
 | 
					    append: yes
 | 
				
			||||||
 | 
					  become: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Create autorandr configuration folder
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    path: '~/.config/autorandr'
 | 
				
			||||||
 | 
					    state: directory
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Install autorandr postswitch configuration file
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: 'postswitch.j2'
 | 
				
			||||||
 | 
					    dest: '~/.config/autorandr/postswitch'
 | 
				
			||||||
 | 
					    mode: '0755'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Enable autorandr service
 | 
				
			||||||
 | 
					  service:
 | 
				
			||||||
 | 
					    name: autorandr
 | 
				
			||||||
 | 
					    enabled: yes
 | 
				
			||||||
 | 
					  become: true
 | 
				
			||||||
							
								
								
									
										6
									
								
								roles/xorg/templates/30-touchpad.conf.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								roles/xorg/templates/30-touchpad.conf.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					Section "InputClass"
 | 
				
			||||||
 | 
						Identifier "touchpad"
 | 
				
			||||||
 | 
						Driver "libinput"
 | 
				
			||||||
 | 
						MatchIsTouchpad "on"
 | 
				
			||||||
 | 
						Option "Tapping" "on"
 | 
				
			||||||
 | 
					EndSection
 | 
				
			||||||
							
								
								
									
										3
									
								
								roles/xorg/templates/postswitch.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								roles/xorg/templates/postswitch.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					~/.fehbg
 | 
				
			||||||
							
								
								
									
										13
									
								
								roles/xorg/templates/xinitrc.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								roles/xorg/templates/xinitrc.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					eval $(/usr/bin/gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh)
 | 
				
			||||||
 | 
					export $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gpg)
 | 
				
			||||||
 | 
					dbus-update-activation-environment --systemd DISPLAY
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					setxkbmap fr oss
 | 
				
			||||||
 | 
					xss-lock -- physlock -d &
 | 
				
			||||||
 | 
					autorandr --change
 | 
				
			||||||
 | 
					{% if laptop.gpu %}
 | 
				
			||||||
 | 
					exec prime-run i3
 | 
				
			||||||
 | 
					{% else %}
 | 
				
			||||||
 | 
					exec i3
 | 
				
			||||||
 | 
					{% endif %}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user