diff options
Diffstat (limited to '')
| -rw-r--r-- | roles/obs/tasks/emacs.yml | 39 | ||||
| -rw-r--r-- | roles/obs/tasks/main.yml | 13 | ||||
| -rw-r--r-- | roles/obs/tasks/obs-setup.yml | 6 | ||||
| -rw-r--r-- | roles/obs/tasks/track.yml | 5 | ||||
| -rw-r--r-- | roles/obs/tasks/user.yml | 1 | 
5 files changed, 59 insertions, 5 deletions
diff --git a/roles/obs/tasks/emacs.yml b/roles/obs/tasks/emacs.yml new file mode 100644 index 0000000..0b013b3 --- /dev/null +++ b/roles/obs/tasks/emacs.yml @@ -0,0 +1,39 @@ +- name: Check out emacsconf-el +  ansible.builtin.git: +    repo: https://git.emacsconf.org/emacsconf-el +    dest: "~{{ emacsconf_user }}/emacsconf-el" +  register: elisp +  failed_when: +    - elisp.failed +    - not 'Local modifications exist in repository' in elisp.msg +    - not 'Failed to checkout branch' in elisp.msg +  debugger: on_failed +- name: Install Emacs packages +  become_user: "{{ emacsconf_user }}" +  shell: | +    emacs --batch --exec "(progn (require 'package) +      (let ((packages (seq-remove #'package-installed-p '({% for package in packages %}{{ package }} {% endfor %})))) +        (when packages +           (package-refresh-contents) +           (mapc #'package-install packages))))" +  vars: +    packages: +      - modus-themes +      - vertico +      - orderless +- name: Set up Emacs configuration for interactive editing +  template: +    src: emacsconf-stream-config.el +    dest: "{{ emacs_config_dir }}/emacsconf-stream-config.el" +    owner: "{{ emacsconf_user }}" +    group: "{{ emacsconf_group }}" +- name: Add to Emacs configuration +  lineinfile: +    dest: "{{ emacs_config_dir }}/init.el" +    state: present +    regexp: "emacsconf-stream-config" +    line: "(load-file \"{{ emacs_config_dir }}/emacsconf-stream-config.el\")" +    owner: "{{ emacsconf_user }}" +    group: "{{ emacsconf_group }}" +    create: yes + diff --git a/roles/obs/tasks/main.yml b/roles/obs/tasks/main.yml index bf856ec..8c1e059 100644 --- a/roles/obs/tasks/main.yml +++ b/roles/obs/tasks/main.yml @@ -11,6 +11,7 @@      name:        - xserver-xorg-video-dummy        - i3 +      - inkscape  # OBS overlaying PNG is prettier than SVG        - socat        - ffmpeg        - pulseaudio @@ -54,7 +55,6 @@      replace: \1 {{ emacsconf_id }}-{{ item.id }}    loop: "{{ emacsconf_tracks }}"  - name: Allow sudo from {{ emacsconf_user }} to the stream users -  tags: wip    become: true    become_user: root    copy: @@ -63,3 +63,14 @@          {{ emacsconf_user }}  ALL=({{ emacsconf_id }}-{{ item.id }}) NOPASSWD: ALL        {% endfor %}          dest: /etc/sudoers.d/50_emacsconf +- name: Create directories +  file: +    owner: "{{ emacsconf_user }}" +    group: "{{ emacsconf_group }}" +    path: "{{ item }}" +    state: directory +    mode: 0775 +  loop: +    - /data/{{ emacsconf_id }}/stream +    - /data/{{ emacsconf_id }}/overlays +     diff --git a/roles/obs/tasks/obs-setup.yml b/roles/obs/tasks/obs-setup.yml index 59170f1..911f609 100644 --- a/roles/obs/tasks/obs-setup.yml +++ b/roles/obs/tasks/obs-setup.yml @@ -32,19 +32,21 @@      group: "{{ emacsconf_group }}"      dest: "~{{ emacsconf_user }}/.config/obs-studio/basic/scenes/{{ item.id }}.json"  - name: Copy overlay template for video -  tags: obs-scene +  tags: obs-scene, wip    copy:      src: overlay.svg      dest: "~{{ emacsconf_user }}/video.svg"      owner: "{{ emacsconf_user }}"      group: "{{ emacsconf_group }}" +    mode: 0664  - name: Copy overlay template for video -  tags: obs-scene +  tags: obs-scene, wip    copy:      src: overlay.svg      dest: "~{{ emacsconf_user }}/other.svg"      owner: "{{ emacsconf_user }}"      group: "{{ emacsconf_group }}" +    mode: 0664  - name: Create text files for OBS sources    copy:      content: "Initializing..." diff --git a/roles/obs/tasks/track.yml b/roles/obs/tasks/track.yml index a0acf16..14533df 100644 --- a/roles/obs/tasks/track.yml +++ b/roles/obs/tasks/track.yml @@ -27,7 +27,7 @@          group: "{{ emacsconf_group }}"          state: directory      - name: Add MPV profile -      tags: mpv-conf +      tags: mpv-conf, wip        template:          src: mpv.conf          dest: "~{{ emacsconf_user }}/.config/mpv/mpv.conf" @@ -79,6 +79,9 @@          dest: "~{{ emacsconf_user }}/.config/i3/config"          owner: "{{ emacsconf_user }}"          group: "{{ emacsconf_group }}"         +    - name: Set up Emacs configuration +      tags: wip +      include: emacs.yml  - name: Reset vars    tags: obs-scene, obs-profile, mpv, wip    set_fact: diff --git a/roles/obs/tasks/user.yml b/roles/obs/tasks/user.yml index caaf2d9..fae7d9f 100644 --- a/roles/obs/tasks/user.yml +++ b/roles/obs/tasks/user.yml @@ -14,7 +14,6 @@      state: directory      mode: 700  - name: Set up SSH key access -  tags: wip    template:      src: authorized_keys      dest: "/home/{{ emacsconf_user }}/.ssh/authorized_keys"  | 
