Import the fonts role.
This commit is contained in:
parent
1f408202f1
commit
ad8fc734f6
@ -16,4 +16,5 @@
|
||||
- build
|
||||
- graphics
|
||||
- gpg
|
||||
- fonts
|
||||
- sway
|
||||
|
88
ansible/roles/fonts/files/fonts.conf
Normal file
88
ansible/roles/fonts/files/fonts.conf
Normal file
@ -0,0 +1,88 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!-- reject all bitmap fonts, with the exception of 'terminus' -->
|
||||
<selectfont>
|
||||
<!-- <acceptfont> -->
|
||||
<!-- <pattern> -->
|
||||
<!-- <patelt name="family"> <string>Terminus</string> </patelt> -->
|
||||
<!-- </pattern> -->
|
||||
<!-- </acceptfont> -->
|
||||
<rejectfont>
|
||||
<pattern>
|
||||
<patelt name="scalable"> <bool>false</bool> </patelt>
|
||||
</pattern>
|
||||
</rejectfont>
|
||||
<rejectfont>
|
||||
<!-- You don't want ghostscript fonts in your web browsing because of annoying ligatures like ffi -->
|
||||
<glob>/usr/share/fonts/gsfonts/*</glob>
|
||||
</rejectfont>
|
||||
</selectfont>
|
||||
|
||||
<!-- preferred aliases -->
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<prefer>
|
||||
<family>Source Serif Pro</family>
|
||||
<family>Source Sans Pro</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
|
||||
<!-- preferred aliases -->
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer>
|
||||
<family>Source Sans Pro</family>
|
||||
<family>Source Serif Pro</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
|
||||
<!-- preferred aliases -->
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer>
|
||||
<family>Cascadia Mono</family>
|
||||
<family>Cascadia Code</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
|
||||
|
||||
<!-- Screw it. Force Liberation Mono to be source code pro. -->
|
||||
<match target="pattern">
|
||||
<test qual="any" name="family"><string>Liberation Mono</string></test>
|
||||
<edit name="family" mode="assign" binding="same"><string>Cascadia Mono</string></edit>
|
||||
</match>
|
||||
|
||||
<!-- Dejavu Sans Mono keeps coming back when I query "monospace". Doesn't happen when I'm using Souce Code Pro but does happen with cascadia... force it to cascadia -->
|
||||
<match target="pattern">
|
||||
<test qual="any" name="family"><string>monospace</string></test>
|
||||
<edit name="family" mode="assign" binding="same"><string>Cascadia Mono</string></edit>
|
||||
</match>
|
||||
|
||||
<!-- Font Display Settings -->
|
||||
<match target="font" >
|
||||
<edit mode="assign" name="rgba" >
|
||||
<const>rgb</const>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="font" >
|
||||
<edit mode="assign" name="hinting" >
|
||||
<bool>true</bool>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="font" >
|
||||
<edit mode="assign" name="hintstyle" >
|
||||
<const>hintslight</const>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="font" >
|
||||
<edit mode="assign" name="antialias" >
|
||||
<bool>true</bool>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="font" >
|
||||
<edit mode="assign" name="lcdfilter" >
|
||||
<const>lcddefault</const>
|
||||
</edit>
|
||||
</match>
|
||||
</fontconfig>
|
2
ansible/roles/fonts/meta/main.yaml
Normal file
2
ansible/roles/fonts/meta/main.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- users
|
14
ansible/roles/fonts/tasks/common.yaml
Normal file
14
ansible/roles/fonts/tasks/common.yaml
Normal file
@ -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
|
10
ansible/roles/fonts/tasks/freebsd.yaml
Normal file
10
ansible/roles/fonts/tasks/freebsd.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
- name: Install packages
|
||||
package:
|
||||
name:
|
||||
- sourcecodepro-ttf
|
||||
- sourcesanspro-ttf
|
||||
- cascadia-code
|
||||
- noto
|
||||
- noto-emoji
|
||||
- noto-extra
|
||||
state: present
|
13
ansible/roles/fonts/tasks/linux.yaml
Normal file
13
ansible/roles/fonts/tasks/linux.yaml
Normal file
@ -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
|
2
ansible/roles/fonts/tasks/main.yaml
Normal file
2
ansible/roles/fonts/tasks/main.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
- import_tasks: tasks/common.yaml
|
||||
when: graphics_driver is defined
|
29
ansible/roles/fonts/tasks/peruser.yaml
Normal file
29
ansible/roles/fonts/tasks/peruser.yaml
Normal file
@ -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"'
|
0
ansible/roles/fonts/tasks/peruser_freebsd.yaml
Normal file
0
ansible/roles/fonts/tasks/peruser_freebsd.yaml
Normal file
0
ansible/roles/fonts/tasks/peruser_linux.yaml
Normal file
0
ansible/roles/fonts/tasks/peruser_linux.yaml
Normal file
Loading…
x
Reference in New Issue
Block a user