diff --git a/.config/guix/cobra/home.scm b/.config/guix/cobra/home.scm index 3c6111c..6627e1e 100644 --- a/.config/guix/cobra/home.scm +++ b/.config/guix/cobra/home.scm @@ -16,8 +16,7 @@ if [[ $HOSTNAME == pp ]]; then PASTE_COMMAND=\"wl-paste\" WIFI=wlan0 WM=\"bash\" -elif [[ $HOSTNAME == Oganesson ]]; then : - #export WLR_DRM_DEVICES=/dev/dri/card1:/dev/dri/card0 +elif [[ $HOSTNAME == Oganesson || $HOSTNAME == Radon ]]; then : elif [[ $HOSTNAME == Neon ]]; then export WLR_NO_HARDWARE_CURSORS=1 else diff --git a/.config/guix/cobra/home/bin.scm b/.config/guix/cobra/home/bin.scm index d6d0e25..19b6d3d 100644 --- a/.config/guix/cobra/home/bin.scm +++ b/.config/guix/cobra/home/bin.scm @@ -6,6 +6,7 @@ %bin:suspend %bin:start-pipewire %bin:screenshot + %bin:rotate %bin:logout-wofi %bin:lock %bin:fss @@ -114,6 +115,19 @@ case $1 in esac" "\nEOF")) (chmod #$output #o755)))) +(define %bin:rotate + (computed-file "bin-rotate" + #~(begin + (system (string-append #$coreutils "/bin/cat << \"EOF\" >" #$output "\n" "\ +if [ ! -e $XDG_RUNTIME_DIR/rotate.lock ]; then + swaymsg output LVDS-1 transform 90 clockwise + touch $XDG_RUNTIME_DIR/rotate.lock +else + swaymsg output LVDS-1 transform 90 anticlockwise + rm $XDG_RUNTIME_DIR/rotate.lock +fi")) + (chmod #$output #o755)))) + (define %bin:logout-wofi (computed-file "bin-logout-wofi" #~(begin diff --git a/.config/guix/cobra/home/configs.scm b/.config/guix/cobra/home/configs.scm index cee336f..6e58ba4 100644 --- a/.config/guix/cobra/home/configs.scm +++ b/.config/guix/cobra/home/configs.scm @@ -601,6 +601,7 @@ exec ~/.local/bin/make-combined bindsym $mod+r exec ~/.local/bin/wf-shadow -r LVDS-1 bindsym $mod+g exec ~/.local/bin/wf-shadow -r DP-1 +bindsym XF86RotateWindows exec ~/.local/bin/rotate bindsym XF86ScreenSaver exec ~/.local/bin/lock bindsym Print exec ~/.local/bin/screenshot -w bindsym Pause exec ~/.local/bin/logout-wofi diff --git a/.config/guix/home-config.scm b/.config/guix/home-config.scm index 44014be..eac115d 100644 --- a/.config/guix/home-config.scm +++ b/.config/guix/home-config.scm @@ -176,6 +176,7 @@ `(".local/bin/fss" ,%bin:fss) `(".local/bin/lock" ,%bin:lock) `(".local/bin/logout-wofi" ,%bin:logout-wofi) + `(".local/bin/rotate" ,%bin:rotate) `(".local/bin/screenshot" ,%bin:screenshot) `(".local/bin/start-pipewire" ,%bin:start-pipewire) `(".local/bin/__suspend" ,%bin:suspend) diff --git a/.config/sway/config b/.config/sway/config index 6369e67..6d3c7cd 100755 --- a/.config/sway/config +++ b/.config/sway/config @@ -175,6 +175,7 @@ exec ~/.local/bin/make-combined bindsym $mod+r exec ~/.local/bin/wf-shadow -r LVDS-1 bindsym $mod+g exec ~/.local/bin/wf-shadow -r DP-1 +bindsym XF86RotateWindows exec ~/.local/bin/rotate bindsym XF86ScreenSaver exec ~/.local/bin/lock bindsym Print exec ~/.local/bin/screenshot -w bindsym Pause exec ~/.local/bin/logout-wofi diff --git a/.devspec b/.devspec index b13a769..643bba5 100644 --- a/.devspec +++ b/.devspec @@ -7,8 +7,7 @@ if [[ $HOSTNAME == pp ]]; then PASTE_COMMAND="wl-paste" WIFI=wlan0 WM="bash" -elif [[ $HOSTNAME == Oganesson ]]; then : - #export WLR_DRM_DEVICES=/dev/dri/card1:/dev/dri/card0 +elif [[ $HOSTNAME == Oganesson || $HOSTNAME == Radon ]]; then : elif [[ $HOSTNAME == Neon ]]; then export WLR_NO_HARDWARE_CURSORS=1 else diff --git a/etc/guix-config/cobra/lists.scm b/etc/guix-config/cobra/lists.scm index 2071a58..b55e888 100644 --- a/etc/guix-config/cobra/lists.scm +++ b/etc/guix-config/cobra/lists.scm @@ -1,4 +1,4 @@ -(add-to-load-path "/etc/guix-config") +(add-to-load-path (canonicalize-path "..")) (define-module (cobra lists) #:use-module (guix gexp) @@ -112,7 +112,23 @@ (libvirt-configuration (unix-sock-group "libvirt"))) (service virtlog-service-type) - %base-services)) + (modify-services + %base-services + (udev-service-type config => (udev-configuration + (inherit config) + (rules + (append (udev-configuration-rules config) + (list + (udev-rule "10-wacom.rules" + (string-append "ACTION!+\"add|change\", " + "GOTO=\"wacom_end\"\n" + "ATTRS{id}==\"WACf*\" ENV{NAME}=\"Serial Wacom Tablet\", " + "ENV{ID_INPUT}=\"1\", " + "ENV{ID_INPUT_TABLET}=\"1\"\n" + "ATTRS{id}==\"FUJ*\" ENV{NAME}=\"Serial Wacom Tablet\", " + "ENV{ID_INPUT}=\"1\", " + "ENV{ID_INPUT_TABLET}=\"1\"\n" + "LABEL=\"wacom_end\"\n")))))))))) (define package-list (append @@ -157,9 +173,12 @@ "curl" "dconf" "gnunet" + "libinput" + "libwacom" "lvm2" "openssh" "openssl" + "xf86-input-wacom" ;; Utilities "vim" diff --git a/etc/guix-config/cobra/os.scm b/etc/guix-config/cobra/os.scm index 092bbb9..bb5e209 100644 --- a/etc/guix-config/cobra/os.scm +++ b/etc/guix-config/cobra/os.scm @@ -1,4 +1,4 @@ -(add-to-load-path "/etc/guix-config") +(add-to-load-path (canonicalize-path "..")) (define-module (cobra os) #:use-module (gnu) diff --git a/etc/guix-config/neon.scm b/etc/guix-config/neon.scm index d09dbe9..05c776c 100644 --- a/etc/guix-config/neon.scm +++ b/etc/guix-config/neon.scm @@ -1,4 +1,4 @@ -(add-to-load-path "/etc/guix-config") +(add-to-load-path (dirname (current-filename))) (use-modules (gnu) (cobra os)) (operating-system diff --git a/etc/guix-config/oganesson.scm b/etc/guix-config/oganesson.scm index 698c140..cb2ca1f 100644 --- a/etc/guix-config/oganesson.scm +++ b/etc/guix-config/oganesson.scm @@ -1,4 +1,4 @@ -(add-to-load-path "/etc/guix-config") +(add-to-load-path (dirname (current-filename))) (use-modules (gnu) (cobra os)) (operating-system diff --git a/etc/guix-config/radon.scm b/etc/guix-config/radon.scm new file mode 100644 index 0000000..9d2b93f --- /dev/null +++ b/etc/guix-config/radon.scm @@ -0,0 +1,29 @@ +(add-to-load-path (dirname (current-filename))) +(use-modules (gnu) + (gnu services base) + (gnu services shepherd) + (gnu packages linux) + (cobra os) (cobra lists)) + +(operating-system + (inherit %base-guix-system) + (host-name "Radon") + (mapped-devices (list + (mapped-device + (source (uuid "974eb14d-93e7-4e23-b530-6dc538ea3e86")) + (target "fde") + (type luks-device-mapping)) + (mapped-device + (source "matrix") + (targets (list "matrix-rootvol")) + (type lvm-device-mapping)))) + (file-systems (append (list + (file-system + (type "btrfs") + (mount-point "/") + (device (file-system-label "root")) + (flags '(no-atime)) + (options "space_cache=v2") + (needed-for-boot? #t) + (dependencies mapped-devices))) + %base-file-systems)))