diff --git a/npins/sources.json b/npins/sources.json index 767e2b5..8aa855a 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -32,15 +32,15 @@ "type": "GitRelease", "repository": { "type": "GitHub", - "owner": "notashelf", + "owner": "mov-cli", "repo": "mov-cli" }, "pre_releases": false, "version_upper_bound": null, - "version": "v1.5.9", - "revision": "e84e61f550cb83bd1d8f57414846a0dee8776243", - "url": "https://api.github.com/repos/notashelf/mov-cli/tarball/v1.5.9", - "hash": "1hyhy5xybn921rlmapd4xxqhl60kyyn9kqfhzml4l2k8b962f81y" + "version": "1.5.7", + "revision": "47c453d156914c373f3ece05564d04f1e12c41e5", + "url": "https://api.github.com/repos/mov-cli/mov-cli/tarball/1.5.7", + "hash": "08gc8x80df6d8nxraqh531q68s7kjhs921ndcg7virl1njv5k61q" }, "nixpkgs": { "type": "Channel", diff --git a/pkgs/default.nix b/pkgs/default.nix index 4c7fc62..77b133c 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,8 +1,4 @@ -{ - inputs, - self, - ... -}: { +{inputs, ...}: { systems = ["x86_64-linux"]; imports = [inputs.flake-parts.flakeModules.easyOverlay]; @@ -19,35 +15,40 @@ }; packages = let - inherit (pkgs) callPackage foot alejandra fetchFromGitea; - + inherit (pkgs) callPackage fetchFromGitea foot alejandra; pins = import ../npins; + mkPackage = path: {__functor = self: self.override;} // (callPackage path {inherit pins;}); in { - # packages that follow npins entries - # they can be updated via npins + /* + packages that follow npins entries + they can be updated via npins + */ ani-cli = mkPackage ./ani-cli; rat = mkPackage ./rat; - mov-cli = mkPackage ./mov-cli; rofi-calc-wayland = mkPackage ./rofi-calc-wayland; rofi-emoji-wayland = mkPackage ./rofi-emoji-wayland; - # static packages - # need manual intervention with each update + /* + static packages + need manual intervention with each update + */ + mov-cli = callPackage ./mov-cli {}; cloneit = callPackage ./cloneit {}; headscale-ui = callPackage ./headscale-ui {}; mastodon-bird-ui = callPackage ./mastodon-bird-ui {}; reposilite-bin = callPackage ./reposilite-bin { - javaJdk = pkgs.openjdk17_headless; + javaJdk = pkgs.openjdk_headless; }; - # patched packages - + /* + patched packages + patches packages take a package from nixpkgs and patch it to suit my own needs + */ foot-transparent = foot.overrideAttrs (prev: let version = "2024-03-14-unstable"; in { inherit version; - src = fetchFromGitea { domain = "codeberg.org"; owner = "dnkl"; @@ -56,9 +57,10 @@ hash = "sha256-Pp3/cNELRYmTOQrJgHX6c+t0QkxEjoly0TLMKVj3H0E="; }; - mesonFlags = (prev.mesonFlags or []) ++ ["-Dfullscreen_alpha=true"]; patches = (prev.patches or []) ++ [../patches/0001-foot-transparent.patch]; - mainProgram = "foot"; + mesonFlags = (prev.mesonFlags or []) ++ ["-Dfullscreen_alpha=true"]; + + meta.mainProgram = "foot"; }); alejandra-no-ads = alejandra.overrideAttrs (prev: { @@ -66,9 +68,8 @@ }); # override gnome-control-center to trick it into thinking we're running gnome - # - # - # get overriden idiot + # + # gccn-wrapped = pkgs.gnome.gnome-control-center.overrideAttrs (prev: { # gnome-control-center does not start without XDG_CURRENT_DESKTOP=gnome preFixup = diff --git a/pkgs/mov-cli/default.nix b/pkgs/mov-cli/default.nix index de2bac2..9812294 100644 --- a/pkgs/mov-cli/default.nix +++ b/pkgs/mov-cli/default.nix @@ -1,54 +1,69 @@ { lib, - python3Packages, fetchFromGitHub, - fetchPypi, - pins, -}: let - pin = pins.mov-cli; -in - python3Packages.buildPythonPackage { - format = "pyproject"; - pname = "mov-cli"; - inherit (pin) version; + # python + python3, + # runtime dependencies + ffmpeg, + fzf, + mpv, +}: +python3.pkgs.buildPythonPackage { + pname = "mov-cli"; + version = "2024-03-14-unstable"; + pyproject = true; - src = fetchFromGitHub { - inherit (pin.repository) owner repo; - sha256 = pin.hash; - rev = pin.revision; - }; + src = fetchFromGitHub { + owner = "mov-cli"; + repo = "mov-cli"; + rev = "620c46a4426cedda1b8cd4739c8ab3faeccae187"; + hash = "sha256-l2CwHbvtRZ+tktwF3+zJj4KM4tCN0sRf/o654FWs0C4="; + }; - propagatedBuildInputs = with python3Packages; [ - poetry-core - pycryptodome - lxml - six - beautifulsoup4 - tldextract - (httpx.overrideAttrs (_: { - src = fetchFromGitHub { - owner = "encode"; - repo = "httpx"; - rev = "refs/tags/0.26.0"; - hash = "sha256-qMMx1CYu2/yH4NRvZFzJOflAPIbcvMYJqU4r+chuzl0="; - }; - })) - (buildPythonPackage (let - pname = "krfzf_py"; - version = "0.0.4"; - in { - inherit pname version; - src = fetchPypi { - inherit pname version; - sha256 = "sha256-W0wpR1/HRrtYC3vqEwh+Jwkgwnfa49LCFIArOXaSPCE="; - }; - })) + makeWrapperArgs = let + binPath = lib.makeBinPath [ + ffmpeg + fzf + mpv ]; + in [ + "--prefix PATH : ${binPath}" + ]; - meta = { - homepage = "https://github.com/mov-cli/mov-cli"; - description = "A cli tool to browse and watch movies"; - license = lib.licenses.gpl3Only; - mainProgram = "mov-cli"; - }; - } + propagatedBuildInputs = with python3.pkgs; [ + beautifulsoup4 + click + colorama + httpx + krfzf-py + lxml + poetry-core + pycrypto + setuptools + six + tldextract + toml + inquirer + unidecode + ]; + + build-system = [ + python3.pkgs.setuptools-scm + ]; + + nativeBuildInputs = [ + python3.pkgs.pythonRelaxDepsHook + ]; + + pythonRelaxDeps = [ + "httpx" + "tldextract" + ]; + + meta = { + homepage = "https://github.com/mov-cli/mov-cli"; + description = "A cli tool to browse and watch movies"; + license = lib.licenses.gpl3Only; + mainProgram = "mov-cli"; + }; +}