     let popover = NSPopover()
     let menu = NSMenu()
     let syncMenuItem = NSMenuItem(title: "Sync", action: #selector(sync(sender:)), keyEquivalent: "s")
-    let configRepoMenuItem = NSMenuItem(title: "Set Repo", action: #selector(showRepoConfig(sender:)), keyEquivalent: "r")
-    let configGithubAPIUrlMenuItem = NSMenuItem(title: "Set Github API Url", action: #selector(showGithubAPIUrlConfig(sender:)), keyEquivalent: "a")
-    let configGithubTokenMenuItem = NSMenuItem(title: "Set Github Token", action: #selector(showGithubTokenConfig(sender:)), keyEquivalent: "t")
-    let configShowMenuItem = NSMenuItem(title: "Show Config", action: #selector(showCurrentConfig(sender:)), keyEquivalent: "")
-    let configResetMenuItem = NSMenuItem(title: "Reset Config", action: #selector(resetConfig(sender:)), keyEquivalent: "")
+    let configMenuItem = NSMenuItem(title: "Config", action: #selector(showConfig(sender:)), keyEquivalent: ",")
     let quitMenuItem = NSMenuItem(title: "Quit", action: #selector(terminate(sender:)), keyEquivalent: "q")
     let environment: [String: String] = [:]
     let dateFormatter = DateFormatter()
     var isSyncing = false
     
-    var repo: String {
-        get {
-            return UserDefaults.standard.string(forKey: Const.UserDefaults.repo.rawValue) ?? "git@github.com:ivanfoong/xcode-swift-snippets.git"
+    var repo: String? {
+        get {
+            return UserDefaults.standard.string(forKey: Const.UserDefaults.repo.rawValue)
         }
         set {
             UserDefaults.standard.set(newValue, forKey: Const.UserDefaults.repo.rawValue)
         }
     }
     
-    var githubToken: String {
-        get {
-            return UserDefaults.standard.string(forKey: Const.UserDefaults.githubToken.rawValue) ?? ""
+    var githubToken: String? {
+        get {
+            return UserDefaults.standard.string(forKey: Const.UserDefaults.githubToken.rawValue)
         }
         set {
             UserDefaults.standard.set(newValue, forKey: Const.UserDefaults.githubToken.rawValue)
         }
     }
     
-    var githubAPIUrl: String {
-        get {
-            return UserDefaults.standard.string(forKey: Const.UserDefaults.githubAPIUrl.rawValue) ?? "http://github.com/api/v3/repos/ivanfoong/xcode-swift-snippets"
+    var githubAPIUrl: String? {
+        get {
+            return UserDefaults.standard.string(forKey: Const.UserDefaults.githubAPIUrl.rawValue)
         }
         set {
             UserDefaults.standard.set(newValue, forKey: Const.UserDefaults.githubAPIUrl.rawValue)

            let repoString = repoInputTextField.stringValue
            let githubAPIUrlString = githubAPIUrlInputTextField.stringValue
            let githubTokenString = githubTokenInputTextField.stringValue
            self.repo = repoString
            self.githubAPIUrl = githubAPIUrlString
            self.githubToken = githubTokenString
        case .alertSecondButtonReturn: //Cancel
            break
        default:


extension AppDelegate: NSMenuDelegate {
    func menuWillOpen(_ menu: NSMenu) {
        syncMenuItem.isEnabled = !isSyncing
        var syncMenuItemTitle: String
        if isSyncing {
            syncMenuItemTitle = "Sync (Syncing)"
