RustTemplate

How to Start

  1. Create a new GitHub (only GitHub works) repository from this template

  2. Clone your new repository & cd into it

    git clone https://github.com/{YOUR_USERNAME}/{YOUR_REPOSITORY_NAME}
    cd {YOUR_REPOSITORY_NAME}
    
  3. Install python (if you don’t have it)

    • On Windows

      a. Download & run the installer from their official site

      b. Install it using winget (replace 3.11 with whatever version is the latest)

      winget install -e --id Python.Python.3.11
      

      Note: This may or may not add python3 to path, if not do it manually.

    • On Linux

      Use your distribution’s package manager, for example on Arch Linux:

      sudo pacman -Sy python3
      

      or if you are on NixOS or have nix installed just do the following and skip the next step (installing pip)

      if you don’t have flakes

      nix-shell
      

      if you have flakes (this will grab the latest rust version)

      nix develop
      nix flake update # when you want to update the rust version
      
    • On macOS

      a. Download & run the installer from their official site

      b. Install it using homebrew (install homebrew)

      brew install python3
      
  4. Install/Upgrade pip and install the Pillow library

    python3 -m pip install --upgrade pip
    python3 -m pip install --upgrade Pillow
    
  5. Replace the default emails in the scripts/data/PMAIL & scripts/data/SMAIL files

    PMAIL - primary email address associated with your user.

    SMAIL - secondary email where you should receive ISSUE & SECURITY reports from users

    You could just use the same email in both files, I just like a little fragmentation.

  6. Run the following command in the root of your project

    python3 scripts/repo.py init
    

    This will initialize the repository by replacing CHANGEME_NAME, CHANGEME_BIN, CHANGEME_USER, CHANGEME_PMAIL, CHANGEME_SMAIL placeholders in every file with the according values and rename all the folders & files that have a CHANGEME tag as well as converting and copying the default logo.png where needed.

  7. Finish by pushing your changes

    git commit -am "init repo"
    git push
    

Additional Resources