diff -ur a/lib/controller/Controller.py b/lib/controller/Controller.py
--- a/lib/controller/Controller.py	2019-11-26 17:44:21.000000000 +0300
+++ b/lib/controller/Controller.py	2019-12-03 22:32:54.694232257 +0300
@@ -56,7 +56,7 @@
         self.exit = False
         self.arguments = arguments
         self.output = output
-        self.savePath = self.script_path
+        self.savePath = FileUtils.buildPath(os.path.expanduser('~'), ".dirsearch")
         self.doneDirs = []
 
         self.recursive_level_max = self.arguments.recursive_level_max
@@ -242,7 +242,12 @@
 
     def setupErrorLogs(self):
         fileName = "errors-{0}.log".format(time.strftime('%y-%m-%d_%H-%M-%S'))
-        self.errorLogPath = FileUtils.buildPath(FileUtils.buildPath(self.savePath, "logs", fileName))
+        logs = FileUtils.buildPath(self.savePath, "logs")
+
+        if not FileUtils.exists(logs):
+            FileUtils.createDirectory(logs)
+
+        self.errorLogPath = FileUtils.buildPath(logs, fileName)
         self.errorLog = open(self.errorLogPath, "w")
 
     def setupBatchReports(self):
diff -ur a/lib/core/ArgumentParser.py b/lib/core/ArgumentParser.py
--- a/lib/core/ArgumentParser.py	2019-11-26 17:44:21.000000000 +0300
+++ b/lib/core/ArgumentParser.py	2019-12-03 22:34:16.428824862 +0300
@@ -16,6 +16,9 @@
 #
 #  Author: Mauro Soria
 
+import os
+import shutil
+
 from optparse import OptionParser, OptionGroup
 
 from lib.utils.DefaultConfigParser import DefaultConfigParser
@@ -199,7 +202,12 @@
 
     def parseConfig(self):
         config = DefaultConfigParser()
-        configPath = FileUtils.buildPath(self.script_path, "default.conf")
+        configPath = FileUtils.buildPath(os.path.expanduser('~'), ".dirsearch", "dirsearch.conf")
+
+        if not FileUtils.exists(configPath):
+            os.makedirs(os.path.dirname(configPath), exist_ok=True)
+            shutil.copyfile(FileUtils.buildPath(self.script_path, 'default.conf'), configPath)
+
         config.read(configPath)
 
         # General
