diff --git a/.github/workflows/linux-package.yml b/.github/workflows/linux-package.yml
new file mode 100644
index 000000000..376c5ae61
--- /dev/null
+++ b/.github/workflows/linux-package.yml
@@ -0,0 +1,46 @@
+name: Build Artemis deb package
+
+on:
+ workflow_dispatch:
+ push:
+ branches:
+ - feature/linux-ci
+
+jobs:
+ package:
+ name: Package deb
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout Artemis
+ uses: actions/checkout@v3
+ with:
+ path: Artemis
+ - name: Checkout Plugins
+ uses: actions/checkout@v3
+ with:
+ repository: Artemis-RGB/Artemis.Plugins
+ path: Artemis.Plugins
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v2
+ with:
+ dotnet-version: '6.0.x'
+ - name: Install dotnet deb
+ run: dotnet tool install --global dotnet-deb
+ - name: Publish Artemis
+ run: dotnet publish --configuration Release --runtime linux-x64 --self-contained Artemis/src/Artemis.UI.Linux/Artemis.UI.Linux.csproj
+ - name: Publish Plugins
+ run: |
+ New-Item -ItemType "Directory" -Path Artemis/src/Artemis.UI.Linux/bin/linux-x64/publish/Plugins
+ Get-ChildItem -File -Recurse -Filter *.csproj Artemis.Plugins/src/ |
+ Foreach-Object -Parallel {
+ dotnet publish --configuration Release --runtime linux-x64 --output build-plugins/$($_.BaseName) --no-self-contained $($_.FullName);
+ Compress-Archive -Path "build-plugins/$($_.BaseName)" -DestinationPath "Artemis/src/Artemis.UI.Linux/bin/linux-x64/publish/Plugins/$($_.BaseName).zip";
+ }
+ shell: pwsh
+ - name: Build deb
+ run: dotnet deb -r linux-x64 Artemis/src/Artemis.UI.Linux/Artemis.UI.Linux.csproj
+ - name: Upload Artifact
+ uses: actions/upload-artifact@v3
+ with:
+ name: Artemis.UI.Linux.1.0.0.linux-x64.deb
+ path: Artemis/src/Artemis.UI.Linux/bin/linux-x64/Artemis.UI.Linux.1.0.0.linux-x64.deb
\ No newline at end of file
diff --git a/src/Artemis.UI.Linux/Artemis.UI.Linux.csproj b/src/Artemis.UI.Linux/Artemis.UI.Linux.csproj
index 7d19d5e97..39031da67 100644
--- a/src/Artemis.UI.Linux/Artemis.UI.Linux.csproj
+++ b/src/Artemis.UI.Linux/Artemis.UI.Linux.csproj
@@ -27,4 +27,13 @@
+
+
+
+ /usr/share/icons/artemis.png
+
+
+ /usr/share/applications/artemis.desktop
+
+
\ No newline at end of file
diff --git a/src/Artemis.UI.Linux/Assets/artemis.desktop b/src/Artemis.UI.Linux/Assets/artemis.desktop
new file mode 100644
index 000000000..103410b1b
--- /dev/null
+++ b/src/Artemis.UI.Linux/Assets/artemis.desktop
@@ -0,0 +1,6 @@
+[Desktop Entry]
+Name=Artemis
+Type=Application
+Exec=/usr/share/Artemis.UI.Linux/Artemis.UI.Linux
+Icon=/usr/share/icons/artemis.png
+Categories=Tools
\ No newline at end of file
diff --git a/src/Artemis.UI.Linux/Assets/artemis.png b/src/Artemis.UI.Linux/Assets/artemis.png
new file mode 100644
index 000000000..2f991a255
Binary files /dev/null and b/src/Artemis.UI.Linux/Assets/artemis.png differ
diff --git a/src/Artemis.UI.Linux/Directory.Build.props b/src/Artemis.UI.Linux/Directory.Build.props
new file mode 100644
index 000000000..d761386e5
--- /dev/null
+++ b/src/Artemis.UI.Linux/Directory.Build.props
@@ -0,0 +1,9 @@
+
+
+
+
+ 0.1.220-*
+ all
+
+
+
\ No newline at end of file