From 8a6ba252c9ad35115a20853720ae3fee7dfbf423 Mon Sep 17 00:00:00 2001 From: Dave Gallant Date: Tue, 26 Jan 2021 21:23:53 -0500 Subject: [PATCH] Add emacs --- flake.lock | 18 +++++++++--------- home/default.nix | 47 ++++++++++++++++++++++++++++++++++++++++++++++- home/init.el | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 103 insertions(+), 10 deletions(-) create mode 100644 home/init.el diff --git a/flake.lock b/flake.lock index 4f34acb..1bc8e8a 100644 --- a/flake.lock +++ b/flake.lock @@ -39,11 +39,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1611441711, - "narHash": "sha256-a+2ndW606WZBoknqDEBD3RuxcnjvwfTfh2EoDzi+lZQ=", + "lastModified": 1611602709, + "narHash": "sha256-k+0GDYFcj2O0SqXLyW3mRyQ1YYfTWwBqer10MpsSQzs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a058d005b3cbb370bf171ebce01839dd6ff52222", + "rev": "e4adbfbab8aadf9d80a93d40fb612cb910073af9", "type": "github" }, "original": { @@ -55,11 +55,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1611544074, - "narHash": "sha256-wa+TRNehoT187YFOejXqHMZMhVjBbYZGF0EWYfGqbJI=", + "lastModified": 1611681663, + "narHash": "sha256-l1NVKSumk63B8N7TtnLWvscbRHjNGe9sihPPt5A/XYI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "aa8868c7cca8d30706a68a876d048968c83e1cf1", + "rev": "966489a0312f80e4dd20189f885bc12d6723a9ac", "type": "github" }, "original": { @@ -70,11 +70,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1611219034, - "narHash": "sha256-bgp8G3LcpvKs22/z5Cj4XQkmZq05Aa0vaP1bKl7X0zM=", + "lastModified": 1611575689, + "narHash": "sha256-z2rNP3zdVnGxp9iV2Rbn0/LLKhk47DZQKxDkpYFLI7M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f217c0ea7c148ddc0103347051555c7c252dcafb", + "rev": "891f607d5301d6730cb1f9dcf3618bcb1ab7f10e", "type": "github" }, "original": { diff --git a/home/default.nix b/home/default.nix index 0805295..df54888 100644 --- a/home/default.nix +++ b/home/default.nix @@ -136,7 +136,8 @@ ".." = "cd .."; grep = "grep --color=auto --line-buffered"; k = "kubectl"; - aws-azure-login = "docker run --rm -it -v ~/.aws:/root/.aws sportradar/aws-azure-login"; + aws-azure-login = + "docker run --rm -it -v ~/.aws:/root/.aws sportradar/aws-azure-login"; }; "oh-my-zsh" = { @@ -325,5 +326,49 @@ }; }; + + emacs = { + enable = true; + package = pkgs.emacs-nox; + extraPackages = epkgs: + (with epkgs; [ + centaur-tabs + doom-modeline + doom-themes + evil + evil-collection + evil-exchange + evil-magit + evil-matchit + evil-numbers + evil-surround + evil-tutor + evil-visualstar + go-mode + highlight-parentheses + htmlize + hydra + lsp-mode + magit + magithub + markdown-mode + markdown-toc + nix-mode + nix-sandbox + nix-update + org-bullets + org-re-reveal + org-superstar + rainbow-delimiters + ripgrep + rust-mode + spinner + terraform-mode + web-mode + ]); + }; }; + + home.file.".emacs.d/init.el".source = ./init.el; + } diff --git a/home/init.el b/home/init.el new file mode 100644 index 0000000..28dfe86 --- /dev/null +++ b/home/init.el @@ -0,0 +1,48 @@ +;; Enable Mouse +(xterm-mouse-mode 1) + +;; Enable Line Numbers +(global-display-line-numbers-mode 1) + +;; Enable Evil +(require 'evil) +(evil-mode 1) + +;; Set Theme +(load-theme 'doom-gruvbox t) + +;; Disable startup message. +(setq inhibit-startup-message t + inhibit-startup-echo-area-message (user-login-name)) + +;; Accept 'y' and 'n' rather than 'yes' and 'no'. +(defalias 'yes-or-no-p 'y-or-n-p) + +;; Centaur Tabs +(require 'centaur-tabs) +(centaur-tabs-mode t) +(global-set-key (kbd "C-") 'centaur-tabs-backward) +(global-set-key (kbd "C-") 'centaur-tabs-forward) + +;; Trailing white space +(setq-default show-trailing-whitespace t) + +;; Prefer UTF-8. +(prefer-coding-system 'utf-8) + +;; Improved handling of clipboard in GNU/Linux and otherwise. +(setq select-enable-clipboard t + select-enable-primary t + save-interprogram-paste-before-kill t) + +;; Disable some GUI distractions. +(tool-bar-mode -1) +(menu-bar-mode -1) +(blink-cursor-mode 0) + +;; Enable highlighting of current line. +(global-hl-line-mode 1) + +;; Always show line and column number in the mode line. +(line-number-mode) +(column-number-mode)