diff --git a/lib/core/links_loader.dart b/lib/core/links_loader.dart
index b4c9e732..17fcc527 100644
--- a/lib/core/links_loader.dart
+++ b/lib/core/links_loader.dart
@@ -1,4 +1,3 @@
-import 'dart:io';
 import 'dart:isolate';
 
 import 'package:flutter/material.dart';
diff --git a/lib/editors/bottom_bar.dart b/lib/editors/bottom_bar.dart
index 40d88658..a5aadbd5 100644
--- a/lib/editors/bottom_bar.dart
+++ b/lib/editors/bottom_bar.dart
@@ -1,5 +1,3 @@
-// @dart=2.9
-
 import 'dart:io';
 
 import 'package:flutter/material.dart';
@@ -33,17 +31,17 @@ class EditorBottomBar extends StatelessWidget {
   final Func0<void> onRedoSelected;
 
   EditorBottomBar({
-    @required this.editor,
-    @required this.editorState,
-    @required this.parentFolder,
-    @required this.allowEdits,
-    @required this.zenMode,
-    @required this.onZenModeChanged,
-    @required this.metaDataEditable,
-    @required this.onUndoSelected,
-    @required this.onRedoSelected,
-    @required this.undoAllowed,
-    @required this.redoAllowed,
+    required this.editor,
+    required this.editorState,
+    required this.parentFolder,
+    required this.allowEdits,
+    required this.zenMode,
+    required this.onZenModeChanged,
+    required this.metaDataEditable,
+    required this.onUndoSelected,
+    required this.onRedoSelected,
+    required this.undoAllowed,
+    required this.redoAllowed,
   });
 
   @override
@@ -92,7 +90,7 @@ class EditorBottomBar extends StatelessWidget {
               maintainInteractivity: false,
             ),
             const Spacer(),
-            if (undoAllowed != null)
+            if (undoAllowed)
               IconButton(
                 icon: const Icon(Icons.undo),
                 onPressed: undoAllowed ? onUndoSelected : null,
@@ -105,7 +103,7 @@ class EditorBottomBar extends StatelessWidget {
                 editor.moveNoteToFolderSelected(note);
               },
             ),
-            if (redoAllowed != null)
+            if (redoAllowed)
               IconButton(
                 icon: const Icon(Icons.redo),
                 onPressed: redoAllowed ? onRedoSelected : null,
diff --git a/lib/screens/filesystem_screen.dart b/lib/screens/filesystem_screen.dart
index d69acf7b..b8b53301 100644
--- a/lib/screens/filesystem_screen.dart
+++ b/lib/screens/filesystem_screen.dart
@@ -1,5 +1,3 @@
-// @dart=2.9
-
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';
@@ -91,9 +89,9 @@ class FileSystemView extends StatelessWidget {
 
   FileSystemView(
     this.folder, {
-    @required this.onFolderSelected,
-    @required this.onNoteSelected,
-    @required this.onIgnoredFileSelected,
+    required this.onFolderSelected,
+    required this.onNoteSelected,
+    required this.onIgnoredFileSelected,
   });
 
   @override
diff --git a/lib/widgets/app_drawer_header.dart b/lib/widgets/app_drawer_header.dart
index 9f5c1309..f9844938 100644
--- a/lib/widgets/app_drawer_header.dart
+++ b/lib/widgets/app_drawer_header.dart
@@ -1,5 +1,3 @@
-// @dart=2.9
-
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';
@@ -12,12 +10,13 @@ import 'package:time/time.dart';
 import 'package:gitjournal/app_settings.dart';
 import 'package:gitjournal/repository.dart';
 import 'package:gitjournal/settings.dart';
+import 'package:gitjournal/utils/logger.dart';
 
 class AppDrawerHeader extends StatelessWidget {
   final Func0<void> repoListToggled;
 
   AppDrawerHeader({
-    @required this.repoListToggled,
+    required this.repoListToggled,
   });
 
   @override
@@ -78,8 +77,8 @@ class AppDrawerHeader extends StatelessWidget {
 
 class _CurrentRepo extends StatefulWidget {
   const _CurrentRepo({
-    Key key,
-    @required this.repoListToggled,
+    Key? key,
+    required this.repoListToggled,
   }) : super(key: key);
 
   final Func0<void> repoListToggled;
@@ -90,8 +89,8 @@ class _CurrentRepo extends StatefulWidget {
 
 class __CurrentRepoState extends State<_CurrentRepo>
     with SingleTickerProviderStateMixin {
-  Animation _animation;
-  AnimationController controller;
+  late Animation _animation;
+  late AnimationController controller;
 
   var _gitRemoteUrl = "";
   var _repoFolderName = "";
@@ -138,7 +137,7 @@ class __CurrentRepoState extends State<_CurrentRepo>
           ),
         ),
         RotationTransition(
-          turns: _animation,
+          turns: _animation as Animation<double>,
           child: IconButton(
             icon: const FaIcon(FontAwesomeIcons.angleDown),
             onPressed: _pressed,
@@ -172,12 +171,16 @@ class __CurrentRepoState extends State<_CurrentRepo>
 
     var repo = context.watch<GitJournalRepo>();
     var repoPath = await repo.settings.buildRepoPath(repo.gitBaseDirectory);
+    if (repoPath == null) {
+      Log.e("Failed to build repo path");
+      return;
+    }
     _repoFolderName = p.basename(repoPath);
 
     var remoteConfigs = await repo.remoteConfigs();
     if (!mounted) return;
 
-    if (remoteConfigs == null || remoteConfigs.isEmpty) {
+    if (remoteConfigs.isEmpty) {
       setState(() {
         _gitRemoteUrl = tr("drawer.remote");
       });
diff --git a/lib/widgets/editor_scroll_view.dart b/lib/widgets/editor_scroll_view.dart
index ba7269db..da3e9fbd 100644
--- a/lib/widgets/editor_scroll_view.dart
+++ b/lib/widgets/editor_scroll_view.dart
@@ -1,5 +1,3 @@
-// @dart=2.9
-
 import 'package:flutter/material.dart';
 
 /// A Scroll view which occupies the full height of the parent, and doesn't
@@ -9,7 +7,7 @@ class EditorScrollView extends StatelessWidget {
   final EdgeInsetsGeometry padding;
 
   EditorScrollView({
-    @required this.child,
+    required this.child,
     this.padding = const EdgeInsets.all(16.0),
   });
 
diff --git a/lib/widgets/folder_selection_dialog.dart b/lib/widgets/folder_selection_dialog.dart
index 1834c552..c5ce337f 100644
--- a/lib/widgets/folder_selection_dialog.dart
+++ b/lib/widgets/folder_selection_dialog.dart
@@ -1,5 +1,3 @@
-// @dart=2.9
-
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';
@@ -38,9 +36,9 @@ class FolderTreeView extends StatelessWidget {
   final FolderSelectedCallback onFolderEntered;
 
   FolderTreeView({
-    Key key,
-    @required this.rootFolder,
-    @required this.onFolderEntered,
+    Key? key,
+    required this.rootFolder,
+    required this.onFolderEntered,
   }) : super(key: key);
 
   @override
@@ -61,8 +59,8 @@ class FolderMiniTile extends StatefulWidget {
   final FolderSelectedCallback onTap;
 
   FolderMiniTile({
-    @required this.folder,
-    @required this.onTap,
+    required this.folder,
+    required this.onTap,
   });
 
   @override
@@ -132,7 +130,7 @@ class FolderMiniTileState extends State<FolderMiniTile> {
     var children = <FolderMiniTile>[];
     widget.folder.subFolders.forEach((folder) {
       children.add(FolderMiniTile(
-        folder: folder,
+        folder: folder as NotesFolderFS,
         onTap: widget.onTap,
       ));
     });
diff --git a/lib/widgets/journal_editor_header.dart b/lib/widgets/journal_editor_header.dart
index bba6b2d5..5801503f 100644
--- a/lib/widgets/journal_editor_header.dart
+++ b/lib/widgets/journal_editor_header.dart
@@ -1,5 +1,3 @@
-// @dart=2.9
-
 import 'package:flutter/material.dart';
 
 import 'package:intl/intl.dart';
@@ -13,14 +11,15 @@ class JournalEditorHeader extends StatelessWidget {
 
   @override
   Widget build(BuildContext context) {
-    if (note.created == null) {
+    var created = note.created;
+    if (created == null) {
       return Container();
     }
-    var dateStr = DateFormat('MMMM, yyyy').format(note.created);
-    var timeStr = DateFormat('EEEE HH:mm').format(note.created);
+    var dateStr = DateFormat('MMMM, yyyy').format(created);
+    var timeStr = DateFormat('EEEE HH:mm').format(created);
 
     var bigNum = Text(
-      note.created.day.toString(),
+      created.day.toString(),
       style: const TextStyle(fontSize: 40.0),
     );
 
diff --git a/lib/widgets/new_note_nav_bar.dart b/lib/widgets/new_note_nav_bar.dart
index 54a003d8..4febf1fa 100644
--- a/lib/widgets/new_note_nav_bar.dart
+++ b/lib/widgets/new_note_nav_bar.dart
@@ -1,5 +1,3 @@
-// @dart=2.9
-
 import 'package:flutter/material.dart';
 
 import 'package:font_awesome_flutter/font_awesome_flutter.dart';
@@ -7,10 +5,12 @@ import 'package:function_types/function_types.dart';
 
 import 'package:gitjournal/screens/note_editor.dart';
 
+// FIXME: Remove note_editor import!!
+
 class NewNoteNavBar extends StatelessWidget {
   final Func1<EditorType, void> onPressed;
 
-  NewNoteNavBar({@required this.onPressed});
+  NewNoteNavBar({required this.onPressed});
 
   @override
   Widget build(BuildContext context) {