From f121ec0a0b7cc3c6d40917e168d49b45c98bfb12 Mon Sep 17 00:00:00 2001 From: xenofem Date: Fri, 3 Mar 2023 23:23:28 -0500 Subject: [PATCH 1/3] give nixos module an actual name --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 3bbfa5b..b7c8df0 100644 --- a/flake.nix +++ b/flake.nix @@ -38,7 +38,7 @@ scriptName = "segment-linking.lua"; }; - nixosModules.default = { ... }: { + nixosModules.mpv-anime = { ... }: { nixpkgs.overlays = final: prev: { mpv = prev.mpv.override { scripts = with packages.mpvScripts; [ From e2d87a1014af0ecad753eefce4c18a83b16a8596 Mon Sep 17 00:00:00 2001 From: xenofem Date: Fri, 3 Mar 2023 23:24:50 -0500 Subject: [PATCH 2/3] packages need to be derivations, not attrsets of derivations --- flake.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.nix b/flake.nix index b7c8df0..b6e3413 100644 --- a/flake.nix +++ b/flake.nix @@ -22,7 +22,7 @@ passthru = { inherit scriptName; }; }; in rec { - packages.mpvScripts.sub-select = mpvScript { + packages.mpv-sub-select = mpvScript { owner = "CogentRedTester"; repo = "mpv-sub-select"; rev = "5d2fb7ab73fc0e36d44109e75c9be26bd42084e2"; @@ -30,7 +30,7 @@ scriptName = "sub-select.lua"; }; - packages.mpvScripts.segment-linking = mpvScript { + packages.mpv-segment-linking = mpvScript { owner = "CogentRedTester"; repo = "mpv-segment-linking"; rev = "bb0fdb7961859df57c64b42d75dbbd60a4024e97"; @@ -41,9 +41,9 @@ nixosModules.mpv-anime = { ... }: { nixpkgs.overlays = final: prev: { mpv = prev.mpv.override { - scripts = with packages.mpvScripts; [ - sub-select - segment-linking + scripts = with packages; [ + mpv-sub-select + mpv-segment-linking ]; }; }; From 753d780ca63f60d8bbd5061a8ac6b38d0e6242f9 Mon Sep 17 00:00:00 2001 From: xenofem Date: Sat, 4 Mar 2023 00:08:57 -0500 Subject: [PATCH 3/3] make nixos module system-independent --- flake.nix | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/flake.nix b/flake.nix index b6e3413..19ea799 100644 --- a/flake.nix +++ b/flake.nix @@ -6,8 +6,8 @@ utils.url = "github:numtide/flake-utils"; }; - outputs = { self, nixpkgs, utils }: utils.lib.eachDefaultSystem (system: - let + outputs = { self, nixpkgs, utils }: let + packages = utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; mpvScript = { owner, repo, rev, sha256, scriptName }: pkgs.stdenvNoCC.mkDerivation { pname = repo; @@ -21,8 +21,8 @@ ''; passthru = { inherit scriptName; }; }; - in rec { - packages.mpv-sub-select = mpvScript { + in { + packages.sub-select = mpvScript { owner = "CogentRedTester"; repo = "mpv-sub-select"; rev = "5d2fb7ab73fc0e36d44109e75c9be26bd42084e2"; @@ -30,30 +30,32 @@ scriptName = "sub-select.lua"; }; - packages.mpv-segment-linking = mpvScript { + packages.segment-linking = mpvScript { owner = "CogentRedTester"; repo = "mpv-segment-linking"; rev = "bb0fdb7961859df57c64b42d75dbbd60a4024e97"; sha256 = "1ykl24p96wwka4fillrzni6i0xkk4s2l9zg1scqypcbs5w491qsj"; scriptName = "segment-linking.lua"; }; + }); + in + packages // rec { + overlays.default = final: prev: let + newScripts = packages.packages.${prev.system}; + in { + mpv = prev.mpv.override { scripts = builtins.attrValues newScripts; }; + mpvScripts = prev.mpvScripts // newScripts; + }; - nixosModules.mpv-anime = { ... }: { - nixpkgs.overlays = final: prev: { - mpv = prev.mpv.override { - scripts = with packages; [ - mpv-sub-select - mpv-segment-linking - ]; - }; - }; + nixosModules.default = { pkgs, lib, ... }: { + nixpkgs.overlays = [ overlays.default ]; # needed for mpv segment-linking plugin environment.systemPackages = [ pkgs.mkvtoolnix ]; - home-manager.sharedModules = [ ({ config, lib, ... }: { + home-manager.sharedModules = [ ({ config, ... }: { config = lib.mkIf config.programs.mpv.enable { xdg.configFile."mpv/script-opts/sub-select.json".text = builtins.toJSON [ { @@ -93,6 +95,5 @@ }; }) ]; }; - } - ); + }; }