Compare commits
17 Commits
wip/feeds2
...
staging/ma
Author | SHA1 | Date | |
---|---|---|---|
638420ea0d | |||
d55dd5ace6 | |||
45695aed6b | |||
d6e79c4d07 | |||
380ceaf625 | |||
942c581107 | |||
b6d94c2e08 | |||
fd7acc8fc8 | |||
db670fc172 | |||
6438971c8c | |||
e439d398b6 | |||
0f25cba331 | |||
39959e912d | |||
62e649743d | |||
b1741a18e1 | |||
a829a8e027 | |||
d742ae83bd |
20
flake.lock
generated
20
flake.lock
generated
@@ -60,7 +60,7 @@
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1,
|
||||
"narHash": "sha256-5eJxyBRYQCoRt92ZFUOdT237Z0VscuNRd0pktDYWJYE=",
|
||||
"narHash": "sha256-FaeqnQPm3MIXkQsNsGTB4A9lN82YKpLkmVHgdJyJNGg=",
|
||||
"path": "nixpatches",
|
||||
"type": "path"
|
||||
},
|
||||
@@ -71,11 +71,11 @@
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1673163619,
|
||||
"narHash": "sha256-B33PFBL64ZgTWgMnhFL3jgheAN/DjHPsZ1Ih3z0VE5I=",
|
||||
"lastModified": 1673527292,
|
||||
"narHash": "sha256-903EpRSDCfUvic7Hsiqwy+h7zlMTLAUbCXkEGGriCfM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8c54d842d9544361aac5f5b212ba04e4089e8efe",
|
||||
"rev": "6a3f9996408c970b99b8b992b11bb249d1455b62",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -102,11 +102,11 @@
|
||||
},
|
||||
"nixpkgs-unpatched": {
|
||||
"locked": {
|
||||
"lastModified": 1673226411,
|
||||
"narHash": "sha256-b6cGb5Ln7Zy80YO66+cbTyGdjZKtkoqB/iIIhDX9gRA=",
|
||||
"lastModified": 1673450908,
|
||||
"narHash": "sha256-b8em+kwrNtnB7gR8SyVf6WuTyQ+6tHS6dzt9D9wgKF0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "aa1d74709f5dac623adb4d48fdfb27cc2c92a4d4",
|
||||
"rev": "6c8644fc37b6e141cbfa6c7dc8d98846c4ff0c2e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -134,11 +134,11 @@
|
||||
"nixpkgs-stable": "nixpkgs-stable_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1673147300,
|
||||
"narHash": "sha256-gR9OEfTzWfL6vG0qkbn1TlBAOlg4LuW8xK/u0V41Ihc=",
|
||||
"lastModified": 1673481602,
|
||||
"narHash": "sha256-P80X38fOM2MtoYdgkyuksGOQPDhIhNJW2W2jMeMIZzE=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "2253120d2a6147e57bafb5c689e086221df8032f",
|
||||
"rev": "32187b33ac6ec9b628dcd08dd941a715e6241dda",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@@ -43,10 +43,12 @@
|
||||
|
||||
evalHost = { name, local, target }:
|
||||
let
|
||||
# XXX: we'd prefer to use `nixosSystem = (nixpkgsCompiledBy local).nixos`
|
||||
# XXX: we'd prefer to use `nixosSystem = (nixpkgsCompiledBy target).nixos`
|
||||
# but it doesn't propagate config to the underlying pkgs, meaning it doesn't let you use
|
||||
# non-free packages even after setting nixpkgs.allowUnfree.
|
||||
nixosSystem = import ((nixpkgsCompiledBy local).path + "/nixos/lib/eval-config.nix");
|
||||
# XXX: patch using the target -- not local -- otherwise the target will
|
||||
# need to emulate the host in order to rebuild!
|
||||
nixosSystem = import ((nixpkgsCompiledBy target).path + "/nixos/lib/eval-config.nix");
|
||||
in
|
||||
(nixosSystem {
|
||||
# we use pkgs built for and *by* the target, i.e. emulation, by default.
|
||||
@@ -96,7 +98,7 @@
|
||||
|
||||
overlays = rec {
|
||||
default = pkgs;
|
||||
pkgs = import ./pkgs/overlay.nix;
|
||||
pkgs = import ./overlays/pkgs.nix;
|
||||
passthru =
|
||||
let
|
||||
stable = next: prev: {
|
||||
|
@@ -1,5 +1,12 @@
|
||||
{ ... }:
|
||||
{ config, ... }:
|
||||
|
||||
let
|
||||
mkCrossFrom = localSystem: pkgs: import pkgs.path {
|
||||
inherit localSystem;
|
||||
crossSystem = pkgs.stdenv.hostPlatform.system;
|
||||
inherit (config.nixpkgs) config overlays;
|
||||
};
|
||||
in
|
||||
{
|
||||
# the configuration of which specific package set `pkgs.cross` refers to happens elsewhere;
|
||||
# here we just define them all.
|
||||
@@ -8,8 +15,8 @@
|
||||
# non-emulated packages build *from* local *for* target.
|
||||
# for large packages like the linux kernel which are expensive to build under emulation,
|
||||
# the config can explicitly pull such packages from `pkgs.cross` to do more efficient cross-compilation.
|
||||
crossFrom."x86_64-linux" = (prev.forceSystem "x86_64-linux" null).appendOverlays next.overlays;
|
||||
crossFrom."aarch64-linux" = (prev.forceSystem "aarch64-linux" null).appendOverlays next.overlays;
|
||||
crossFrom."x86_64-linux" = mkCrossFrom "x86_64-linux" next;
|
||||
crossFrom."aarch64-linux" = mkCrossFrom "aarch64-linux" next;
|
||||
})
|
||||
];
|
||||
}
|
||||
|
@@ -39,6 +39,11 @@
|
||||
nix.extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
# allow `nix-shell` (and probably nix-index?) to locate our patched and custom packages
|
||||
nix.nixPath = [
|
||||
"nixpkgs=${pkgs.path}"
|
||||
"nixpkgs-overlays=${../..}/overlays"
|
||||
];
|
||||
|
||||
# TODO: move this into home-manager?
|
||||
fonts = {
|
||||
|
@@ -41,6 +41,8 @@ let
|
||||
);
|
||||
} // lib.optionalAttrs (raw.is_podcast or false) {
|
||||
format = "podcast";
|
||||
} // lib.optionalAttrs (raw.title or "" != "") {
|
||||
title = lib.mkDefault raw.title;
|
||||
};
|
||||
|
||||
podcasts = [
|
||||
|
@@ -125,6 +125,9 @@ in
|
||||
# aarch64-unknown-linux-gnu-gcc: error: unrecognized command line option '-mfpu=neon'
|
||||
# make[3]: *** [../scripts/Makefile.build:289: drivers/video/fbdev/sun5i-eink-neon.o] Error 1
|
||||
FB_SUN5I_EINK = no;
|
||||
# used by the pinephone pro, but fails to compile with:
|
||||
# ../drivers/media/i2c/ov8858.c:1834:27: error: implicit declaration of function 'compat_ptr'
|
||||
VIDEO_OV8858 = no;
|
||||
})
|
||||
))
|
||||
];
|
||||
|
@@ -21,4 +21,10 @@
|
||||
servo.root = root;
|
||||
};
|
||||
};
|
||||
|
||||
com.github = rec {
|
||||
# documented here: <https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints>
|
||||
# Github actually uses multiple keys -- one per format
|
||||
root = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl";
|
||||
};
|
||||
}
|
||||
|
@@ -16,6 +16,10 @@ let
|
||||
type = types.enum [ "text" "image" "podcast" ];
|
||||
default = "text";
|
||||
};
|
||||
title = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
};
|
||||
url = mkOption {
|
||||
type = types.str;
|
||||
description = ''
|
||||
|
@@ -12,8 +12,24 @@ rec {
|
||||
# transform a list of feeds into an attrs mapping cat => [ feed0 feed1 ... ]
|
||||
partitionByCat = feeds: builtins.groupBy (f: f.cat) feeds;
|
||||
|
||||
xmlTag = tag: close: attrs:
|
||||
let
|
||||
fmt-attrs = builtins.concatStringsSep
|
||||
" "
|
||||
(lib.mapAttrsToList (name: value: ''${lib.escapeXML name}="${lib.escapeXML value}"'') attrs);
|
||||
fmt-close = if close then "/" else "";
|
||||
in
|
||||
''<${tag} ${fmt-attrs} ${fmt-close}>'';
|
||||
|
||||
# represents a single RSS feed.
|
||||
opmlTerminal = feed: ''<outline xmlUrl="${feed.url}" type="rss"/>'';
|
||||
opmlTerminal = feed: xmlTag "outline" true (
|
||||
{
|
||||
xmlUrl = feed.url;
|
||||
type = "rss";
|
||||
} // lib.optionalAttrs (feed.title != null) {
|
||||
title = feed.title;
|
||||
}
|
||||
);
|
||||
# a list of RSS feeds.
|
||||
opmlTerminals = feeds: lib.concatStringsSep "\n" (builtins.map opmlTerminal feeds);
|
||||
# one node which packages some flat grouping of terminals.
|
||||
|
@@ -151,7 +151,9 @@ let
|
||||
# vlc remembers play position in ~/.config/vlc/vlc-qt-interface.conf
|
||||
{ pkg = vlc; dir = [ ".config/vlc" ]; }
|
||||
|
||||
whalebird # pleroma client. input is broken on phosh
|
||||
# pleroma client (Electron). input is broken on phosh.
|
||||
{ pkg = whalebird; private = [ ".config/Whalebird" ]; }
|
||||
|
||||
xdg-utils # for xdg-open
|
||||
xterm # broken on phosh
|
||||
]
|
||||
|
@@ -103,7 +103,7 @@ let
|
||||
(orig: lib.recursiveUpdate
|
||||
(builtins.removeAttrs orig ["user" "group" "mode" ])
|
||||
{
|
||||
acl = sane-lib.filterByName ["user" "group" "mode"] (orig.acl or {});
|
||||
acl = sane-lib.filterByName ["user" "group" "mode"] orig;
|
||||
}
|
||||
)
|
||||
to;
|
||||
|
@@ -16,7 +16,14 @@
|
||||
# kiwix-tools: init at 3.4.0
|
||||
(fetchpatch {
|
||||
url = "https://github.com/NixOS/nixpkgs/pull/206254.diff";
|
||||
sha256 = "sha256-Z4V9mOv4HYg3kDnWoYcxz3ch03I/1USrLjzlq4X9YqI=";
|
||||
sha256 = "sha256-Cendm7a23qj/YRBj5qVM8jhl9oTpztaDEkXcSG4dJys=";
|
||||
})
|
||||
|
||||
# whalebird: 4.6.5 -> 4.7.4
|
||||
(fetchpatch {
|
||||
# url = "https://git.uninsane.org/colin/nixpkgs/compare/master...pr.whalebird-4.7.4.diff";
|
||||
url = "https://git.uninsane.org/colin/nixpkgs/commit/f5c7c70dde720e990fa7e0748d1dc4764d6e4406.diff";
|
||||
sha256 = "sha256-L9Ie80loaP6yl5ZFnJ1b5WMDpvO1QFE8tbrW5HBauko=";
|
||||
})
|
||||
|
||||
./2022-12-19-i2p-aarch64.patch
|
||||
|
67
overlays/pkgs.nix
Normal file
67
overlays/pkgs.nix
Normal file
@@ -0,0 +1,67 @@
|
||||
(next: prev:
|
||||
let
|
||||
sane = rec {
|
||||
#### my own, non-upstreamable packages:
|
||||
sane-scripts = prev.callPackage ../pkgs/sane-scripts { };
|
||||
feeds = prev.callPackage ../pkgs/feeds { };
|
||||
tow-boot-pinephone = prev.callPackage ../pkgs/tow-boot-pinephone { };
|
||||
tow-boot-rpi4 = prev.callPackage ../pkgs/tow-boot-rpi4 { };
|
||||
bootpart-uefi-x86_64 = prev.callPackage ../pkgs/bootpart-uefi-x86_64 { };
|
||||
bootpart-tow-boot-rpi-aarch64 = prev.callPackage ../pkgs/bootpart-tow-boot-rpi-aarch64 {
|
||||
# not sure why i can't just do `next.callPackage` instead
|
||||
inherit tow-boot-rpi4;
|
||||
};
|
||||
bootpart-u-boot-rpi-aarch64 = prev.callPackage ../pkgs/bootpart-u-boot-rpi-aarch64 {
|
||||
# not sure why i can't just do `next.callPackage` instead
|
||||
inherit ubootRaspberryPi4_64bit;
|
||||
};
|
||||
rtl8723cs-firmware = prev.callPackage ../pkgs/rtl8723cs-firmware { };
|
||||
linux-megous = prev.callPackage ../pkgs/linux-megous {
|
||||
kernelPatches = [
|
||||
prev.kernelPatches.bridge_stp_helper
|
||||
prev.kernelPatches.request_key_helper
|
||||
];
|
||||
};
|
||||
|
||||
sublime-music-mobile = prev.callPackage ../pkgs/sublime-music-mobile { };
|
||||
|
||||
#### customized packages
|
||||
fluffychat-moby = prev.callPackage ../pkgs/fluffychat-moby { };
|
||||
gpodder-configured = prev.callPackage ../pkgs/gpodder-configured { };
|
||||
# nixos-unstable pleroma is too far out-of-date for our db
|
||||
pleroma = prev.callPackage ../pkgs/pleroma { };
|
||||
# jackett doesn't allow customization of the bind address: this will probably always be here.
|
||||
jackett = prev.callPackage ../pkgs/jackett { inherit (prev) jackett; };
|
||||
# mozilla keeps nerfing itself and removing configuration options
|
||||
firefox-unwrapped = prev.callPackage ../pkgs/firefox-unwrapped { };
|
||||
|
||||
# patch rpi uboot with something that fixes USB HDD boot
|
||||
ubootRaspberryPi4_64bit = prev.callPackage ../pkgs/ubootRaspberryPi4_64bit { };
|
||||
|
||||
gocryptfs = prev.callPackage ../pkgs/gocryptfs { inherit (prev) gocryptfs; };
|
||||
|
||||
browserpass = prev.callPackage ../pkgs/browserpass { inherit (prev) browserpass; inherit sane-scripts; };
|
||||
|
||||
fractal-latest = prev.callPackage ../pkgs/fractal-latest { };
|
||||
|
||||
#### TEMPORARY: PACKAGES WAITING TO BE UPSTREAMED
|
||||
|
||||
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
|
||||
(py-final: py-prev: {
|
||||
feedsearch-crawler = py-final.callPackage ../pkgs/feedsearch-crawler { };
|
||||
})
|
||||
];
|
||||
|
||||
kaiteki = prev.callPackage ../pkgs/kaiteki { };
|
||||
lightdm-mobile-greeter = prev.callPackage ../pkgs/lightdm-mobile-greeter { };
|
||||
browserpass-extension = prev.callPackage ../pkgs/browserpass-extension { };
|
||||
gopass-native-messaging-host = prev.callPackage ../pkgs/gopass-native-messaging-host { };
|
||||
tokodon = prev.libsForQt5.callPackage ../pkgs/tokodon { };
|
||||
signaldctl = prev.callPackage ../pkgs/signaldctl { };
|
||||
splatmoji = prev.callPackage ../pkgs/splatmoji { };
|
||||
# trust-dns = prev.callPackage ../pkgs/trust-dns { };
|
||||
# kaiteki = prev.kaiteki;
|
||||
};
|
||||
in sane // { inherit sane; }
|
||||
)
|
||||
|
@@ -35,7 +35,7 @@
|
||||
# but in a way where the least could go wrong.
|
||||
pushd "$sources_dir"; mkdir -p "$name"; popd
|
||||
|
||||
${./update.sh} "$url" "$json_path"
|
||||
${./update.py} "$url" "$json_path"
|
||||
cat "$json_path"
|
||||
'';
|
||||
}
|
||||
|
@@ -14,10 +14,7 @@ stdenv.mkDerivation {
|
||||
src = fetchurl {
|
||||
inherit url;
|
||||
};
|
||||
passthru.updateScript = [ ./update.sh url jsonPath ];
|
||||
# passthru.updateScript = callPackage ./update.nix {
|
||||
# inherit url jsonPath;
|
||||
# };
|
||||
passthru.updateScript = [ ./update.py url jsonPath ];
|
||||
meta = {
|
||||
description = "metadata about any feeds available at ${feedName}";
|
||||
homepage = feedName;
|
||||
|
@@ -1,18 +0,0 @@
|
||||
{ lib
|
||||
, curl
|
||||
, jq
|
||||
, runtimeShell
|
||||
, writeScript
|
||||
# feed-specific args
|
||||
, jsonPath
|
||||
, url
|
||||
}:
|
||||
|
||||
let
|
||||
apiQuery = "https://feedsearch.dev/api/v1/search?url=${url}";
|
||||
in
|
||||
writeScript "update-feed" ''
|
||||
#!${runtimeShell}
|
||||
PATH=${lib.makeBinPath [ curl jq ]}
|
||||
curl -X GET '${apiQuery}' | jq '.[-1]' > '${jsonPath}'
|
||||
''
|
24
pkgs/feeds/update.py
Executable file
24
pkgs/feeds/update.py
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i python3 -p "python3.withPackages (ps: [ ps.feedsearch-crawler ])"
|
||||
|
||||
from feedsearch_crawler import search, sort_urls
|
||||
from feedsearch_crawler.crawler import coerce_url
|
||||
|
||||
import json
|
||||
import sys
|
||||
url, jsonPath = sys.argv[1:]
|
||||
|
||||
url = coerce_url(url, default_scheme="https")
|
||||
items = search(url)
|
||||
items = sort_urls(items)
|
||||
|
||||
# print all results
|
||||
serialized = [item.serialize() for item in items]
|
||||
for item in serialized:
|
||||
print(json.dumps(item, sort_keys=True, indent=2))
|
||||
|
||||
# save the first result to disk
|
||||
keep = serialized[0] if serialized else {}
|
||||
results = json.dumps(keep, sort_keys=True, indent=2)
|
||||
with open(jsonPath, "w") as out:
|
||||
out.write(results)
|
@@ -1,10 +0,0 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl jq
|
||||
|
||||
set -xeu -o pipefail
|
||||
|
||||
url="$1"
|
||||
jsonPath="$2"
|
||||
|
||||
apiQuery="https://feedsearch.dev/api/v1/search?url=$url"
|
||||
curl -X GET "$apiQuery" | jq '.[0]' > "$jsonPath"
|
65
pkgs/feedsearch-crawler/default.nix
Normal file
65
pkgs/feedsearch-crawler/default.nix
Normal file
@@ -0,0 +1,65 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
# nativeBuildInputs python packages
|
||||
, poetry-core
|
||||
# propagatedBuildInputs python packages
|
||||
, aiodns
|
||||
, aiohttp
|
||||
, beautifulsoup4
|
||||
, brotlipy
|
||||
, cchardet
|
||||
, feedparser
|
||||
, python-dateutil
|
||||
, uvloop
|
||||
, w3lib
|
||||
, yarl
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "feedsearch-crawler";
|
||||
version = "2022-05-28";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "DBeath";
|
||||
repo = "feedsearch-crawler";
|
||||
rev = "f49a6f5a07e796e359c4482fd29305b1a019f71f";
|
||||
hash = "sha256-pzvyeXzqdi8pRjk2+QjKhJfgtxbgVT6C08K9fhVFVmY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace 'w3lib = "^1.22.0"' 'w3lib = "*"' \
|
||||
--replace 'aiodns = "^2.0.0"' 'aiodns = "*"' \
|
||||
--replace 'uvloop = "^0.15.2"' 'uvloop = "*"'
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiodns
|
||||
aiohttp
|
||||
beautifulsoup4
|
||||
brotlipy
|
||||
cchardet
|
||||
feedparser
|
||||
python-dateutil
|
||||
uvloop
|
||||
w3lib
|
||||
yarl
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"feedsearch_crawler"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://feedsearch.dev";
|
||||
description = "Crawl sites for RSS, Atom, and JSON feeds";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ colinsane ];
|
||||
};
|
||||
}
|
@@ -5,7 +5,7 @@ with lib;
|
||||
let
|
||||
base = "6.1.0";
|
||||
# set to empty if not a release candidate
|
||||
rc = "-rc7";
|
||||
rc = "-rc8";
|
||||
in buildLinux (args // rec {
|
||||
version = base + rc;
|
||||
|
||||
@@ -16,9 +16,15 @@ in buildLinux (args // rec {
|
||||
extraMeta.branch = versions.majorMinor version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
# HOW TO UPDATE:
|
||||
# - `git fetch` from megous' github.
|
||||
# - there should be some new tag, like `orange-pi-6.1-blah`. use that.
|
||||
# - megi publishes release notes as the most recent commit on any stable branch, so just `git log`.
|
||||
# - orange-pi is listed as the "main integration branch".
|
||||
# - specific branches like `pp` (pinephone) are dev branches, and probably less stable.
|
||||
owner = "megous";
|
||||
repo = "linux";
|
||||
rev = "orange-pi-6.1-20221128-1027";
|
||||
hash = "sha256-kEujs4v5rPHPYy4YLyEWHa1Bu0sxoXLgSvmOH9QPWos=";
|
||||
rev = "orange-pi-6.1-20221211-1046";
|
||||
hash = "sha256-TgFXH8bHWHs26rlf7a/zNO9zubFazC8Ie6J1gj4gLgw=";
|
||||
};
|
||||
} // (args.argsOverride or { }))
|
||||
|
@@ -1,60 +0,0 @@
|
||||
(next: prev:
|
||||
let
|
||||
sane = rec {
|
||||
#### my own, non-upstreamable packages:
|
||||
sane-scripts = prev.callPackage ./sane-scripts { };
|
||||
feeds = prev.callPackage ./feeds { };
|
||||
tow-boot-pinephone = prev.callPackage ./tow-boot-pinephone { };
|
||||
tow-boot-rpi4 = prev.callPackage ./tow-boot-rpi4 { };
|
||||
bootpart-uefi-x86_64 = prev.callPackage ./bootpart-uefi-x86_64 { };
|
||||
bootpart-tow-boot-rpi-aarch64 = prev.callPackage ./bootpart-tow-boot-rpi-aarch64 {
|
||||
# not sure why i can't just do `next.callPackage` instead
|
||||
inherit tow-boot-rpi4;
|
||||
};
|
||||
bootpart-u-boot-rpi-aarch64 = prev.callPackage ./bootpart-u-boot-rpi-aarch64 {
|
||||
# not sure why i can't just do `next.callPackage` instead
|
||||
inherit ubootRaspberryPi4_64bit;
|
||||
};
|
||||
rtl8723cs-firmware = prev.callPackage ./rtl8723cs-firmware { };
|
||||
linux-megous = prev.callPackage ./linux-megous {
|
||||
kernelPatches = [
|
||||
prev.kernelPatches.bridge_stp_helper
|
||||
prev.kernelPatches.request_key_helper
|
||||
];
|
||||
};
|
||||
|
||||
sublime-music-mobile = prev.callPackage ./sublime-music-mobile { };
|
||||
|
||||
#### customized packages
|
||||
fluffychat-moby = prev.callPackage ./fluffychat-moby { };
|
||||
gpodder-configured = prev.callPackage ./gpodder-configured { };
|
||||
# nixos-unstable pleroma is too far out-of-date for our db
|
||||
pleroma = prev.callPackage ./pleroma { };
|
||||
# jackett doesn't allow customization of the bind address: this will probably always be here.
|
||||
jackett = prev.callPackage ./jackett { inherit (prev) jackett; };
|
||||
# mozilla keeps nerfing itself and removing configuration options
|
||||
firefox-unwrapped = prev.callPackage ./firefox-unwrapped { };
|
||||
|
||||
# patch rpi uboot with something that fixes USB HDD boot
|
||||
ubootRaspberryPi4_64bit = prev.callPackage ./ubootRaspberryPi4_64bit { };
|
||||
|
||||
gocryptfs = prev.callPackage ./gocryptfs { inherit (prev) gocryptfs; };
|
||||
|
||||
browserpass = prev.callPackage ./browserpass { inherit (prev) browserpass; inherit sane-scripts; };
|
||||
|
||||
fractal-latest = prev.callPackage ./fractal-latest { };
|
||||
|
||||
#### TEMPORARY: PACKAGES WAITING TO BE UPSTREAMED
|
||||
kaiteki = prev.callPackage ./kaiteki { };
|
||||
lightdm-mobile-greeter = prev.callPackage ./lightdm-mobile-greeter { };
|
||||
browserpass-extension = prev.callPackage ./browserpass-extension { };
|
||||
gopass-native-messaging-host = prev.callPackage ./gopass-native-messaging-host { };
|
||||
tokodon = prev.libsForQt5.callPackage ./tokodon { };
|
||||
signaldctl = prev.callPackage ./signaldctl { };
|
||||
splatmoji = prev.callPackage ./splatmoji { };
|
||||
# trust-dns = prev.callPackage ./trust-dns { };
|
||||
# kaiteki = prev.kaiteki;
|
||||
};
|
||||
in sane // { inherit sane; }
|
||||
)
|
||||
|
Reference in New Issue
Block a user