1. Linux

1.1. Installation

  • Note: Make sure sudo is installed.

  • Enter the following commands at a Command Line.

    sudo apt-get install curl git gnupg pass scdaemon wget
    mkdir -p ~/Downloads
    cd ~/Downloads
    wget https://github.com/git-ecosystem/git-credential-manager/releases/download/v2.7.3/gcm-linux-x64-2.7.3.deb
    sudo dpkg -i ~/Downloads/gcm-linux-x64-2.7.3.deb

1.2. Configuration

1.2.1. Delta Software Labs

  • Log in as delta.

  • Enter the following commands at a Command Line.

    git-credential-manager configure
    git config --global credential.credentialStore gpg
    gpg --gen-key
    # Type "Douwe Kiestra" for the "Real name" and press Enter.
    # Type "douwe@deltasoftware.frl" for the "Email address" and press Enter.
    # Type "O" for Okay and press Enter.
    # Type the Level 2 password for the passphrase.
    # Type the Level 2 password for the passphrase.
    # Select "OK" and press Enter.
    gpg: /home/delta/.gnupg/trustdb.gpg: trustdb created
    gpg: directory '/home/delta/.gnupg/openpgp-revocs.d' created
    gpg: revocation certificate stored as '/home/delta/.gnupg/openpgp-revocs.d/0C32D9267D3948794EF556329A87DCB1466F6107.rev'
    public and secret key created and signed.
    
    pub   ed25519 2026-03-20 [SC] [expires: 2029-03-19]
          0C32D9267D3948794EF556329A87DCB1466F6107
    uid                      Douwe Kiestra <douwe@deltasoftware.frl>
    sub   cv25519 2026-03-20 [E] [expires: 2029-03-19]
    gpg: /home/delta/.gnupg/trustdb.gpg: trustdb created
    gpg: directory '/home/delta/.gnupg/openpgp-revocs.d' created
    gpg: revocation certificate stored as '/home/delta/.gnupg/openpgp-revocs.d/0D07A18768210D86121B4CC77E718F0B70833A53.rev'
    public and secret key created and signed.
    
    pub   ed25519 2026-03-23 [SC] [expires: 2029-03-22]
          0D07A18768210D86121B4CC77E718F0B70833A53
    uid                      Douwe Kiestra <douwe@deltasoftware.frl>
    sub   cv25519 2026-03-23 [E] [expires: 2029-03-22]
    #pass init <gpg-id>
    pass init 0C32D9267D3948794EF556329A87DCB1466F6107
    mkdir: created directory '/home/delta/.password-store/'
    Password store initialized for 0C32D9267D3948794EF556329A87DCB1466F6107
    mkdir: created directory '/home/delta/.password-store/'
    Password store initialized for 0D07A18768210D86121B4CC77E718F0B70833A53
  • Enter the following commands at a Command Line.

    cd ~/GitHub/Documentation
    git-incoming
    # Type "2" for "Personal Access Token" and press Enter.
    # Copy and paste the GitHub PAT and press Enter.
    git-incoming
    # Type the Level 2 password for the passphrase.
    git-incoming

1.2.2. Grendel Games

  • Log in as douwe.

  • Enter the following commands at a Command Line.

    git-credential-manager configure
    git config --global credential.credentialStore gpg
    gpg --gen-key
    # Type "Douwe Kiestra" for the "Real name" and press Enter.
    # Type "douwe@grendelgames.com" for the "Email address" and press Enter.
    # Type "O" for Okay and press Enter.
    # Type the Level 4 password for the passphrase.
    # Type the Level 4 password for the passphrase.
    # Select "OK" and press Enter.
    gpg: /home/douwe/.gnupg/trustdb.gpg: trustdb created
    gpg: directory '/home/douwe/.gnupg/openpgp-revocs.d' created
    gpg: revocation certificate stored as '/home/douwe/.gnupg/openpgp-revocs.d/A47E9D9DC8943E515A59727CA64AA09EA6B34247.rev'
    public and secret key created and signed.
    
    pub   ed25519 2026-03-23 [SC] [expires: 2029-03-22]
          A47E9D9DC8943E515A59727CA64AA09EA6B34247
    uid                      Douwe Kiestra <douwe@grendelgames.com>
    sub   cv25519 2026-03-23 [E] [expires: 2029-03-22]
    #pass init <gpg-id>
    pass init A47E9D9DC8943E515A59727CA64AA09EA6B34247
    mkdir: created directory '/home/douwe/.password-store/'
    Password store initialized for A47E9D9DC8943E515A59727CA64AA09EA6B34247
  • Enter the following commands at a Command Line.

    mkdir -p GitLab
    cd ~/GitLab
    git clone http://gitlab.grendelgames.com/alex/cicd-sandbox.git
    # Type "douwe" for the user name and press Enter.
    # Type the password and press Enter.
    cd ~/GitLab/cicd-sandbox
    
    git-incoming
    # Type "2" for "Personal Access Token" and press Enter.
    # Copy and paste the GitLab PAT and press Enter.
    git-incoming
    # Type the Level 4 password for the passphrase.
    git-incoming

Mounting a CIFS share at boot via /etc/fstab often leads to issues if the network isn’t ready. A more reliable solution is to create a systemd mount unit that ensures the network is online. Or use the x-systemd.automount option in the /etc/fstab file.

  • See https://dev.to/edgaras/how-to-reliably-mount-a-cifs-share-using-systemd-on-boot-2l8i.

  • Enter the following commands at a Command Line.

    sudo apt-get install cifs-utils smbclient
    smbclient --list //192.168.56.1 --user Douwe
            Sharename       Type      Comment
            ---------       ----      -------
            ADMIN$          Disk      Remote Admin
            C$              Disk      Default share
            D$              Disk      Default share
            IPC$            IPC       Remote IPC
            Users           Disk
    SMB1 disabled -- no workgroup available
  • Contents of the /root/.smbcredentials file.

    username=douwe
    password=********
  • Enter the following commands at a Command Line.

    sudo chmod 600 /root/.smbcredentials
    sudo mkdir -p /mnt/c
    
    file="/etc/fstab"
    line="//192.168.56.1/C$ /mnt/c cifs credentials=/root/.smbcredentials,iocharset=utf8,uid=1001,gid=1001,_netdev,vers=3.1.1,x-systemd.automount 0 0"
    # Back up original file if backup file is missing.
    if [ -f "${file}" ] && [ ! -f "${file}.org" ]; then sudo cp -a "${file}" "${file}.org"; fi
    if ! grep -q "${line}" "${file}"; then
      echo "${line}" | sudo tee --append "${file}" > /dev/null
    fi
    diff "${file}.org" "${file}"
    sudo systemctl daemon-reload
    
    sudo mount -a
  • Enter the following commands at a Command Line.

    cd /mnt/c/Users/Douwe/GitLab
    git clone http://gitlab.grendelgames.com/alex/cicd-sandbox.git
    # Type the Level 4 password for the passphrase.
    cd cicd-sandbox
    git-incoming

2. Windows

2.1. Installation

  • Run the gcm-win-x64-2.7.0.exe file with administrative privileges.

  • Choose I accept the agreement.

  • Click Next.

  • Click Install.

  • Click Finish.