diff --git a/flake.nix b/flake.nix index 2ec3dac..af98ca1 100644 --- a/flake.nix +++ b/flake.nix @@ -9,61 +9,63 @@ }; }; - outputs = - { - self, - nixpkgs, - ... - }@inputs: - let - forAllSystems = - fn: nixpkgs.lib.genAttrs nixpkgs.lib.platforms.linux (system: fn nixpkgs.legacyPackages.${system}); - in - { - formatter = forAllSystems (pkgs: pkgs.nixfmt); + outputs = { + self, + nixpkgs, + ... + } @ inputs: let + forAllSystems = fn: nixpkgs.lib.genAttrs nixpkgs.lib.platforms.linux (system: fn nixpkgs.legacyPackages.${system}); + in { + formatter = forAllSystems (pkgs: pkgs.nixfmt); - packages = forAllSystems ( - pkgs: - let - pythonEnv = pkgs.python3.withPackages (ps: [ - ps.pillow - ps.materialyoucolor - ]); - in - rec { - zshell = pkgs.callPackage ./nix { - rev = self.rev or self.dirtyRev; - stdenv = pkgs.clangStdenv; - quickshell = inputs.quickshell.packages.${pkgs.stdenv.hostPlatform.system}.default.override { - withX11 = false; - withI3 = false; - }; - app2unit = pkgs.callPackage ./nix/app2unit.nix { inherit pkgs; }; - zshell-cli = pkgs.callPackage ./nix/zshell-cli.nix { inherit pkgs; }; + packages = forAllSystems ( + pkgs: let + pythonEnv = pkgs.python3.withPackages (ps: [ + ps.pillow + ps.materialyoucolor + ]); + in rec { + zshell-cli = pkgs.callPackage ./nix/zshell-cli.nix {}; - inherit pythonEnv; + zshell = pkgs.callPackage ./nix { + rev = self.rev or self.dirtyRev; + stdenv = pkgs.clangStdenv; + + quickshell = inputs.quickshell.packages.${pkgs.stdenv.hostPlatform.system}.default.override { + withX11 = false; + withI3 = false; }; - default = zshell; - } - ); + app2unit = pkgs.callPackage ./nix/app2unit.nix {}; - devShells = forAllSystems (pkgs: { - default = - let - shell = self.packages.${pkgs.stdenv.hostPlatform.system}.zshell; - in - pkgs.mkShell.override { stdenv = shell.stdenv; } { - inputsFrom = [ - shell - shell.Plugins - ]; - packages = with pkgs; [ - material-symbols - rubik - nerd-fonts.caskaydia-cove - ]; - }; - }); - }; + inherit pythonEnv zshell-cli; + }; + + default = zshell; + } + ); + + devShells = forAllSystems (pkgs: { + default = let + system = pkgs.stdenv.hostPlatform.system; + shellPkg = self.packages.${system}.zshell; + cliPkg = self.packages.${system}.zshell-cli; + in + pkgs.mkShell.override {stdenv = shellPkg.stdenv;} { + inputsFrom = [ + shellPkg + shellPkg.plugin + ]; + + packages = with pkgs; [ + shellPkg + cliPkg + + material-symbols + rubik + nerd-fonts.caskaydia-cove + ]; + }; + }); + }; } diff --git a/nix/default.nix b/nix/default.nix index 5a5c645..561e27b 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -22,6 +22,7 @@ ninja, pkg-config, pythonEnv, + zshell-cli, }: let version = "1.0.0"; @@ -100,7 +101,7 @@ in qt6.qtbase qt6.qtwayland ]; - propagatedBuildInputs = runtimeDeps; + propagatedBuildInputs = runtimeDeps ++ [zshell-cli]; cmakeFlags = [ diff --git a/nix/zshell-cli.nix b/nix/zshell-cli.nix index 1284982..bac5af7 100644 --- a/nix/zshell-cli.nix +++ b/nix/zshell-cli.nix @@ -5,7 +5,7 @@ python3.pkgs.buildPythonApplication { pname = "zshell-cli"; version = "0.1.0"; - src = ./cli/.; + src = ../cli; pyproject = true; build-system = with python3.pkgs; [ @@ -16,6 +16,7 @@ python3.pkgs.buildPythonApplication { dependencies = with python3.pkgs; [ materialyoucolor pillow + typer ]; pythonImportsCheck = ["zshell"];