Update rincewind configuration
- Sort all use-module directives - Remove ‘gcc-toolchain’ from the installed packages because it appears that the regular emacs-next (not from a git checkout) works fine without it. - Add ‘emacs-org-roam’ and ‘emacs-vterm’ packages because they both come with C modules and installing them on-the-fly in Emacs wasn't working properly. - Add ‘fakeroot’ package because it appears to be needed now that I'm using guix-home if I want to build packages for Archlinux. This still happens when I need to install some proprietary program from the AUR. - Add an Emacs configuration service. For now this just ensures that the ‘emacs-next’ package is installed and creates a shepherd service that starts Emacs when I log in. - Change the default run dialog from ‘rofi -show run’ to ‘rofi -show drun’ to run .desktop files. This offers more control over what does and doesn't show up in the list and allows me to put only stuff in there that actually works in a graphical environment.
This commit is contained in:
parent
6cdda0dc5a
commit
a85ad3fddd
3 changed files with 79 additions and 23 deletions
|
@ -1,33 +1,36 @@
|
||||||
(define-module (oni home data config)
|
(define-module (oni home data config)
|
||||||
#:use-module (gnu home)
|
|
||||||
#:use-module (gnu home services)
|
|
||||||
#:use-module (gnu home services guix)
|
#:use-module (gnu home services guix)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu home services)
|
||||||
#:use-module (gnu packages video)
|
#:use-module (gnu home)
|
||||||
#:use-module (gnu packages music)
|
|
||||||
#:use-module (gnu packages emacs)
|
|
||||||
#:use-module (gnu packages commencement)
|
#: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 (gnu services)
|
||||||
#:use-module (guix packages)
|
|
||||||
#:use-module (guix gexp)
|
|
||||||
#:use-module (guix store)
|
|
||||||
#:use-module (guix derivations)
|
|
||||||
#:use-module (guix channels)
|
#:use-module (guix channels)
|
||||||
|
#:use-module (guix derivations)
|
||||||
|
#:use-module (guix gexp)
|
||||||
|
#:use-module (guix packages)
|
||||||
|
#:use-module (guix store)
|
||||||
#:use-module (guix transformations)
|
#:use-module (guix transformations)
|
||||||
#:use-module (oni home services environment)
|
#:use-module (oni home common config)
|
||||||
#:use-module (oni home services rofi)
|
|
||||||
#:use-module (oni home services polybar)
|
|
||||||
#:use-module (oni home services dunst)
|
#: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 kdeconnect)
|
||||||
|
#:use-module (oni home services polybar)
|
||||||
|
#:use-module (oni home services rofi)
|
||||||
#:use-module (oni home services syncthing)
|
#: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 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-collect-tasks)
|
||||||
#:use-module (oni packages notmuch-tag-mailinglists)
|
#:use-module (oni packages notmuch-tag-mailinglists)
|
||||||
#:use-module (oni packages inbox-size)
|
#:use-module (oni packages pick-random-wallpaper))
|
||||||
#:use-module (oni packages count-emails)
|
|
||||||
#:use-module (oni home common config))
|
|
||||||
|
|
||||||
(define (with-master-branch package)
|
(define (with-master-branch package)
|
||||||
"Apply a transformation to PACKAGE so that it uses the master branch."
|
"Apply a transformation to PACKAGE so that it uses the master branch."
|
||||||
|
@ -36,17 +39,20 @@
|
||||||
package))
|
package))
|
||||||
|
|
||||||
(home-environment
|
(home-environment
|
||||||
(packages (list mpv mpv-mpris easytag emacs-next
|
(packages (list mpv mpv-mpris easytag
|
||||||
(specification->package+output "glibc-locales")
|
(specification->package+output "glibc-locales")
|
||||||
(specification->package+output "font-fantasque-sans")
|
(specification->package+output "font-fantasque-sans")
|
||||||
(specification->package+output "font-comic-neue")
|
(specification->package+output "font-comic-neue")
|
||||||
hlwm-run-or-raise
|
hlwm-run-or-raise
|
||||||
pick-random-wallpaper
|
pick-random-wallpaper
|
||||||
gcc-toolchain ;Needed for emacs-next?
|
|
||||||
notmuch-collect-tasks
|
notmuch-collect-tasks
|
||||||
notmuch-tag-mailinglists
|
notmuch-tag-mailinglists
|
||||||
(inbox-size emacs-next)
|
(inbox-size emacs-next)
|
||||||
count-emails))
|
count-emails
|
||||||
|
emacs-org-roam
|
||||||
|
emacs-vterm
|
||||||
|
fakeroot ; Needed for build arch packages
|
||||||
|
))
|
||||||
|
|
||||||
(services
|
(services
|
||||||
(list
|
(list
|
||||||
|
@ -91,4 +97,8 @@
|
||||||
(bar "rincewind")))
|
(bar "rincewind")))
|
||||||
|
|
||||||
(service home-kdeconnect-service-type)
|
(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))))))
|
||||||
|
|
46
oni/home/services/emacs.scm
Normal file
46
oni/home/services/emacs.scm
Normal file
|
@ -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.")))
|
|
@ -146,7 +146,7 @@
|
||||||
(define (add-rofi-xbindkeys-keybindings config)
|
(define (add-rofi-xbindkeys-keybindings config)
|
||||||
(home-xbindkeys-extension
|
(home-xbindkeys-extension
|
||||||
(keybindings
|
(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}\"")))))
|
((mod4 w) . "herbstclient spawn rofi -show window -window-command \"/home/chelys/usr/bin/hlwm-switch-to-window {window}\"")))))
|
||||||
|
|
||||||
(define home-rofi-service-type
|
(define home-rofi-service-type
|
||||||
|
|
Loading…
Reference in a new issue