about summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--dotfiles/.emacs61
-rw-r--r--hosts/home.nix23
2 files changed, 82 insertions, 2 deletions
diff --git a/dotfiles/.emacs b/dotfiles/.emacs
new file mode 100644
index 0000000..fe045ea
--- /dev/null
+++ b/dotfiles/.emacs
@@ -0,0 +1,61 @@
+(eval-when-compile
+  (require 'use-package))
+
+(use-package evil
+  :init
+  (setq evil-want-integration t) ;; This is optional since it's already set to t by default.
+  (setq evil-want-keybinding nil)
+  :config
+  (evil-mode 1))
+
+(use-package evil-collection
+  :after evil
+  :config
+  (evil-collection-init))
+
+(use-package doom-themes)
+(setq doom-themes-enable-bold t
+      doom-themes-enable-italic t)
+(load-theme 'doom-one t)
+
+(set-face-attribute 'default nil
+                    :font "Inconsolata LGC Nerd Font 11"
+                    :weight 'medium)
+
+(setq-default line-spacing 0.10)
+
+;; Needed for emacsclient or fonts will be smaller than expected
+(add-to-list 'default-frame-alist '(font . "Inconsolata LGC Nerd Font 11"))
+
+;; Disable toolbar, menubar and scrollbar
+(menu-bar-mode -1)
+(tool-bar-mode -1)
+(scroll-bar-mode -1)
+
+(use-package doom-modeline
+  :init (doom-modeline-mode 1))
+
+(global-display-line-numbers-mode)
+
+(global-visual-line-mode t)
+      
+(use-package dashboard
+  :init
+  (setq dashboard-banner-logo-title "Welcome to Emacs Dashboard")
+  (setq dashboard-center-content nil)
+  (setq dashboard-items '((recents  . 5)
+                        (bookmarks . 5)
+                        (agenda . 5)
+                        (registers . 5)))
+  (setq dashboard-set-navigator t)
+  :config
+  (dashboard-setup-startup-hook))
+
+  ;;(setq initial-buffer-choice (lambda () (get-buffer-create "*dashboard*")))
+
+;;TODO, make it work with directories
+(setq initial-buffer-choice
+  (lambda ()
+    (if (buffer-file-name)
+      (current-buffer) ;; leave as-is
+      (get-buffer-create "*dashboard*"))))
\ No newline at end of file
diff --git a/hosts/home.nix b/hosts/home.nix
index 476afb0..5fb9f4f 100644
--- a/hosts/home.nix
+++ b/hosts/home.nix
@@ -87,7 +87,26 @@ in
       };
     };
 
-    emacs.enable = true;
+    emacs = {
+      enable = true;
+      extraPackages = epkgs: with epkgs; [
+        use-package
+
+        evil
+        evil-collection
+
+        doom-modeline
+        dashboard
+
+        nix-mode
+        haskell-mode
+        typescript-mode
+        jq-mode
+
+        doom-themes
+      ];
+      extraConfig = builtins.readFile (dotfiles + "/.emacs");
+    };
 
     firefox = {
       enable = true;
@@ -203,7 +222,7 @@ in
 
   home.file = {
     ".xinitrc".source = dotfiles + "/.xinitrc";
-    ".Xresources".source = dotfiles + "//.Xresources/";
+    ".Xresources".source = dotfiles + "/.Xresources/";
 
     ".scripts/".source = dotfiles + "/scripts/";
   };