gitlab-timelogs 0.2.2

CLI utility to support you with your time logs in GitLab. gitlab-timelogs is not associated with the official GitLab project!
{
  description = "gitlab-timelogs";

  inputs = {
    crane.url = "github:ipetkov/crane/master";
    crane.inputs.nixpkgs.follows = "nixpkgs";
    flake-parts.url = "github:hercules-ci/flake-parts";
    flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs";
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
    rust-overlay.url = "github:oxalica/rust-overlay/master";
    rust-overlay.inputs.nixpkgs.follows = "nixpkgs";
  };

  outputs = { self, flake-parts, ... }@inputs:
    let
      pkgs = import inputs.nixpkgs {
        system = "x86_64-linux";
        overlays = [
          (inputs.rust-overlay.overlays.default)
        ];
      };
    in
    flake-parts.lib.mkFlake { inherit inputs; }
      {
        flake = {
          nixosModules.default = (
            { pkgs, ... }:
            {
              environment.systemPackages = [
                self.packages.${pkgs.system}.gitlab-timelogs
              ];
            }
          );
        };
        # Don't artificially limit users at this point. If the build fails,
        # they will see soon enough.
        systems = inputs.nixpkgs.lib.systems.flakeExposed;
        perSystem = { system, self', ... }:
          let
            pkgs = import inputs.nixpkgs {
              inherit system;
              overlays = [
                (inputs.rust-overlay.overlays.default)
              ];
            };
          in
          {
            devShells = {
              default = pkgs.mkShell {
                inputsFrom = [ self'.packages.default ];
              };
            };
            formatter = pkgs.nixpkgs-fmt;
            packages = rec {
              default = gitlab-timelogs;
              gitlab-timelogs = pkgs.callPackage ./nix/build.nix {
                crane = inputs.crane.mkLib pkgs;
              };
            };
          };
      };
}