From ad8fc734f6503c98e9327f8dde523338d15a941d Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Mon, 17 Oct 2022 15:22:46 -0400 Subject: [PATCH] Import the fonts role. --- ansible/playbook.yaml | 1 + ansible/roles/fonts/files/fonts.conf | 88 +++++++++++++++++++ ansible/roles/fonts/meta/main.yaml | 2 + ansible/roles/fonts/tasks/common.yaml | 14 +++ ansible/roles/fonts/tasks/freebsd.yaml | 10 +++ ansible/roles/fonts/tasks/linux.yaml | 13 +++ ansible/roles/fonts/tasks/main.yaml | 2 + ansible/roles/fonts/tasks/peruser.yaml | 29 ++++++ .../roles/fonts/tasks/peruser_freebsd.yaml | 0 ansible/roles/fonts/tasks/peruser_linux.yaml | 0 10 files changed, 159 insertions(+) create mode 100644 ansible/roles/fonts/files/fonts.conf create mode 100644 ansible/roles/fonts/meta/main.yaml create mode 100644 ansible/roles/fonts/tasks/common.yaml create mode 100644 ansible/roles/fonts/tasks/freebsd.yaml create mode 100644 ansible/roles/fonts/tasks/linux.yaml create mode 100644 ansible/roles/fonts/tasks/main.yaml create mode 100644 ansible/roles/fonts/tasks/peruser.yaml create mode 100644 ansible/roles/fonts/tasks/peruser_freebsd.yaml create mode 100644 ansible/roles/fonts/tasks/peruser_linux.yaml diff --git a/ansible/playbook.yaml b/ansible/playbook.yaml index aa565f7..c9403b4 100644 --- a/ansible/playbook.yaml +++ b/ansible/playbook.yaml @@ -16,4 +16,5 @@ - build - graphics - gpg + - fonts - sway diff --git a/ansible/roles/fonts/files/fonts.conf b/ansible/roles/fonts/files/fonts.conf new file mode 100644 index 0000000..b918607 --- /dev/null +++ b/ansible/roles/fonts/files/fonts.conf @@ -0,0 +1,88 @@ + + + + + + + + + + + + + false + + + + + /usr/share/fonts/gsfonts/* + + + + + + serif + + Source Serif Pro + Source Sans Pro + + + + + + sans-serif + + Source Sans Pro + Source Serif Pro + + + + + + monospace + + Cascadia Mono + Cascadia Code + + + + + + + Liberation Mono + Cascadia Mono + + + + + monospace + Cascadia Mono + + + + + + rgb + + + + + true + + + + + hintslight + + + + + true + + + + + lcddefault + + + diff --git a/ansible/roles/fonts/meta/main.yaml b/ansible/roles/fonts/meta/main.yaml new file mode 100644 index 0000000..655446a --- /dev/null +++ b/ansible/roles/fonts/meta/main.yaml @@ -0,0 +1,2 @@ +dependencies: + - users diff --git a/ansible/roles/fonts/tasks/common.yaml b/ansible/roles/fonts/tasks/common.yaml new file mode 100644 index 0000000..d7c1735 --- /dev/null +++ b/ansible/roles/fonts/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/fonts/tasks/freebsd.yaml b/ansible/roles/fonts/tasks/freebsd.yaml new file mode 100644 index 0000000..b66dee8 --- /dev/null +++ b/ansible/roles/fonts/tasks/freebsd.yaml @@ -0,0 +1,10 @@ +- name: Install packages + package: + name: + - sourcecodepro-ttf + - sourcesanspro-ttf + - cascadia-code + - noto + - noto-emoji + - noto-extra + state: present diff --git a/ansible/roles/fonts/tasks/linux.yaml b/ansible/roles/fonts/tasks/linux.yaml new file mode 100644 index 0000000..fd25b1f --- /dev/null +++ b/ansible/roles/fonts/tasks/linux.yaml @@ -0,0 +1,13 @@ +- name: Install packages + pacman: + name: + - adobe-source-code-pro-fonts + - adobe-source-sans-fonts + # - ttf-cascadia-code # ttf existing at all breaks fonts in emacs + - otf-cascadia-code # ttf cascadia broken in emacs + - noto-fonts + - noto-fonts-cjk + - noto-fonts-emoji + - noto-fonts-extra + state: present + update_cache: true diff --git a/ansible/roles/fonts/tasks/main.yaml b/ansible/roles/fonts/tasks/main.yaml new file mode 100644 index 0000000..dc9939d --- /dev/null +++ b/ansible/roles/fonts/tasks/main.yaml @@ -0,0 +1,2 @@ +- import_tasks: tasks/common.yaml + when: graphics_driver is defined diff --git a/ansible/roles/fonts/tasks/peruser.yaml b/ansible/roles/fonts/tasks/peruser.yaml new file mode 100644 index 0000000..b1cadee --- /dev/null +++ b/ansible/roles/fonts/tasks/peruser.yaml @@ -0,0 +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/fontconfig" + +- 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: fonts.conf + dest: .config/fontconfig/fonts.conf + +- 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/fonts/tasks/peruser_freebsd.yaml b/ansible/roles/fonts/tasks/peruser_freebsd.yaml new file mode 100644 index 0000000..e69de29 diff --git a/ansible/roles/fonts/tasks/peruser_linux.yaml b/ansible/roles/fonts/tasks/peruser_linux.yaml new file mode 100644 index 0000000..e69de29