1Install kitty
2========================
3
4Binary install
5----------------
6
7.. |ins| replace:: curl -L :literal:`https://sw.kovidgoyal.net/kitty/installer.sh` | sh /dev/stdin
8
9.. highlight:: sh
10
11You can install pre-built binaries of |kitty| if you are on macOS or Linux using
12the following simple command:
13
14.. parsed-literal::
15    :class: pre
16
17    |ins|
18
19
20The binaries will be installed in the standard location for your OS,
21:file:`/Applications/kitty.app` on macOS and :file:`~/.local/kitty.app` on
22Linux. The installer only touches files in that directory. To update kitty,
23simply re-run the command.
24
25
26Manually installing
27---------------------
28
29If something goes wrong or you simply do not want to run the installer, you can
30manually download and install |kitty| from the `GitHub releases page
31<https://github.com/kovidgoyal/kitty/releases>`_. If you are on macOS, download
32the :file:`.dmg` and install as normal. If you are on Linux, download the tarball
33and extract it into a directory. The |kitty| executable will be in the
34:file:`bin` sub-directory.
35
36Desktop integration on Linux
37--------------------------------
38
39If you want the kitty icon to appear in the taskbar and an entry for it to be
40present in the menus, you will need to install the :file:`kitty.desktop` file.
41The details of the following procedure may need to be adjusted for your
42particular desktop, but it should work for most major desktop environments.
43
44.. code-block:: sh
45
46    # Create a symbolic link to add kitty to PATH (assuming ~/.local/bin is in
47    # your PATH)
48    ln -s ~/.local/kitty.app/bin/kitty ~/.local/bin/
49    # Place the kitty.desktop file somewhere it can be found by the OS
50    cp ~/.local/kitty.app/share/applications/kitty.desktop ~/.local/share/applications/
51    # Update the path to the kitty icon in the kitty.desktop file
52    sed -i "s|Icon=kitty|Icon=/home/$USER/.local/kitty.app/share/icons/hicolor/256x256/apps/kitty.png|g" ~/.local/share/applications/kitty.desktop
53
54.. note::
55    If you use the venerable `stow <https://www.gnu.org/software/stow/>`_
56    command to manage your manual installations, the following takes care of the
57    above for you (use with :file:`dest=~/.local/stow`)::
58
59        cd ~/.local/stow
60        stow -v kitty.app
61
62
63Customizing the installation
64--------------------------------
65
66* You can specify a different install location, with ``dest``:
67
68  .. parsed-literal::
69     :class: pre
70
71     |ins| \\
72         dest=/some/other/location
73
74* You can tell the installer not to launch |kitty| after installing it with
75  ``launch=n``:
76
77  .. parsed-literal::
78     :class: pre
79
80     |ins| \\
81         launch=n
82
83* You can use a previously downloaded dmg/tarball, with ``installer``:
84
85  .. parsed-literal::
86     :class: pre
87
88     |ins| \\
89         installer=/path/to/dmg or tarball
90
91Uninstalling
92----------------
93
94All the installer does is copy the kitty files into the install directory. To
95uninstall, simply delete that directory.
96
97
98Building from source
99------------------------
100
101|kitty| is easy to build from source, follow the :doc:`instructions <build>`.
102