diff --git a/flake.lock b/flake.lock index 406c56b..d9d6ad3 100644 --- a/flake.lock +++ b/flake.lock @@ -18,37 +18,66 @@ "type": "github" } }, + "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "poetry2nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729742964, + "narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=", + "owner": "nix-community", + "repo": "nix-github-actions", + "rev": "e04df33f62cdcf93d73e9a04142464753a16db67", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-github-actions", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1734856068, - "narHash": "sha256-Q+CB1ajsJg4Z9HGHTBAGY1q18KpnnkmF/eCTLUY6FQ0=", + "lastModified": 1734649271, + "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "93ff48c9be84a76319dac293733df09bbbe3f25c", + "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", "type": "github" }, "original": { - "id": "nixpkgs", - "type": "indirect" + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" } }, - "pyproject-nix": { + "poetry2nix": { "inputs": { + "flake-utils": [ + "flake-utils" + ], + "nix-github-actions": "nix-github-actions", "nixpkgs": [ "nixpkgs" - ] + ], + "systems": "systems_2", + "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1734658408, - "narHash": "sha256-HdHkeJ506zKDOrCvsMoZllrOs1sol6bYbv1DifDtas0=", + "lastModified": 1731205797, + "narHash": "sha256-F7N1mxH1VrkVNHR3JGNMRvp9+98KYO4b832KS8Gl2xI=", "owner": "nix-community", - "repo": "pyproject.nix", - "rev": "139a84af40ed51c87f27708fcbe196bd6f189efd", + "repo": "poetry2nix", + "rev": "f554d27c1544d9c56e5f1f8e2b8aff399803674e", "type": "github" }, "original": { "owner": "nix-community", - "repo": "pyproject.nix", + "repo": "poetry2nix", "type": "github" } }, @@ -56,7 +85,7 @@ "inputs": { "flake-utils": "flake-utils", "nixpkgs": "nixpkgs", - "pyproject-nix": "pyproject-nix" + "poetry2nix": "poetry2nix" } }, "systems": { @@ -73,6 +102,41 @@ "repo": "default", "type": "github" } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "id": "systems", + "type": "indirect" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "poetry2nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1730120726, + "narHash": "sha256-LqHYIxMrl/1p3/kvm2ir925tZ8DkI0KA10djk8wecSk=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "9ef337e492a5555d8e17a51c911ff1f02635be15", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index e0f1507..fd23448 100644 --- a/flake.nix +++ b/flake.nix @@ -1,93 +1,45 @@ { - inputs = { - pyproject-nix.url = "github:nix-community/pyproject.nix"; - pyproject-nix.inputs.nixpkgs.follows = "nixpkgs"; + description = "CLI for remote controlling LG webOS TVs"; + inputs = { flake-utils.url = "github:numtide/flake-utils"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + poetry2nix = { + url = "github:nix-community/poetry2nix"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.flake-utils.follows = "flake-utils"; + }; }; outputs = { + self, nixpkgs, - pyproject-nix, flake-utils, - ... + poetry2nix, }: flake-utils.lib.eachDefaultSystem ( system: let - inherit (nixpkgs) lib; - project = pyproject-nix.lib.project.loadPoetryPyproject { projectRoot = ./.; }; - - overlay = _: prev: { - python3 = prev.python3.override { - packageOverrides = _: p: { - cfgs = p.buildPythonPackage rec { - version = "0.13.0"; - pname = "cfgs"; - format = "pyproject"; - nativeBuildInputs = with p.pythonPackages; [ poetry-core ]; - src = p.fetchPypi { - inherit version pname; - hash = "sha256-zvR+Z/BRJ4Pug+JMwvOeWyO11MoMMrvXIb1k9IY2Zn4="; - }; - }; - pzp = p.buildPythonPackage rec { - version = "0.0.25"; - pname = "pzp"; - format = "pyproject"; - nativeBuildInputs = with p.pythonPackages; [ - poetry-core - setuptools - ]; - src = p.fetchPypi { - inherit version pname; - hash = "sha256-29OhVEM9By+SQ6Cb+SF/f3157FBDttCxDHHV8kpcx2Y="; - }; - }; - typer = p.buildPythonPackage rec { - version = "0.15.1"; - pname = "typer"; - format = "pyproject"; - nativeBuildInputs = with p.pythonPackages; [ - poetry-core - pdm-backend - ]; - propagatedBuildInputs = with p.pythonPackages; [ - click - shellingham - rich - typing-extensions - ]; - src = p.fetchPypi { - inherit version pname; - hash = "sha256-oFiMCn+mihl4oGmBhld3j4ar5v9epqv0cvlAoIv+Two="; - }; - }; - - }; + alga = + { poetry2nix, lib }: + poetry2nix.mkPoetryApplication { + projectDir = self; + preferWheels = true; }; - }; - pkgs = import nixpkgs { inherit system; - overlays = [ overlay ]; + overlays = [ + poetry2nix.overlays.default + (final: _: { + alga = final.callPackage alga { }; + }) + ]; }; - python = pkgs.python3; in { - devShells.default = - let - arg = project.renderers.withPackages { inherit python; }; - pythonEnv = python.withPackages arg; - in - pkgs.mkShell { packages = [ pythonEnv ]; }; - - packages.default = - let - attrs = project.renderers.buildPythonPackage { inherit python; }; - in - python.pkgs.buildPythonPackage attrs; + packages.default = pkgs.alga; + legacyPackages = pkgs; } ); }