Skip to main content

Git clone but easier

Project description

lazyclone

Git clone but easier. Built as a replacement/improvement of my project, clode.

Clone a repository without the full URL:

$ lazyclone olillin/lazyclone
Cloning https://github.com/olillin/lazyclone

If GitHub CLI is installed lazyclone will detect your GitHub username:

$ lazyclone bonk
Cloning https://github.com/olillin/bonk

If there are multiple options you will be able to choose which repository to clone:

$ lazyclone lazy
[?] Select repository to clone: 
 > olillin/lazyclone
   LazyVim/LazyVim
   l123456789jy/Lazy
   jesseduffield/lazygit
   jesseduffield/lazydocker
   aFarkas/lazysizes

You can even tell lazyvim to immediately open your favorite editor after cloning:

$ lazyclone bonk --program nvim
Cloning https://github.com/olillin/bonk
Successfully cloned into 'bonk'
Launching nvim...

See Usage for more details.

Installation

Pip

To install using pip simply run the command below:

pip install lazyclone

Nix/NixOS

lazyclone can be installed using Nix Flakes, see the section below.

Nix Flakes

Add the required inputs to your flake configuration:

flake.nix

{
  description = "NixOS configuration with lazyclone";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-25.11";

    lazyclone = {
      url = "github:olillin/lazyclone";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs = {
    self,
    nixpkgs,
    ...
  } @ inputs: {
    nixosConfigurations.yourconfiguration = nixpkgs.lib.nixosSystem {
      specialArgs = {inherit inputs;};
      modules = [
        ./configuration.nix
      ];
    };
  };
}

Install the package in your configuration.nix or an imported module:

configuration.nix

{
  pkgs,
  inputs,
  ...
}: {
  environment.systemPackages = with pkgs; [
    inputs.lazyclone.packages.${pkgs.stdenv.hostPlatform.system}.default
  ];
}

Usage

Arguments

Argument Type Description Example value
repo string Name or query of the repository to clone olillin/lazyclone
directory string Directory the repository should be cloned to lazyclone-2
-h/--help flag Show the help menu
-p/--program string Program to open the cloned repository with code
--host string URL for default git provider https://github.com
--ssh flag Prefer SSH over HTTPS
--debug flag Enable debug logs

Help message

usage: lazyclone [-h] [-p PROGRAM] [--host HOST] [--ssh] [--debug]
                 repo [directory]

Clone Git repositories easier

positional arguments:
  repo                  url or name of repository to clone
  directory             the name of a new directory to clone into

options:
  -h, --help            show this help message and exit
  -p, --program PROGRAM
                        open with this program after cloning
  --host HOST           URL for default git host (default: https://github.com)
  --ssh                 prefer ssh over https
  --debug               enable debugging output

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lazyclone-0.2.0.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lazyclone-0.2.0-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file lazyclone-0.2.0.tar.gz.

File metadata

  • Download URL: lazyclone-0.2.0.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lazyclone-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e04d6d2c41250931cc38c1290d81f1a1c37cd40e9dc1d10fa972f97902ddbd77
MD5 1ece3352dcf1353f89e04107adbe9364
BLAKE2b-256 879517716b07caaead8ac5e3ece2bedb7adbe6803302af87b19ea56659957393

See more details on using hashes here.

Provenance

The following attestation bundles were made for lazyclone-0.2.0.tar.gz:

Publisher: python-publish.yml on olillin/lazyclone

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lazyclone-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: lazyclone-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lazyclone-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8eaabd7552836c26b68c450ee63acf1e4b3db814fe249fbf03ad5d7512b87375
MD5 0d5a583e58fbda4d6bd101806e0466cf
BLAKE2b-256 a83889fd9baf0f5dec1025ada746cae11e1da677802ded025e42009f39883e69

See more details on using hashes here.

Provenance

The following attestation bundles were made for lazyclone-0.2.0-py3-none-any.whl:

Publisher: python-publish.yml on olillin/lazyclone

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page