diff --git a/src/freedombone-controlpanel b/src/freedombone-controlpanel
index b6bfe5e4098f127cbf03010ecdddf69f75cc047d..e4fcb5a155dd363cf1e3b8749b7702461cf524dd 100755
--- a/src/freedombone-controlpanel
+++ b/src/freedombone-controlpanel
@@ -82,9 +82,22 @@ function check_for_updates {
     any_key
 }
 
-function set_project_repo {
+function set_main_repo {
     data=$(tempfile 2>/dev/null)
-    # TODO
+    dialog --backtitle $"Freedombone Control Panel" \
+           --title $"Main Repository" \
+           --inputbox $"Set the main repository:" 8 40 "$PROJECT_REPO" 2>data
+    sel=$?
+    case $sel in
+        1) return;;
+        255) return;;
+    esac
+    repo=$(cat $data)
+    if [[ $repo == *"."* ]]; then
+        PROJECT_REPO=$(cat $data)
+        dialog --title $"Main Repository" \
+               --msgbox $"Main repository set to $PROJECT_REPO" 6 40
+    fi
 }
 
 function add_user {
@@ -1387,7 +1400,7 @@ function menu_top_level {
         trap "rm -f $data" 0 1 2 5 15
         dialog --backtitle $"Freedombone Control Panel" \
                --title $"Control Panel" \
-               --radiolist $"Choose an operation:" 25 70 18 \
+               --radiolist $"Choose an operation:" 26 70 19 \
                1 $"About this system" off \
                2 $"Backup and Restore" off \
                3 $"Reset Tripwire" off \
@@ -1396,16 +1409,17 @@ function menu_top_level {
                6 $"Manage Users" off \
                7 $"Email Filtering Rules" off \
                8 $"Security Settings" off \
-               9 $"Hubzilla" off \
-               10 $"Media menu" off \
-               11 $"IRC menu" off \
-               12 $"Change the name of this system" off \
-               13 $"Set the TLS date/time source" off \
-               14 $"Set a static local IP address" off \
-               15 $"Check for updates" off \
-               16 $"Power off the system" off \
-               17 $"Restart the system" off \
-               18 $"Exit" on 2> $data
+               9 $"Set the main repository" off \
+               10 $"Hubzilla" off \
+               11 $"Media menu" off \
+               12 $"IRC menu" off \
+               13 $"Change the name of this system" off \
+               14 $"Set the TLS date/time source" off \
+               15 $"Set a static local IP address" off \
+               16 $"Check for updates" off \
+               17 $"Power off the system" off \
+               18 $"Restart the system" off \
+               19 $"Exit" on 2> $data
         sel=$?
         case $sel in
             1) exit 1;;
@@ -1420,16 +1434,17 @@ function menu_top_level {
             6) menu_users;;
             7) menu_email;;
             8) security_settings;;
-            9) menu_hubzilla;;
-            10) menu_media;;
-            11) menu_irc;;
-            12) change_system_name;;
-            13) set_tls_time_source;;
-            14) set_static_IP;;
-            15) check_for_updates;;
-            16) shut_down_system;;
-            17) restart_system;;
-            18) break;;
+            9) set_main_repo;;
+            10) menu_hubzilla;;
+            11) menu_media;;
+            12) menu_irc;;
+            13) change_system_name;;
+            14) set_tls_time_source;;
+            15) set_static_IP;;
+            16) check_for_updates;;
+            17) shut_down_system;;
+            18) restart_system;;
+            19) break;;
         esac
     done
 }