From 4aa78f0c4866a0fe4484ad312c5321d1ac5e01f3 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sun, 29 Nov 2020 17:28:23 +0100 Subject: [PATCH] Add systemd service setup --- roles/arch/defaults/main/main.yml | 2 ++ roles/arch/files/tmux_start | 16 ++++++++++++++++ roles/arch/handlers/main.yml | 8 ++++++++ roles/arch/tasks/gpg.yml | 0 roles/arch/tasks/main.yml | 4 +++- roles/arch/tasks/systemd.yml | 25 +++++++++++++++++++++++++ roles/arch/templates/ssh-agent.j2 | 12 ++++++++++++ roles/arch/templates/tmux.j2 | 13 +++++++++++++ 8 files changed, 79 insertions(+), 1 deletion(-) create mode 100755 roles/arch/files/tmux_start create mode 100644 roles/arch/tasks/gpg.yml create mode 100644 roles/arch/tasks/systemd.yml create mode 100644 roles/arch/templates/ssh-agent.j2 create mode 100644 roles/arch/templates/tmux.j2 diff --git a/roles/arch/defaults/main/main.yml b/roles/arch/defaults/main/main.yml index d594e87..7d53547 100644 --- a/roles/arch/defaults/main/main.yml +++ b/roles/arch/defaults/main/main.yml @@ -1,3 +1,5 @@ +xdg_config_dir: "{{ ansible_env.HOME }}/.config" + packages: - firefox - mpv diff --git a/roles/arch/files/tmux_start b/roles/arch/files/tmux_start new file mode 100755 index 0000000..4e6646d --- /dev/null +++ b/roles/arch/files/tmux_start @@ -0,0 +1,16 @@ +#!/bin/bash + +MAIN="main" +DEVELOPMENT="development" + +tmux start-server +tmux new-session -ds $MAIN +tmux new-window +tmux new-window +tmux select-window -t 0 + +tmux new-session -ds $DEVELOPMENT +tmux new-window +tmux new-window +tmux new-window +tmux select-window -t 0 diff --git a/roles/arch/handlers/main.yml b/roles/arch/handlers/main.yml index 7d4abf9..08c99f9 100644 --- a/roles/arch/handlers/main.yml +++ b/roles/arch/handlers/main.yml @@ -28,3 +28,11 @@ name: openvpn-client@zeus state: restarted enabled: yes + +- name: restart user ssh-agent + systemd: + name: ssh-agent + state: restarted + enabled: yes + daemon-reload: yes + scope: user diff --git a/roles/arch/tasks/gpg.yml b/roles/arch/tasks/gpg.yml new file mode 100644 index 0000000..e69de29 diff --git a/roles/arch/tasks/main.yml b/roles/arch/tasks/main.yml index d3b4385..2adfc96 100644 --- a/roles/arch/tasks/main.yml +++ b/roles/arch/tasks/main.yml @@ -28,11 +28,13 @@ # - pacman setup depending on platform (see include section for common options) # - laptop power saving configuration +- include_tasks: systemd.yml +- include_tasks: gpg.yml # TODO +- include_tasks: git.yml # TODO - include_tasks: mpv.yml - include_tasks: mpd.yml # TODO - include_tasks: nfs.yml # TODO - include_tasks: postgres.yml # TODO - include_tasks: syncthing.yml # TODO depending on platform -- include_tasks: git.yml # TODO (identify) - include_tasks: openvpn.yml # TODO (laptop) - include_tasks: timer.yml diff --git a/roles/arch/tasks/systemd.yml b/roles/arch/tasks/systemd.yml new file mode 100644 index 0000000..996a099 --- /dev/null +++ b/roles/arch/tasks/systemd.yml @@ -0,0 +1,25 @@ +- name: setup systemd user service folder + file: + path: "{{ xdg_config_dir }}/systemd/user" + state: directory + mode: "0755" + +- name: add ssh-agent service + template: + src: "ssh-agent.j2" + dest: "{{ xdg_config_dir }}/systemd/user/ssh-agent.service" + mode: "0644" + notify: restart user ssh-agent + +- name: copy tmux service + template: + src: "tmux.j2" + dest: "{{ xdg_config_dir }}/systemd/user/tmux.service" + mode: "0644" + +- name: copy tmux startup script + copy: + src: "tmux_start" + dest: "{{ ansible_env.HOME }}/.local/bin/tmux_start" + mode: "0740" + force: false diff --git a/roles/arch/templates/ssh-agent.j2 b/roles/arch/templates/ssh-agent.j2 new file mode 100644 index 0000000..67fdbea --- /dev/null +++ b/roles/arch/templates/ssh-agent.j2 @@ -0,0 +1,12 @@ +# {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +[Unit] +Description=SSH key agent + +[Service] +Type=simple +Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket +ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK + +[Install] +WantedBy=default.target diff --git a/roles/arch/templates/tmux.j2 b/roles/arch/templates/tmux.j2 new file mode 100644 index 0000000..8fa1473 --- /dev/null +++ b/roles/arch/templates/tmux.j2 @@ -0,0 +1,13 @@ +# {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +[Unit] +Description=Tmux startup script + +[Service] +Environment=DISPLAY=:0 +ExecStart=/home/sonny/.local/bin/tmux_start +Type=forking +RemainAfterExit=yes + +[Install] +WantedBy=default.target