diff --git a/modules/home/editor/neovim/default.nix b/modules/home/editor/neovim/default.nix
index 7098365..2b522b3 100644
--- a/modules/home/editor/neovim/default.nix
+++ b/modules/home/editor/neovim/default.nix
@@ -7,6 +7,7 @@
       description = "Use neovim as the default editor";
       default = true;
     };
+    # https://github.com/mrcjkb/kickstart-nix.nvim
   };
 
   config = lib.mkIf config.chimera.editor.neovim.enable {
diff --git a/modules/home/git/default.nix b/modules/home/git/default.nix
index 95d3f8d..7bbc040 100644
--- a/modules/home/git/default.nix
+++ b/modules/home/git/default.nix
@@ -61,11 +61,13 @@
         core = {
           repositoryformatversion = 0;
           filemode = true;
- # TODO: from git docs, should we provide an option for this?: NOTE: this is a possibly dangerous operation; do not use it unless you understand the implications (see git-rebase[1] for details).
+          # TODO: from git docs, should we provide an option for this?: NOTE: this is a possibly dangerous operation; do not use it unless you understand the implications (see git-rebase[1] for details).
         };
         push = {
           autoSetupRemote = true;
-          gpgSign = lib.mkIf config.chimera.git.gpg.enable (if config.chimera.git.gpg.push then "if-asked" else false);
+          gpgSign = lib.mkIf config.chimera.git.gpg.enable (
+            if config.chimera.git.gpg.push then "if-asked" else false
+          );
         };
         url = {
           "ssh://git@github.com/".pushInsteadOf = "https://github.com/";
diff --git a/modules/home/gpg/default.nix b/modules/home/gpg/default.nix
index 475c0a9..9384c96 100644
--- a/modules/home/gpg/default.nix
+++ b/modules/home/gpg/default.nix
@@ -18,4 +18,4 @@
       enableBashIntegration = config.chimera.shell.bash.enable;
     };
   };
-}
\ No newline at end of file
+}
diff --git a/modules/home/hyprland/default.nix b/modules/home/hyprland/default.nix
index 3e2e780..14dac7b 100644
--- a/modules/home/hyprland/default.nix
+++ b/modules/home/hyprland/default.nix
@@ -79,9 +79,9 @@
           };
 
           exec-once = [
-	    "${pkgs.hyprpaper}/bin/hyprpaper"
-	    "hyprctl setcursor ${config.chimera.theme.cursor.name} ${builtins.toString config.chimera.theme.cursor.size}"
-	  ];
+            "${pkgs.hyprpaper}/bin/hyprpaper"
+            "hyprctl setcursor ${config.chimera.theme.cursor.name} ${builtins.toString config.chimera.theme.cursor.size}"
+          ];
 
           monitor = config.chimera.hyprland.monitors ++ [ ",preferred,auto,1" ];
 
diff --git a/modules/home/shell/default.nix b/modules/home/shell/default.nix
index d7c65a5..cbb310a 100644
--- a/modules/home/shell/default.nix
+++ b/modules/home/shell/default.nix
@@ -92,9 +92,7 @@
       arguments = [ "--smart-case" ];
     };
 
-    programs.htop = lib.mkIf config.chimera.shell.replacements.htop.enable {
-      enable = true;
-    };
+    programs.htop = lib.mkIf config.chimera.shell.replacements.htop.enable { enable = true; };
 
     programs.zoxide = lib.mkIf config.chimera.shell.replacements.zoxide.enable {
       enable = true;
@@ -104,12 +102,10 @@
     };
 
     programs.tealdeer = lib.mkIf config.chimera.shell.usefulPackages.enable {
-        enable = true;
-        settings.updates.autoupdate = true;
-    };
-    programs.jq = lib.mkIf config.chimera.shell.usefulPackages.enable {
       enable = true;
+      settings.updates.autoupdate = true;
     };
+    programs.jq = lib.mkIf config.chimera.shell.usefulPackages.enable { enable = true; };
 
     home.packages =
       (
diff --git a/modules/home/sops/default.nix b/modules/home/sops/default.nix
index d978623..6ec57c9 100644
--- a/modules/home/sops/default.nix
+++ b/modules/home/sops/default.nix
@@ -1,3 +1,4 @@
-{ pkgs, ... }: {
+{ pkgs, ... }:
+{
   home.packages = [ pkgs.sops ];
-}
\ No newline at end of file
+}
diff --git a/modules/nixos/registry/default.nix b/modules/nixos/registry/default.nix
index 3b35051..8cc09ea 100644
--- a/modules/nixos/registry/default.nix
+++ b/modules/nixos/registry/default.nix
@@ -1,3 +1,4 @@
-{ inputs, ... }: {
+{ inputs, ... }:
+{
   nix.registry = builtins.mapAttrs (_: flake: { inherit flake; }) inputs;
-}
\ No newline at end of file
+}
diff --git a/modules/nixos/shell/default.nix b/modules/nixos/shell/default.nix
index 5ce6545..1dfcd3e 100644
--- a/modules/nixos/shell/default.nix
+++ b/modules/nixos/shell/default.nix
@@ -1,6 +1,7 @@
-{ pkgs, ... }: {
-    programs.zsh.enable = true;
+{ pkgs, ... }:
+{
+  programs.zsh.enable = true;
 
-    users.users.minion.shell = pkgs.bashInteractive;
-    users.users.coded.shell = pkgs.zsh;
-}
\ No newline at end of file
+  users.users.minion.shell = pkgs.bashInteractive;
+  users.users.coded.shell = pkgs.zsh;
+}
diff --git a/modules/nixos/ssh/default.nix b/modules/nixos/ssh/default.nix
index c3df0bf..25d7869 100644
--- a/modules/nixos/ssh/default.nix
+++ b/modules/nixos/ssh/default.nix
@@ -1,6 +1,7 @@
-{ ... }: {
+{ ... }:
+{
   services.openssh = {
     enable = true;
     settings.PasswordAuthentication = false;
   };
-}
\ No newline at end of file
+}
diff --git a/modules/nixos/users/default.nix b/modules/nixos/users/default.nix
index 7d81bfb..8227086 100644
--- a/modules/nixos/users/default.nix
+++ b/modules/nixos/users/default.nix
@@ -17,9 +17,7 @@
 
   users.users.coded = {
     isNormalUser = true;
-    extraGroups = [
-      "wheel"
-    ];
+    extraGroups = [ "wheel" ];
     openssh.authorizedKeys.keys = [
       "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAILrwKN4dJQ0BiLmjsA/66QHhu06+JyokWtHkLcjhWU79AAAABHNzaDo= coded-yk5c-resident"
     ];
diff --git a/modules/nixos/wifi/default.nix b/modules/nixos/wifi/default.nix
index e0b7968..f033b69 100644
--- a/modules/nixos/wifi/default.nix
+++ b/modules/nixos/wifi/default.nix
@@ -1,4 +1,5 @@
-{ config, ... }: {
+{ config, ... }:
+{
   networking.wireless = {
     enable = true;
     userControlled.enable = true;
