aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--oni/home/rincewind/config.scm52
-rw-r--r--oni/home/services/emacs.scm46
-rw-r--r--oni/home/services/rofi.scm2
3 files changed, 78 insertions, 22 deletions
diff --git a/oni/home/rincewind/config.scm b/oni/home/rincewind/config.scm
index 710daa1..2a0980e 100644
--- a/oni/home/rincewind/config.scm
+++ b/oni/home/rincewind/config.scm
@@ -1,33 +1,36 @@
(define-module (oni home data config)
- #:use-module (gnu home)
- #:use-module (gnu home services)
#:use-module (gnu home services guix)
- #:use-module (gnu packages)
- #:use-module (gnu packages video)
- #:use-module (gnu packages music)
- #:use-module (gnu packages emacs)
+ #:use-module (gnu home services)
+ #:use-module (gnu home)
#:use-module (gnu packages commencement)
+ #:use-module (gnu packages emacs)
+ #:use-module (gnu packages emacs-xyz)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages music)
+ #:use-module (gnu packages video)
+ #:use-module (gnu packages)
#:use-module (gnu services)
- #:use-module (guix packages)
+ #:use-module (guix channels)
+ #:use-module (guix derivations)
#:use-module (guix gexp)
+ #:use-module (guix packages)
#:use-module (guix store)
- #:use-module (guix derivations)
- #:use-module (guix channels)
#:use-module (guix transformations)
- #:use-module (oni home services environment)
- #:use-module (oni home services rofi)
- #:use-module (oni home services polybar)
+ #:use-module (oni home common config)
#:use-module (oni home services dunst)
- #:use-module (oni home services zsh)
+ #:use-module (oni home services emacs)
+ #:use-module (oni home services environment)
#:use-module (oni home services kdeconnect)
+ #:use-module (oni home services polybar)
+ #:use-module (oni home services rofi)
#:use-module (oni home services syncthing)
+ #:use-module (oni home services zsh)
+ #:use-module (oni packages count-emails)
#:use-module (oni packages hlwm-run-or-raise)
- #:use-module (oni packages pick-random-wallpaper)
+ #:use-module (oni packages inbox-size)
#:use-module (oni packages notmuch-collect-tasks)
#:use-module (oni packages notmuch-tag-mailinglists)
- #:use-module (oni packages inbox-size)
- #:use-module (oni packages count-emails)
- #:use-module (oni home common config))
+ #:use-module (oni packages pick-random-wallpaper))
(define (with-master-branch package)
"Apply a transformation to PACKAGE so that it uses the master branch."
@@ -36,17 +39,20 @@
package))
(home-environment
- (packages (list mpv mpv-mpris easytag emacs-next
+ (packages (list mpv mpv-mpris easytag
(specification->package+output "glibc-locales")
(specification->package+output "font-fantasque-sans")
(specification->package+output "font-comic-neue")
hlwm-run-or-raise
pick-random-wallpaper
- gcc-toolchain ;Needed for emacs-next?
notmuch-collect-tasks
notmuch-tag-mailinglists
(inbox-size emacs-next)
- count-emails))
+ count-emails
+ emacs-org-roam
+ emacs-vterm
+ fakeroot ; Needed for build arch packages
+ ))
(services
(list
@@ -91,4 +97,8 @@
(bar "rincewind")))
(service home-kdeconnect-service-type)
- (service home-syncthing-service-type))))
+ (service home-syncthing-service-type)
+
+ (service home-emacs-service-type
+ (home-emacs-configuration
+ (package emacs-next))))))
diff --git a/oni/home/services/emacs.scm b/oni/home/services/emacs.scm
new file mode 100644
index 0000000..07c5458
--- /dev/null
+++ b/oni/home/services/emacs.scm
@@ -0,0 +1,46 @@
+(define-module (oni home services emacs)
+ #:use-module (gnu services configuration)
+ #:use-module (gnu packages emacs)
+ #:use-module (gnu home services)
+ #:use-module (gnu home services shepherd)
+ #:use-module (gnu home services utils)
+ #:use-module (guix packages)
+ #:use-module (guix gexp)
+
+ #:export (home-emacs-service-type
+ home-emacs-configuration))
+
+(define-configuration home-emacs-configuration
+ (package
+ (package emacs)
+ "Package to use for setting Emacs"))
+
+(define (add-emacs-packages config)
+ (list (home-emacs-configuration-package config)))
+
+(define (home-emacs-shepherd-service config)
+ (list
+ (shepherd-service
+ (documentation "Start Emacs")
+ (provision '(emacs))
+ (auto-start? #t)
+ (start
+ #~(make-forkexec-constructor
+ (list #$(file-append (home-emacs-configuration-package config) "/bin/emacs")
+ "--fg-daemon")
+ #:log-file (format #f "~a/.local/var/log/xbindkeys.log" (getenv "HOME"))))
+ (stop #~(make-kill-destructor)))))
+
+(define home-emacs-service-type
+ (service-type
+ (name 'home-emacs)
+ (extensions
+ (list (service-extension
+ home-profile-service-type
+ add-emacs-packages)
+ (service-extension
+ home-shepherd-service-type
+ home-emacs-shepherd-service)))
+ (compose identity)
+ (default-value (home-emacs-configuration))
+ (description "Install and configure Emacs.")))
diff --git a/oni/home/services/rofi.scm b/oni/home/services/rofi.scm
index 56b08a8..8bc6aa9 100644
--- a/oni/home/services/rofi.scm
+++ b/oni/home/services/rofi.scm
@@ -146,7 +146,7 @@
(define (add-rofi-xbindkeys-keybindings config)
(home-xbindkeys-extension
(keybindings
- '(((mod4 r) . "herbstclient spawn rofi -show run")
+ '(((mod4 r) . "herbstclient spawn rofi -modi drun -show drun")
((mod4 w) . "herbstclient spawn rofi -show window -window-command \"/home/chelys/usr/bin/hlwm-switch-to-window {window}\"")))))
(define home-rofi-service-type