diff options
Diffstat (limited to 'roles/edit/tasks/main.yml')
-rw-r--r-- | roles/edit/tasks/main.yml | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/roles/edit/tasks/main.yml b/roles/edit/tasks/main.yml new file mode 100644 index 0000000..f864b23 --- /dev/null +++ b/roles/edit/tasks/main.yml @@ -0,0 +1,32 @@ +--- +- 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 |