emacs: Manage packages using nix instead of straight.el
This commit is contained in:
parent
880c11792f
commit
5a84c7e02c
@ -1,293 +0,0 @@
|
|||||||
(defconst dd/using-native-comp-p (fboundp 'native-comp-available-p))
|
|
||||||
(when dd/using-native-comp-p
|
|
||||||
(setq comp-async-query-on-exit t)
|
|
||||||
(setq comp-async-jobs-number 8)
|
|
||||||
(setq comp-async-report-warnings-errors nil)
|
|
||||||
(setq comp-deferred-compilation t))
|
|
||||||
(setq redisplay-dont-pause t)
|
|
||||||
(setq jit-lock-defer-time 0)
|
|
||||||
(setq fast-but-imprecise-scrolling t)
|
|
||||||
(setq make-backup-files nil)
|
|
||||||
(setq create-lockfiles nil)
|
|
||||||
|
|
||||||
;; A trick for faster startup is to just disable GC for the init phase
|
|
||||||
;;; See: https://github.com/nilcons/emacs-use-package-fast#a-trick-less-gc-during-startup
|
|
||||||
(setq gc-cons-threshold 64000000)
|
|
||||||
(add-hook 'after-init-hook #'(lambda ()
|
|
||||||
;; restore after startup
|
|
||||||
(setq gc-cons-threshold 800000)))
|
|
||||||
|
|
||||||
(defun http-download-verify-and-exec (url sha256-hash name func)
|
|
||||||
(let ((actual-hash ""))
|
|
||||||
(with-temp-buffer
|
|
||||||
;; Somewhat not documented function. Based on https://emacs.stackexchange.com/a/38482
|
|
||||||
;; The problem is that url-retrieve-synchronously prints the HTTP headers at
|
|
||||||
;; the top, which are, since they include time, non-deterministic and thus cannot
|
|
||||||
;; be used for hashing.
|
|
||||||
(url-insert-file-contents url)
|
|
||||||
(setq actual-hash (secure-hash 'sha256 (current-buffer)))
|
|
||||||
(unless (string= sha256-hash actual-hash)
|
|
||||||
(error "Unexpected hash for %s: Got %s, expected %s" name actual-hash sha256-hash))
|
|
||||||
func)))
|
|
||||||
|
|
||||||
(defvar bootstrap-version)
|
|
||||||
(let ((bootstrap-file
|
|
||||||
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
|
|
||||||
(bootstrap-version 5)
|
|
||||||
(install-hash ""))
|
|
||||||
(unless (file-exists-p bootstrap-file)
|
|
||||||
(http-download-verify-and-exec
|
|
||||||
"https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el"
|
|
||||||
"5bbeee903a90a0fda88a6b8516697c121400facb36a2c349e9447a53baef154e"
|
|
||||||
"straight's install.el"
|
|
||||||
(lambda ()
|
|
||||||
(goto-char (point-max))
|
|
||||||
(eval-print-last-sexp))))
|
|
||||||
(load bootstrap-file nil 'nomessage))
|
|
||||||
|
|
||||||
(setq straight-use-package-by-default t)
|
|
||||||
(straight-use-package 'use-package)
|
|
||||||
|
|
||||||
; Visual things
|
|
||||||
(defvar emacs-font "SourceCodePro:style=Light-7")
|
|
||||||
(add-to-list 'default-frame-alist `(font . ,emacs-font))
|
|
||||||
(set-face-attribute 'default t :height 150 :font emacs-font)
|
|
||||||
(tool-bar-mode -1)
|
|
||||||
(menu-bar-mode -1)
|
|
||||||
(toggle-scroll-bar -1)
|
|
||||||
(setq inhibit-startup-screen t)
|
|
||||||
|
|
||||||
;; We cannot exactly use use-package, so we just download it "manually".
|
|
||||||
(let* ((theme-dir (expand-file-name "themes" user-emacs-directory))
|
|
||||||
(theme-file (expand-file-name "weyland-yutani-theme.el" theme-dir)))
|
|
||||||
(unless (file-exists-p theme-file)
|
|
||||||
(unless (file-exists-p theme-dir)
|
|
||||||
(make-directory theme-dir))
|
|
||||||
(http-download-verify-and-exec
|
|
||||||
"https://raw.githubusercontent.com/jstaursky/weyland-yutani-theme/246410e1c03f7d8d8e76102f7c5e3cda83acb36b/weyland-yutani-theme.el"
|
|
||||||
"6593a0a7e46710e25f9b9caf9888106c93230bd20f9af87c5fc883a98b187253"
|
|
||||||
"weyland-yutani-theme.el"
|
|
||||||
(lambda ()
|
|
||||||
(write-file theme-file))))
|
|
||||||
(add-to-list 'custom-theme-load-path theme-dir)
|
|
||||||
(load-theme 'weyland-yutani t))
|
|
||||||
|
|
||||||
(use-package rainbow-delimiters
|
|
||||||
:straight t
|
|
||||||
:config
|
|
||||||
(add-hook 'prog-mode-hook
|
|
||||||
#'rainbow-delimiters-mode))
|
|
||||||
(use-package hl-todo
|
|
||||||
:straight t
|
|
||||||
:config
|
|
||||||
(add-hook 'prog-mode-hook
|
|
||||||
#'hl-todo-mode))
|
|
||||||
(global-hl-line-mode 1)
|
|
||||||
(use-package nlinum
|
|
||||||
:straight t
|
|
||||||
:config
|
|
||||||
(add-hook 'prog-mode-hook
|
|
||||||
(lambda ()
|
|
||||||
(nlinum-mode 1))))
|
|
||||||
(add-hook 'prog-mode-hook
|
|
||||||
(lambda ()
|
|
||||||
(show-paren-mode 1)
|
|
||||||
(setq show-parens-delay 0)))
|
|
||||||
|
|
||||||
(use-package ivy
|
|
||||||
:straight t
|
|
||||||
:config
|
|
||||||
(defvar ivy-use-virtual-buffers t)
|
|
||||||
(ivy-mode 1))
|
|
||||||
|
|
||||||
(setq enable-recursive-minibuffers t)
|
|
||||||
|
|
||||||
; This function allows us to exit EVIL states with C-c
|
|
||||||
; (https://www.emacswiki.org/emacs/Evil#toc16)
|
|
||||||
(defun escape (prompt)
|
|
||||||
(cond ((or (evil-insert-state-p) (evil-normal-state-p) (evil-replace-state-p) (evil-visual-state-p)) [escape])
|
|
||||||
(t (kbd "C-g"))))
|
|
||||||
(use-package evil
|
|
||||||
:init
|
|
||||||
(setq evil-want-keybinding nil)
|
|
||||||
:config
|
|
||||||
(define-key key-translation-map (kbd "C-c") 'escape)
|
|
||||||
(evil-mode 1))
|
|
||||||
(use-package evil-collection
|
|
||||||
:after evil
|
|
||||||
:ensure t
|
|
||||||
:config
|
|
||||||
(evil-collection-init))
|
|
||||||
; Vim-like buffer navigation
|
|
||||||
(global-set-key (kbd "C-h") 'windmove-left)
|
|
||||||
(global-set-key (kbd "C-l") 'windmove-right)
|
|
||||||
(global-set-key (kbd "C-k") 'windmove-up)
|
|
||||||
(global-set-key (kbd "C-j") 'windmove-down)
|
|
||||||
|
|
||||||
(use-package rainbow-delimiters
|
|
||||||
:config
|
|
||||||
(add-hook 'prog-mode-hook
|
|
||||||
#'rainbow-delimiters-mode))
|
|
||||||
(use-package highlight-parentheses
|
|
||||||
:straight t
|
|
||||||
:config
|
|
||||||
(highlight-parentheses-mode))
|
|
||||||
(use-package smartparens
|
|
||||||
:straight t
|
|
||||||
:config
|
|
||||||
(smartparens-global-mode t))
|
|
||||||
(use-package undo-tree
|
|
||||||
:straight t
|
|
||||||
:config
|
|
||||||
(global-undo-tree-mode))
|
|
||||||
|
|
||||||
(use-package hl-todo
|
|
||||||
:config
|
|
||||||
(add-hook 'prog-mode-hook
|
|
||||||
#'hl-todo-mode))
|
|
||||||
(global-hl-line-mode 1)
|
|
||||||
|
|
||||||
(setq-default indent-tab-mode t)
|
|
||||||
(setq tab-width 4)
|
|
||||||
|
|
||||||
(use-package perspective
|
|
||||||
:bind
|
|
||||||
("C-x C-b" . (lambda (arg)
|
|
||||||
(interactive "P")
|
|
||||||
(if (fboundp 'persp-bs-show)
|
|
||||||
(persp-bs-show arg)
|
|
||||||
(bs-show "all"))))
|
|
||||||
:config
|
|
||||||
(message "Persp-mode")
|
|
||||||
(persp-mode))
|
|
||||||
|
|
||||||
;; mu4e config
|
|
||||||
(unless (string= (system-name) "miku")
|
|
||||||
; I don't need mu4e on my desktop
|
|
||||||
(load-file (expand-file-name "mu4e.el" user-emacs-directory))
|
|
||||||
(use-package mu4e
|
|
||||||
:straight t
|
|
||||||
:config
|
|
||||||
(ptw/init-mu4e)))
|
|
||||||
|
|
||||||
(use-package calfw
|
|
||||||
:straight (calfw
|
|
||||||
:host github
|
|
||||||
:repo "kiwanami/emacs-calfw"
|
|
||||||
:files ("calfw.el" "calfw-cal.el")))
|
|
||||||
|
|
||||||
;; Org mode stuff
|
|
||||||
;(use-package org-evil
|
|
||||||
; :straight t)
|
|
||||||
(use-package graphviz-dot-mode
|
|
||||||
:straight t)
|
|
||||||
(use-package org
|
|
||||||
:straight t
|
|
||||||
:bind
|
|
||||||
("C-x P" . (lambda ()
|
|
||||||
(interactive)
|
|
||||||
(org-babel-execute-src-block)
|
|
||||||
(org-redisplay-inline-images)))
|
|
||||||
:config
|
|
||||||
(org-babel-do-load-languages
|
|
||||||
'org-babel-load-languages
|
|
||||||
'((dot . t)))
|
|
||||||
(add-hook 'org-mode-hook
|
|
||||||
(lambda ()
|
|
||||||
(local-set-key
|
|
||||||
(kbd "C-x q")
|
|
||||||
(lambda ()
|
|
||||||
(interactive)
|
|
||||||
(org-present-quit)))
|
|
||||||
(local-set-key
|
|
||||||
(kbd "C-x p")
|
|
||||||
(lambda ()
|
|
||||||
(interactive)
|
|
||||||
(org-present))))))
|
|
||||||
(use-package org-present
|
|
||||||
:straight (org-present
|
|
||||||
:host github
|
|
||||||
:repo "rlister/org-present"
|
|
||||||
:files ("org-present.el"))
|
|
||||||
:config
|
|
||||||
(add-hook 'org-present-mode-hook
|
|
||||||
(lambda ()
|
|
||||||
(org-present-big)
|
|
||||||
(org-display-inline-images)
|
|
||||||
(org-present-hide-cursor)
|
|
||||||
(org-present-read-only)
|
|
||||||
(org-hide-block-all)
|
|
||||||
|
|
||||||
; Disable evil, but bind left (prev) and right (next)
|
|
||||||
(turn-off-evil-mode)
|
|
||||||
(local-set-key
|
|
||||||
(kbd "l")
|
|
||||||
(lambda ()
|
|
||||||
(interactive)
|
|
||||||
(org-present-next)
|
|
||||||
;; NOTE: Workaround for images not being shown wen
|
|
||||||
;; the slide has been changed
|
|
||||||
(org-redisplay-inline-images)))
|
|
||||||
(local-set-key
|
|
||||||
(kbd "h")
|
|
||||||
(lambda ()
|
|
||||||
(interactive)
|
|
||||||
(org-present-prev)
|
|
||||||
;; NOTE: Workaround for images not being shown wen
|
|
||||||
;; the slide has been changed
|
|
||||||
(org-redisplay-inline-images)))
|
|
||||||
|
|
||||||
;; Disable the modeline. But save it before so that we
|
|
||||||
;; can restore it
|
|
||||||
(set (make-local-variable 'saved-mode-line-format) mode-line-format)
|
|
||||||
(setq mode-line-format nil)))
|
|
||||||
(add-hook 'org-present-mode-quit-hook
|
|
||||||
(lambda ()
|
|
||||||
(org-present-small)
|
|
||||||
(org-remove-inline-images)
|
|
||||||
(org-present-show-cursor)
|
|
||||||
(org-present-read-write)
|
|
||||||
(org-show-all)
|
|
||||||
(turn-on-evil-mode)
|
|
||||||
|
|
||||||
(local-unset-key (kbd "h"))
|
|
||||||
(local-unset-key (kbd "l"))
|
|
||||||
|
|
||||||
;; Restore the modeline.
|
|
||||||
;; NOTE: We need to call redraw-display or else the modeline
|
|
||||||
;; won't be complete
|
|
||||||
(setq mode-line-format saved-mode-line-format)
|
|
||||||
(redraw-display))))
|
|
||||||
|
|
||||||
;; Development
|
|
||||||
(use-package tide
|
|
||||||
:straight t
|
|
||||||
:config
|
|
||||||
(defun setup-tide-mode ()
|
|
||||||
(interactive)
|
|
||||||
(tide-setup)
|
|
||||||
(tide-hl-identifier-mode +1))
|
|
||||||
(add-hook 'typescript-mode-hook #'setup-tide-mode)
|
|
||||||
(add-hook 'web-mode-hook
|
|
||||||
(lambda ()
|
|
||||||
(when (string-equal "tsx" (file-name-extension buffer-file-name))
|
|
||||||
(setup-tide-mode))))
|
|
||||||
(add-to-list 'auto-mode-alist '("\\.tsx\\'" . web-mode)))
|
|
||||||
(use-package nix-mode
|
|
||||||
:straight t)
|
|
||||||
(use-package go-mode
|
|
||||||
:straight t)
|
|
||||||
(use-package json-mode
|
|
||||||
:straight t)
|
|
||||||
(use-package rust-mode
|
|
||||||
:straight t)
|
|
||||||
|
|
||||||
;; Debugging
|
|
||||||
(use-package explain-pause-mode
|
|
||||||
:straight
|
|
||||||
(explain-pause-mode
|
|
||||||
:type git
|
|
||||||
:host github
|
|
||||||
:repo "lastquestion/explain-pause-mode")
|
|
||||||
:config
|
|
||||||
(explain-pause-mode))
|
|
@ -2,6 +2,13 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ptw.programs.emacs;
|
cfg = config.ptw.programs.emacs;
|
||||||
|
|
||||||
|
weyland-yutani = pkgs.fetchFromGitHub {
|
||||||
|
owner = "jstaursky";
|
||||||
|
repo = "weyland-yutani-theme";
|
||||||
|
rev = "e89a63a62e071180c9cdd9067679fadc3f7bf796";
|
||||||
|
sha256 = "0gxlz9b7fvbjkqxsyb4l75g7jsxyms0i1vpnb6y499hl115akcaz";
|
||||||
|
};
|
||||||
in {
|
in {
|
||||||
options.ptw.programs.emacs = {
|
options.ptw.programs.emacs = {
|
||||||
enable = lib.mkEnableOption "Configure emacs";
|
enable = lib.mkEnableOption "Configure emacs";
|
||||||
@ -11,10 +18,37 @@ in {
|
|||||||
environment.systemPackages = with pkgs; [ emacsPgtkGcc ];
|
environment.systemPackages = with pkgs; [ emacsPgtkGcc ];
|
||||||
services.emacs.package = pkgs.emacsPgtkGcc;
|
services.emacs.package = pkgs.emacsPgtkGcc;
|
||||||
|
|
||||||
home-manager.users."${config.ptw.system.singleUser}".home.file = {
|
home-manager.users."${config.ptw.system.singleUser}" = {
|
||||||
".emacs".source = ./dotemacs;
|
home.file = {
|
||||||
".emacs.d/early-init.el".source = ./early-init.el;
|
".emacs".source = ./dotemacs;
|
||||||
".emacs.d/mu4e.el".source = ./mu4e.el;
|
".emacs.d/mu4e.el".source = ./mu4e.el;
|
||||||
|
".emacs.d/themes/weyland-yutani-theme.el".source = "${weyland-yutani}/weyland-yutani-theme.el";
|
||||||
|
};
|
||||||
|
programs.emacs = {
|
||||||
|
enable = true;
|
||||||
|
extraPackages = epkgs: with epkgs; [
|
||||||
|
use-package
|
||||||
|
rainbow-delimiters
|
||||||
|
hl-todo
|
||||||
|
nlinum
|
||||||
|
ivy
|
||||||
|
evil
|
||||||
|
evil-collection
|
||||||
|
highlight-parentheses
|
||||||
|
smartparens
|
||||||
|
undo-tree
|
||||||
|
perspective
|
||||||
|
pkgs.mu
|
||||||
|
org
|
||||||
|
org-present
|
||||||
|
graphviz-dot-mode
|
||||||
|
tide
|
||||||
|
nix-mode
|
||||||
|
go-mode
|
||||||
|
json-mode
|
||||||
|
rust-mode
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -17,36 +17,7 @@
|
|||||||
;; restore after startup
|
;; restore after startup
|
||||||
(setq gc-cons-threshold 800000)))
|
(setq gc-cons-threshold 800000)))
|
||||||
|
|
||||||
(defun http-download-verify-and-exec (url sha256-hash name func)
|
(require 'package)
|
||||||
(let ((actual-hash ""))
|
|
||||||
(with-temp-buffer
|
|
||||||
;; Somewhat not documented function. Based on https://emacs.stackexchange.com/a/38482
|
|
||||||
;; The problem is that url-retrieve-synchronously prints the HTTP headers at
|
|
||||||
;; the top, which are, since they include time, non-deterministic and thus cannot
|
|
||||||
;; be used for hashing.
|
|
||||||
(url-insert-file-contents url)
|
|
||||||
(setq actual-hash (secure-hash 'sha256 (current-buffer)))
|
|
||||||
(unless (string= sha256-hash actual-hash)
|
|
||||||
(error "Unexpected hash for %s: Got %s, expected %s" name actual-hash sha256-hash))
|
|
||||||
func)))
|
|
||||||
|
|
||||||
(defvar bootstrap-version)
|
|
||||||
(let ((bootstrap-file
|
|
||||||
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
|
|
||||||
(bootstrap-version 5)
|
|
||||||
(install-hash ""))
|
|
||||||
(unless (file-exists-p bootstrap-file)
|
|
||||||
(http-download-verify-and-exec
|
|
||||||
"https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el"
|
|
||||||
"5bbeee903a90a0fda88a6b8516697c121400facb36a2c349e9447a53baef154e"
|
|
||||||
"straight's install.el"
|
|
||||||
(lambda ()
|
|
||||||
(goto-char (point-max))
|
|
||||||
(eval-print-last-sexp))))
|
|
||||||
(load bootstrap-file nil 'nomessage))
|
|
||||||
|
|
||||||
(setq straight-use-package-by-default t)
|
|
||||||
(straight-use-package 'use-package)
|
|
||||||
|
|
||||||
; Visual things
|
; Visual things
|
||||||
(defvar emacs-font "SourceCodePro:style=Light-7")
|
(defvar emacs-font "SourceCodePro:style=Light-7")
|
||||||
@ -56,35 +27,19 @@
|
|||||||
(menu-bar-mode -1)
|
(menu-bar-mode -1)
|
||||||
(toggle-scroll-bar -1)
|
(toggle-scroll-bar -1)
|
||||||
(setq inhibit-startup-screen t)
|
(setq inhibit-startup-screen t)
|
||||||
|
(add-to-list 'custom-theme-load-path (expand-file-name "themes" user-emacs-directory))
|
||||||
;; We cannot exactly use use-package, so we just download it "manually".
|
(load-theme 'weyland-yutani t)
|
||||||
(let* ((theme-dir (expand-file-name "themes" user-emacs-directory))
|
|
||||||
(theme-file (expand-file-name "weyland-yutani-theme.el" theme-dir)))
|
|
||||||
(unless (file-exists-p theme-file)
|
|
||||||
(unless (file-exists-p theme-dir)
|
|
||||||
(make-directory theme-dir))
|
|
||||||
(http-download-verify-and-exec
|
|
||||||
"https://raw.githubusercontent.com/jstaursky/weyland-yutani-theme/246410e1c03f7d8d8e76102f7c5e3cda83acb36b/weyland-yutani-theme.el"
|
|
||||||
"6593a0a7e46710e25f9b9caf9888106c93230bd20f9af87c5fc883a98b187253"
|
|
||||||
"weyland-yutani-theme.el"
|
|
||||||
(lambda ()
|
|
||||||
(write-file theme-file))))
|
|
||||||
(add-to-list 'custom-theme-load-path theme-dir)
|
|
||||||
(load-theme 'weyland-yutani t))
|
|
||||||
|
|
||||||
(use-package rainbow-delimiters
|
(use-package rainbow-delimiters
|
||||||
:straight t
|
|
||||||
:config
|
:config
|
||||||
(add-hook 'prog-mode-hook
|
(add-hook 'prog-mode-hook
|
||||||
#'rainbow-delimiters-mode))
|
#'rainbow-delimiters-mode))
|
||||||
(use-package hl-todo
|
(use-package hl-todo
|
||||||
:straight t
|
|
||||||
:config
|
:config
|
||||||
(add-hook 'prog-mode-hook
|
(add-hook 'prog-mode-hook
|
||||||
#'hl-todo-mode))
|
#'hl-todo-mode))
|
||||||
(global-hl-line-mode 1)
|
(global-hl-line-mode 1)
|
||||||
(use-package nlinum
|
(use-package nlinum
|
||||||
:straight t
|
|
||||||
:config
|
:config
|
||||||
(add-hook 'prog-mode-hook
|
(add-hook 'prog-mode-hook
|
||||||
(lambda ()
|
(lambda ()
|
||||||
@ -95,7 +50,6 @@
|
|||||||
(setq show-parens-delay 0)))
|
(setq show-parens-delay 0)))
|
||||||
|
|
||||||
(use-package ivy
|
(use-package ivy
|
||||||
:straight t
|
|
||||||
:config
|
:config
|
||||||
(defvar ivy-use-virtual-buffers t)
|
(defvar ivy-use-virtual-buffers t)
|
||||||
(ivy-mode 1))
|
(ivy-mode 1))
|
||||||
@ -129,24 +83,15 @@
|
|||||||
(add-hook 'prog-mode-hook
|
(add-hook 'prog-mode-hook
|
||||||
#'rainbow-delimiters-mode))
|
#'rainbow-delimiters-mode))
|
||||||
(use-package highlight-parentheses
|
(use-package highlight-parentheses
|
||||||
:straight t
|
|
||||||
:config
|
:config
|
||||||
(highlight-parentheses-mode))
|
(highlight-parentheses-mode))
|
||||||
(use-package smartparens
|
(use-package smartparens
|
||||||
:straight t
|
|
||||||
:config
|
:config
|
||||||
(smartparens-global-mode t))
|
(smartparens-global-mode t))
|
||||||
(use-package undo-tree
|
(use-package undo-tree
|
||||||
:straight t
|
|
||||||
:config
|
:config
|
||||||
(global-undo-tree-mode))
|
(global-undo-tree-mode))
|
||||||
|
|
||||||
(use-package hl-todo
|
|
||||||
:config
|
|
||||||
(add-hook 'prog-mode-hook
|
|
||||||
#'hl-todo-mode))
|
|
||||||
(global-hl-line-mode 1)
|
|
||||||
|
|
||||||
(setq-default indent-tab-mode t)
|
(setq-default indent-tab-mode t)
|
||||||
(setq tab-width 4)
|
(setq tab-width 4)
|
||||||
|
|
||||||
@ -166,23 +111,13 @@
|
|||||||
; I don't need mu4e on my desktop
|
; I don't need mu4e on my desktop
|
||||||
(load-file (expand-file-name "mu4e.el" user-emacs-directory))
|
(load-file (expand-file-name "mu4e.el" user-emacs-directory))
|
||||||
(use-package mu4e
|
(use-package mu4e
|
||||||
:straight t
|
|
||||||
:config
|
:config
|
||||||
(ptw/init-mu4e)))
|
(ptw/init-mu4e)))
|
||||||
|
|
||||||
(use-package calfw
|
|
||||||
:straight (calfw
|
|
||||||
:host github
|
|
||||||
:repo "kiwanami/emacs-calfw"
|
|
||||||
:files ("calfw.el" "calfw-cal.el")))
|
|
||||||
|
|
||||||
;; Org mode stuff
|
;; Org mode stuff
|
||||||
;(use-package org-evil
|
;(use-package org-evil)
|
||||||
; :straight t)
|
(use-package graphviz-dot-mode)
|
||||||
(use-package graphviz-dot-mode
|
|
||||||
:straight t)
|
|
||||||
(use-package org
|
(use-package org
|
||||||
:straight t
|
|
||||||
:bind
|
:bind
|
||||||
("C-x P" . (lambda ()
|
("C-x P" . (lambda ()
|
||||||
(interactive)
|
(interactive)
|
||||||
@ -205,10 +140,6 @@
|
|||||||
(interactive)
|
(interactive)
|
||||||
(org-present))))))
|
(org-present))))))
|
||||||
(use-package org-present
|
(use-package org-present
|
||||||
:straight (org-present
|
|
||||||
:host github
|
|
||||||
:repo "rlister/org-present"
|
|
||||||
:files ("org-present.el"))
|
|
||||||
:config
|
:config
|
||||||
(add-hook 'org-present-mode-hook
|
(add-hook 'org-present-mode-hook
|
||||||
(lambda ()
|
(lambda ()
|
||||||
@ -261,7 +192,6 @@
|
|||||||
|
|
||||||
;; Development
|
;; Development
|
||||||
(use-package tide
|
(use-package tide
|
||||||
:straight t
|
|
||||||
:config
|
:config
|
||||||
(defun setup-tide-mode ()
|
(defun setup-tide-mode ()
|
||||||
(interactive)
|
(interactive)
|
||||||
@ -273,23 +203,17 @@
|
|||||||
(when (string-equal "tsx" (file-name-extension buffer-file-name))
|
(when (string-equal "tsx" (file-name-extension buffer-file-name))
|
||||||
(setup-tide-mode))))
|
(setup-tide-mode))))
|
||||||
(add-to-list 'auto-mode-alist '("\\.tsx\\'" . web-mode)))
|
(add-to-list 'auto-mode-alist '("\\.tsx\\'" . web-mode)))
|
||||||
(use-package nix-mode
|
(use-package nix-mode)
|
||||||
:straight t)
|
(use-package go-mode)
|
||||||
(use-package go-mode
|
(use-package json-mode)
|
||||||
:straight t)
|
(use-package rust-mode)
|
||||||
|
|
||||||
(use-package json-mode
|
|
||||||
:straight t)
|
|
||||||
|
|
||||||
(use-package rust-mode
|
|
||||||
:straight t)
|
|
||||||
|
|
||||||
;; Debugging
|
;; Debugging
|
||||||
(use-package explain-pause-mode
|
;(use-package explain-pause-mode
|
||||||
:straight
|
; :straight
|
||||||
(explain-pause-mode
|
; (explain-pause-mode
|
||||||
:type git
|
; :type git
|
||||||
:host github
|
; :host github
|
||||||
:repo "lastquestion/explain-pause-mode")
|
; :repo "lastquestion/explain-pause-mode")
|
||||||
:config
|
; :config
|
||||||
(explain-pause-mode))
|
; (explain-pause-mode))
|
||||||
|
@ -1 +0,0 @@
|
|||||||
(setq package-enable-at-startup nil)
|
|
Loading…
Reference in New Issue
Block a user