summaryrefslogblamecommitdiffstats
path: root/roles/edit/tasks/main.yml
blob: f864b2383374a5a8b6301c862e3dd9326bb42875 (plain) (tree)































                                                                                                                                    
---
- name: Check if Emacs is already set up for publishing
  stat:
    path: "{{ emacs_config_dir }}/emacsconf-config.el"
  register: publish_config
- name: Set up for publishing
  include_role:
    name: publish
  when: not publish_config.stat.exists
- name: Install Emacs packages
  shell: |
    emacs --batch --exec "(progn (require 'package)
      (let ((packages (seq-remove #'package-installed-p '({% for package in emacsconf_edit_packages %}{{ package }} {% endfor %}))))
        (when packages
           (package-refresh-contents)
           (mapc #'package-install packages))))"

- name: Set up Emacs configuration for interactive editing
  template:
    src: emacsconf-edit.el
    dest: "{{ emacs_config_dir }}/emacsconf-edit.el"
    owner: "{{ emacsconf_user }}"
    group: "{{ emacsconf_group }}"
- name: Check if Emacs base configuration already exists
  lineinfile:
    dest: "{{ emacs_config_dir }}/init.el"
    state: present
    regexp: "emacsconf-edit"
    line: "(load-file \"{{ emacs_config_dir }}/emacsconf-edit.el\")"
    owner: "{{ emacsconf_user }}"
    group: "{{ emacsconf_group }}"
    create: yes