Small emacs service

This commit is contained in:
Aleksandr Lebedev 2025-11-10 00:27:20 +01:00
parent 4db81bbde7
commit 54ff0cc3ae
5 changed files with 1141 additions and 24 deletions

View file

@ -274,7 +274,7 @@ layout {
spawn-sh-at-startup "emacs --daemon" spawn-sh-at-startup "emacs --daemon"
// To run a shell command (with variables, pipes, etc.), use spawn-sh-at-startup: // To run a shell command (with variables, pipes, etc.), use spawn-sh-at-startup:
spawn-sh-at-startup "dms run" spawn-sh-at-startup "qs -c dms"
spawn-sh-at-startup "wl-paste --watch cliphist store &" spawn-sh-at-startup "wl-paste --watch cliphist store &"
spawn-sh-at-startup "nextcloud --background" spawn-sh-at-startup "nextcloud --background"
@ -382,38 +382,38 @@ binds {
// Use spawn-sh to run a shell command. Do this if you need pipes, multiple commands, etc. // Use spawn-sh to run a shell command. Do this if you need pipes, multiple commands, etc.
Mod+Space hotkey-overlay-title="Application Launcher" { Mod+Space hotkey-overlay-title="Application Launcher" {
spawn "dms" "ipc" "call" "spotlight" "toggle"; spawn-sh "qs -c dms ipc call spotlight toggle";
} }
Mod+V hotkey-overlay-title="Clipboard Manager" { Mod+V hotkey-overlay-title="Clipboard Manager" {
spawn "dms" "ipc" "call" "clipboard" "toggle"; spawn-sh "qs -c dms ipc call clipboard toggle";
} }
Mod+M hotkey-overlay-title="Task Manager" { Mod+M hotkey-overlay-title="Task Manager" {
spawn "dms" "ipc" "call" "processlist" "toggle"; spawn-sh "qs -c dms ipc call processlist toggle";
} }
Super+L hotkey-overlay-title="Lock Screen" { Super+L hotkey-overlay-title="Lock Screen" {
spawn "dms" "ipc" "call" "lock" "lock"; spawn-sh "qs -c dms ipc call lock lock";
} }
Mod+Y hotkey-overlay-title="Browse Wallpapers" { Mod+Y hotkey-overlay-title="Browse Wallpapers" {
spawn "dms" "ipc" "call" "dankdash" "wallpaper"; spawn-sh "qs -c dms ipc call dankdash wallpaper";
} }
XF86AudioRaiseVolume allow-when-locked=true { XF86AudioRaiseVolume allow-when-locked=true {
spawn "dms" "ipc" "call" "audio" "increment" "3"; spawn-sh "qs -c dms ipc call audio increment 3";
} }
XF86AudioLowerVolume allow-when-locked=true { XF86AudioLowerVolume allow-when-locked=true {
spawn "dms" "ipc" "call" "audio" "decrement" "3"; spawn-sh "qs -c dms ipc call audio decrement 3";
} }
XF86AudioMute allow-when-locked=true { XF86AudioMute allow-when-locked=true {
spawn "dms" "ipc" "call" "audio" "mute"; spawn-sh "qs -c dms ipc call audio mute";
} }
XF86AudioMicMute allow-when-locked=true { XF86AudioMicMute allow-when-locked=true {
spawn "dms" "ipc" "call" "audio" "micmute"; spawn-sh "qs -c dms ipc call audio micmute";
} }
XF86MonBrightnessUp allow-when-locked=true { XF86MonBrightnessUp allow-when-locked=true {
spawn "dms" "ipc" "call" "brightness" "increment" "5" ""; spawn-sh "qs -c dms ipc call brightness increment 5 ''";
} }
// You can override the default device for e.g. keyboards by adding the device name to the last param // You can override the default device for e.g. keyboards by adding the device name to the last param
XF86MonBrightnessDown allow-when-locked=true { XF86MonBrightnessDown allow-when-locked=true {
spawn "dms" "ipc" "call" "brightness" "decrement" "5" ""; spawn-sh "qs -c dms ipc call brightness decrement 5 ''";
} }
// Night mode toggle // Night mode toggle
Mod+Shift+N allow-when-locked=true { Mod+Shift+N allow-when-locked=true {

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,10 @@
;;; -*- lexical-binding: t; -*-
(require 'package)
;;https://github.com/wbolster/emacs-direnv/issues/85
(setenv "PATH" (mapconcat 'identity exec-path ":")) ;;fixes direnv losing nix pkgs
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(package-initialize)
(org-babel-load-file
(expand-file-name
"config.org"
user-emacs-directory))

View file

@ -31,13 +31,13 @@
(list `(".emacs.d/config.el" (list `(".emacs.d/config.el"
,(mixed-text-file "config.el" ,(mixed-text-file "config.el"
";; Emacs Config from Guix Home\n" ";; Emacs Config from Guix Home\n"
(call-with-input-file (home-emacs-configuration-config-file config) get-string-all))) "(load-file \"" (home-emacs-configuration-config-file config) "\")\n"))
`(".emacs.d/early-config.el" `(".emacs.d/early-config.el"
,(mixed-text-file "early-config.el" ,(mixed-text-file "early-config.el"
";; Emacs Early Config from Guix Home\n" ";; Emacs Early Config from Guix Home\n"
(string-append "(make-directory \"" package-user-dir "\" t)\n") (string-append "(make-directory \"" package-user-dir "\" t)\n")
(string-append "(setq package-user-dir \"" package-user-dir "\")\n") (string-append "(setq package-user-dir \"" package-user-dir "\")\n")
(home-emacs-configuration-early-config-file config))))) "(load-file \"" (home-emacs-configuration-early-config-file config) "\")\n"))))
(define (home-emacs-profile-service config) (define (home-emacs-profile-service config)
(list (home-emacs-configuration-emacs config))) (list (home-emacs-configuration-emacs config)))

View file

@ -22,6 +22,7 @@
#:use-module (gnu packages admin) #:use-module (gnu packages admin)
#:use-module (gnu packages fonts) #:use-module (gnu packages fonts)
#:use-module (gnu packages games) #:use-module (gnu packages games)
#:use-module (gnu packages xdisorg)
#:use-module (gnu services) #:use-module (gnu services)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (gnu home services shells) #:use-module (gnu home services shells)
@ -44,8 +45,6 @@
librewolf librewolf
icecat icecat
nheko nheko
supertux
supertuxkart
;birdtray ;birdtray
nextcloud-client nextcloud-client
nautilus nautilus
@ -54,6 +53,7 @@
quickshell quickshell
cava cava
wl-clipboard wl-clipboard
cliphist
brightnessctl brightnessctl
qtmultimedia qtmultimedia
`(,glib "bin") `(,glib "bin")
@ -83,15 +83,15 @@
(home-dotfiles-configuration (home-dotfiles-configuration
(directories '("../../files")))) (directories '("../../files"))))
(service home-secretsd-service-type) (service home-secretsd-service-type)
; (service home-emacs-service-type (service home-emacs-service-type
; (home-emacs-configuration (home-emacs-configuration
; (emacs emacs-pgtk) (emacs emacs-pgtk)
; (config-file (config-file
; "../../../.emacs.d/config.el") (local-file "./emacs/config.el"))
; (early-config-file (early-config-file
; "../../../.emacs.d/init.el") (local-file "./emacs/init.el"))
; (emacs-packages (list ; (emacs-packages (list
; emacs-guix)) ; emacs-guix))
;)) ))
) )
%base-home-services))) %base-home-services)))