nix-files/pkgs/additional/sxmo-utils/default.nix

141 lines
5.8 KiB
Nix

{ callPackage
, fetchpatch
}:
let
patches = {
merged = [
(fetchpatch {
# merged post 1.14.2
# [1/2] sxmo_init: behave well when user's primary group differs from their name
# [2/2] sxmo_init: ensure XDG_STATE_HOME exists
url = "https://lists.sr.ht/~mil/sxmo-devel/patches/42309/mbox";
hash = "sha256-GVWJWTccZeaKsVtsUyZFYl9/qEwJ5U7Bu+DiTDXLjys=";
})
(fetchpatch {
# merged post 1.14.2
# sxmo_hook_block_suspend: don't assume there's only one MPRIS player
url = "https://lists.sr.ht/~mil/sxmo-devel/patches/42441/mbox";
hash = "sha256-YmkJ4JLIG/mHosRlVQqvWzujFMBsuDf5nVT3iOi40zU=";
})
(fetchpatch {
# merged post 1.14.2
# i only care about patch no. 2
# [1/2] suspend toggle: silence rm failure noise
# [2/2] config: fix keyboard files location
name = "multipatch: 42880";
url = "https://lists.sr.ht/~mil/sxmo-devel/patches/42880/mbox";
hash = "sha256-tAMPBb6vwzj1dFMTEaqrcCJU6FbQirwZgB0+tqW3rQA=";
})
(fetchpatch {
# merged post 1.14.2
name = "Switch from light to brightnessctl";
url = "https://git.sr.ht/~mil/sxmo-utils/commit/d0384a7caed036d25228fa3279c36c0230795e4a.patch";
hash = "sha256-/UlcuEI5cJnsqRuZ1zWWzR4dyJw/zYeB1rtJWFeSGEE=";
})
(fetchpatch {
# merged post 1.14.2
name = "sxmo_hook_lock: allow configuration of auto-screenoff timeout v1";
url = "https://lists.sr.ht/~mil/sxmo-devel/patches/42443/mbox";
hash = "sha256-c4VySbVJgsbh2h+CnCgwWWe5WkAregpYFqL8n3WRXwY=";
})
(fetchpatch {
# merged post 1.14.2
name = "sxmo_wmmenu: respect SXMO_WORKSPACE_WRAPPING";
url = "https://lists.sr.ht/~mil/sxmo-devel/patches/42698/mbox";
hash = "sha256-TrTlrthrpYdIMC8/RCMNaB8PcGQgtya/h2/uLNQDeWs=";
})
(fetchpatch {
# merged ~2023/08/22
name = "Make config gesture toggle persistent";
url = "https://lists.sr.ht/~mil/sxmo-devel/patches/42876/mbox";
hash = "sha256-Oa0MI0Kt9Xgl5L1KarHI6Yn4+vpRxUSujB1iY4hlK9c=";
})
(fetchpatch {
# merged ~2023/08/29
# [1/2] Makefile: obey PREFIX when installing udev rules
# [2/2] Makefile: use SYSCONFDIR instead of hardcoding /etc
name = "44110-multipatch-makefile-nixos";
url = "https://lists.sr.ht/~mil/sxmo-devel/patches/44110/mbox";
hash = "sha256-jXtwgOVGSjwWj7a36F6P+e63lKvk4OmFIzxTkf9yZMs=";
})
(fetchpatch {
# merged ~2023/10/04
name = ''sxmo_wmmenu.sh: add "Kill window" option'';
url = "https://lists.sr.ht/~mil/sxmo-devel/patches/45263/mbox";
hash = "sha256-qDvlLecAjxcKXP7tvhMnySkWPkj6oV0Z0Qm3kudazdk=";
})
];
unmerged = [
# (fetchpatch {
# XXX: doesn't apply cleanly to 1.14.2 release
# # Don't wait for led or status bar in state change hooks
# # - significantly decreases the time between power-button state transitions
# url = "https://lists.sr.ht/~mil/sxmo-devel/patches/43109/mbox";
# hash = "sha256-4uR2u6pa62y6SaRHYRn15YGDPILAs7py0mPbAjsgwM4=";
# })
(fetchpatch {
name = "sxmo_migrate: add option to disable configversion checks";
url = "https://lists.sr.ht/~mil/sxmo-devel/patches/44155/mbox";
hash = "sha256-ZcUD2UWPM8PxGM9TBnGe8JCJgMC72OZYzctDf2o7Ub0=";
})
## these might or might not be upstream-worthy
./0104-full-auto-rotate.patch
# ./0106-no-restart-lisgd.patch
## not upstreamable
# let NixOS manage the audio daemons (pulseaudio/pipewire)
./0005-system-audio.patch
];
# these don't apply cleanly to the stable release; only to latest
unmerged-tip-only = [
(fetchpatch {
name = "suspend: block if Dino is in a call";
# url = "https://git.uninsane.org/colin/sxmo-utils/commit/50c1a63f9858dcfcd7717960f1adbc90535af295.patch";
url = "https://lists.sr.ht/~mil/sxmo-devel/patches/45470/mbox";
hash = "sha256-ev+NLR4g68MWB4RENh7mCth02lTaXxCIAL/af5l8Mrw=";
})
# TODO: send these upstream
(fetchpatch {
name = "sxmo_hook_apps: add a few";
url = "https://git.uninsane.org/colin/sxmo-utils/commit/dd17fd707871961906ed4577b8c89f6128c5f121.patch";
hash = "sha256-Giek1MbyOtlPccmT8XQkLZWhX+EeJdzWVZtNgcLuTsI=";
})
(fetchpatch {
# experimental patch to launch apps via `swaymsg exec -- `
# this allows them to detach from sxmo_appmenu.sh (so, `pstree` looks cleaner)
# and more importantly they don't inherit the environment of sxmo internals (i.e. PATH).
# suggested by Aren in #sxmo.
#
# old pstree look:
# - sxmo_hook_inputhandler.sh volup_one
# - sxmo_appmenu.sh
# - sxmo_appmenu.sh applications
# - <application, e.g. chatty>
name = "sxmo_hook_apps: launch apps via the window manager";
url = "https://git.uninsane.org/colin/sxmo-utils/commit/0087acfecedf9d1663c8b526ed32e1e2c3fc97f9.patch";
hash = "sha256-YwlGM/vx3ZrBShXJJYuUa7FTPQ4CFP/tYffJzUxC7tI=";
})
# (fetchpatch {
# name = "sxmo_log: print to console";
# url = "https://git.uninsane.org/colin/sxmo-utils/commit/030280cb83298ea44656e69db4f2693d0ea35eb9.patch";
# hash = "sha256-dc71eztkXaZyy+hm5teCw9lI9hKS68pPoP53KiBm5Fg=";
# })
];
};
in {
stable = callPackage ./common.nix {
version = "1.14.2";
hash = "sha256-1bGCUhf/bt9I8BjG/G7sjYBzLh28iZSC20ml647a3J4=";
patches = patches.merged ++ patches.unmerged;
};
latest = callPackage ./common.nix {
version = "unstable-2023-10-05";
rev = "05fd5112d5f2b49051cbb2f0bbb25202363bf83e";
hash = "sha256-YmVe9P0w2KSqj6G/az499r7+z3Crfm3TbBIawjVKP1M=";
patches = patches.unmerged ++ patches.unmerged-tip-only;
};
}