diff --git a/c++/.gitattributes b/c++/.gitattributes
new file mode 100644
index 0000000000000000000000000000000000000000..07fe41c52c500d3d20db04287fcf8d515b267de6
--- /dev/null
+++ b/c++/.gitattributes
@@ -0,0 +1,2 @@
+# GitHub syntax highlighting
+pixi.lock linguist-language=YAML linguist-generated=true
diff --git a/c++/.gitignore b/c++/.gitignore
index 42afabfd2abebf31384ca7797186a27a4b7dbee8..59ab45b31f0bdf137eb547eb56924d431c135bf8 100644
--- a/c++/.gitignore
+++ b/c++/.gitignore
@@ -1 +1,4 @@
-/build
\ No newline at end of file
+/build
+# pixi environments
+.pixi
+*.egg-info
diff --git a/c++/pixi.toml b/c++/pixi.toml
new file mode 100644
index 0000000000000000000000000000000000000000..9f8c7560f46910a76fdd6708108f978e319c95bb
--- /dev/null
+++ b/c++/pixi.toml
@@ -0,0 +1,12 @@
+[project]
+authors = ["Daniel Vedder <daniel.vedder@idiv.de>",
+           "Marco Matthies <71844+marcom@users.noreply.github.com>"]
+channels = ["conda-forge"]
+description = "A GUI frontend written in C++ for the Persefone.jl ecological simulator"
+name = "persefone-desktop"
+platforms = ["linux-64"]
+version = "0.1.0"
+
+[tasks]
+
+[dependencies]