--- a/arenascript.pp
+++ b/arenascript.pp
@@ -37,9 +37,9 @@
 interface
 
 {$IFDEF SDLMODE}
-uses gears,locale,sdlmenus,sdl,sdlgfx;
+uses dos,gears,locale,sdlmenus,sdl,sdlgfx;
 {$ELSE}
-uses gears,locale,conmenus;
+uses dos,gears,locale,conmenus;
 {$ENDIF}
 
 const
@@ -1512,7 +1512,7 @@
 		PC := PC^.Next;
 	end;
 
-	SaveStringList( Config_Directory + FName + '.txt' , VList );
+	SaveStringList( GetEnv( 'HOME' ) + '/.gearhead/' + FName + '.txt' , VList );
     {$IFDEF SDLMODE}
     ASRD_GameBoard := GB;
     MoreText( VList, 1 , @ArenaScriptRedraw );
--- a/ui4gh.pp
+++ b/ui4gh.pp
@@ -345,7 +345,7 @@
 		T: Integer;
 	begin
 		{See whether or not there's a configuration file.}
-		S := FSearch(Config_File,'.');
+		S := FSearch(Config_File,GetEnv('HOME')+'/.gearhead/;/etc');
 		if S <> '' then begin
 			{ If we've found a configuration file, }
 			{ open it up and start reading. }
--- a/gears.pp
+++ b/gears.pp
@@ -1275,16 +1275,17 @@
 
 initialization
 	{ Make sure we have the required data directories. }
+	ChDir( '/usr/share/games/gearhead' );
     if paramcount() > 0 then begin
         Config_Directory := IncludeTrailingPathDelimiter( paramstr(1) );
     end else begin
     {$IFDEF WINDOWS}
         Config_Directory := GetUserDir() + OS_Dir_Separator + 'gharena' + OS_Dir_Separator;
     {$ELSE}
-        Config_Directory := GetAppConfigDir(False);
+        Config_Directory := GetEnv( 'HOME' ) + '/.gearhead/';

     {$ENDIF}
     end;
-	Config_File := Config_Directory + 'gharena.cfg';
+	Config_File := Config_Directory + 'gearhead.conf';
 
 	Save_Game_DirName := 'SaveGame';
 	Save_Game_Directory := Config_Directory + Save_Game_Dirname + OS_Dir_Separator;
