From e575e08cacd3461feae843d368fa205c85304b2c Mon Sep 17 00:00:00 2001 From: Someone Serge Date: Tue, 25 Jun 2024 17:09:58 +0000 Subject: evanix-py: init --- flake.nix | 140 ++++++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 82 insertions(+), 58 deletions(-) (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix index 90992f3..ad6638d 100644 --- a/flake.nix +++ b/flake.nix @@ -3,75 +3,99 @@ inputs.nixpkgs.url = "github:NixOs/nixpkgs/nixos-unstable"; - outputs = { self, nixpkgs }: let - lib = nixpkgs.lib; + outputs = + { self, nixpkgs }: + let + lib = nixpkgs.lib; - forSystem = f: system: f { - inherit system; - pkgs = import nixpkgs { inherit system; }; - }; + forSystem = + f: system: + f { + inherit system; + pkgs = import nixpkgs { inherit system; }; + }; - supportedSystems = lib.platforms.unix; - forAllSystems = f: lib.genAttrs supportedSystems (forSystem f); - in { - devShells = forAllSystems ({ system, pkgs }: { - default = pkgs.mkShell { - name = "dev"; + supportedSystems = lib.platforms.unix; + forAllSystems = f: lib.genAttrs supportedSystems (forSystem f); + in + { + devShells = forAllSystems ( + { system, pkgs }: + { + default = pkgs.mkShell { + name = "dev"; - buildInputs = with pkgs; [ - jq - cjson - nix-eval-jobs + buildInputs = with pkgs; [ + jq + cjson + nix-eval-jobs - pkg-config - meson - ninja + pkg-config + meson + ninja - gdb - ccls - valgrind - clang-tools # clang-format - ]; + gdb + ccls + valgrind + clang-tools # clang-format + ]; - shellHook = '' - export PS1="\033[0;34m[󱄅 ]\033[0m $PS1" - ''; - }; - }); + shellHook = '' + export PS1="\033[0;34m[󱄅 ]\033[0m $PS1" + ''; + }; + } + ); - packages = forAllSystems ({ system, pkgs }: { - evanix = pkgs.stdenv.mkDerivation (finalAttrs: { - name = "evanix"; + packages = forAllSystems ( + { system, pkgs }: + { + default = self.packages.${system}.evanix; + evanix = pkgs.stdenv.mkDerivation (finalAttrs: { + name = "evanix"; - src = ./.; - nativeBuildInputs = with pkgs; [ - meson - ninja - pkg-config - makeWrapper - ]; - buildInputs = with pkgs; [ - cjson - nix-eval-jobs - ]; + src = ./.; + nativeBuildInputs = with pkgs; [ + meson + ninja + pkg-config + makeWrapper + ]; + buildInputs = with pkgs; [ + cjson + nix-eval-jobs + ]; - postInstall = '' - wrapProgram $out/bin/evanix \ - --prefix PATH : ${lib.makeBinPath [ pkgs.nix-eval-jobs ]} - ''; + postInstall = '' + wrapProgram $out/bin/evanix \ + --prefix PATH : ${lib.makeBinPath [ pkgs.nix-eval-jobs ]} + ''; - meta = { - homepage = "https://git.sinanmohd.com/evanix"; + meta = { + homepage = "https://git.sinanmohd.com/evanix"; - license = lib.licenses.gpl3; - platforms = supportedSystems; - mainProgram = "evanix"; + license = lib.licenses.gpl3; + platforms = supportedSystems; + mainProgram = "evanix"; - maintainers = with lib.maintainers; [ sinanmohd ]; - }; - }); + maintainers = with lib.maintainers; [ sinanmohd ]; + }; + }); - default = self.packages.${system}.evanix; - }); - }; + evanix-py = pkgs.python3Packages.callPackage ./python-package.nix { }; + pythonWithEvanix = + let + wrapper = pkgs.python3.withPackages (ps: [ (ps.callPackage ./python-package.nix { }) ]); + in + wrapper.overrideAttrs (oldAttrs: { + makeWrapperArgs = oldAttrs.makeWrapperArgs or [ ] ++ [ + "--prefix" + "PATH" + ":" + "${lib.makeBinPath [ pkgs.nix-eval-jobs ]}" + ]; + }); + } + ); + }; } -- cgit v1.2.3