--- - name: Install cups ansible.builtin.apt: name: - cups - name: Disable cups printer browsing ansible.builtin.lineinfile: dest: /etc/cups/cupsd.conf regexp: '^(Browsing ).*' line: '\1No' backrefs: true - name: Listen on all Interfaces ansible.builtin.lineinfile: dest: /etc/cups/cupsd.conf line: 'Listen *:631' regexp: '^Listen localhost' state: present - name: Allow access from localhost and from VM ansible.builtin.blockinfile: dest: /etc/cups/cupsd.conf block: | Allow localhost Allow 192.168.122.0/24 insertafter: "" marker: "# {mark} ANSIBLE MANAGED BLOCK {{ item }}" state: present loop: - "/" - "/admin" - name: Allow group role-teacher to manage printers ansible.builtin.lineinfile: dest: /etc/cups/cups-files.conf line: 'SystemGroup root lpadmin role-teacher' regexp: '^SystemGroup' state: present when: "'teacherlaptop' in group_names" - name: Disable cups-browsed ansible.builtin.systemd: name: cups-browsed.service state: stopped enabled: false - name: Install install-printers.sh ansible.builtin.template: src: install-printers.sh.j2 dest: /usr/local/bin/install-printers.sh mode: '0755' - name: Install lmn-install-printers sudoers ansible.builtin.copy: src: 90-lmn-install-printers dest: /etc/sudoers.d/ mode: '0660' owner: root group: root - name: Run printer script from /etc/profile.d/ ansible.builtin.copy: dest: /etc/profile.d/lmn-printer.sh mode: '0644' content: | [[ "${UID}" -gt 10000 ]] && (sudo /usr/local/bin/install-printers.sh > /dev/null &)