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?

  • BRINGit34@lemmygrad.ml
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    8 months ago

    So what you are describing is anything but a miminal window manager experience. If you want all the features of a desktop enviorment you will need to use a desktop enviorment. I use sway and I can’t even imagine the config file it would require to have something behave like gnome.

    I will say however you can have a user friendly experience on a wm. Rofi now has a wayland version and it can be setup to have power and wifi switches as well as appicons on the launcher.

    Not to mention the fact that if you were to use sway it would be completely absent of animation. You’d probably want something like hyprland which has alot of support for animations and looks very nice.

    Imho it would be worth it to just learn a wm on a low power device. It’s very rewarding once you get used to it and can be made to look very nice

    Edit: You may want to try a pre-configured wm like swayOS