2023-05-17 23:17:24 +00:00
|
|
|
# this supports being used as an overlay or in a standalone context
|
|
|
|
# - if overlay, invoke as `(final: prev: import ./. { inherit final; pkgs = prev; })`
|
|
|
|
# - if standalone: `import ./. { inherit pkgs; }`
|
|
|
|
#
|
|
|
|
# using the correct invocation is critical if any packages mentioned here are
|
|
|
|
# additionally patched elsewhere
|
|
|
|
#
|
|
|
|
{ pkgs ? import <nixpkgs> {}, final ? null }:
|
2023-05-03 05:59:48 +00:00
|
|
|
let
|
2023-05-17 23:17:24 +00:00
|
|
|
lib = pkgs.lib;
|
|
|
|
unpatched = pkgs;
|
2023-05-03 08:16:46 +00:00
|
|
|
|
2023-06-26 01:25:46 +00:00
|
|
|
pythonPackagesOverlayFor = pkgs: py-final: py-prev: import ./python-packages {
|
2023-05-03 08:16:46 +00:00
|
|
|
inherit (py-final) callPackage;
|
2023-06-26 01:25:46 +00:00
|
|
|
inherit pkgs;
|
2023-05-03 08:16:46 +00:00
|
|
|
};
|
2023-11-26 01:20:17 +00:00
|
|
|
final' = if final != null then final else pkgs.appendOverlays [(_: _: sane-overlay)];
|
|
|
|
sane-additional = with final'; {
|
2023-05-23 09:44:05 +00:00
|
|
|
sane-data = import ../modules/data { inherit lib sane-lib; };
|
2023-05-17 23:17:24 +00:00
|
|
|
sane-lib = import ../modules/lib final';
|
2023-05-03 05:59:48 +00:00
|
|
|
|
|
|
|
### ADDITIONAL PACKAGES
|
2024-03-10 02:35:10 +00:00
|
|
|
blast-ugjka = callPackage ./additional/blast-ugjka { };
|
2023-05-03 05:59:48 +00:00
|
|
|
bootpart-uefi-x86_64 = callPackage ./additional/bootpart-uefi-x86_64 { };
|
2023-05-03 22:29:32 +00:00
|
|
|
cargoDocsetHook = callPackage ./additional/cargo-docset/hook.nix { };
|
2023-08-02 10:49:44 +00:00
|
|
|
chatty-latest = callPackage ./additional/chatty-latest { };
|
2023-11-29 09:51:42 +00:00
|
|
|
codemadness-frontends = callPackage ./additional/codemadness-frontends { };
|
2023-11-29 12:31:36 +00:00
|
|
|
codemadness-frontends_0_6 = codemadness-frontends.v0_6;
|
2023-12-15 08:08:11 +00:00
|
|
|
delfin = callPackage ./additional/delfin { };
|
2023-08-22 04:41:54 +00:00
|
|
|
eg25-control = callPackage ./additional/eg25-control { };
|
2023-08-07 07:41:00 +00:00
|
|
|
eg25-manager = callPackage ./additional/eg25-manager { };
|
2023-05-03 05:59:48 +00:00
|
|
|
feeds = lib.recurseIntoAttrs (callPackage ./additional/feeds { });
|
2023-07-17 03:11:08 +00:00
|
|
|
firefox-extensions = lib.recurseIntoAttrs (callPackage ./additional/firefox-extensions { });
|
2023-11-29 04:29:40 +00:00
|
|
|
flare-signal-nixified = callPackage ./additional/flare-signal-nixified { };
|
2024-05-19 21:16:06 +00:00
|
|
|
fractal-nixified = callPackage ./additional/fractal-nixified { };
|
2024-03-09 00:58:44 +00:00
|
|
|
geary-gtk4 = callPackage ./additional/geary-gtk4 { };
|
2023-05-03 05:59:48 +00:00
|
|
|
gopass-native-messaging-host = callPackage ./additional/gopass-native-messaging-host { };
|
2023-06-13 05:08:41 +00:00
|
|
|
gpodder-adaptive = callPackage ./additional/gpodder-adaptive { };
|
|
|
|
gpodder-adaptive-configured = callPackage ./additional/gpodder-configured {
|
2023-06-26 01:09:27 +00:00
|
|
|
gpodder = final'.gpodder-adaptive;
|
2023-06-13 05:08:41 +00:00
|
|
|
};
|
2023-05-03 05:59:48 +00:00
|
|
|
gpodder-configured = callPackage ./additional/gpodder-configured { };
|
2024-04-25 03:56:57 +00:00
|
|
|
hackgregator = callPackage ./additional/hackgregator { };
|
2023-11-29 04:29:40 +00:00
|
|
|
jellyfin-media-player-qt6 = callPackage ./additional/jellyfin-media-player-qt6 { };
|
2023-07-18 23:05:26 +00:00
|
|
|
koreader-from-src = callPackage ./additional/koreader-from-src { };
|
2024-01-26 16:52:33 +00:00
|
|
|
landlock-sandboxer = callPackage ./additional/landlock-sandboxer { };
|
2023-07-09 00:32:22 +00:00
|
|
|
ldd-aarch64 = callPackage ./additional/ldd-aarch64 { };
|
2023-11-29 04:29:40 +00:00
|
|
|
lemoa = callPackage ./additional/lemoa { };
|
2024-02-01 11:32:01 +00:00
|
|
|
lemmy-lemonade = callPackage ./additional/lemonade { }; # XXX: nixpkgs already has a `lemonade` pkg
|
2024-05-18 22:52:20 +00:00
|
|
|
libdng = callPackage ./additional/libdng { };
|
2024-05-18 22:33:17 +00:00
|
|
|
libmegapixels = callPackage ./additional/libmegapixels { };
|
2023-05-03 05:59:48 +00:00
|
|
|
lightdm-mobile-greeter = callPackage ./additional/lightdm-mobile-greeter { };
|
2023-09-18 13:35:34 +00:00
|
|
|
linux-firmware-megous = callPackage ./additional/linux-firmware-megous { };
|
2023-10-11 05:40:55 +00:00
|
|
|
# XXX: eval error: need to port past linux_6_4
|
|
|
|
# linux-manjaro = callPackage ./additional/linux-manjaro { };
|
2023-05-03 05:59:48 +00:00
|
|
|
linux-megous = callPackage ./additional/linux-megous { };
|
2024-05-21 10:10:04 +00:00
|
|
|
linux-postmarketos = callPackage ./additional/linux-postmarketos { };
|
2023-08-13 09:24:17 +00:00
|
|
|
mcg = callPackage ./additional/mcg { };
|
2024-05-18 22:52:20 +00:00
|
|
|
megapixels-next = callPackage ./additional/megapixels-next { };
|
2023-05-03 05:59:48 +00:00
|
|
|
mx-sanebot = callPackage ./additional/mx-sanebot { };
|
2024-01-14 02:36:43 +00:00
|
|
|
peerswap = callPackage ./additional/peerswap { };
|
2023-08-26 13:04:07 +00:00
|
|
|
phog = callPackage ./additional/phog { };
|
2023-11-29 04:28:19 +00:00
|
|
|
pipeline = callPackage ./additional/pipeline { };
|
2023-05-03 05:59:48 +00:00
|
|
|
rtl8723cs-firmware = callPackage ./additional/rtl8723cs-firmware { };
|
2023-10-10 08:00:25 +00:00
|
|
|
rtl8723cs-wowlan = callPackage ./additional/rtl8723cs-wowlan { };
|
2024-04-23 07:37:17 +00:00
|
|
|
sane-cast = callPackage ./additional/sane-cast { };
|
2024-04-21 10:08:46 +00:00
|
|
|
sane-die-with-parent = callPackage ./additional/sane-die-with-parent { };
|
2024-04-30 19:03:08 +00:00
|
|
|
sane-open = callPackage ./additional/sane-open { };
|
2024-03-02 02:02:47 +00:00
|
|
|
sane-screenshot = callPackage ./additional/sane-screenshot { };
|
2023-08-02 21:11:49 +00:00
|
|
|
sane-scripts = lib.recurseIntoAttrs (callPackage ./additional/sane-scripts { });
|
2023-08-23 11:14:13 +00:00
|
|
|
sane-weather = callPackage ./additional/sane-weather { };
|
2024-05-15 01:41:40 +00:00
|
|
|
sanebox = callPackage ./additional/sanebox { };
|
2024-03-07 09:36:53 +00:00
|
|
|
schlock = callPackage ./additional/schlock { };
|
2023-11-02 09:10:08 +00:00
|
|
|
signal-desktop-from-src = callPackage ./additional/signal-desktop-from-src { };
|
2023-05-03 05:59:48 +00:00
|
|
|
static-nix-shell = callPackage ./additional/static-nix-shell { };
|
|
|
|
sublime-music-mobile = callPackage ./additional/sublime-music-mobile { };
|
2024-03-07 01:42:43 +00:00
|
|
|
swaylock-mobile = callPackage ./additional/swaylock-mobile { };
|
2024-03-07 01:00:44 +00:00
|
|
|
swaylock-plugin = callPackage ./additional/swaylock-plugin { };
|
2024-03-07 01:34:53 +00:00
|
|
|
sxmo_swaylock = callPackage ./additional/sxmo_swaylock { };
|
2023-11-19 23:44:48 +00:00
|
|
|
sxmo-utils = callPackage ./additional/sxmo-utils { };
|
2024-03-08 10:05:43 +00:00
|
|
|
sysvol = callPackage ./additional/sysvol { };
|
2023-05-03 05:59:48 +00:00
|
|
|
tow-boot-pinephone = callPackage ./additional/tow-boot-pinephone { };
|
2023-07-07 08:33:15 +00:00
|
|
|
tree-sitter-nix-shell = callPackage ./additional/tree-sitter-nix-shell { };
|
2023-09-11 22:56:54 +00:00
|
|
|
trivial-builders = lib.recurseIntoAttrs (callPackage ./additional/trivial-builders { });
|
2024-03-08 01:06:13 +00:00
|
|
|
wvkbd-mk = callPackage ./additional/wvkbd-mk { };
|
2023-09-11 22:56:54 +00:00
|
|
|
inherit (trivial-builders)
|
2024-02-16 14:49:28 +00:00
|
|
|
copyIntoOwnPackage
|
|
|
|
linkIntoOwnPackage
|
2023-09-11 22:56:54 +00:00
|
|
|
rmDbusServices
|
2024-02-19 13:43:22 +00:00
|
|
|
rmDbusServicesInPlace
|
2024-05-20 06:13:46 +00:00
|
|
|
runCommandLocalOverridable
|
2023-09-11 22:56:54 +00:00
|
|
|
;
|
2023-06-18 06:38:01 +00:00
|
|
|
unftp = callPackage ./additional/unftp { };
|
2023-10-07 04:34:15 +00:00
|
|
|
where-am-i = callPackage ./additional/where-am-i { };
|
2023-06-14 00:32:54 +00:00
|
|
|
zecwallet-light-cli = callPackage ./additional/zecwallet-light-cli { };
|
2023-05-03 05:59:48 +00:00
|
|
|
|
|
|
|
# packages i haven't used for a while, may or may not still work
|
|
|
|
# fluffychat-moby = callPackage ./additional/fluffychat-moby { };
|
|
|
|
# kaiteki = callPackage ./additional/kaiteki { };
|
|
|
|
|
|
|
|
# old rpi packages that may or may not still work
|
|
|
|
# bootpart-tow-boot-rpi-aarch64 = callPackage ./additional/bootpart-tow-boot-rpi-aarch64 { };
|
|
|
|
# bootpart-u-boot-rpi-aarch64 = callPackage ./additional/bootpart-u-boot-rpi-aarch64 { };
|
|
|
|
# tow-boot-rpi4 = callPackage ./additional/tow-boot-rpi4 { };
|
|
|
|
# patch rpi uboot with something that fixes USB HDD boot
|
|
|
|
# ubootRaspberryPi4_64bit = callPackage ./additional/ubootRaspberryPi4_64bit { };
|
|
|
|
|
|
|
|
# provided by nixpkgs patch or upstream PR
|
2023-05-24 05:52:45 +00:00
|
|
|
# i still conditionally callPackage these to make them available to external consumers (like NUR)
|
2023-11-26 01:20:17 +00:00
|
|
|
splatmoji = callPackage ./additional/splatmoji { };
|
|
|
|
};
|
2023-05-03 05:59:48 +00:00
|
|
|
|
2023-11-26 01:20:17 +00:00
|
|
|
sane-patched = with final'; {
|
2023-05-03 05:59:48 +00:00
|
|
|
### PATCHED PACKAGES
|
|
|
|
|
|
|
|
# XXX: the `inherit`s here are because:
|
|
|
|
# - pkgs.callPackage draws from the _final_ package set.
|
|
|
|
# - unpatched.XYZ draws (selectively) from the _unpatched_ package set.
|
|
|
|
# see <overlays/pkgs.nix>
|
2023-06-01 09:19:45 +00:00
|
|
|
|
|
|
|
# XXX patching this is... really costly.
|
|
|
|
# prefer to set ALSA_CONFIG_UCM2 = "${pkgs.alsa-ucm-conf-sane}/share/alsa/ucm2" if possible instead.
|
2024-02-01 15:44:46 +00:00
|
|
|
# alsa-project = unpatched.alsa-project.overrideScope (sself: ssuper: {
|
2023-06-01 21:18:32 +00:00
|
|
|
# alsa-ucm-conf = sself.callPackage ./additional/alsa-ucm-conf-sane { inherit (ssuper) alsa-ucm-conf; };
|
2023-06-01 09:19:45 +00:00
|
|
|
# });
|
|
|
|
|
2023-05-03 05:59:48 +00:00
|
|
|
browserpass = callPackage ./patched/browserpass { inherit (unpatched) browserpass; };
|
|
|
|
|
|
|
|
# mozilla keeps nerfing itself and removing configuration options
|
|
|
|
firefox-unwrapped = callPackage ./patched/firefox-unwrapped { inherit (unpatched) firefox-unwrapped; };
|
|
|
|
|
|
|
|
gocryptfs = callPackage ./patched/gocryptfs { inherit (unpatched) gocryptfs; };
|
|
|
|
|
2023-07-07 10:43:13 +00:00
|
|
|
helix = callPackage ./patched/helix { inherit (unpatched) helix; };
|
|
|
|
|
2024-03-11 07:55:53 +00:00
|
|
|
# ibus = callPackage ./patched/ibus { inherit (unpatched) ibus; };
|
2023-08-25 12:01:49 +00:00
|
|
|
|
2023-05-03 05:59:48 +00:00
|
|
|
# jackett doesn't allow customization of the bind address: this will probably always be here.
|
|
|
|
jackett = callPackage ./patched/jackett { inherit (unpatched) jackett; };
|
|
|
|
|
2023-08-18 02:17:09 +00:00
|
|
|
# modemmanager = callPackage ./patched/modemmanager { inherit (unpatched) modemmanager; };
|
2023-08-17 08:34:18 +00:00
|
|
|
|
2023-05-03 05:59:48 +00:00
|
|
|
|
|
|
|
### PYTHON PACKAGES
|
2023-05-03 06:13:18 +00:00
|
|
|
pythonPackagesExtensions = (unpatched.pythonPackagesExtensions or []) ++ [
|
2023-06-26 01:25:46 +00:00
|
|
|
(pythonPackagesOverlayFor final')
|
2023-05-03 06:13:18 +00:00
|
|
|
];
|
2023-05-03 06:47:41 +00:00
|
|
|
# when this scope's applied as an overlay pythonPackagesExtensions is propagated as desired.
|
|
|
|
# but when freestanding (e.g. NUR), it never gets plumbed into the outer pkgs, so we have to do that explicitly.
|
2023-05-03 08:16:46 +00:00
|
|
|
python3 = unpatched.python3.override {
|
2023-06-26 01:25:46 +00:00
|
|
|
packageOverrides = pythonPackagesOverlayFor final';
|
2023-05-03 08:16:46 +00:00
|
|
|
};
|
2023-05-17 23:17:24 +00:00
|
|
|
};
|
2023-11-26 01:20:17 +00:00
|
|
|
sane-overlay = {
|
|
|
|
sane = lib.recurseIntoAttrs (sane-additional // sane-patched);
|
|
|
|
}
|
|
|
|
# patched packages always override anything:
|
|
|
|
// (lib.mapAttrs (pname: _pkg: final'.sane."${pname}") sane-patched)
|
2024-02-18 04:07:23 +00:00
|
|
|
# "additional" packages only get added if their version is newer than upstream
|
|
|
|
// (lib.mapAttrs
|
2024-02-26 18:01:47 +00:00
|
|
|
(pname: _pkg: if unpatched ? "${pname}" && unpatched."${pname}" ? version && lib.versionAtLeast unpatched."${pname}".version final'.sane."${pname}".version then
|
2024-02-18 04:07:23 +00:00
|
|
|
unpatched."${pname}"
|
|
|
|
else
|
|
|
|
final'.sane."${pname}"
|
|
|
|
)
|
|
|
|
sane-additional
|
|
|
|
)
|
2023-12-20 09:21:11 +00:00
|
|
|
;
|
2023-11-26 01:20:17 +00:00
|
|
|
in sane-overlay
|