diff options
Diffstat (limited to 'oni/home')
-rw-r--r-- | oni/home/config/rincewind.scm | 78 | ||||
-rw-r--r-- | oni/home/services/emacs.scm | 42 |
2 files changed, 116 insertions, 4 deletions
diff --git a/oni/home/config/rincewind.scm b/oni/home/config/rincewind.scm index 9879bef..acb5e90 100644 --- a/oni/home/config/rincewind.scm +++ b/oni/home/config/rincewind.scm @@ -73,7 +73,9 @@ home-emacs-configuration home-emacs-helpful-service-type home-emacs-helpful-configuration - home-emacs-yasnippet-capf-service-type)) + home-emacs-yasnippet-capf-service-type + home-emacs-dashboard-service-type + home-emacs-dashboard-configuration)) #:use-module ((oni home services environment) #:select (home-environment-service)) #:use-module ((oni home services flameshot) @@ -129,7 +131,41 @@ emacs-oni-magit emacs-oni-notmuch emacs-oni-hy - emacs-oni-project)) + emacs-oni-project + emacs-oni-bookmark + emacs-oni-dired + emacs-oni-browse-url + emacs-oni-c + emacs-oni-circe + emacs-oni-clojure + emacs-oni-cmake + emacs-oni-conf + emacs-oni-cpp + emacs-oni-csharp + emacs-oni-css + emacs-oni-diff-hl + emacs-oni-ediff + emacs-oni-elm + emacs-oni-emms + emacs-oni-epub + emacs-oni-eww + emacs-oni-grep + emacs-oni-haskell + emacs-oni-highlight-indent-guides + emacs-oni-html + emacs-oni-java + emacs-oni-json + emacs-oni-log-edit + emacs-oni-lua + emacs-oni-makefile + emacs-oni-nxml + emacs-oni-package + emacs-oni-projectile + emacs-oni-scheme + emacs-oni-sh + emacs-oni-shr + emacs-oni-tramp + emacs-oni-embrace)) #:use-module ((oni packages hlwm-run-or-raise) #:select (hlwm-run-or-raise)) #:use-module ((oni packages inbox-size) @@ -226,6 +262,7 @@ emacs-inkplate emacs-outli emacs-guix + emacs-oni-org-roam emacs-oni-vterm emacs-oni-elisp @@ -239,6 +276,41 @@ emacs-oni-notmuch emacs-oni-hy emacs-oni-project + emacs-oni-bookmark + emacs-oni-dired + emacs-oni-browse-url + emacs-oni-c + emacs-oni-circe + emacs-oni-clojure + emacs-oni-cmake + emacs-oni-conf + emacs-oni-cpp + emacs-oni-csharp + emacs-oni-css + emacs-oni-diff-hl + emacs-oni-ediff + emacs-oni-elm + emacs-oni-embrace + emacs-oni-emms + emacs-oni-epub + emacs-oni-eww + emacs-oni-grep + emacs-oni-haskell + emacs-oni-highlight-indent-guides + emacs-oni-html + emacs-oni-java + emacs-oni-json + emacs-oni-log-edit + emacs-oni-lua + emacs-oni-makefile + emacs-oni-nxml + emacs-oni-package + emacs-oni-projectile + emacs-oni-scheme + emacs-oni-sh + emacs-oni-shr + emacs-oni-tramp + tree-sitter-bash tree-sitter-scheme tree-sitter-python @@ -329,6 +401,7 @@ "init.el" "(with-eval-after-load 'hy-mode (require 'oni-hy))\n" "(with-eval-after-load 'project (require 'oni-project))\n" + "(projectile-mode)\n" "(setq custom-file \"~/.config/emacs/custom.el\")\n" "(load custom-file)\n" "(provide 'init)\n" @@ -339,6 +412,7 @@ (list (local-file "../services/emacs/oni-helpful.el"))))) (service home-emacs-yasnippet-capf-service-type) + (service home-emacs-dashboard-service-type) (service home-flameshot-service-type) diff --git a/oni/home/services/emacs.scm b/oni/home/services/emacs.scm index 564ed3d..99dd2dd 100644 --- a/oni/home/services/emacs.scm +++ b/oni/home/services/emacs.scm @@ -8,7 +8,8 @@ #:use-module ((gnu packages emacs) #:select (emacs)) #:use-module ((gnu packages emacs-xyz) - #:select (emacs-helpful)) + #:select (emacs-helpful + emacs-dashboard)) #:use-module ((gnu home services) #:select (service-type service-extension @@ -35,7 +36,10 @@ home-emacs-helpful-configuration home-emacs-yasnippet-capf-service-type - home-emacs-yasnippet-capf-configuration)) + home-emacs-yasnippet-capf-configuration + + home-emacs-dashboard-service-type + home-emacs-dashboard-configuration)) (define-configuration/no-serialization home-emacs-extension (configurations @@ -158,3 +162,37 @@ (compose identity) (default-value (home-emacs-yasnippet-capf-configuration)) (description "Install and configure emacs-yasnippet-capf."))) + +(define-configuration/no-serialization home-emacs-dashboard-configuration + (package + (package emacs-dashboard) + "Package to use for setting emacs-dashboard.") + (configurations + (text-config '()) + "Configuration for emacs-dashboard.")) + +(define (add-emacs-dashboard config) + (home-emacs-extension + (configurations + (append + (list (mixed-text-file "dashboard-config" + "(dashboard-setup-startup-hook)\n" + "(setq initial-buffer-choice (lambda () (get-buffer-create \"*dashboard*\")))\n")) + (home-emacs-dashboard-configuration-configurations config))))) + +(define (add-emacs-dashboard-packages config) + (list (home-emacs-dashboard-configuration-package config))) + +(define home-emacs-dashboard-service-type + (service-type + (name 'home-emacs-dashboard) + (extensions + (list (service-extension + home-emacs-service-type + add-emacs-dashboard) + (service-extension + home-profile-service-type + add-emacs-dashboard-packages))) + (compose identity) + (default-value (home-emacs-dashboard-configuration)) + (description "Install and configure emacs-dashboard."))) |