Files
2026-10-15 20:44:05 -03:00

39 lines
1.9 KiB
YAML

- name: Firefox (home page and bookmarks of the contest)
hosts: all
become: yes
vars:
contest_url: https://atlantic-canada26.kattis.com
contest_id: atlantic-canada26
policies: /usr/lib/firefox/distribution/policies.json
# The bookmarks of the ICPC image point to http://contest, which is the
# contest server of the World Finals. They are replaced by the Kattis pages.
bookmarks:
- { Placement: toolbar, Title: "Contest", URL: "{{ contest_url }}/contests/{{ contest_id }}" }
- { Placement: toolbar, Title: "Problems", URL: "{{ contest_url }}/contests/{{ contest_id }}/problems" }
- { Placement: toolbar, Title: "Standings", URL: "{{ contest_url }}/contests/{{ contest_id }}/standings" }
- { Placement: toolbar, Title: "Contest Help (offline)", URL: "file:///usr/share/doc/acpc/help/index.html" }
- { Placement: toolbar, Title: "Language Documentation", URL: "https://devdocs/" }
- { Placement: toolbar, Title: "Technical Notes", URL: "file:///usr/share/doc/icpc/TechNotes.pdf" }
tasks:
- name: Set the home page and the bookmarks
shell: |
python3 - "{{ policies }}" <<'PY'
import json, sys
path = sys.argv[1]
data = json.load(open(path))
p = data.setdefault("policies", {})
before = json.dumps(data, sort_keys=True)
p["Bookmarks"] = json.loads('{{ bookmarks | to_json }}')
p["Homepage"] = {"Locked": True, "StartPage": "homepage-locked",
"URL": "{{ contest_url }}"}
# No extensions can be installed, and about:config is closed
p["ExtensionSettings"] = {"*": {"installation_mode": "blocked"}}
p["BlockAboutConfig"] = True
if json.dumps(data, sort_keys=True) != before:
json.dump(data, open(path, "w"), indent=2)
print("changed")
PY
register: ff
changed_when: "'changed' in ff.stdout"