aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tom Willemse2024-10-29 00:17:48 -0700
committerGravatar Tom Willemse2024-10-29 00:17:48 -0700
commitc21a3aa725b98ff5d742d53ef28d86e34e3c492b (patch)
tree41024791e04c78e9ed63635e09dc0e08e28f1914
parenteaf92fbf1b40bfb8960d4265611899a65c9c33bc (diff)
downloadnew-dotfiles-c21a3aa725b98ff5d742d53ef28d86e34e3c492b.tar.gz
new-dotfiles-c21a3aa725b98ff5d742d53ef28d86e34e3c492b.zip
Add configuration for xss-lock
-rw-r--r--oni/home/config/common.scm50
-rw-r--r--oni/home/config/data.scm11
-rw-r--r--oni/home/config/rincewind.scm38
-rw-r--r--oni/home/services/xdisorg.scm55
4 files changed, 113 insertions, 41 deletions
diff --git a/oni/home/config/common.scm b/oni/home/config/common.scm
index 0c2549f..3beb3f6 100644
--- a/oni/home/config/common.scm
+++ b/oni/home/config/common.scm
@@ -8,6 +8,14 @@
#:use-module (oni home services guile)
#:use-module (oni home services xmodmap)
#:use-module (oni home services kitty)
+ #:use-module ((gnu services)
+ #:select (simple-service))
+ #:use-module ((gnu home services guix)
+ #:select (home-channels-service-type))
+ #:use-module ((guix channels)
+ #:select (channel
+ make-channel-introduction
+ openpgp-fingerprint))
#:export (home-redshift-service
home-xbindkeys-service
@@ -15,7 +23,8 @@
home-guile-service
home-xmodmap-service
home-openssh-service
- home-kitty-service))
+ home-kitty-service
+ home-channels-service))
(define home-redshift-service
(service home-redshift-service-type
@@ -205,3 +214,42 @@ LocalForward 2812 localhost:2812"))
;; Find any "View build log messages" from guix and open the
;; build log in Emacs.
(map . "ctrl+shift+g kitten hints --type=regex --regex=\\\"View build log at '([^']+)'\\.\\\" --program=\\\"emacsclient\\\""))))))
+
+(define home-channels-service
+ (simple-service 'my-channel-service
+ home-channels-service-type
+ (list
+ (channel
+ (name 'oni)
+ (url "git://ryuslash.org/guix-packages.git")
+ (introduction
+ (make-channel-introduction
+ "646573578b7adfbff415645fed201269076cebf6"
+ (openpgp-fingerprint
+ "061C C5C4 D936 C9A8 AECC 1A17 7D5C 407B 4350 25C1"))))
+ (channel
+ (name 'nonguix)
+ (url "https://gitlab.com/nonguix/nonguix")
+ ;; Enable signature verification:
+ (introduction
+ (make-channel-introduction
+ "897c1a470da759236cc11798f4e0a5f7d4d59fbc"
+ (openpgp-fingerprint
+ "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
+ (channel
+ (name 'guix-gaming-games)
+ (url "https://gitlab.com/guix-gaming-channels/games.git")
+ (introduction
+ (make-channel-introduction
+ "c23d64f1b8cc086659f8781b27ab6c7314c5cca5"
+ (openpgp-fingerprint
+ "50F3 3E2E 5B0C 3D90 0424 ABE8 9BDC F497 A4BB CC7F"))))
+ (channel
+ (name 'rosenthal)
+ (url "https://codeberg.org/hako/rosenthal.git")
+ (branch "trunk")
+ (introduction
+ (make-channel-introduction
+ "7677db76330121a901604dfbad19077893865f35"
+ (openpgp-fingerprint
+ "13E7 6CD6 E649 C28C 3385 4DF5 5E5A A665 6149 17F7")))))))
diff --git a/oni/home/config/data.scm b/oni/home/config/data.scm
index 536c21f..a7848b8 100644
--- a/oni/home/config/data.scm
+++ b/oni/home/config/data.scm
@@ -40,6 +40,8 @@
#:use-module (oni home services syncthing)
#:use-module (oni home services unclutter)
;; #:use-module (oni home services xbindkeys)
+ #:use-module ((oni home services xdisorg)
+ #:select (home-xss-lock-service-type))
#:use-module (oni home services xsession)
#:use-module (oni home services zsh)
#:use-module ((oni packages emacs)
@@ -82,7 +84,7 @@
emacs-oni-tramp
emacs-oni-embrace
emacs-oni-git-commit))
- #: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 sawfish)
#:use-module (oni packages shutdown-rofi)
@@ -104,7 +106,7 @@
(packages (list (specification->package+output "glibc-locales")
(specification->package+output "font-fantasque-sans")
(specification->package+output "font-comic-neue")
- hlwm-run-or-raise
+ ;; hlwm-run-or-raise
pick-random-wallpaper
shutdown-rofi
emacs-sawfish
@@ -151,6 +153,7 @@
(services
(list
+ home-channels-service
home-environment-service
home-rofi-default-service
home-dunst-default-service
@@ -291,4 +294,6 @@
(goto-address-key "C-S-e")
(org-mode-key "C-S-e")))
(service home-emacs-golden-ratio-service-type)
- (service home-emacs-pinentry-service-type))))
+ (service home-emacs-pinentry-service-type)
+
+ (service home-xss-lock-service-type))))
diff --git a/oni/home/config/rincewind.scm b/oni/home/config/rincewind.scm
index 01912cf..0d85dad 100644
--- a/oni/home/config/rincewind.scm
+++ b/oni/home/config/rincewind.scm
@@ -366,43 +366,7 @@
(service home-zsh-autosuggestions-service-type)
(service home-zsh-autopair-service-type)
- (simple-service 'my-channel-service
- home-channels-service-type
- (list
- (channel
- (name 'oni)
- (url "git://ryuslash.org/guix-packages.git")
- (introduction
- (make-channel-introduction
- "646573578b7adfbff415645fed201269076cebf6"
- (openpgp-fingerprint
- "061C C5C4 D936 C9A8 AECC 1A17 7D5C 407B 4350 25C1"))))
- (channel
- (name 'nonguix)
- (url "https://gitlab.com/nonguix/nonguix")
- ;; Enable signature verification:
- (introduction
- (make-channel-introduction
- "897c1a470da759236cc11798f4e0a5f7d4d59fbc"
- (openpgp-fingerprint
- "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
- (channel
- (name 'guix-gaming-games)
- (url "https://gitlab.com/guix-gaming-channels/games.git")
- (introduction
- (make-channel-introduction
- "c23d64f1b8cc086659f8781b27ab6c7314c5cca5"
- (openpgp-fingerprint
- "50F3 3E2E 5B0C 3D90 0424 ABE8 9BDC F497 A4BB CC7F"))))
- (channel
- (name 'rosenthal)
- (url "https://codeberg.org/hako/rosenthal.git")
- (branch "trunk")
- (introduction
- (make-channel-introduction
- "7677db76330121a901604dfbad19077893865f35"
- (openpgp-fingerprint
- "13E7 6CD6 E649 C28C 3385 4DF5 5E5A A665 6149 17F7"))))))
+ home-channels-service
;; (service home-polybar-service-type
;; (home-polybar-configuration
diff --git a/oni/home/services/xdisorg.scm b/oni/home/services/xdisorg.scm
new file mode 100644
index 0000000..51da034
--- /dev/null
+++ b/oni/home/services/xdisorg.scm
@@ -0,0 +1,55 @@
+(define-module (oni home services xdisorg)
+ #:use-module ((gnu home services)
+ #:select (service-type
+ service-extension
+ home-profile-service-type))
+ #:use-module ((gnu home services shepherd)
+ #:select (home-shepherd-service-type
+ shepherd-service))
+ #:use-module ((gnu packages xdisorg)
+ #:select (xss-lock))
+ #:use-module ((gnu services configuration)
+ #:select (define-configuration
+ serialize-package))
+ #:use-module ((guix gexp)
+ #:select (gexp
+ file-append))
+ #:use-module ((guix packages)
+ #:select (package?))
+
+ #:export (home-xss-lock-configuration
+ home-xss-lock-service-type))
+
+(define-configuration home-xss-lock-configuration
+ (package
+ (package xss-lock)
+ "Package to use for setting xss-lock"))
+
+(define (add-xss-lock-packages config)
+ (list (home-xss-lock-configuration-package config)))
+
+(define (home-xss-lock-shepherd-service config)
+ (list
+ (shepherd-service
+ (documentation "Start xss-lock")
+ (provision '(xss-lock))
+ (auto-start? #t)
+ (start
+ #~(make-forkexec-constructor
+ (list #$(file-append (home-xss-lock-configuration-package config) "/bin/xss-lock") "i3lock" "--" "--color" "222224")
+ #:log-file (format #f "~a/.local/var/log/xss-lock.log" (getenv "HOME"))))
+ (stop #~(make-kill-destructor)))))
+
+(define home-xss-lock-service-type
+ (service-type
+ (name 'home-xss-lock)
+ (extensions
+ (list (service-extension
+ home-profile-service-type
+ add-xss-lock-packages)
+ (service-extension
+ home-shepherd-service-type
+ home-xss-lock-shepherd-service)))
+ (compose identity)
+ (default-value (home-xss-lock-configuration))
+ (description "Install and configure xss-lock.")))