--- # The home-server project produces a multi-purpose setup using Ansible. # Copyright © 2018 Y. Gablin, under the GPL-3.0-or-later license. # Full licensing information in the LICENSE file, or gnu.org/licences/gpl-3.0.txt if the file is missing. ### UPSTREAM BEGIN ⇒ ### - name: pull prerequisites from upstream include_role: name=etckeeper.inc allow_duplicates=true tasks_from=upstream.yml vars: msg: printer and scanner ### ⇐ UPSTREAM BEGIN ### - name: ignore printers.conf, which almost changes on a daily basis lineinfile: path: /etc/.gitignore regexp: "^/cups/printers.conf" line: "/cups/printers.conf*" insertafter: EOF - name: install software package: name: "{{item}}" with_items: - cups - hplip - sane ### UPSTREAM END ⇒ ### - name: merge upstream include_role: name=etckeeper.inc allow_duplicates=true tasks_from=merge.yml vars: msg: printer and scanner ### ⇐ UPSTREAM END ### - name: enable and start avahi-daemon systemd: daemon_reload: true name: avahi-daemon.service enabled: true state: started - name: enable and start cups systemd: daemon_reload: true name: org.cups.cupsd.service enabled: true state: started - name: configure cups command: | /usr/bin/cupsctl --remote-admin --share-printers --user-cancel-any - name: enable the chosen sane drivers replace: path: /etc/sane.d/dll.conf regexp: "^#\\s*({{sane_drivers | regex_escape() | replace('\\ ', '|')}})\\s*$" replace: '\1' - name: disable other sane drivers replace: path: /etc/sane.d/dll.conf regexp: "^(?!\\s*(?:{{sane_drivers | regex_escape() | replace('\\ ', '|')}})\\s*)(\\s*[^#\\s].*)$" replace: '#\1' - name: enable network-scanning lineinfile: path: /etc/sane.d/saned.conf regexp: "^\\+$" line: "+" insertafter: "^## Access list" - name: set the sane port-range lineinfile: path: /etc/sane.d/saned.conf regexp: "^#?\\s*data_portrange\\s*=" line: "data_portrange = 6515 - 6565" insertafter: "^## Daemon options" - name: enable and start sane systemd: daemon_reload: true name: saned.socket enabled: true state: started ### LOCAL COMMIT ⇒ ### - name: commit local changes include_role: name=etckeeper.inc allow_duplicates=true tasks_from=local.yml vars: msg: printer and scanner ### ⇐ LOCAL COMMIT ### - meta: flush_handlers