diff --git a/homes/x86_64-linux/minion@greylag/default.nix b/homes/x86_64-linux/minion@greylag/default.nix
index 7e06aea..055f98b 100644
--- a/homes/x86_64-linux/minion@greylag/default.nix
+++ b/homes/x86_64-linux/minion@greylag/default.nix
@@ -78,7 +78,7 @@
 
     editor.neovim.enable = true;
 
-    editor.emacs ={
+    editor.emacs = {
       enable = true;
       defaultEditor = false;
     };
diff --git a/modules/home/editor/ed/default.nix b/modules/home/editor/ed/default.nix
index e7b2b3c..6cdb163 100644
--- a/modules/home/editor/ed/default.nix
+++ b/modules/home/editor/ed/default.nix
@@ -24,7 +24,9 @@
     home.packages = [ pkgs.ed ];
 
     home.sessionVariables = lib.mkIf config.chimera.editor.ed.defaultEditor {
-      EDITOR = "${pkgs.ed}/bin/ed${if config.chimera.editor.ed.prompt != null then " -p '${config.chimera.editor.ed.prompt}'" else ""}";
+      EDITOR = "${pkgs.ed}/bin/ed${
+        if config.chimera.editor.ed.prompt != null then " -p '${config.chimera.editor.ed.prompt}'" else ""
+      }";
     };
   };
 }
diff --git a/modules/home/git/default.nix b/modules/home/git/default.nix
index 5aaf529..23f3d78 100644
--- a/modules/home/git/default.nix
+++ b/modules/home/git/default.nix
@@ -8,7 +8,7 @@
   options.chimera.git = {
     gitReview.enable = lib.mkEnableOption "Enable git review";
     delta.enable = lib.mkEnableOption "Enable delta, an alternative pager for git diffs that highlights syntax";
-		stgit.enable = lib.mkEnableOption "Install StGit, a tool that makes working with stacked patches easier";
+    stgit.enable = lib.mkEnableOption "Install StGit, a tool that makes working with stacked patches easier";
     auth = {
       clicksUsername = lib.mkOption {
         type = lib.types.str;
@@ -20,8 +20,8 @@
   config = {
 
     home.packages =
-			(if config.chimera.git.gitReview.enable then [ pkgs.git-review ] else [ ]) ++
-			(if config.chimera.git.stgit.enable then [ pkgs.stgit ] else [ ]);
+      (if config.chimera.git.gitReview.enable then [ pkgs.git-review ] else [ ])
+      ++ (if config.chimera.git.stgit.enable then [ pkgs.stgit ] else [ ]);
 
     programs.zsh.shellAliases =
       if config.chimera.git.gitReview.enable then { "gr!" = "git review"; } else { };
@@ -33,9 +33,11 @@
       enable = true;
 
       delta = {
-				enable = config.chimera.git.delta.enable;
-				options.light = lib.mkIf config.chimera.theme.catppuccin.enable (config.chimera.theme.catppuccin.style == "Latte");
-			};
+        enable = config.chimera.git.delta.enable;
+        options.light = lib.mkIf config.chimera.theme.catppuccin.enable (
+          config.chimera.theme.catppuccin.style == "Latte"
+        );
+      };
 
       extraConfig = {
         init.defaultBranch = "main";
diff --git a/modules/home/hyprland/default.nix b/modules/home/hyprland/default.nix
index 3e9ae46..ee647d3 100644
--- a/modules/home/hyprland/default.nix
+++ b/modules/home/hyprland/default.nix
@@ -97,7 +97,9 @@
 
           input = {
             kb_layout = config.chimera.input.keyboard.layout;
-            kb_variant = lib.mkIf (config.chimera.input.keyboard.variant != null) config.chimera.input.keyboard.variant;
+            kb_variant =
+              lib.mkIf (config.chimera.input.keyboard.variant != null)
+                config.chimera.input.keyboard.variant;
             natural_scroll = config.chimera.input.mouse.scrolling.natural;
 
             numlock_by_default = true;
diff --git a/modules/home/theme/default.nix b/modules/home/theme/default.nix
index de1c7f4..d98edde 100644
--- a/modules/home/theme/default.nix
+++ b/modules/home/theme/default.nix
@@ -87,30 +87,16 @@
       let
         themeColor = lib.types.submodule {
           options = {
-            hex = lib.mkOption {
-              type = lib.types.str;
-            };
+            hex = lib.mkOption { type = lib.types.str; };
             rgb = {
-              r = lib.mkOption {
-                type = lib.types.numbers 0 255;
-              };
-              g = lib.mkOption {
-                type = lib.types.numbers 0 255;
-              };
-              b = lib.mkOption {
-                type = lib.types.numbers 0 255;
-              };
+              r = lib.mkOption { type = lib.types.numbers 0 255; };
+              g = lib.mkOption { type = lib.types.numbers 0 255; };
+              b = lib.mkOption { type = lib.types.numbers 0 255; };
             };
             hsl = {
-              h = lib.mkOption {
-                type = lib.types.numbers 0 360;
-              };
-              s = lib.mkOption {
-                type = lib.types.numbers 0 100;
-              };
-              l = lib.mkOption {
-                type = lib.types.numbers 0 100;
-              };
+              h = lib.mkOption { type = lib.types.numbers 0 360; };
+              s = lib.mkOption { type = lib.types.numbers 0 100; };
+              l = lib.mkOption { type = lib.types.numbers 0 100; };
             };
           };
         };
