about summary refs log tree commit diff
path: root/tools/emacs/config/init.el
diff options
context:
space:
mode:
Diffstat (limited to 'tools/emacs/config/init.el')
-rw-r--r--tools/emacs/config/init.el287
1 files changed, 0 insertions, 287 deletions
diff --git a/tools/emacs/config/init.el b/tools/emacs/config/init.el
deleted file mode 100644
index b5d570df09..0000000000
--- a/tools/emacs/config/init.el
+++ /dev/null
@@ -1,287 +0,0 @@
-;;; init.el --- Package bootstrapping. -*- lexical-binding: t; -*-
-
-;; Packages are installed via Nix configuration, this file only
-;; initialises the newly loaded packages.
-
-(require 'use-package)
-(require 'seq)
-
-(package-initialize)
-
-;; Initialise all packages installed via Nix.
-;;
-;; TODO: Generate this section in Nix for all packages that do not
-;; require special configuration.
-
-;;
-;; Packages providing generic functionality.
-;;
-
-(use-package ace-window
-  :bind (("C-x o" . ace-window))
-  :config
-  (setq aw-keys '(?f ?j ?d ?k ?s ?l ?a)
-        aw-scope 'frame))
-
-(use-package auth-source-pass :config (auth-source-pass-enable))
-
-(use-package avy
-  :bind (("M-j" . avy-goto-char)
-         ("M-p" . avy-pop-mark)
-         ("M-g g" . avy-goto-line)))
-
-(use-package browse-kill-ring)
-
-(use-package company
-  :hook ((prog-mode . company-mode))
-  :config (setq company-tooltip-align-annotations t))
-
-(use-package counsel
-  :after (ivy)
-  :config (counsel-mode 1)
-  :bind (("C-c r g" . counsel-rg)))
-
-(use-package dash)
-(use-package dash-functional)
-
-(use-package dottime
-  :demand
-  :after (notmuch telega)
-  :config (dottime-display-mode t))
-
-(use-package gruber-darker-theme)
-
-(use-package eglot
-  :custom
-  (eglot-autoshutdown t)
-  (eglot-send-changes-idle-time 0.3))
-
-(use-package ht)
-
-(use-package hydra)
-(use-package idle-highlight-mode :hook ((prog-mode . idle-highlight-mode)))
-
-(use-package ivy
-  :config
-  (ivy-mode 1)
-  (setq enable-recursive-minibuffers t)
-  (setq ivy-use-virtual-buffers t))
-
-(use-package ivy-pass :after (ivy))
-
-(use-package ivy-prescient
-  :after (ivy prescient)
-  :config
-  (ivy-prescient-mode)
-  ;; Fixes an issue with how regexes are passed to ripgrep from counsel,
-  ;; see raxod502/prescient.el#43
-  (setf (alist-get 'counsel-rg ivy-re-builders-alist) #'ivy--regex-plus))
-
-(use-package multiple-cursors)
-
-(use-package notmuch
-  :bind (:map global-map
-              ("s-g m" . notmuch)
-              ("s-g M" . counsel-notmuch)) ;; g m -> gmail
-  :config
-  (setq notmuch-search-oldest-first nil)
-  (setq notmuch-show-all-tags-list t)
-  (setq notmuch-hello-tag-list-make-query "tag:unread"))
-
-(use-package paredit :hook ((lisp-mode . paredit-mode)
-                            (emacs-lisp-mode . paredit-mode)))
-
-(use-package pinentry
-  :config
-  (setq epa-pinentry-mode 'loopback)
-  (pinentry-start))
-
-(use-package prescient
-  :after (ivy counsel)
-  :config (prescient-persist-mode))
-
-(use-package rainbow-delimiters :hook (prog-mode . rainbow-delimiters-mode))
-(use-package rainbow-mode)
-(use-package s)
-(use-package string-edit)
-
-(use-package swiper
-  :after (counsel ivy)
-  :bind (("C-s" . swiper)))
-
-(use-package telephone-line) ;; configuration happens outside of use-package
-(use-package term-switcher)
-(use-package undo-tree :config (global-undo-tree-mode))
-(use-package uuidgen)
-(use-package which-key :config (which-key-mode t))
-
-;;
-;; Applications in emacs
-;;
-
-(use-package magit
-  :bind ("C-c g" . magit-status)
-  :config (setq magit-repository-directories '(("/home/tazjin/projects" . 2)
-                                               ("/home/tazjin" . 1))))
-
-(use-package org-journal
-  ;; Always use my own key to encrypt files. There seems to be no
-  ;; global way to set this, as `epa-file-encrypt-to' only has an
-  ;; effect as a file-local variable (?!)
-  :hook ((org-journal-mode . (lambda ()
-                               (setq-local epa-file-encrypt-to
-                                           "DCF34CFAC1AC44B87E26333136EE34814F6D294A"))))
-
-  :config
-  (setq org-journal-dir "/ssh:camden.tazj.in:/home/tazjin/journal"
-        org-journal-encrypt-journal t
-        org-journal-file-type 'weekly
-        org-journal-date-format "%A, %Y-%m-%d"
-        org-journal-file-format "%Y%m%d-weekly"
-
-        ;; Saturday, because reasons.
-        org-journal-start-on-weekday 6)
-
-  ;; org-journal doesn't actually enter its mode automatically if
-  ;; encryption is used (I'm not sure why), so this teaches Emacs to
-  ;; recognise the files.
-  (add-to-list 'auto-mode-alist '("[0-9]-weekly\\.gpg\\'" . org-journal-mode)))
-
-(use-package org-ql)
-
-(use-package password-store)
-(use-package pg)
-(use-package restclient)
-
-(use-package vterm
-  :config (progn
-            (setq vterm-shell "fish")
-            (setq vterm-exit-functions
-                  (lambda (&rest _) (kill-buffer (current-buffer))))
-            (setq vterm-set-title-functions
-                  (lambda (title)
-                    (rename-buffer
-                     (generate-new-buffer-name
-                      (format "vterm<%s>"
-                              (s-trim-left
-                               (s-chop-prefix "fish" title)))))))))
-
-;;
-;; Packages providing language-specific functionality
-;;
-
-(use-package cargo
-  :hook ((rust-mode . cargo-minor-mode)
-         (cargo-process-mode . visual-line-mode))
-  :bind (:map cargo-minor-mode-map ("C-c C-c C-l" . ignore)))
-
-(use-package dockerfile-mode)
-
-(use-package erlang
-  :hook ((erlang-mode . (lambda ()
-                          ;; Don't indent after '>' while I'm writing
-                          (local-set-key ">" 'self-insert-command)))))
-
-(use-package f)
-(use-package geiser)
-
-(use-package go-mode
-  :bind (:map go-mode-map ("C-c C-r" . recompile))
-  :hook ((go-mode . (lambda ()
-                      (setq tab-width 2)
-                      (setq-local compile-command
-                                  (concat "go build " buffer-file-name))))))
-
-(use-package haskell-mode)
-
-(use-package ielm
-  :hook ((inferior-emacs-lisp-mode . (lambda ()
-                                       (paredit-mode)
-                                       (rainbow-delimiters-mode-enable)
-                                       (company-mode)))))
-
-(use-package jq-mode
-  :config (add-to-list 'auto-mode-alist '("\\.jq\\'" . jq-mode)))
-
-(use-package kotlin-mode
-  :hook ((kotlin-mode . (lambda ()
-                          (setq indent-line-function #'indent-relative)))))
-
-(use-package lsp-mode)
-
-(use-package markdown-mode
-  :config
-  (add-to-list 'auto-mode-alist '("\\.txt\\'" . markdown-mode))
-  (add-to-list 'auto-mode-alist '("\\.markdown\\'" . markdown-mode))
-  (add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode)))
-
-(use-package markdown-toc)
-
-(use-package nix-mode
-  :hook ((nix-mode . (lambda ()
-                       (setq indent-line-function #'nix-indent-line)))))
-
-(use-package nix-util)
-(use-package nginx-mode)
-(use-package rust-mode)
-
-(use-package sly
-  :hook ((sly-mrepl-mode . (lambda ()
-                             (paredit-mode)
-                             (rainbow-delimiters-mode-enable)
-                             (company-mode))))
-  :config
-  (setq common-lisp-hyperspec-root "file:///home/tazjin/docs/lisp/"))
-
-(use-package telega
-  :bind (:map global-map ("s-t" . telega))
-  :config (telega-mode-line-mode 1))
-
-(use-package terraform-mode)
-(use-package toml-mode)
-(use-package web-mode)
-(use-package yaml-mode)
-
-(defgroup tazjin nil
-  "Settings related to my configuration")
-
-(defcustom depot-path "/depot"
-  "Local path to the depot checkout"
-  :group 'tazjin)
-
-;; Configuration changes in `customize` can not actually be persisted
-;; to the customise file that Emacs is currently using (since it comes
-;; from the Nix store).
-;;
-;; The way this will work for now is that Emacs will *write*
-;; configuration to the file tracked in my repository, while not
-;; actually *reading* it from there (unless Emacs is rebuilt).
-(setq custom-file (expand-file-name "~/depot/tools/emacs/config/custom.el"))
-(load-library "custom")
-
-(defvar home-dir (expand-file-name "~"))
-
-;; Seed RNG
-(random t)
-
-;; Load all other Emacs configuration. These configurations are
-;; added to `load-path' by Nix.
-(mapc 'require '(desktop
-                 mail-setup
-                 look-and-feel
-                 functions
-                 settings
-                 modes
-                 bindings
-                 eshell-setup))
-(telephone-line-setup)
-(ace-window-display-mode)
-
-;; If a local configuration library exists, it should be loaded.
-;;
-;; This can be provided by calling my Emacs derivation with
-;; `withLocalConfig'.
-(if-let (local-file (locate-library "local"))
-    (load local-file))
-
-(provide 'init)