Add configuration for xss-lock

This commit is contained in:
Tom Willemse 2024-10-29 00:17:48 -07:00
parent eaf92fbf1b
commit c21a3aa725
4 changed files with 113 additions and 41 deletions

View file

@ -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")))))))

View file

@ -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))))

View file

@ -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

View file

@ -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.")))