diff --git a/ansible/playbook.yaml b/ansible/playbook.yaml index 82a5e13..d766097 100644 --- a/ansible/playbook.yaml +++ b/ansible/playbook.yaml @@ -6,3 +6,4 @@ - users - zrepl - zsh + - base diff --git a/ansible/roles/base/files/alacritty.termcap b/ansible/roles/base/files/alacritty.termcap new file mode 100644 index 0000000..bbbc65f --- /dev/null +++ b/ansible/roles/base/files/alacritty.termcap @@ -0,0 +1,24 @@ +# Reconstructed via infocmp from file: /usr/share/terminfo/a/alacritty +# (untranslatable capabilities removed to fit entry within 1023 bytes) +# (sgr removed to fit entry within 1023 bytes) +# (acsc removed to fit entry within 1023 bytes) +# (terminfo-only capabilities suppressed to fit entry within 1023 bytes) +alacritty|alacritty terminal emulator:\ + :am:bs:hs:mi:ms:xn:\ + :co#80:it#8:li#24:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :K2=\EOE:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:\ + :UP=\E[%dA:ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cd=\E[J:\ + :ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=\r:\ + :cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=\n:\ + :ds=\E]2;\007:ec=\E[%dX:ei=\E[4l:fs=^G:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mh=\E[2m:mm=\E[?1034h:mo=\E[?1034l:mr=\E[7m:nd=\E[C:\ + :rc=\E8:sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[?1049l\E[23;0;0t:ti=\E[?1049h\E[22;0;0t:\ + :ts=\E]2;:ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\ + :ve=\E[?12l\E[?25h:vi=\E[?25l:vs=\E[?12;25h: diff --git a/ansible/roles/base/tasks/common.yaml b/ansible/roles/base/tasks/common.yaml new file mode 100644 index 0000000..d7c1735 --- /dev/null +++ b/ansible/roles/base/tasks/common.yaml @@ -0,0 +1,14 @@ +- import_tasks: tasks/freebsd.yaml + when: 'os_flavor == "freebsd"' + +- import_tasks: tasks/linux.yaml + when: 'os_flavor == "linux"' + +- include_tasks: + file: tasks/peruser.yaml + apply: + become: yes + become_user: "{{ initialize_user }}" + loop: "{{ users | dict2items | community.general.json_query('[?value.initialize==`true`].key') }}" + loop_control: + loop_var: initialize_user diff --git a/ansible/roles/base/tasks/freebsd.yaml b/ansible/roles/base/tasks/freebsd.yaml new file mode 100644 index 0000000..c8c33d8 --- /dev/null +++ b/ansible/roles/base/tasks/freebsd.yaml @@ -0,0 +1,21 @@ +- name: See if the alacritty termcap has been added + lineinfile: + name: /usr/share/misc/termcap + regexp: |- + ^alacritty\| + state: absent + check_mode: yes + changed_when: false + register: alacritty_cap + +- name: Append alacritty termcap info + blockinfile: + path: /usr/share/misc/termcap + block: "{{ lookup('file', 'alacritty.termcap') }}" + marker: "# {mark} ANSIBLE MANAGED BLOCK alacritty" + when: not alacritty_cap.found + register: wrote_alacritty_cap + +- name: Update cap_mkdb + command: cap_mkdb /usr/share/misc/termcap + when: wrote_alacritty_cap.changed diff --git a/ansible/roles/base/tasks/linux.yaml b/ansible/roles/base/tasks/linux.yaml new file mode 100644 index 0000000..e69de29 diff --git a/ansible/roles/base/tasks/main.yaml b/ansible/roles/base/tasks/main.yaml new file mode 100644 index 0000000..5c1df6c --- /dev/null +++ b/ansible/roles/base/tasks/main.yaml @@ -0,0 +1 @@ +- import_tasks: tasks/common.yaml diff --git a/ansible/roles/base/tasks/peruser.yaml b/ansible/roles/base/tasks/peruser.yaml new file mode 100644 index 0000000..da9386d --- /dev/null +++ b/ansible/roles/base/tasks/peruser.yaml @@ -0,0 +1,8 @@ +- include_role: + name: per_user + +- import_tasks: tasks/peruser_freebsd.yaml + when: 'os_flavor == "freebsd"' + +- import_tasks: tasks/peruser_linux.yaml + when: 'os_flavor == "linux"' diff --git a/ansible/roles/base/tasks/peruser_freebsd.yaml b/ansible/roles/base/tasks/peruser_freebsd.yaml new file mode 100644 index 0000000..e69de29 diff --git a/ansible/roles/base/tasks/peruser_linux.yaml b/ansible/roles/base/tasks/peruser_linux.yaml new file mode 100644 index 0000000..e69de29 diff --git a/ansible/roles/blank/tasks/peruser.yaml b/ansible/roles/blank/tasks/peruser.yaml index cbd53eb..111e886 100644 --- a/ansible/roles/blank/tasks/peruser.yaml +++ b/ansible/roles/blank/tasks/peruser.yaml @@ -1,8 +1,29 @@ - include_role: name: per_user +# - name: Create directories +# file: +# name: "{{ account_homedir.stdout }}/{{ item }}" +# state: directory +# mode: 0700 +# owner: "{{ account_name.stdout }}" +# group: "{{ group_name.stdout }}" +# loop: +# - ".config/foo" + +# - name: Copy files +# copy: +# src: "files/{{ item.src }}" +# dest: "{{ account_homedir.stdout }}/{{ item.dest }}" +# mode: 0600 +# owner: "{{ account_name.stdout }}" +# group: "{{ group_name.stdout }}" +# loop: +# - src: foo.conf +# dest: .config/foo/foo.conf + - import_tasks: tasks/peruser_freebsd.yaml when: 'os_flavor == "freebsd"' - import_tasks: tasks/peruser_linux.yaml - when: 'os_flavor == "linux" + when: 'os_flavor == "linux"'