about summary refs log tree commit diff
path: root/overlays.nix
diff options
context:
space:
mode:
Diffstat (limited to 'overlays.nix')
-rw-r--r--overlays.nix243
1 files changed, 117 insertions, 126 deletions
diff --git a/overlays.nix b/overlays.nix
index 4a4401c..18fe174 100644
--- a/overlays.nix
+++ b/overlays.nix
@@ -1,152 +1,143 @@
-{ inputs, ... }:
 {
-  default = final: prev: {
-    bruh = prev.callPackage ./packages/bruh.nix { };
+  inputs,
+  lib,
+  ...
+}:
+{
+  default =
+    final: prev:
+    lib.infuse.v1.infuse prev {
+      bruh = _: prev.callPackage ./packages/bruh.nix { };
 
-    emacsql-sqlite = prev.callPackage ./packages/emacsql-sqlite.nix { };
+      emacsql-sqlite = _: prev.callPackage ./packages/emacsql-sqlite.nix { };
 
-    git-extras = prev.git-extras.overrideAttrs (
-      _: super: {
-        postPatch =
-          (super.postPatch or "")
-          + ''
-            substituteInPlace bin/git-setup \
-              --replace 'Initial commit' 'chore: init'
-          '';
-      }
-    );
+      git-extras.__output.postPatch.__append = ''
+        substituteInPlace bin/git-setup \
+          --replace 'Initial commit' 'chore: init'
+      '';
 
-    grc = prev.grc.overrideAttrs (
-      _: super: {
-        version = "unstable-2021-08-12";
-        src = final.fetchFromGitHub {
+      grc.__output = {
+        version.__assign = "unstable-2021-08-12";
+        src.__assign = final.fetchFromGitHub {
           owner = "garabik";
           repo = "grc";
           rev = "4d6a51fd78ad7e19af8dd12b2a828d1807267079";
           hash = "sha256-SmOZrgV0lgLryFoxADU15IKJ7jhxXar0MgbsV/z1GaE=";
         };
-        patches = (super.patches or [ ]) ++ [
+        patches.__append = [
           (final.fetchpatch {
             url = "https://patch-diff.githubusercontent.com/raw/garabik/grc/pull/214.patch";
             hash = "sha256-VNr9jl5oFbFNJbGsjflwFV3oTbCzJ0lBIZA4eyeoXLY=";
           })
         ];
-      }
-    );
+      };
 
-    hiccup = prev.callPackage ./packages/hiccup.nix { };
+      hiccup = _: prev.callPackage ./packages/hiccup.nix { };
 
-    lampray = prev.callPackage ./packages/lampray.nix { };
+      lampray = _: prev.callPackage ./packages/lampray.nix { };
 
-    logcli = prev.grafana-loki.overrideAttrs (
-      _: super: {
-        pname = "logcli";
-        subPackages = [ "cmd/logcli" ];
-        nativeBuildInputs = (super.nativeBuildInputs or [ ]) ++ [ final.installShellFiles ];
-        postInstall =
-          (super.postInstall or "")
-          + ''
-            installShellCompletion --cmd logcli \
-              --bash <($out/bin/logcli --completion-script-bash) \
-              --zsh <($out/bin/logcli --completion-script-zsh)
-          '';
-        preFixup = null;
-      }
-    );
+      # TODO Can this be infused?
+      logcli =
+        _:
+        prev.grafana-loki.overrideAttrs (
+          _: super: {
+            pname = "logcli";
+            subPackages = [ "cmd/logcli" ];
+            nativeBuildInputs = (super.nativeBuildInputs or [ ]) ++ [ final.installShellFiles ];
+            postInstall =
+              (super.postInstall or "")
+              + ''
+                installShellCompletion --cmd logcli \
+                  --bash <($out/bin/logcli --completion-script-bash) \
+                  --zsh <($out/bin/logcli --completion-script-zsh)
+              '';
+            preFixup = null;
+          }
+        );
 
-    myip = prev.callPackage ./packages/myip.nix { };
+      myip = _: prev.callPackage ./packages/myip.nix { };
 
-    nixfiles = prev.callPackage ./packages/nixfiles.nix { };
+      nixfiles = _: prev.callPackage ./packages/nixfiles.nix { };
 
-    nixfmt = prev.nixfmt-rfc-style;
+      nixfmt = _: prev.nixfmt-rfc-style;
 
-    openssl_1_0_0 = prev.callPackage ./packages/openssl_1_0_0.nix { };
+      openssl_1_0_0 = _: prev.callPackage ./packages/openssl_1_0_0.nix { };
 
-    telegram-desktop =
-      (prev.telegram-desktop.override (finalAttrs: {
-        stdenv = final.useMoldLinker finalAttrs.stdenv;
-      })).overrideAttrs
-        (
-          _: super: {
-            patches =
-              (super.patches or [ ])
-              ++ (
-                let
-                  patches = "https://raw.githubusercontent.com/msva/mva-overlay/4c89938831bcce03fae22081809e53a47bdee31b/net-im/telegram-desktop/files/patches";
-                in
-                [
-                  (prev.fetchpatch {
-                    url = "${patches}/0/conditional/tdesktop_patches_hide-sponsored-messages/0000-data_data_sponsored_messages.cpp.patch";
-                    hash = "sha256-vVucKG0YNY41MVdqibhKfxL/2/nNPPtYw+otwat971U=";
-                  })
-                  (prev.fetchpatch {
-                    url = "${patches}/0/conditional/tdesktop_patches_allow-disable-stories/option-to-disable-stories.patch";
-                    hash = "sha256-ctL9wIn3cLtqgCcQFNnx7WQuBw+9IjDlMJUicmVt8no=";
-                  })
-                  (prev.fetchpatch {
-                    url = "${patches}/0/conditional/tdesktop_patches_hide-banned/0000_hide-messages-from-blocked-users.patch";
-                    hash = "sha256-61U3wQsUdLvB4ymHPjVecw9WvhW8W/V0Jf1cnvYUkHk=";
-                  })
-                  (prev.fetchpatch {
-                    url = "${patches}/0/conditional/tdesktop_patches_wide-baloons/style.patch";
-                    hash = "sha256-Ot2kb49YsEhaunw/yMgLaqrDYYS+pHPf79Yiwahxj+g=";
-                  })
-                ]
-              );
-          }
-        );
+      telegram-desktop = {
+        __input.stdenv = stdenv: final.useMoldLinker stdenv;
+        __output.patches.__append =
+          let
+            patches = "https://raw.githubusercontent.com/msva/mva-overlay/4c89938831bcce03fae22081809e53a47bdee31b/net-im/telegram-desktop/files/patches/0/conditional";
+          in
+          [
+            (prev.fetchpatch {
+              url = "${patches}/tdesktop_patches_hide-sponsored-messages/0000-data_data_sponsored_messages.cpp.patch";
+              hash = "sha256-vVucKG0YNY41MVdqibhKfxL/2/nNPPtYw+otwat971U=";
+            })
+            (prev.fetchpatch {
+              url = "${patches}/tdesktop_patches_allow-disable-stories/option-to-disable-stories.patch";
+              hash = "sha256-ctL9wIn3cLtqgCcQFNnx7WQuBw+9IjDlMJUicmVt8no=";
+            })
+            (prev.fetchpatch {
+              url = "${patches}/tdesktop_patches_hide-banned/0000_hide-messages-from-blocked-users.patch";
+              hash = "sha256-61U3wQsUdLvB4ymHPjVecw9WvhW8W/V0Jf1cnvYUkHk=";
+            })
+          ];
+      };
 
-    vesktop =
-      (prev.vesktop.overrideAttrs (
-        _: super: {
-          nativeBuildInputs = super.nativeBuildInputs ++ [ final.imagemagick ];
-          patches = (super.patches or [ ]) ++ [ ./packages/vesktop.patch ];
-          postInstall =
-            (super.postInstall or "")
-            + ''
-              rm -rf $out/share/icons/hicolor/*
-              for size in 1024 128 256 32 512 64; do
-                convert -scale $size $src/build/icon.png $size.png
-                install -Dm644 $size.png $out/share/icons/hicolor/''${size}x''${size}/apps/vesktop.png
-              done
-            '';
-        }
-      )).override
-        {
-          withSystemVencord = false;
-          withTTS = false;
+      vesktop = {
+        __input = {
+          withSystemVencord = _: false;
+          withTTS = _: false;
         };
+        __output = {
+          nativeBuildInputs.__append = [ final.imagemagick ];
+          patches.__append = [ ./packages/vesktop.patch ];
+          postInstall.__append = ''
+            rm -rf $out/share/icons/hicolor/*
+            for size in 1024 128 256 32 512 64; do
+              convert -scale $size $src/build/icon.png $size.png
+              install -Dm644 $size.png $out/share/icons/hicolor/''${size}x''${size}/apps/vesktop.png
+            done
+          '';
+        };
+      };
 
-    linuxPackages_latest = prev.linuxPackages_latest.extend (
-      self: _: {
-        amneziawg =
-          inputs.nixpkgs-amneziawg.legacyPackages.${final.system}.linuxPackages_latest.amneziawg.override
-            {
-              inherit (self) kernel;
-            };
-      }
-    );
-    linuxPackages_hardened = prev.linuxPackages_hardened.extend (
-      self: _: {
-        amneziawg =
-          inputs.nixpkgs-amneziawg.legacyPackages.${final.system}.linuxPackages_hardened.amneziawg.override
-            {
-              inherit (self) kernel;
-            };
-      }
-    );
-    linuxPackages_xanmod_latest = prev.linuxPackages_xanmod_latest.extend (
-      self: _: {
-        amneziawg =
-          inputs.nixpkgs-amneziawg.legacyPackages.${final.system}.linuxPackages_xanmod_latest.amneziawg.override
-            {
-              inherit (self) kernel;
-            };
-      }
-    );
-    inherit (inputs.nixpkgs-amneziawg.legacyPackages.${final.system})
-      amneziawg-go
-      amneziawg-tools
-      ;
-  };
+      # TODO Can this be infused?
+      linuxPackages_latest =
+        _:
+        prev.linuxPackages_latest.extend (
+          self: _: {
+            amneziawg =
+              inputs.nixpkgs-amneziawg.legacyPackages.${final.system}.linuxPackages_latest.amneziawg.override
+                {
+                  inherit (self) kernel;
+                };
+          }
+        );
+      linuxPackages_hardened =
+        _:
+        prev.linuxPackages_hardened.extend (
+          self: _: {
+            amneziawg =
+              inputs.nixpkgs-amneziawg.legacyPackages.${final.system}.linuxPackages_hardened.amneziawg.override
+                {
+                  inherit (self) kernel;
+                };
+          }
+        );
+      linuxPackages_xanmod_latest =
+        _:
+        prev.linuxPackages_xanmod_latest.extend (
+          self: _: {
+            amneziawg =
+              inputs.nixpkgs-amneziawg.legacyPackages.${final.system}.linuxPackages_xanmod_latest.amneziawg.override
+                {
+                  inherit (self) kernel;
+                };
+          }
+        );
+      amneziawg-go = _: inputs.nixpkgs-amneziawg.legacyPackages.${final.system}.amneziawg-go;
+      amneziawg-tools = _: inputs.nixpkgs-amneziawg.legacyPackages.${final.system}.amneziawg-tools;
+    };
 }

Consider giving Nix/NixOS a try! <3