Compare commits

...

1 Commits

Author SHA1 Message Date
Colin 8f9cef6ff3 WIP: sxmo: ship deps via package instead of at the DE level 2023-06-23 02:12:23 +00:00
2 changed files with 69 additions and 24 deletions

View File

@ -187,33 +187,10 @@ in
# TODO: could use `displayManager.sessionPackages`?
environment.systemPackages = with pkgs; [
bc
bemenu
bonsai
conky
gojq
inotify-tools
j4-dmenu-desktop
jq
libnotify
lisgd
mako
sfeed
superd
sway
swayidle
sxmo-utils
wob
wvkbd
xdg-user-dirs
# X11 only?
xdotool
cfg.deviceHooks
cfg.hooks
] ++ lib.optionals (config.services.pipewire.pulse.enable) [ pulseaudio ] # for pactl
++ lib.optionals (cfg.terminal != null) [ pkgs."${cfg.terminal}" ]
] ++ lib.optionals (cfg.terminal != null) [ pkgs."${cfg.terminal}" ]
++ lib.optionals (cfg.keyboard != null) [ pkgs."${cfg.keyboard}" ];
environment.sessionVariables = {

View File

@ -1,11 +1,58 @@
{ stdenv
, bc
, bemenu
, bonsai
, conky
, fetchgit
, gitUpdater
, gojq
, inotify-tools
, j4-dmenu-desktop
, jq
, lib
, libnotify
, lisgd
, makeWrapper
, mako
, pulseaudio
, rsync
, scdoc
, sfeed
, superd
, sway
, swayidle
, wob
, wvkbd
, xdg-user-dirs
, xdotool
}:
let
runtimeDeps = [
bc
bemenu
bonsai
conky
gojq
inotify-tools
j4-dmenu-desktop
jq
libnotify
lisgd
mako
pulseaudio
sfeed
superd
sway
swayidle
wob
wvkbd
xdg-user-dirs
# X11 only?
xdotool
];
in
stdenv.mkDerivation rec {
pname = "sxmo-utils";
version = "1.14.2";
@ -41,6 +88,7 @@ stdenv.mkDerivation rec {
'';
nativeBuildInputs = [
makeWrapper
scdoc
];
@ -50,6 +98,26 @@ stdenv.mkDerivation rec {
"PREFIX="
];
# we don't wrap sxmo_common.sh or sxmo_init.sh
# which is unfortunate, for non-sxmo-utils files that might source though.
# if that's a problem, could inject a PATH=... line into them with sed.
postInstall = ''
for f in \
$out/bin/*.sh \
$out/etc/profile.d/sxmo_init.sh \
$out/sxmo/default_hooks/desktop/sxmo_hook_*.sh \
$out/sxmo/default_hooks/one_button_e_reader/sxmo_hook_*.sh \
$out/sxmo/default_hooks/three_button_touchscreen/sxmo_hook_*.sh \
$out/sxmo/default_hooks/sxmo_hook_*.sh \
$out/sxmo/profile.d/sxmo_init.sh \
; do
if [ $(basename $f) != sxmo_common.sh -a $(basename $f) != sxmo_init.sh ]; then
wrapProgram "$f" \
--prefix PATH : "${lib.makeBinPath runtimeDeps}"
fi
done
'';
passthru = {
providedSessions = [ "sxmo" "swmo" ];
updateScript = gitUpdater { };