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?

  • drndramrndra
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    5 months ago
    1. 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

    2. Install all of those WMs and try them out. Login manager setup should be automatic

    3. Learn how to customize the one you like in order to give it those features you want

    4. If necessary, install and customise a bar like polybar