engstrand-config / home-service-dwl-guile Goto Github PK
View Code? Open in Web Editor NEWGNU Guix home service for the dwl window manager with dynamic configuration in Guile Scheme
License: GNU General Public License v3.0
GNU Guix home service for the dwl window manager with dynamic configuration in Guile Scheme
License: GNU General Public License v3.0
I really like the looks of dwl-guile but am new to guix packages in general.
Is there an easy way to add a patch that is not included n your lisf of patches as there are a few things that I would like to add
An example in the readme would be help full if possible
I've hit the status problem described in the dwl FAQ with the dwl-guile home server. My dwl-guile instance, when started by the home server shepherd, hangs when stdout fills up. I can show this by ssh'ing into the machine, and doing a cat /proc/$(pidof dwl-guile)/1 -- dwl-guile starts up again.
I'm guessing this is because shepherd is not sending the stdout of dwl-guile somewhere in my setup -- should it default to a logfile somewhere?
Hey, I've recently given dwl-guile
a spin on my local machine and it works great, thank you! Have you thought about upstreaming this home service + feature to RDE, as well as the dwl-guile
package to Guix upstream?
README should be updated to show configuration options and setup for dwl-guile v2.0.0.
Hi!
The standard configuration works in a vanilla guix installation when I start dwl-guile with dwl-guile -c %config path%
. besides this build time error:
Loading /gnu/store/wnfrnn1ax6sfqxlpg2hk8mfdijmpphic-shepherd.conf. herd: exception caught while executing 'load' on service 'root':
nice!
When I want to auto-start dwl-guile on a tty with the
(service home-dwl-guile-service-type (home-dwl-guile-configuration (tty-number 2) (native-qt? #t))))))
directive in my home config the following error is produced on build-time:
couldn't create backend xxxx@guix_gnu ~$ guix home reconfigure src/guix-config/home-configuration.scm /home/xxxx/src/guix-config/home-configuration.scm:39:2: error: (%home-dwl-guile-configuration (tty-number 2) (native-qt? #t)): extraneous field initializers (tty-number)
Is this a bug or am I missing something ? Thanks.
Instead of sending signals, the dscm protocol should be extended, allowing clients to request the config to be reloaded. This way, a separate utility can be added which connects to the compositor and sends such an event. This should prevent all inconsistency with reloading the config.
I'm trying to use dwl-guile with Guix Home inside a Void Linux installation. When I start it with herd start dwl-guile
, it does not inherit the environment variables from the tty session nor loads ~/.profile
. If I start it manually, it works. Is this intended? If so, how could I load the profile upon launch? I use it to load additional Guix profiles like shown here.
My current config:
(define dwl-configuration
(home-dwl-guile-configuration
(package
(patch-dwl-guile-package dwl-guile
#:patches (list %patch-xwayland)))
(environment-variables
`(("XDG_CURRENT_DESKTOP" . "dwl")
("XDG_SESSION_TYPE" . "wayland")
("MOZ_ENABLE_WAYLAND" . "1")
("ELM_ENGINE" . "wayland_egl")
("ECORE_EVAS_ENGINE" . "wayland-egl")
("_JAVA_AWT_WM_NONREPARENTING" . "1")))
(auto-start? #f)
(native-qt? #f)
(config
`(((setq inhibit-defaults? #t)
(dwl:start-repl-server)
(setq tags (map number->string (iota 9 1)))
(dwl:set-tty-keys "C-M")
(dwl:set-tag-keys "s" "s-S")
(set-keys "s-<space>" 'dwl:toggle-floating
"s-<return>" '(dwl:spawn "foot")
"s-p" '(dwl:spawn "bemenu-run")
"s-e" '(dwl:spawn "emacsclient" "-c")
"s-j" '(dwl:focus-stack 1)
"s-k" '(dwl:focus-stack -1)
"s-l" '(dwl:change-master-factor 0.05)
"s-h" '(dwl:change-master-factor -0.05)
"s-<page-up>" '(dwl:change-masters 1)
"s-<page-down>" '(dwl:change-masters -1)
"s-t" '(dwl:cycle-layout 1)
"s-<left>" '(dwl:focus-monitor 'DIRECTION-LEFT)
"s-<right>" '(dwl:focus-monitor 'DIRECTION-RIGHT)
"s-<up>" '(dwl:focus-monitor 'DIRECTION-UP)
"s-<down>" '(dwl:focus-monitor 'DIRECTION-DOWN)
"s-S-<left>" '(dwl:tag-monitor 'DIRECTION-LEFT)
"s-S-<right>" '(dwl:tag-monitor 'DIRECTION-RIGHT)
"s-S-<up>" '(dwl:tag-monitor 'DIRECTION-UP)
"s-S-<down>" '(dwl:tag-monitor 'DIRECTION-DOWN)
"s-S-c" 'dwl:kill-client
"s-<tab>" 'dwl:view
"s-S-0" '(dwl:view 0) ;; 0 will show all tags
"s-f" 'dwl:toggle-fullscreen
"S-s-q" 'dwl:quit
"s-<mouse-left>" 'dwl:move
"s-<mouse-middle>" 'dwl:toggle-floating
"s-<mouse-right>" 'dwl:resize)
(set-layouts 'default "[]=" 'dwl:tile
'monocle "|M|" 'dwl:monocle)
;; Launch helpful programs after init
(add-hook! dwl:hook-startup
(lambda ()
;(dwl:spawn "setxkbmap" "-option" "ctrl:nocaps")
(dwl:spawn "dunst")
;(dwl:spawn "nm-applet" "--indicator")
(dwl:spawn "dtao-guile" "-c" ".config/dtao-guile/config.scm")
(dwl:spawn "emacs" "--daemon"))))))))
It is nice to have other TTY's as escape hatches in case dwl-guile and Sheperd decides to not play nice.
The current configuration is too complex and is essentially unusable without using the home service. A much better option would be to implement an Emacs-like approach to the configuration, where variables can be set/unset/updated using something like setq
.
Obviously, it should not be anywhere near as advanced as Emacs, but it should support the most basic operations. A config for dwl-guile might look like this:
`((setq border-px 2)
(setq root-color "#FFFFFF")
(global-set-key
(kbd "C-s-<enter>")
(lambda () (...)))
(...))
Hi, I have two questions:
(patch-dwl-guile-package dwl-guile #:patches '(%patch-xwayland))
and that gave me the following error:Backtrace:
In guix/store.scm:
1996:8 19 (_ _)
In guix/gexp.scm:
299:22 18 (_ _)
In guix/store.scm:
1996:8 17 (_ _)
In guix/packages.scm:
1971:11 16 (_ _)
In guix/gexp.scm:
1180:2 15 (_ #<store-connection 256.99 ffff71e59280>)
1046:2 14 (_ _)
892:4 13 (_ _)
In guix/store.scm:
2053:12 12 (_ #<store-connection 256.99 ffff71e59280>)
1380:11 11 (map/accumulate-builds #<store-connection 256.99 ffff7…> …)
1298:8 10 (call-with-build-handler #<procedure ffff71539f30 at g…> …)
2168:25 9 (run-with-store #<store-connection 256.99 ffff71e59280> …)
In guix/gexp.scm:
897:13 8 (_ _)
In guix/store.scm:
1996:8 7 (_ _)
In guix/gexp.scm:
299:22 6 (_ _)
In guix/packages.scm:
2092:7 5 (_ _)
954:17 4 (patch-and-repack #<derivation /gnu/store/xjwdca6bp36w…> …)
In srfi/srfi-1.scm:
586:17 3 (map1 (%patch-xwayland))
In guix/packages.scm:
940:4 2 (instantiate-patch _)
In ice-9/boot-9.scm:
1685:16 1 (raise-exception _ #:continuable? _)
1685:16 0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Throw to key `match-error' with args `("match" "no matching pattern" %patch-xwayland)'.
which made me think that I might need the value rather than the '%patch-xwayland
symbol. Changing it to (list %patch-xwayland)
got rid of the error. Is that right, or should it be a symbol that I'm not importing?
(service home-dwl-guile-service-type
(home-dwl-guile-configuration
(package
(patch-dwl-guile-package dwl-guile
#:patches (list %patch-xwayland)))
(reload-config-on-change? #t)))
Wayland apps work fine, but X apps still do not launch. Do I need to do any extra steps?
Hey there!
I'm currently setting up a Guix system, and I wrote a full config for dwl-guile
by following the instructions in the README
.
Unfortunately, I can't start up the dwl-guile
service if any setq
commands were used, such as:
(setq inhibit-defaults? #t)
(setq border-px 2)
(setq focus-color "#112233")
Confused, I checked dwl-guile.log
to find this:
guile: uncaught exception
Syntax error:
unknown location: source expression failed to match any pattern in form setq
Seeing that nobody else has reported this as an issue, this seems to be a problem on my end.
I did try to use dwl-guile without the service, but I just get a segmentation fault whenever I specify my config file.
If there's anything I left out that you need to know, please let me know!
There is really no reason to patch default dwl instead of simply compiling and installing the latest release from Github. One downside of patching dwl is that it relies on dwl 0.2.1 being the default version in Guix.
I have found that if I use foot as a terminal with dwl-guile that any time that I close foot dwl-guile will crash.
This is with the current version of foot from guix
Is this a known issue?
I see no errors show up on the console after the termination so this is a bit confusing.
Alacriity works as expected.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.