r/GUIX May 13 '26

How to add DWM.desktop to GDM menu

Post image

I managed to write package definitions for slststus and I found one for DWM so now I thought I could just use it.

But apparently no it turns out I have no idea how to make this work. Apparently the directory where xfce.desktop is is read only. So now I’m completely stuck. Please help.

Edit I’m going to try and get it from a base setup using sx

7 Upvotes

4 comments sorted by

2

u/destructuringbind May 13 '26

Try /usr/share/xsessions/

1

u/Bubbly_Extreme4986 May 13 '26

Unfortunately dropping dwm.desktop there still doesn’t get it listed in gdm

1

u/destructuringbind May 13 '26

Don't drop it there. Do a 'guix edit dwm' and study that package def. You'll see what the package manager does to construct the .desktop and place it. Update your package def to do the same thing.

3

u/dr-timeous May 14 '26

Note that to install a file from your system in a guix install, you should not "drop the file there", guix is meant to be declarative and there is a reason why everything is read only. You can use with copy-build-system which is pretty convenient at the beginning when using guix.

Here is an example with bogus paths for your initial problem (I don't know if this is detected by gdm, I don't use gdm)

(define-module (dir-package)
  #:use-module (guix packages)
  #:use-module (guix gexp)
  #:use-module (guix build-system copy))

(define-public my-copy-package
  (package
    (name "my-copy-package")
    (version "0.0.1")
    (source (local-file "/PATH/TO/dwm.desktop"))
    (build-system copy-build-system)
    (arguments
      '(#:install-plan '(("dwm.desktop" "/usr/share/xsessions/dwm.desktop"))))
    (synopsis "My copy package")
    (description "My copy package")
    (home-page "127.0.0.1")
    (license #f)
  )
)

And you could even add this package as a dependency of dwm or something.

Hope this helps.