{ description = "CLI for Caelestia dots"; inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; app2unit = { url = "github:soramanew/app2unit"; inputs.nixpkgs.follows = "nixpkgs"; }; caelestia-shell = { url = "github:caelestia-dots/shell"; inputs.nixpkgs.follows = "nixpkgs"; inputs.app2unit.follows = "app2unit"; inputs.caelestia-cli.follows = ""; }; }; outputs = { self, nixpkgs, ... } @ inputs: let forAllSystems = fn: nixpkgs.lib.genAttrs nixpkgs.lib.platforms.linux ( system: fn nixpkgs.legacyPackages.${system} ); in { formatter = forAllSystems (pkgs: pkgs.alejandra); packages = forAllSystems (pkgs: rec { caelestia-cli = pkgs.callPackage ./default.nix { rev = self.rev or self.dirtyRev; app2unit = inputs.app2unit.packages.${pkgs.system}.default; caelestia-shell = inputs.caelestia-shell.packages.${pkgs.system}.default; }; with-shell = caelestia-cli.override {withShell = true;}; default = caelestia-cli; }); devShells = forAllSystems (pkgs: { default = pkgs.mkShellNoCC { packages = [self.packages.${pkgs.system}.with-shell]; }; }); }; }