Skip to content

Instantly share code, notes, and snippets.

@nogajun
Last active December 4, 2019 11:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nogajun/efaa62a33ea37ebfaba3ae6075b88a01 to your computer and use it in GitHub Desktop.
Save nogajun/efaa62a33ea37ebfaba3ae6075b88a01 to your computer and use it in GitHub Desktop.
---
- hosts: all
become: yes
vars:
user: "{{ ansible_ssh_user }}"
home_dir: "/home/{{ user }}"
fontconfig: "{{ home_dir }}/.config/fontconfig"
gtk3: "{{ home_dir }}/.config/gtk-3.0"
tasks:
- name: ロケール関係インストール
apt:
name:
- locales
- dialog
- debconf-i18n
- apt-utils
- name: ロケール生成
locale_gen:
name: ja_JP.UTF-8
state: present
- name: ロケール設定
command: update-locale LANG=ja_JP.UTF-8
- name: タイムゾーン設定
timezone:
name: Asia/Tokyo
- name: アップデート
apt: update_cache=yes upgrade=full
- name: フォントインストール
apt:
default_release: stretch-backports
name:
- fonts-noto-cjk
- fonts-noto-cjk-extra
- fonts-ipafont
- fonts-ipaexfont
- fonts-mplus
- fonts-inconsolata
- name: パッケージインストール
apt:
name:
- fcitx
- fcitx-mozc
- tmux
- bash-completion
- vim
- nano
- task-japanese
- name: Libreofficeインストール
apt:
default_release: stretch-backports
name:
- libreoffice
- libreoffice-l10n-ja
- libreoffice-gtk3
- name: 日本語設定
blockinfile:
path: "/etc/systemd/user/cros-garcon.service.d/cros-garcon-override.conf"
block: |
Environment="GTK_IM_MODULE=fcitx"
Environment="QT_IM_MODULE=fcitx"
Environment="XMODIFIERS=@im=fcitx"
Environment="GDK_BACKEND=x11"
- name: fcitx自動起動
become: no
file:
path: "{{ home_dir }}/.sommelierrc"
state: touch
- lineinfile:
path: "{{ home_dir }}/.sommelierrc"
line: "/usr/bin/fcitx-autostart"
- name: フォント設定
become: no
file:
path: "{{ fontconfig }}"
state: directory
- file:
path: "{{ fontconfig }}/fonts.conf"
group: "{{ user }}"
owner: "{{ user }}"
state: touch
- blockinfile:
path: "{{ fontconfig }}/fonts.conf"
block: |
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<match target="font">
<edit mode="assign" name="embeddedbitmap">
<bool>false</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hinting">
<bool>false</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hintstyle">
<const>hintnone</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="rgba">
<const>rgb</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit name="lcdfilter" mode="assign">
<const>lcddefault</const>
</edit>
</match>
<alias>
<family>serif</family>
<prefer>
<family>Noto Serif</family>
<family>Noto Serif CJK</family>
<family>IPAexMincho</family>
<family>IPAMincho</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Sans</family>
<family>Noto Sans CJK</family>
<family>IPAexGothic</family>
<family>IPAGothic</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Inconsolata</family>
<family>Noto Sans Mono CJK JP</family>
</prefer>
</alias>
</fontconfig>
- name: gtk3テーマ・フォント設定
become: no
file:
path: "{{ gtk3 }}"
state: directory
- file:
path: "{{ gtk3 }}/settings.ini"
group: "{{ user }}"
owner: "{{ user }}"
state: touch
- blockinfile:
path: "{{ gtk3 }}/settings.ini"
block: |
[Settings]
gtk-theme-name=CrosAdapta
gtk-font-name=Noto Sans CJK JP Regular 9
- name: gtk2テーマ・フォント設定
become: no
file:
path: "{{ home_dir }}/.gtkrc-2.0"
state: touch
- blockinfile:
path: "{{ home_dir }}/.gtkrc-2.0"
block: |
include "/usr/share/themes/CrosAdapta/gtk-2.0/gtkrc"
style "user-font" {
font_name = "Noto Sans CJK JP 9"
}
gtk-font-name="Noto Sans CJK JP 9"
@nogajun
Copy link
Author

nogajun commented Dec 1, 2019

ChromebookのLinux環境(Debian / Stretch)のセットアップ用Ansible Playbookです。
フォントがギザギザじゃないキレイな見た目のNoto CJKフォントで、Gtk3アプリでもきちんと日本語入力できる環境をセットアップしてくれます。1ファイルにしたかったので冗長です。
2020/2になればChromebookのLinux環境はBusterになるそうなので、そのまま使えるのは2ヶ月ぐらいですね。(2019/12現在)

使い方

Ansibleをインストールしてください。

$ sudo apt -t stretch-backports install ansible

インストールしたら上のPlaybookを保存して、ansible-playbookを実行してください。

$ ansible-playbook -i localhost, -c local chromebook-setup.yml

インストールが終わったらAnsibleは不要なので削除して構いません。

$ sudo sh -c "apt -y purge ansible && apt -y autoremove"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment