Hi Jordan, Arne, Ian and thanks for your support. On Sunday, September 15th, 2024 at 6:39 PM, indieterminacy <[email protected]> wrote:
> Ive been having a go at this myself over the weekend but admittedly I > havent resolved it yet (my screen and keyboard froze). > > Ive been hacking from these two configs (the second of which uses SX, > rather than Startx): > https://github.com/jsoo1/dotfiles/blob/release/guix/config.scm > https://codeberg.org/tuff-engin/GuixConfigurationSkeleton > > I had recalled some mails regarding advances. > It seems that Tomas Volf's patches have made the procedure more > tangible: > https://issues.guix.gnu.org/68289 > https://git.savannah.gnu.org/cgit/guix.git/commit/gnu/services/xorg.scm?id=9948816819e0af23587d75701ba81d797ef7ea29 > https://git.savannah.gnu.org/cgit/guix.git/commit/gnu/services/xorg.scm?id=e51a930c5c5a8609b8656bf997ec853cc04391e7 > https://git.savannah.gnu.org/cgit/guix.git/commit/gnu/home/services/desktop.scm?id=8144c587f89641d5976d5b3832297d391d489fbd > > The documentation is currently only in the branch Devel (I dont know if > that means it is currently in conventional OSes): > https://guix.gnu.org/manual/devel/en/html_node/X-Window.html > https://guix.gnu.org/manual/devel/en/html_node/Desktop-Home-Services.html > > Ill have a go at resolving this but Im only (finally) getting used to > Home services, > so I may take some wrong paths. > > I find it a little disapointing that there arent examples for this > functionality, > so that somebody can dive in without being an expert. > Even a pointer to a dotfiles with the new functionality would be swell. > > Hopefully Ill resolve my own misunderstanding soon. > > Hopefully I merely need to write a config file and then point to it. > > Should this info help Id love to examine your config(s)! > > I do love EXWM though and cherish avoid GUIs to login (and all the cruft > those setups entail) -- dont lose hope, its worth it! > > Kind regards, > > > Jonathan I've been using this system config [1] so far and it works ok but it's still not the (almost) perfect setup I run with Sway. I'd prefer to avoid installing all the dependencies that come with GDM (mutter, gnome-control-center, gnome shell, ecc.) but I could live with that until we can come up with something better. I still haven't figured out: - how to start udiskie automatically at boot. With Sway `exec udiskie` was enough. I think this is also possible with a Guix service but I haven't had much time to mess with the code. - how to set up a keybinding to toggle two different keyboard layouts. With Sway I had to add `xkb_options grp:shift_caps_toggle` to the input code. - how to take screenshots and enable notifications in xorg without a desktop environment. With Sway I used grim and mako. - how to make Emacs PDFs not appear blurry, It was the same with Sway, but never figured out how to fix it. Unfortunately, before switching to Sway I only used xorg with DEs and I have no experience with the X config files. [1] ;; System config (use-modules (gnu) (gnu system)) (use-service-modules dbus desktop networking sound ssh xorg) (use-package-modules admin bootloaders certs emacs emacs-xyz glib screen ssh video wm xorg) (operating-system (host-name "t420") (timezone "Europe/Rome") (locale "en_US.utf8") (keyboard-layout (keyboard-layout "us")) (bootloader (bootloader-configuration (bootloader grub-bootloader) (targets '("/dev/sda")) (terminal-outputs '(console)))) (kernel-arguments (cons* "intel_idle.max_cstate=2" %default-kernel-arguments)) ;; Specify a mapped device for the encrypted root partition. ;; The UUID is that returned by 'cryptsetup luksUUID'. (mapped-devices (list (mapped-device (source (uuid "e4a3dcf5-c421-3157-61er-5fy712450j4t")) (targets (list "guix")) (type luks-device-mapping)))) (file-systems (append (list (file-system (device (file-system-label "guix")) (mount-point "/") (type "ext4") (dependencies mapped-devices))) %base-file-systems)) (swap-devices (list (swap-space (target "/swapfile")))) (users (cons (user-account (name "oleander") (comment "") (group "users") (home-directory "/home/oleander") (supplementary-groups '("wheel" "netdev" "audio" "video" "input"))) %base-user-accounts)) ;; System-wide packages. (packages (append (list dbus intel-vaapi-driver libva-utils openssh-sans-x screen emacs emacs-exwm emacs-desktop-environment wpa-supplicant xorg-server) %base-packages)) (services (cons* (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout) (extra-config '("Section \"InputClass\"\n" " Identifier \"libinput touchpad catchall\"\n" " Driver \"libinput\"\n" " MatchIsTouchpad \"on\"\n" " MatchDevicePath \"/dev/input/event*\"\n" " Option \"Tapping\" \"on\"\n" " Option \"TappingDrag\" \"on\"\n" " Option \"DisableWhileTyping\" \"on\"\n" "EndSection\n" "\n" ; https://wiki.archlinux.org/title/Libinput#Via_xinput "Section \"InputClass\"\n" " Identifier \"USB Mouse Pad USB Mouse Pad Mouse\"\n" " Driver \"libinput\"\n" " Option \"Middle Emulation\" \"on\"\n" " Option \"AccelSpeed\" \"1.0\"" "EndSection\n" "\n" "\n" "Section \"Device\"\n" " Identifier \"Intel Graphics\"\n" " Driver \"intel\"\n" " Option \"TearFree\" \"True\"\n" " Option \"DRI\" \"2\"\n" " Option \"AccelMethod\" \"sna\"\n" "EndSection" "\n")))) (modify-services %desktop-services (gdm-service-type config => (gdm-configuration (auto-login? #t) (default-user "oleander")))))) ;; Allow resolution of '.local' host names with mDNS. (name-service-switch %mdns-host-lookup-nss))
