|
|
|
|
|
|
|
|
|
|
|
Getting/Installing ``dds`` |
|
|
|
|
|
########################## |
|
|
|
|
|
|
|
|
|
|
|
``dds`` ships as a single statically linked executable. It does not have any |
|
|
|
|
|
installer or distribution package. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Downloading |
|
|
|
|
|
*********** |
|
|
|
|
|
|
|
|
|
|
|
Downloads are available on `the main dds website <https://dds.pizza/downloads>`_ |
|
|
|
|
|
as well as |
|
|
|
|
|
`the GitHub Releases page <https://github.com/vector-of-bool/dds/releases>`_. Select the executable appropriate for your platform. |
|
|
|
|
|
|
|
|
|
|
|
Alternatively, the appropriate executable can be downloaded directly from the |
|
|
|
|
|
command-line with an easy-to-remember URL. Using ``curl``: |
|
|
|
|
|
|
|
|
|
|
|
.. code-block:: sh |
|
|
|
|
|
|
|
|
|
|
|
# For Linux, writes a file in the working directory called "dds" |
|
|
|
|
|
curl dds.pizza/get/linux -Lo dds |
|
|
|
|
|
|
|
|
|
|
|
# For macOS, writes a file in the working directory called "dds" |
|
|
|
|
|
curl dds.pizza/get/macos -Lo dds |
|
|
|
|
|
|
|
|
|
|
|
Or using PowerShell on Windows: |
|
|
|
|
|
|
|
|
|
|
|
.. code-block:: powershell |
|
|
|
|
|
|
|
|
|
|
|
# Writes a file in the working directory called "dds.exe" |
|
|
|
|
|
Invoke-WebRequest dds.pizza/get/windows -OutFile dds.exe |
|
|
|
|
|
|
|
|
|
|
|
**On Linux, macOS, or other Unix-like system**, you will need to mark the |
|
|
|
|
|
downloaded file as executable: |
|
|
|
|
|
|
|
|
|
|
|
.. code-block:: sh |
|
|
|
|
|
|
|
|
|
|
|
# Add the executable bit to the file mode for the file named "dds" |
|
|
|
|
|
chmod +x dds |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Installing |
|
|
|
|
|
********** |
|
|
|
|
|
|
|
|
|
|
|
Note that it is not necessary to "install" ``dds`` before it can be used. |
|
|
|
|
|
``dds`` is a single standalone executable that can be executed in whatever |
|
|
|
|
|
directory it is placed. If you are running a CI process and need ``dds``, it is |
|
|
|
|
|
viable to simply download the executable and place it in your source tree and |
|
|
|
|
|
execute it from that directory. |
|
|
|
|
|
|
|
|
|
|
|
**However:** If you want to be able to execute ``dds`` with an unqualified |
|
|
|
|
|
command name from any shell interpreter, you will need to place ``dds`` on a |
|
|
|
|
|
directory on your shell's ``PATH`` environment variable. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Easy Mode: ``install-yourself`` |
|
|
|
|
|
=============================== |
|
|
|
|
|
|
|
|
|
|
|
``dds`` includes a subcommand "``install-yourself``" that will move its own |
|
|
|
|
|
executable to a predetermined directory and ensure that it exists on your |
|
|
|
|
|
``PATH`` environment variable. It is simple enough to run the command:: |
|
|
|
|
|
|
|
|
|
|
|
$ ./dds install-yourself |
|
|
|
|
|
|
|
|
|
|
|
This will copy the executable ``./dds`` into a user-local directory designated |
|
|
|
|
|
for containing user-local executable binaries. On Unix-like systems, this is |
|
|
|
|
|
``~/.local/bin``, and on Windows this is ``%LocalAppData%/bin``. ``dds`` will |
|
|
|
|
|
also ensure that the destination directory is available on the ``PATH`` |
|
|
|
|
|
environment variable for your user profile. |
|
|
|
|
|
|
|
|
|
|
|
.. note:: |
|
|
|
|
|
|
|
|
|
|
|
If ``dds`` reports that is has modified your PATH, you will need to restart |
|
|
|
|
|
your command line and any other applications that wish to see ``dds`` on your |
|
|
|
|
|
``PATH``. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Manually: On Unix-like Systems |
|
|
|
|
|
============================== |
|
|
|
|
|
|
|
|
|
|
|
For an **unprivileged, user-specific installation (preferred)**, we recommend |
|
|
|
|
|
placing ``dds`` in ``~/.local/bin`` (Where ``~`` represents the ``$HOME`` |
|
|
|
|
|
directory of the current user). |
|
|
|
|
|
|
|
|
|
|
|
Although not officially standardized, |
|
|
|
|
|
`the XDG Base Directory specification <https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html>`_ |
|
|
|
|
|
recommends several related directories to live within ``~/.local`` (and ``dds`` |
|
|
|
|
|
itself follows those recommendations for the most part). |
|
|
|
|
|
`The systemd file heirarchy <https://www.freedesktop.org/software/systemd/man/file-hierarchy.html>`_ |
|
|
|
|
|
also recommends placing user-local binaries in ``~/.local/bin``, and several |
|
|
|
|
|
Linux distribution's shell packages add ``~/.local/bin`` to the startup |
|
|
|
|
|
``$PATH``. |
|
|
|
|
|
|
|
|
|
|
|
Placing a file in ``~/.local/bin`` requires no privileges beyond what the |
|
|
|
|
|
current user can execute, and gives a good isolation to other users on the |
|
|
|
|
|
system. Other tools (e.g. ``pip``) will also use ``~/.local/bin`` for the |
|
|
|
|
|
installation of user-local scripts and commands. |
|
|
|
|
|
|
|
|
|
|
|
.. note:: |
|
|
|
|
|
|
|
|
|
|
|
On some shells, ``~/.local/bin`` is not an entry on ``$PATH`` by default. |
|
|
|
|
|
Check if your shell's default ``$PATH`` environment variable contains |
|
|
|
|
|
``.local/bin``. If it does not, refer to your shell's documentation on how to |
|
|
|
|
|
add this directory to the startup ``$PATH``. |
|
|
|
|
|
|
|
|
|
|
|
For a **system-wide installation**, place the downloaded ``dds`` executable |
|
|
|
|
|
within the ``/usr/local/bin/`` directory. This will be a directory on the |
|
|
|
|
|
``PATH`` for any Unix-like system. |
|
|
|
|
|
|
|
|
|
|
|
.. note:: |
|
|
|
|
|
|
|
|
|
|
|
**DO NOT** place ``dds`` in ``/usr/bin`` or ``/bin``: These are reserved for |
|
|
|
|
|
your system's package management utilities. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Manually: On Windows |
|
|
|
|
|
==================== |
|
|
|
|
|
|
|
|
|
|
|
Unlike Unix-like systems, Windows does not have a directory designated for |
|
|
|
|
|
user-installed binaries that lives on the ``PATH``. If you have a directory that |
|
|
|
|
|
you use for custom binaries, simply place ``dds.exe`` in that directory. |
|
|
|
|
|
|
|
|
|
|
|
If you are unfamiliar with placing binaries and modifying your ``PATH``, read |
|
|
|
|
|
on: |
|
|
|
|
|
|
|
|
|
|
|
For an **unprivileged, user-specific installation**, ``dds`` should be placed in |
|
|
|
|
|
a user-local directory, and that directory should be added to the user ``PATH``. |
|
|
|
|
|
|
|
|
|
|
|
To emulate what ``dds install-yourself`` does, follow the following steps: |
|
|
|
|
|
|
|
|
|
|
|
#. Create a directory ``%LocalAppData%\bin\`` if it does not exist. |
|
|
|
|
|
|
|
|
|
|
|
For ``cmd.exe`` |
|
|
|
|
|
|
|
|
|
|
|
.. code-block:: batch |
|
|
|
|
|
|
|
|
|
|
|
md %LocalAppData%\bin |
|
|
|
|
|
|
|
|
|
|
|
Or for PowerShell: |
|
|
|
|
|
|
|
|
|
|
|
.. code-block:: powershell |
|
|
|
|
|
|
|
|
|
|
|
md $env:LocalAppData\bin |
|
|
|
|
|
|
|
|
|
|
|
#. Copy ``dds.exe`` into the ``%LocalAppData%\bin`` directory. |
|
|
|
|
|
#. Go to the Start Menu, and run "Edit environment variables for your account" |
|
|
|
|
|
#. In the upper area, find and open the entry for the "Path" variable. |
|
|
|
|
|
#. Add an entry in "Path" for ``%LocalAppData%\bin``. |
|
|
|
|
|
#. Confirm your edits. |
|
|
|
|
|
#. Restart any applications that require the modified environment, including |
|
|
|
|
|
command-lines. |
|
|
|
|
|
|
|
|
|
|
|
If the above steps are performed successfully, you should be able to open a new |
|
|
|
|
|
command window and execute ``dds --help`` to get the help output. |