diff options
Diffstat (limited to 'roles/wiki-edit')
-rw-r--r-- | roles/wiki-edit/defaults/main.yml | 7 | ||||
-rw-r--r-- | roles/wiki-edit/tasks/main.yaml | 64 | ||||
-rw-r--r-- | roles/wiki-edit/templates/emacsconf-edit.el | 32 |
3 files changed, 49 insertions, 54 deletions
diff --git a/roles/wiki-edit/defaults/main.yml b/roles/wiki-edit/defaults/main.yml new file mode 100644 index 0000000..ea0fbdb --- /dev/null +++ b/roles/wiki-edit/defaults/main.yml @@ -0,0 +1,7 @@ +emacsconf_edit_packages: + - consult + - embark + - embark-consult + - vertico + - magit + - modus-themes diff --git a/roles/wiki-edit/tasks/main.yaml b/roles/wiki-edit/tasks/main.yaml index f7eb650..f77535f 100644 --- a/roles/wiki-edit/tasks/main.yaml +++ b/roles/wiki-edit/tasks/main.yaml @@ -1,55 +1,11 @@ --- -- name: Set up SSH directory - ansible.builtin.file: - path: /home/ikiwiki/.ssh - state: directory - mode: '0700' -- name: Install SSH key for EmacsConf wiki - ansible.builtin.get_url: - url: https://emacsconf.org/id_rsa_anon_git_emacsconf - dest: /home/ikiwiki/.ssh/id_rsa_anon_git_emacsconf - mode: '0600' - owner: 'ikiwiki' -- name: Set up packages - become: yes - block: - - name: Add snapshot repository - ansible.builtin.apt_repository: - repo: deb http://emacs.ganneff.de/ buster main - - name: Remove old package - ansible.builtin.apt: - name: emacs - state: absent - - name: Install Emacs snapshot - ansible.builtin.apt: - name: emacs-snapshot-nox - state: present -- name: Set up or update repositories - tags: publish - block: - - name: Check out wiki repository - ansible.builtin.git: - repo: git://git.emacsconf.org/emacsconf-wiki - dest: ~/emacsconf-wiki - - name: Check out emacsconf-el - ansible.builtin.git: - repo: git@git.emacsconf.org:pub/emacsconf-el - dest: ~/emacsconf-el - register: elisp - - name: Check out emacsconf-2022-private - ansible.builtin.git: - repo: git@git.emacsconf.org:emacsconf-2022-private - dest: ~/emacsconf-2022-private - register: private -- name: Publish - tags: publish - block: - - name: Publish the schedule - command: emacs -l ~/.emacs.d/init.el --batch --exec '(emacsconf-generate-main-schedule)' - when: force_publish or ((private.changed or elisp.changed) and slug is not defined) - - name: Update a specific talk's nav page - tags: publish-talk - command: emacs -l ~/.emacs.d/init.el --batch --exec '(emacsconf-with-talk-heading "{{ slug }}" (emacsconf-update-talk))' - when: slug is defined - - name: Commit the wiki and push - shell: cd ~/emacsconf-wiki; git commit -m 'Update from ansible' -a; git push +- name: Set up Emacs configuration for interactive editing + template: + src: emacsconf-edit.el + dest: "{{ emacs_config_dir }}/emacsconf-edit.el" +- name: Check if Emacs base configuration already exists + lineinfile: + dest: "{{ emacs_config_dir }}/init.el" + state: present + regexp: "emacsconf-edit" + line: "(load-file \"emacsconf-edit.el\")" diff --git a/roles/wiki-edit/templates/emacsconf-edit.el b/roles/wiki-edit/templates/emacsconf-edit.el new file mode 100644 index 0000000..78e11a8 --- /dev/null +++ b/roles/wiki-edit/templates/emacsconf-edit.el @@ -0,0 +1,32 @@ +(let ((packages '({% for package in emacsconf_edit_packages %}{{ package }}{% endfor %}))) + (mapc (lambda (package) (unless (package-installed-p package) (package-install package))) packages)) +;; Configuration +(vertico-mode) +(show-paren-mode) +(fset 'yes-or-no-p 'y-or-n-p) +(global-set-key (kbd "C-x g") 'magit-status) +(global-set-key (kbd "C-x b") 'consult-buffer) +(global-set-key (kbd "M-g t") 'emacsconf-go-to-talk) +(global-set-key (kbd "C-.") 'embark-act) +(global-set-key (kbd "C-c .") 'embark-act) +(global-set-key (kbd "C-;") 'embark-act) +(modus-themes-load-vivendi) +(org-babel-do-load-languages 'org-babel-load-languages '((emacs-lisp . t) (shell . t))) +(setq backup-directory-alist '(("." . "~/.emacs.d/backups"))) +(find-file "{{ emacsconf_private_dir }}/conf.org") +(split-window-horizontally) +(magit-status "{{ emacsconf_edit_wiki_dir }}") +(global-auto-revert-mode 1) +(define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map) +(projectile-mode +1) +(setq projectile-completion-system 'default) +(setq projectile-enable-caching t) +(setq projectile-indexing-method 'alien) +(add-to-list 'projectile-globally-ignored-files "node_modules") +(add-to-list 'projectile-globally-ignored-files ".cache") +(add-to-list 'projectile-globally-ignored-files "_cache") + +(setq completion-styles '(orderless)) +(setq completion-category-defaults nil) +(setq completion-category-overrides '((file (styles orderless)))) +(require 'ox-md) |