diff --git a/default.nix b/default.nix index f159aba..85cb538 100644 --- a/default.nix +++ b/default.nix @@ -1,17 +1,13 @@ -{ - pkgs ? import { }, - fenix ? import (fetchTarball "https://github.com/nix-community/fenix/archive/main.tar.gz") { }, -}: rec { - # The `lib`, `modules`, and `overlays` names are special - lib = import ./lib { inherit pkgs; }; # functions - modules = import ./modules; # NixOS modules - overlays = import ./overlays; # nixpkgs overlays - - auditok = pkgs.callPackage ./pkgs/auditok { }; - bip39 = pkgs.callPackage ./pkgs/bip39 { }; - ffsubsync = pkgs.callPackage ./pkgs/ffsubsync { inherit auditok pysubs2; }; - my-bookmarks-pl = pkgs.callPackage ./pkgs/my-bookmarks-pl { }; - neocities-deploy = pkgs.callPackage ./pkgs/neocities-deploy { inherit fenix; }; - pysubs2 = pkgs.callPackage ./pkgs/pysubs2 { }; - subtitlecomposer = pkgs.callPackage ./pkgs/subtitlecomposer { }; -} +(import + ( + let + lock = builtins.fromJSON (builtins.readFile ./flake.lock); + nodeName = lock.nodes.root.inputs.flake-compat; + in + fetchTarball { + url = lock.nodes.${nodeName}.locked.url or "https://github.com/edolstra/flake-compat/archive/${lock.nodes.${nodeName}.locked.rev}.tar.gz"; + sha256 = lock.nodes.${nodeName}.locked.narHash; + } + ) + { src = ./.; } +).defaultNix diff --git a/flake.lock b/flake.lock index db5be4b..ccf0654 100644 --- a/flake.lock +++ b/flake.lock @@ -21,6 +21,20 @@ "type": "github" } }, + "flake-compat": { + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "revCount": 57, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, "nixpkgs": { "locked": { "lastModified": 1735685343, diff --git a/flake.nix b/flake.nix index 9072920..6649cee 100644 --- a/flake.nix +++ b/flake.nix @@ -2,16 +2,13 @@ description = "My personal NUR repository"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; - fenix = { - url = "github:nix-community/fenix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + flake-compat.url = "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"; }; outputs = { self , fenix , nixpkgs - , + , flake-compat }: let systems = [ @@ -29,10 +26,24 @@ modules = import ./modules; legacyPackages = forAllSystems (system: - import ./default.nix { - pkgs = import nixpkgs { inherit system; }; + let + pkgs = import nixpkgs { inherit system; }; + in rec { + # The `lib`, `modules`, and `overlays` names are special + lib = import ./lib { inherit pkgs; }; # functions + modules = import ./modules; # NixOS modules + overlays = import ./overlays; # nixpkgs overlays + + auditok = pkgs.callPackage ./pkgs/auditok { }; + bip39 = pkgs.callPackage ./pkgs/bip39 { }; + ffsubsync = pkgs.callPackage ./pkgs/ffsubsync { inherit auditok pysubs2; }; + my-bookmarks-pl = pkgs.callPackage ./pkgs/my-bookmarks-pl { }; + neocities-deploy = pkgs.callPackage ./pkgs/neocities-deploy { fenix = fenix.outputs.packages.${system}; - }); + }; + pysubs2 = pkgs.callPackage ./pkgs/pysubs2 { }; + subtitlecomposer = pkgs.callPackage ./pkgs/subtitlecomposer { }; + }); packages = forAllSystems (system: nixpkgs.lib.filterAttrs (_: v: nixpkgs.lib.isDerivation v) self.legacyPackages.${system}); }; }