Here is my current configuration:
config.scm
(use-modules
(gnu)
(gnu packages admin)
(gnu packages certs)
(gnu packages fonts)
(gnu packages gnome)
(gnu packages package-management)
(gnu packages text-editors)
(gnu packages terminals)
(gnu packages wm)
(gnu packages xdisorg)
(nongnu packages linux)
(nongnu packages mozilla)
(nongnu system linux-initrd))
(use-service-modules
desktop networking ssh xorg)
(operating-system
(host-name "guix")
(kernel linux)
(initrd microcode-initrd)
(firmware (cons*
realtek-firmware
%base-firmware))
(timezone "Asia/Kolkata")
(locale "en_IN.utf8")
(keyboard-layout (keyboard-layout "in" "en"))
(bootloader
(bootloader-configuration
(bootloader grub-efi-bootloader)
(targets '("/boot"))))
(file-systems (cons*
(file-system
(device (file-system-label "guix"))
(mount-point "/")
(type "btrfs"))
(file-system
(device (uuid "C938-C7C0" 'fat))
(mount-point "/boot")
(type "vfat"))
%base-file-systems))
(swap-devices
(list
(swap-space
(target
(uuid "4550d1a4-3566-47a2-a3bc-8d77c87acc62")))))
(users (cons
(user-account
(name "guix")
(comment "Guix System")
(group "users")
(supplementary-groups '("wheel" "netdev" "audio" "video")))
%base-user-accounts))
(packages (cons*
gnome-tweaks kakoune
nss-certs tree nix
firefox font-google-noto
font-google-noto-emoji
font-google-noto-sans-cjk
font-google-noto-serif-cjk
font-awesome %base-packages))
(services (cons*
(service openssh-service-type)
(service bluetooth-service-type)
(service xfce-desktop-service-type)
(modify-services %desktop-services
(guix-service-type
config =>
(guix-configuration
(inherit config)
(substitute-urls (cons*
"https://substitutes.nonguix.org"
%default-substitute-urls))
(authorized-keys (cons*
(local-file "./signing-key.pub")
%default-authorized-guix-keys))))))))
I am currently on a low-end laptop, as my device has broken down. It runs on 4GB of RAM, and GNOME is pretty heavy on this device. I am looking for a custom WM setup based on Wayland preferably (river, hyprland, sway or dwl). I do not want any fancy shortcuts for terminal or any other app. I want to be able to use a launcher and toggle between workspaces. I want snapping and multi-window gestures just like how it works on GNOME. I would appreciate shortcut icons for shutdown, wifi and sound. And last but not the least, I want to be able to control brightness and light/dark mode.
Can anyone recommend me how I can start setting up a WM in this config file? What do I need to add, apart from the WM itself?
Go and watch systemcrafters videos on guix. The “install guix as an OS” one will teach you the basics. Maybe the follow-up ones, can’t remember which deals with basic package management
Install all of those WMs and try them out. Login manager setup should be automatic
Learn how to customize the one you like in order to give it those features you want
If necessary, install and customise a bar like polybar