diff --git a/.idea/misc.xml b/.idea/misc.xml
index 8ecd2fe6df55e80f0da8a4a780e7b138df50df32..578d16da84483d7869e5fe85c85100dccf714336 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="ExternalStorageConfigurationManager" enabled="true" />
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="11" project-jdk-type="JavaSDK">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="azul-15" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/out" />
   </component>
 </project>
\ No newline at end of file
diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml
new file mode 100644
index 0000000000000000000000000000000000000000..797acea53eb091cf5b30518802c3073f544adeed
--- /dev/null
+++ b/.idea/runConfigurations.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RunConfigurationProducerService">
+    <option name="ignoredProducers">
+      <set>
+        <option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" />
+      </set>
+    </option>
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/runConfigurations/Create_Distributable.xml b/.idea/runConfigurations/Create_Distributable.xml
new file mode 100644
index 0000000000000000000000000000000000000000..541a704ac7bc5eab8f231fddb979cde169f762b2
--- /dev/null
+++ b/.idea/runConfigurations/Create_Distributable.xml
@@ -0,0 +1,21 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="Create Distributable" type="GradleRunConfiguration" factoryName="Gradle">
+    <ExternalSystemSettings>
+      <option name="executionName" />
+      <option name="externalProjectPath" value="$PROJECT_DIR$" />
+      <option name="externalSystemIdString" value="GRADLE" />
+      <option name="scriptParameters" value="createDistributable" />
+      <option name="taskDescriptions">
+        <list />
+      </option>
+      <option name="taskNames">
+        <list />
+      </option>
+      <option name="vmOptions" />
+    </ExternalSystemSettings>
+    <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
+    <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
+    <DebugAllEnabled>false</DebugAllEnabled>
+    <method v="2" />
+  </configuration>
+</component>
\ No newline at end of file
diff --git a/.idea/runConfigurations/Package.xml b/.idea/runConfigurations/Package.xml
new file mode 100644
index 0000000000000000000000000000000000000000..92e3d4365de94c7cb6dfd5d1ae03a8ae5c27e744
--- /dev/null
+++ b/.idea/runConfigurations/Package.xml
@@ -0,0 +1,21 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="Package" type="GradleRunConfiguration" factoryName="Gradle">
+    <ExternalSystemSettings>
+      <option name="executionName" />
+      <option name="externalProjectPath" value="$PROJECT_DIR$" />
+      <option name="externalSystemIdString" value="GRADLE" />
+      <option name="scriptParameters" value="package" />
+      <option name="taskDescriptions">
+        <list />
+      </option>
+      <option name="taskNames">
+        <list />
+      </option>
+      <option name="vmOptions" />
+    </ExternalSystemSettings>
+    <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
+    <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
+    <DebugAllEnabled>false</DebugAllEnabled>
+    <method v="2" />
+  </configuration>
+</component>
\ No newline at end of file
diff --git a/.idea/runConfigurations/Package_Debian.xml b/.idea/runConfigurations/Package_Debian.xml
new file mode 100644
index 0000000000000000000000000000000000000000..25ef27330116a9c2d5bf8f261adcd5498d8bf002
--- /dev/null
+++ b/.idea/runConfigurations/Package_Debian.xml
@@ -0,0 +1,21 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="Package Debian" type="GradleRunConfiguration" factoryName="Gradle">
+    <ExternalSystemSettings>
+      <option name="executionName" />
+      <option name="externalProjectPath" value="$PROJECT_DIR$" />
+      <option name="externalSystemIdString" value="GRADLE" />
+      <option name="scriptParameters" value="packageDeb" />
+      <option name="taskDescriptions">
+        <list />
+      </option>
+      <option name="taskNames">
+        <list />
+      </option>
+      <option name="vmOptions" />
+    </ExternalSystemSettings>
+    <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
+    <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
+    <DebugAllEnabled>false</DebugAllEnabled>
+    <method v="2" />
+  </configuration>
+</component>
\ No newline at end of file
diff --git a/.idea/runConfigurations/Package_Windows.xml b/.idea/runConfigurations/Package_Windows.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b06211a2ad0266af65ce9afa29a60dcd302a69c4
--- /dev/null
+++ b/.idea/runConfigurations/Package_Windows.xml
@@ -0,0 +1,21 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="Package Windows" type="GradleRunConfiguration" factoryName="Gradle">
+    <ExternalSystemSettings>
+      <option name="executionName" />
+      <option name="externalProjectPath" value="$PROJECT_DIR$" />
+      <option name="externalSystemIdString" value="GRADLE" />
+      <option name="scriptParameters" value="packageMsi" />
+      <option name="taskDescriptions">
+        <list />
+      </option>
+      <option name="taskNames">
+        <list />
+      </option>
+      <option name="vmOptions" />
+    </ExternalSystemSettings>
+    <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
+    <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
+    <DebugAllEnabled>false</DebugAllEnabled>
+    <method v="2" />
+  </configuration>
+</component>
\ No newline at end of file
diff --git a/.idea/runConfigurations/Run.xml b/.idea/runConfigurations/Run.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7767a2f9fe1f1cfc2ca427893fbd7da013e73629
--- /dev/null
+++ b/.idea/runConfigurations/Run.xml
@@ -0,0 +1,21 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="Run" type="GradleRunConfiguration" factoryName="Gradle">
+    <ExternalSystemSettings>
+      <option name="executionName" />
+      <option name="externalProjectPath" value="$PROJECT_DIR$" />
+      <option name="externalSystemIdString" value="GRADLE" />
+      <option name="scriptParameters" value="run" />
+      <option name="taskDescriptions">
+        <list />
+      </option>
+      <option name="taskNames">
+        <list />
+      </option>
+      <option name="vmOptions" />
+    </ExternalSystemSettings>
+    <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
+    <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
+    <DebugAllEnabled>false</DebugAllEnabled>
+    <method v="2" />
+  </configuration>
+</component>
\ No newline at end of file
diff --git a/.idea/runConfigurations/Run_Distributable.xml b/.idea/runConfigurations/Run_Distributable.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b7ebef6592f6acfa18306005b1f7ece6f264c05b
--- /dev/null
+++ b/.idea/runConfigurations/Run_Distributable.xml
@@ -0,0 +1,21 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="Run Distributable" type="GradleRunConfiguration" factoryName="Gradle">
+    <ExternalSystemSettings>
+      <option name="executionName" />
+      <option name="externalProjectPath" value="$PROJECT_DIR$" />
+      <option name="externalSystemIdString" value="GRADLE" />
+      <option name="scriptParameters" value="runDistributable" />
+      <option name="taskDescriptions">
+        <list />
+      </option>
+      <option name="taskNames">
+        <list />
+      </option>
+      <option name="vmOptions" />
+    </ExternalSystemSettings>
+    <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
+    <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
+    <DebugAllEnabled>false</DebugAllEnabled>
+    <method v="2" />
+  </configuration>
+</component>
\ No newline at end of file
diff --git a/.idea/runConfigurations/_jar__OS_specific_.xml b/.idea/runConfigurations/_jar__OS_specific_.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f3d5738c06b2d582991a62375aee568d96da7b49
--- /dev/null
+++ b/.idea/runConfigurations/_jar__OS_specific_.xml
@@ -0,0 +1,21 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name=".jar (OS specific)" type="GradleRunConfiguration" factoryName="Gradle">
+    <ExternalSystemSettings>
+      <option name="executionName" />
+      <option name="externalProjectPath" value="$PROJECT_DIR$" />
+      <option name="externalSystemIdString" value="GRADLE" />
+      <option name="scriptParameters" value="packageUberJarForCurrentOS" />
+      <option name="taskDescriptions">
+        <list />
+      </option>
+      <option name="taskNames">
+        <list />
+      </option>
+      <option name="vmOptions" />
+    </ExternalSystemSettings>
+    <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
+    <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
+    <DebugAllEnabled>false</DebugAllEnabled>
+    <method v="2" />
+  </configuration>
+</component>
\ No newline at end of file
diff --git a/build.gradle.kts b/build.gradle.kts
index 5d7db6b8576f060c64f7d3bdb8e729100ddc020f..8b8b4a2171852fbabc5cd42243ca8b0d4ebc0e01 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -49,9 +49,21 @@ compose.desktop {
     application {
         mainClass = "org.briarproject.briar.desktop.MainKt"
         nativeDistributions {
-            targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
-            packageName = "app.briar.desktop"
-            packageVersion = "1.0.0"
+            targetFormats(TargetFormat.Msi, TargetFormat.Exe, TargetFormat.Deb, TargetFormat.Rpm)
+            packageName = "Briar"
+            packageVersion = "0.0.1"
+            description = "Secure messaging, anywhere"
+            vendor = "The Briar Project"
+            linux {
+                packageName = "briar-desktop"
+                iconFile.set(project.file("src/main/resources/images/logo_circle.png"))
+                debMaintainer = "contact@briarproject.org"
+                appCategory = "comm"
+            }
+            windows {
+                iconFile.set(project.file("src/main/resources/images/logo_circle.ico"))
+                upgradeUuid = "cc8b40f7-f190-4cea-bfec-ceb9ef85df09"
+            }
         }
     }
 }
diff --git a/src/main/resources/images/logo_circle.ico b/src/main/resources/images/logo_circle.ico
new file mode 100644
index 0000000000000000000000000000000000000000..a7885854e6c318a8a98e85cc099fe5c2a016fe32
Binary files /dev/null and b/src/main/resources/images/logo_circle.ico differ
diff --git a/src/main/resources/images/logo_circle.png b/src/main/resources/images/logo_circle.png
new file mode 100644
index 0000000000000000000000000000000000000000..8874e10e599cae14403cd15a290d61380b9ff4ae
Binary files /dev/null and b/src/main/resources/images/logo_circle.png differ