diff --git a/playbooks/apt.yaml b/playbooks/apt.yaml index bb76d1e..175c314 100644 --- a/playbooks/apt.yaml +++ b/playbooks/apt.yaml @@ -38,6 +38,7 @@ - plocate - pkexec - puppet-lint + - python3-openstackclient - python3-yamlfix - rsync - scdaemon @@ -49,6 +50,7 @@ - swaylock - thunar - thunderbird + - tsocks - unzip - waybar - wdisplays diff --git a/playbooks/printer.yaml b/playbooks/printer.yaml new file mode 100644 index 0000000..427e592 --- /dev/null +++ b/playbooks/printer.yaml @@ -0,0 +1,41 @@ +--- +- name: Set up Samsung xpress c460w + hosts: localhost + vars: + driver_version: "V1.00.39_01.17" + connection: local + become: false + tasks: + - name: Have driver installed allready + stat: + path: /opt/samsung/scanner/.version + register: have_printer + - name: Get driver + ansible.builtin.command: + chdir: /tmp + cmd: wget https://ftp.hp.com/pub/softlib/software13/printers/SS/SL-M4580FX/uld_{{ driver_version }}.tar.gz + when: not have_printer.stat.exists + - name: Extract driver + ansible.builtin.command: + chdir: /tmp + cmd: tar xf uld_{{ driver_version }}.tar.gz + when: not have_printer.stat.exists + - name: Extract driver + ansible.builtin.command: + chdir: /tmp/uld + cmd: sh ./install.sh + environment: + CONTINUE_INSTALL: "y" + AGREE_EULA: "y" + QUIT_INSTALL: "n" + UNINSTALL_LECAGY: "y" + CONFIGURE_FIREWALL: "n" + SKIP_EULA_PAGER: "y" + become: true + when: not have_printer.stat.exists + - name: Cleanup + ansible.builtin.command: + chdir: /tmp + cmd: rm -rf uld_{{ driver_version }}.tar.gz uld/ + become: true + when: not have_printer.stat.exists diff --git a/playbooks/sunet.yaml b/playbooks/sunet.yaml index 8889c91..bdfb63c 100644 --- a/playbooks/sunet.yaml +++ b/playbooks/sunet.yaml @@ -24,6 +24,10 @@ connection: local become: false tasks: + - name: Create sunet config folder + ansible.builtin.file: + dest: /home/{{ uid }}/.config/sunet + state: directory - name: Create sunet folders ansible.builtin.file: dest: /home/{{ uid }}/sunet/{{ item }} diff --git a/setup.yaml b/setup.yaml index daec6bc..276ca0e 100644 --- a/setup.yaml +++ b/setup.yaml @@ -7,6 +7,7 @@ - import_playbook: playbooks/network.yaml - import_playbook: playbooks/pass.yaml - import_playbook: playbooks/pipewire.yaml +- import_playbook: playbooks/printer.yaml - import_playbook: playbooks/slack.yaml - import_playbook: playbooks/ssh.yaml - import_playbook: playbooks/sunet.yaml diff --git a/templates/tsocks.conf.j2 b/templates/tsocks.conf.j2 new file mode 100644 index 0000000..487718c --- /dev/null +++ b/templates/tsocks.conf.j2 @@ -0,0 +1,47 @@ +# This is the configuration for libtsocks (transparent socks) +# Lines beginning with # and blank lines are ignored +# +# The basic idea is to specify: +# - Local subnets - Networks that can be accessed directly without +# assistance from a socks server +# - Paths - Paths are basically lists of networks and a socks server +# which can be used to reach these networks +# - Default server - A socks server which should be used to access +# networks for which no path is available +# Much more documentation than provided in these comments can be found in +# the man pages, tsocks(8) and tsocks.conf(8) + +# Local networks +# For this example this machine can directly access 192.168.0.0/255.255.255.0 +# (192.168.0.*) and 10.0.0.0/255.0.0.0 (10.*) + +local = 192.168.0.0/255.255.255.0 +local = 10.0.0.0/255.0.0.0 + +# Paths +# For this example this machine needs to access 150.0.0.0/255.255.0.0 as +# well as port 80 on the network 150.1.0.0/255.255.0.0 through +# the socks 5 server at 10.1.7.25 (if this machines hostname was +# "socks.hello.com" we could also specify that, unless --disable-hostnames +# was specified to ./configure). + +path { + reaches = 150.0.0.0/255.255.0.0 + reaches = 150.1.0.0:80/255.255.0.0 + server = 10.1.7.25 + server_type = 5 + default_user = delius + default_pass = hello +} + +# Default server +# For connections that aren't to the local subnets or to 150.0.0.0/255.255.0.0 +# the server at 192.168.0.1 should be used (again, hostnames could be used +# too, see note above) + +server = 127.0.0.1 +# Server type defaults to 4 so we need to specify it as 5 for this one +server_type = 5 +# The port defaults to 1080 but I've stated it here for clarity +server_port = 1080 +