diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8793994 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.swp +*.retry diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..69177c0 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "ansible-gpg-vault"] + path = ansible-gpg-vault + url = https://git.finallycoffee.eu/finallycoffee.eu/ansible-gpg-vault.git diff --git a/all.yml b/all.yml new file mode 100644 index 0000000..8994f8f --- /dev/null +++ b/all.yml @@ -0,0 +1,7 @@ +--- + +- import_playbook: vim.yml +- import_playbook: tmux.yml +- import_playbook: gnupg.yml +- import_playbook: redshift.yml + diff --git a/ansible-gpg-vault b/ansible-gpg-vault new file mode 160000 index 0000000..6b06b79 --- /dev/null +++ b/ansible-gpg-vault @@ -0,0 +1 @@ +Subproject commit 6b06b795cc769033fbb913167c88a7c41da30ebd diff --git a/ansible-gpg-vault-store/gpg_ids.list b/ansible-gpg-vault-store/gpg_ids.list new file mode 100644 index 0000000..63a8761 --- /dev/null +++ b/ansible-gpg-vault-store/gpg_ids.list @@ -0,0 +1 @@ +johanna.reichmann@delta-industries.de diff --git a/ansible-gpg-vault-store/vault_passphrase.gpg b/ansible-gpg-vault-store/vault_passphrase.gpg new file mode 100644 index 0000000..8693e02 --- /dev/null +++ b/ansible-gpg-vault-store/vault_passphrase.gpg @@ -0,0 +1,20 @@ +-----BEGIN PGP MESSAGE----- + +hQIMAxEs7W/4x4lxAQ//ZkLnB+f9bD12wnnRJm8S6j/iaxbxsV9vSe0xfGZH0mup +7f9Kpg8kCxDaTnbgQw9HIPJPc4m/Kwlo8Jx+Zk3+AIvuEkqll3OjmiwstlH9EPBg +VzDDnpWHb4EG0xYWv7+pztudwX2Ghp1xMqHYIokJNliU01vn/igoeZjLg+uogKWf +4+qFest0CLONfHM2LUj3qfMJc1dndRM46i2YybjTC6BFmqtXGNuEeVOHNUV3AgTw +M6gpq26rr+YdVElft43o2+sdZH/USlL/ga5+K0Ea272qhmO/fPbTeffqlUHtkkWs +bURsLmPQYkgZxy8TflSVeB8qol5i30hqkD3WTuEHB+m92KkxveZcV2jHeNrI1OEP +r/kbMcxivDod0eNaEwe7pMlm7NstrHrnIExm9pG5y8YIIRlaELNJbXPcZAHTG+o9 +j+kfPnRyqFrF1raktY0AO99jsNn13uXYMPb0TB78jR6Qs0HAm56GUtO+enZhUEBo +3igpeiU5lMEhua8fD+xSUhA4Hx8InS/Oj2FxzK4GRyRhXag2xFoBEM9FMJnRr9cR +m5mPFBvqMadZkejRrv+QpAy6phauR4Zo9M7qBwsZ79adeFFTMneYONuF8l6okjBu +OSHFPeR9R+O+iv+toAMCyqfH93RM7NWKBbawhnBBvaS7bIzMw0x+xKJo+c5lkQXS +wC0BupdYkeee+5KeD+LejKJK2UBRtYPhDYZRPbHu0Hu837liuXhrJYuKz6SFfoPU +kQcyYUlFVcaqjIwKGLYQdwumZetGlw8DlfmQ9nax5n5wvVm+fv6ZF8wy60Wsehbi +fqE2jTTBRStyIqScPOZKTu1OR17va9KKhDnAPLXVPZ/ROxJftIrsa2FFRhItJBJx +fqCe73K8zvT5jcHlN+qQlHgmV2KdTbMa0i6IC+VMWgdlK8HhE+nzYfl5Z4cf6ZwA +BHnAXdwgtnj8FxZmC1NgRQuhXj3UucPO9/HrqEToAUydUQvbT1YbX+RLnzIysrU= +=cikY +-----END PGP MESSAGE----- diff --git a/ansible.cfg b/ansible.cfg new file mode 100644 index 0000000..510b5e0 --- /dev/null +++ b/ansible.cfg @@ -0,0 +1,3 @@ +[defaults] + +vault_password_file = ansible-gpg-vault/vault.sh diff --git a/git.yml b/git.yml new file mode 100644 index 0000000..323109e --- /dev/null +++ b/git.yml @@ -0,0 +1,7 @@ +--- + +- name: Install & template git configuration + hosts: git + become: true + roles: + - git diff --git a/global.yml b/global.yml new file mode 100644 index 0000000..7f2fe39 --- /dev/null +++ b/global.yml @@ -0,0 +1,43 @@ +--- + +all: + hosts: + iodine: + ansible_host: iodine.int.finallycoffee.eu + ansible_user: jdreichmann + ansible_become_user: jdreichmann + ansible_become: true + carbon: + ansible_host: carbon.int.finallycoffee.eu +# iron: +# ansible_host: iron.int.finallycoffee.eu +# platinum: +# ansible_host: platinum.int.finallycoffee.eu +# xenon: +# ansible_host: xenon.int.finallycoffee.eu +# yttrium: +# ansible_host: yttrium.int.finallycoffee.eu + + munich: + ansible_host: munich.finallycoffee.eu + ansible_user: jdreichmann + ansible_become_user: jdreichmann + ansible_become: true + vars: + ansible_user: transcaffeine + ansible_become_user: transcaffeine + ansible_become: true + + +servers: + hosts: + iodine: + munich: +# iron: +# platinum: + +clients: + hosts: +# carbon: +# xenon: + diff --git a/gnupg.yml b/gnupg.yml index cd2ae7a..5696855 100644 --- a/gnupg.yml +++ b/gnupg.yml @@ -1,8 +1,7 @@ --- - name: Sets up gpg and the configs for using it as a ssh-agent - #connection: local - hosts: gnupg + hosts: all become: true roles: - gnupg diff --git a/group_vars/git.yml b/group_vars/git.yml new file mode 100644 index 0000000..8a0c006 --- /dev/null +++ b/group_vars/git.yml @@ -0,0 +1,30 @@ +$ANSIBLE_VAULT;1.1;AES256 +61636132613664626434323334356466303734666664616338633036343865313331623734306331 +3533333362613430633461333832363163323766323265370a643039643361666132386166396334 +33643330396433626238363738356438653534666465663462636635353434333862373933666334 +6134376464623233310a663833646336643665626335386335623337623538383765633337313065 +32626132346632336237353931666166343639353339303935343732393337333032643638626539 +35623239653438666665366539346136346235663537663961366662323333613631613066393365 +37636265373832303862326163656639663762653061636261303836613638306133383132306236 +33353731363230633536353030626236366465613062616434656431333961323634313163356266 +30363062376532323864643737316335366231633433663536383032636335326338663137366131 +61396161336365633861646266336663363863383231616364326233623435356339333237653430 +61313563373939363437313466356133376632643431316461376265373833313537633832656337 +34356536373533303862373262386661643938366363363062373766373664653461383039666136 +65323038346632373230626664316638663636626338373166343433386635613066636637613465 +37633034626236353130636533316339653162303938316637666461363739653736323830316561 +35393865346436623861653036616263343731626633353336303637643035663362653465656134 +38653262373864306462643937636539373665626139623138336334343130636262353162633338 +33636636333064633431613863363530613165323064383132623935666338303464373466313964 +63316630323336643936356362643331383733626161633264346265326533653163303561333130 +36343834616432353937623161373531383234626634303335393665623335306462393762376235 +38306666656266363664636431613339303365623832343137666232323964333531653933383266 +32663135633664383866313339666461303034303539613532306362353336346163306662396561 +33343361313834643033323065376466346236396364386436343034393431353930353537353139 +34356363313730303032336566303433323730623638623264383833363566356266313265343538 +35633861383637383331326634363966393638333235373034353161633665343330383165316632 +39613032356638383062373731633834643864663433323832396430646362626563373831643531 +64323165326262343935646466366136343531656661626434613563646430343261306461303437 +38303863303230613065643431663432653734616239626337303363643263316236383364383739 +63393539346137393237613430396438373933656130376136613563613134386265663565626337 +66353235383937646661643734323533643731313764373435383833393532363362 diff --git a/legacy/i3/i3config b/legacy/i3/i3config new file mode 100644 index 0000000..966396d --- /dev/null +++ b/legacy/i3/i3config @@ -0,0 +1,161 @@ +# 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 http://i3wm.org/docs/userguide.html for a complete reference! + +set $mod Mod4 + +# 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 + +# This font is widely installed, provides lots of unicode glyphs, right-to-left +# text rendering and scalability on retina/hidpi displays (thanks to pango). +#font pango:DejaVu Sans Mono 8 + +# Before i3 v4.8, we used to recommend this one as the default: +# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 +# The font above is very space-efficient, that is, it looks good, sharp and +# clear in small sizes. However, its unicode glyph coverage is limited, the old +# X core fonts rendering does not support right-to-left and this being a bitmap +# font, it doesn’t scale on retina/hidpi displays. + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# start a terminal +bindsym $mod+Return exec xfce4-terminal + +# kill focused window +bindsym $mod+Shift+q kill + +# For use with xfce4 whisker popup menu in Mint XFCE: +bindsym $mod+d exec xfce4-popup-whiskermenu + +# Lock the screen +bindsym $mod+l exec i3lock + +# There also is the (new) i3-dmenu-desktop which only displays applications +# shipping a .desktop file. It is a wrapper around dmenu, so you need that +# installed. +# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop + +# change focus +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# move focused window +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# split in horizontal orientation +bindsym $mod+h 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+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# focus the parent container +bindsym $mod+a focus parent + +# focus the child container +# bindsym $mod+d focus child + +# switch to workspace +bindsym $mod+1 workspace 1 +bindsym $mod+2 workspace 2 +bindsym $mod+3 workspace 3 +bindsym $mod+4 workspace 4 +bindsym $mod+5 workspace 5 +bindsym $mod+6 workspace 6 +bindsym $mod+7 workspace 7 +bindsym $mod+8 workspace 8 +bindsym $mod+9 workspace 9 +bindsym $mod+0 workspace 10 + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace 1 +bindsym $mod+Shift+2 move container to workspace 2 +bindsym $mod+Shift+3 move container to workspace 3 +bindsym $mod+Shift+4 move container to workspace 4 +bindsym $mod+Shift+5 move container to workspace 5 +bindsym $mod+Shift+6 move container to workspace 6 +bindsym $mod+Shift+7 move container to workspace 7 +bindsym $mod+Shift+8 move container to workspace 8 +bindsym $mod+Shift+9 move container to workspace 9 +bindsym $mod+Shift+0 move container to workspace 10 + +# 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) +#-old-#bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit' +bindsym $mod+Shift+e exec xfce4-session-logout + +# class border backgr. text indicator child_border +client.focused #ff33cc #ff33cc #ffffff #ff33cc #ff33cc +client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a +client.unfocused #333333 #222222 #888888 #292d2e #222222 +client.urgent #ff0000 #ff0000 #ffffff #ff0000 #ff0000 +client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c + +# resize window (you can also use the mouse for that) +mode "resize" { + # These bindings trigger as soon as you enter the resize mode + + # Pressing left will shrink the window’s width. + # Pressing right will grow the window’s width. + # Pressing up will shrink the window’s height. + # Pressing down will grow the window’s height. + bindsym j resize shrink width 10 px or 10 ppt + bindsym k resize grow height 10 px or 10 ppt + bindsym l resize shrink height 10 px or 10 ppt + bindsym semicolon resize grow width 10 px or 10 ppt + + # same bindings, but for the arrow keys + bindsym Left resize shrink width 10 px or 10 ppt + bindsym Down resize grow height 10 px or 10 ppt + bindsym Up resize shrink height 10 px or 10 ppt + bindsym Right resize grow width 10 px or 10 ppt + + # back to normal: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} + +bindsym $mod+r mode "resize" + +# Start i3bar to display a workspace bar (plus the system information i3status +# finds out, if available) + + +#-old-#bar { +#-old-# status_command i3status +#-old-#} +exec --no-startup-id nitrogen --restore +exec --no-startup-id synergy + diff --git a/inventory.yaml b/local.yml similarity index 77% rename from inventory.yaml rename to local.yml index 5b46f5c..bb64759 100644 --- a/inventory.yaml +++ b/local.yml @@ -18,3 +18,14 @@ redshift: hosts: xenon: +tmux: + hosts: + xenon: + +vim: + hosts: + xenon: + +git: + hosts: + xenon: diff --git a/redshift.yml b/redshift.yml index 21ef9f3..aaf462c 100644 --- a/redshift.yml +++ b/redshift.yml @@ -1,7 +1,7 @@ --- - name: Sets up redshift and creates an autostart file - hosts: redshift + hosts: clients become: true roles: - redshift diff --git a/roles/firefox/tasks/main.yml b/roles/firefox/tasks/main.yml new file mode 100644 index 0000000..e69de29 diff --git a/roles/git/defaults/main.yml b/roles/git/defaults/main.yml new file mode 100644 index 0000000..1fb408f --- /dev/null +++ b/roles/git/defaults/main.yml @@ -0,0 +1,17 @@ +--- + +git_user: your-username +git_email: your-email@example.com +git_signkey: +git_signingkey: +git_do_sign: false + +git_user_home: "/home/{{ git_system_user }}" +git_system_user: "{{ git_user }}" +git_system_group: "{{ git_system_user }}" + +git_gpg_program: ~ + +git_aliases: [] + +git_credentials: [] diff --git a/roles/git/tasks/main.yml b/roles/git/tasks/main.yml new file mode 100644 index 0000000..3146540 --- /dev/null +++ b/roles/git/tasks/main.yml @@ -0,0 +1,9 @@ +--- + +- name: Template .gitconfig + template: + src: gitconfig.j2 + dest: "{{ git_user_home }}/.gitconfig" + owner: "{{ git_system_user }}" + group: "{{ git_system_group }}" + mode: 0660 diff --git a/roles/git/templates/gitconfig.j2 b/roles/git/templates/gitconfig.j2 new file mode 100644 index 0000000..b7aede9 --- /dev/null +++ b/roles/git/templates/gitconfig.j2 @@ -0,0 +1,34 @@ +# This is Git's per-user configuration file. +[user] +# Please adapt and uncomment the following lines: + name = {{ git_user }} + email = {{ git_email }} +{% if git_do_sign %} + signkey = {{ git_signkey }} + signingkey = {{ git_signingkey }} +{% endif %} + +{% if git_do_sign %} +[gpg] + program = {{ git_gpg_program }} + +{% endif %} +[commit] + +{% if git_do_sign %} + gpgsign = true +{% endif %} + + +[alias] +{% for alias in git_aliases %} + {{ alias.name }} = {{ alias.cmd }} +{% endfor %} + +{% for cred in git_credentials %} +[credential "{{ cred.remote_url }}"] + username = {{ cred.username }} +{% if cred.helper is defined %} + helper = {{ cred.helper }} +{% endif %} +{% endfor %} diff --git a/roles/gnupg/tasks/main.yml b/roles/gnupg/tasks/main.yml index 79ae2b6..1fb1d1b 100644 --- a/roles/gnupg/tasks/main.yml +++ b/roles/gnupg/tasks/main.yml @@ -5,7 +5,11 @@ package: name: gnupg2 state: latest + become: yes + become_user: root + become_method: sudo when: ansible_os_family == "RedHat" + ignore_errors: true - name: Install gnupg (Arch) package: diff --git a/roles/i3/tasks/main.yml b/roles/i3/tasks/main.yml new file mode 100644 index 0000000..655b71d --- /dev/null +++ b/roles/i3/tasks/main.yml @@ -0,0 +1,22 @@ +--- + +- name: Ensure i3 is installed + package: + name: i3 + state: present + +- name: Ensure folder for configuration exists + file: + path: ~/.config/i3 + state: directory + recurse: yes + +- name: Template config into configuration directory + template: + src: config.j2 + dest: ~/.config/i3/config + +- name: Create autostart entry + template: + src: "" + dest: ~/.config/autostart/i3.desktop diff --git a/roles/i3/templates/config.j2 b/roles/i3/templates/config.j2 new file mode 100644 index 0000000..0201d94 --- /dev/null +++ b/roles/i3/templates/config.j2 @@ -0,0 +1,147 @@ +# i3 config file (v4) +# +# Please see http://i3wm.org/docs/userguide.html for a complete reference! + +set $mod Mod4 + +# 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 + +# This font is widely installed, provides lots of unicode glyphs, right-to-left +# text rendering and scalability on retina/hidpi displays (thanks to pango). +#font pango:DejaVu Sans Mono 8 + +# Before i3 v4.8, we used to recommend this one as the default: +# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 +# The font above is very space-efficient, that is, it looks good, sharp and +# clear in small sizes. However, its unicode glyph coverage is limited, the old +# X core fonts rendering does not support right-to-left and this being a bitmap +# font, it doesn’t scale on retina/hidpi displays. + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# start a terminal +bindsym $mod+Return exec xfce4-terminal + +# kill focused window +bindsym $mod+Shift+q kill + +# For use with xfce4 whisker popup menu in Mint XFCE: +bindsym $mod+d exec xfce4-popup-whiskermenu + +# Lock the screen +bindsym $mod+l exec i3lock + +# There also is the (new) i3-dmenu-desktop which only displays applications +# shipping a .desktop file. It is a wrapper around dmenu, so you need that +# installed. +# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop + +# change focus +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# move focused window +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# split in horizontal orientation +bindsym $mod+h 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+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# focus the parent container +bindsym $mod+a focus parent + +# focus the child container +# bindsym $mod+d focus child + +# switch to workspace +bindsym $mod+1 workspace 1 +bindsym $mod+2 workspace 2 +bindsym $mod+3 workspace 3 +bindsym $mod+4 workspace 4 +bindsym $mod+5 workspace 5 +bindsym $mod+6 workspace 6 +bindsym $mod+7 workspace 7 +bindsym $mod+8 workspace 8 +bindsym $mod+9 workspace 9 +bindsym $mod+0 workspace 10 + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace 1 +bindsym $mod+Shift+2 move container to workspace 2 +bindsym $mod+Shift+3 move container to workspace 3 +bindsym $mod+Shift+4 move container to workspace 4 +bindsym $mod+Shift+5 move container to workspace 5 +bindsym $mod+Shift+6 move container to workspace 6 +bindsym $mod+Shift+7 move container to workspace 7 +bindsym $mod+Shift+8 move container to workspace 8 +bindsym $mod+Shift+9 move container to workspace 9 +bindsym $mod+Shift+0 move container to workspace 10 + +# 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) +#-old-#bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit' +bindsym $mod+Shift+e exec xfce4-session-logout + +# class border backgr. text indicator child_border +client.focused #ff33cc #ff33cc #ffffff #ff33cc #ff33cc +client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a +client.unfocused #333333 #222222 #888888 #292d2e #222222 +client.urgent #ff0000 #ff0000 #ffffff #ff0000 #ff0000 +client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c + +# resize window (you can also use the mouse for that) +mode "resize" { + # These bindings trigger as soon as you enter the resize mode + + # Pressing left will shrink the window’s width. + # Pressing right will grow the window’s width. + # Pressing up will shrink the window’s height. + # Pressing down will grow the window’s height. + bindsym j resize shrink width 10 px or 10 ppt + bindsym k resize grow height 10 px or 10 ppt + bindsym l resize shrink height 10 px or 10 ppt + bindsym semicolon resize grow width 10 px or 10 ppt + + # same bindings, but for the arrow keys + bindsym Left resize shrink width 10 px or 10 ppt + bindsym Down resize grow height 10 px or 10 ppt + bindsym Up resize shrink height 10 px or 10 ppt + bindsym Right resize grow width 10 px or 10 ppt + + # back to normal: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} + +bindsym $mod+r mode "resize" + +exec --no-startup-id nitrogen --restore +exec --no-startup-id synergy + diff --git a/roles/network/tasks/main.yml b/roles/network/tasks/main.yml new file mode 100644 index 0000000..3f31537 --- /dev/null +++ b/roles/network/tasks/main.yml @@ -0,0 +1,14 @@ +--- + +- name: Install network manager + +- name: Template config for default network + +- name: Copy KIT VPN configuration + +- name: Copy flauschekatze.space VPN configuration + +- name: Copy FFKA VLAN config + +- name: Copy int.finallycofffee.eu VPN/VLAN config + diff --git a/roles/redshift/tasks/main.yml b/roles/redshift/tasks/main.yml index 04d6944..cd77c4a 100644 --- a/roles/redshift/tasks/main.yml +++ b/roles/redshift/tasks/main.yml @@ -4,7 +4,7 @@ package: name: redshift state: present - + ignore_errors: true - name: Ensure .config folder for redshift exists file: diff --git a/roles/thunderbird/tasks/main.yml b/roles/thunderbird/tasks/main.yml new file mode 100644 index 0000000..e69de29 diff --git a/roles/tmux/tasks/main.yml b/roles/tmux/tasks/main.yml new file mode 100644 index 0000000..3a1ba68 --- /dev/null +++ b/roles/tmux/tasks/main.yml @@ -0,0 +1,21 @@ +--- + +- name: Ensure tmux is installed + package: + name: tmux + state: present + become: yes + become_user: root + become_method: sudo + ignore_errors: true + +- name: Template config file into home folder + template: + src: tmux.conf.j2 + dest: ~/.tmux.conf + +- name: Template controller config file to home folder + template: + src: controller.tmux.conf.j2 + dest: ~/.controller.tmux.conf + diff --git a/roles/tmux/templates/controller.tmux.conf.j2 b/roles/tmux/templates/controller.tmux.conf.j2 new file mode 100644 index 0000000..429a343 --- /dev/null +++ b/roles/tmux/templates/controller.tmux.conf.j2 @@ -0,0 +1,39 @@ +# Reload controller config with "r" key +unbind t +bind t source-file ~/.controller.tmux.conf \; display-message "Controller config reloaded..." + +# No automatic renaming of windows +set -g automatic-rename off + +# Enable 256-color terminal +set -g default-terminal "screen-256color" + +# Set titles to be informative +set set-titles on +set set-titles-string "tmux: [#H] [#S] [#W:#D #I:#P]" + +# Change colors on the pane seperators +set pane-border-fg colour237 +set pane-active-border-fg colour27 + +# Tweak currently highlighted window ('active') +setw window-status-current-fg colour255 +setw window-status-current-bg colour27 +setw window-status-current-format " #F[#W] " +setw window-status-current-attr none + +# Tweak overview of windows +setw window-status-format " #F[#I][#W] " +setw window-status-bg colour237 +setw window-status-fg colour255 + +# Tweak status line design +set status-bg colour237 +set status-fg colour27 +set status-justify centre +set status-left " [#H] [#S] " +set status-left-length 100 +set status-right ' [#(curl https://wttr.in/berlin?format=3)] [%Y-%m-%d %H:%M.%S] ' +# Refresh status bar every second +set status-interval 1 + diff --git a/roles/tmux/templates/tmux.conf b/roles/tmux/templates/tmux.conf deleted file mode 100644 index 0c3af9e..0000000 --- a/roles/tmux/templates/tmux.conf +++ /dev/null @@ -1,40 +0,0 @@ -# Reload the config with the "r" key -bind r source-file ~/.tmux.conf \; display-message "Config reloaded..." - -# No automatic renaming of windows -set -g automatic-rename off - -# Enable 256-color terminal -set -g default-terminal "screen-256color" - -# Set titles to be informative -set -g set-titles on -set -g set-titles-string "tmux: [#H] [#S] [#W:#D #I:#P]" - -# Install tmux-plugin-manager, first run `git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm` -#set -g @plugin 'tmux-plugins/tpm' -#set -g @plugin 'tmux-plugins/tmux-sensible' - -# Tweak currently highlighted pane -setw -g window-status-current-fg colour236 -setw -g window-status-current-bg colour199 -setw -g window-status-current-format " #F[#W] " -setw -g window-status-current-attr none - -# Tweak pane display -setw -g window-status-format " #F[#W][#I] " -setw -g window-status-bg colour237 -setw -g window-status-fg colour255 - -# Tweak status line design -set -g status-bg colour235 -set -g status-fg colour199 -set -g status-justify centre -set -g status-left " [#H] [#S] " -set -g status-left-length 100 -set -g status-right '[FFKA: #(ip addr show freifunk | grep inet6 | grep -v fe80 | cut -d/ -f1 | cut -d " " -f6)] [%Y-%m-%d %H:%M.%S]' -# Refresh status bar every 5s -set -g status-interval 5 - -# Initialize tmux-plugin-manager -run '~/.tmux/plugins/tpm/tpm' diff --git a/roles/tmux/templates/tmux.conf.j2 b/roles/tmux/templates/tmux.conf.j2 new file mode 100644 index 0000000..5d7c28e --- /dev/null +++ b/roles/tmux/templates/tmux.conf.j2 @@ -0,0 +1,46 @@ +# vi:syntax=tmux +# Reload the config with the "r" key +bind r source-file ~/.tmux.conf \; display-message "Config reloaded..." + +# No automatic renaming of windows +set automatic-rename off + +# Enable 256-color terminal +set default-terminal "screen-256color" + +# Set titles to be informative +set set-titles on +set set-titles-string "tmux: [#H] [#S] [#W:#D #I:#P]" + +# Change pane colors +set -g pane-border-style fg=colour237 +set -g pane-active-border-style fg=colour199 + +# Tweak currently active window +setw -g window-status-current-style bg=colour199,fg=colour255,none +setw -g window-status-current-format " #F[#W] " +# Tweak last active window style +setw -g window-status-last-style fg=colour255,bg=colour238,none + +# Tweak display of window overview +setw -g window-status-format " #F[#W][#I] " +setw -g window-status-style bg=colour233,fg=colour255,none + +# Tweak status line design +set -g status-style bg=colour235,fg=colour199 +set status-justify centre +set status-left " [#H] [#S] " +set status-left-length 100 +set status-right '[%Y-%m-%d %H:%M.%S]' +# Refresh status bar every 2s +set status-interval 2 + +# Set some helpful limits & modes +set -g mouse off +set -g history-limit 50000 + +# Make tmux resize based on smallest client actually viewing the window, not just attached +setw -g aggressive-resize on + +# Initialize tmux-plugin-manager +run '~/.tmux/plugins/tpm/tpm' diff --git a/roles/vim/templates/colors/kuroi.vim b/roles/vim/files/kuroi.vim similarity index 100% rename from roles/vim/templates/colors/kuroi.vim rename to roles/vim/files/kuroi.vim diff --git a/roles/vim/tasks/main.yml b/roles/vim/tasks/main.yml new file mode 100644 index 0000000..d0c8003 --- /dev/null +++ b/roles/vim/tasks/main.yml @@ -0,0 +1,26 @@ +--- + +- name: Ensure vim is installed + package: + name: vim + state: present + become: true + become_user: root + ignore_errors: yes + +- name: Ensure ~/.vim/colors folder exists + file: + path: ~/.vim/colors + state: directory + recurse: yes + +- name: Copy kuroi color scheme + copy: + src: kuroi.vim + dest: ~/.vim/colors/kuroi.vim + +- name: Template vim config + template: + src: vimrc.j2 + dest: ~/.vimrc + diff --git a/roles/vim/templates/vimrc b/roles/vim/templates/vimrc.j2 similarity index 100% rename from roles/vim/templates/vimrc rename to roles/vim/templates/vimrc.j2 diff --git a/tmux.yml b/tmux.yml new file mode 100644 index 0000000..d782211 --- /dev/null +++ b/tmux.yml @@ -0,0 +1,7 @@ +--- + +- name: Set up tmux + hosts: all + become: true + roles: + - tmux diff --git a/vim.yml b/vim.yml new file mode 100644 index 0000000..3d4b5f6 --- /dev/null +++ b/vim.yml @@ -0,0 +1,7 @@ +--- + +- name: Install vim and copy color scheme and template its config + hosts: all + become: true + roles: + - vim