{ description = "Noctalia - A lightweight Wayland shell and bar"; inputs = { nixpkgs.url = "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"; }; outputs = { self, nixpkgs }: let inherit (nixpkgs) lib; systems = [ "x86_64-linux" "aarch64-linux" ]; forEachSystem = perSystem: lib.genAttrs systems ( system: let pkgs = nixpkgs.legacyPackages.${system}; in perSystem { inherit pkgs system; } ); mkDate = longDate: nixpkgs.lib.concatStringsSep "-" [ (builtins.substring 0 4 longDate) (builtins.substring 4 2 longDate) (builtins.substring 6 2 longDate) ]; version = mkDate (self.lastModifiedDate or "19700101") + "" + (self.shortRev or "dirty"); in { overlays.default = final: prev: { noctalia = final.callPackage ./nix/package.nix { inherit version; }; }; packages = forEachSystem ( { pkgs, ... }: { default = pkgs.callPackage ./nix/package.nix { inherit version; }; } ); devShells = forEachSystem ( { pkgs, system }: { default = pkgs.callPackage ./nix/devshell.nix { noctalia = self.packages.${system}.default; }; } ); apps = forEachSystem ( { system, ... }: { default = { type = "app"; program = lib.getExe self.packages.${system}.default; }; } ); }; }