diff --git a/flake.nix b/flake.nix index f3f52aa1..6c5993af 100644 --- a/flake.nix +++ b/flake.nix @@ -98,7 +98,7 @@ overlays = rec { default = pkgs; - pkgs = import ./pkgs/overlay.nix; + pkgs = import ./overlays/pkgs.nix; passthru = let stable = next: prev: { diff --git a/hosts/common/default.nix b/hosts/common/default.nix index 66bfc2cc..5fe93266 100644 --- a/hosts/common/default.nix +++ b/hosts/common/default.nix @@ -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 = { diff --git a/overlays/pkgs.nix b/overlays/pkgs.nix new file mode 100644 index 00000000..4e0c92d6 --- /dev/null +++ b/overlays/pkgs.nix @@ -0,0 +1,61 @@ +(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 + kaiteki = prev.callPackage ../pkgs/kaiteki { }; + feedsearch-crawler = prev.callPackage ../pkgs/feedsearch-crawler { }; + 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; } +) + diff --git a/pkgs/overlay.nix b/pkgs/overlay.nix deleted file mode 100644 index d98690d1..00000000 --- a/pkgs/overlay.nix +++ /dev/null @@ -1,61 +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 { }; - feedsearch-crawler = prev.callPackage ./feedsearch-crawler { }; - 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; } -) -