diff --git a/flake.nix b/flake.nix
index 6d4e02a..60612f1 100644
--- a/flake.nix
+++ b/flake.nix
@@ -43,7 +43,7 @@
       username = "minion";
 
       isAttrType = type:
-        if builtins.elem type.name ["submodule" ]
+        if builtins.elem type.name ["submodule"]
         then true
         else if type ? nestedTypes.elemType
         then isAttrType type.nestedTypes.elemType
diff --git a/modules/neovim/fzf/default.nix b/modules/neovim/fzf/default.nix
index 0395d16..ce0d437 100644
--- a/modules/neovim/fzf/default.nix
+++ b/modules/neovim/fzf/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, ... }:{
+{pkgs, ...}: {
   programs.neovim = {
     plugins = with pkgs.vimPlugins; [
       fzf-vim
diff --git a/modules/neovim/git/default.nix b/modules/neovim/git/default.nix
index 30ebf70..a44fe0e 100644
--- a/modules/neovim/git/default.nix
+++ b/modules/neovim/git/default.nix
@@ -1,13 +1,19 @@
-{pkgs, lib, ...}: {
+{
+  pkgs,
+  lib,
+  ...
+}: {
   programs.neovim = {
-    extraConfig = ''
-      source ${./git-conflict.lua}
-    '' + lib.pipe [
-      ./lazygit.vim
-    ] [
-      (map builtins.readFile)
-      (builtins.concatStringsSep "\n")
-    ];
+    extraConfig =
+      ''
+        source ${./git-conflict.lua}
+      ''
+      + lib.pipe [
+        ./lazygit.vim
+      ] [
+        (map builtins.readFile)
+        (builtins.concatStringsSep "\n")
+      ];
     plugins = with pkgs.vimPlugins; [
       vim-gitgutter
       vim-fugitive
diff --git a/modules/security.nix b/modules/security.nix
index 3bc5cb4..f56115b 100644
--- a/modules/security.nix
+++ b/modules/security.nix
@@ -31,16 +31,17 @@
   };
 
   home = let
-    lockCommand = lib.pipe ''
-    ${pkgs.sway}/bin/swaymsg output "*" dpms off
-    ${config.security.wrapperDir}/physlock -s -p "${lockMessage}"
-    while [ $(${pkgs.sway}/bin/swaymsg -t get_seats | ${pkgs.jq}/bin/jq "[.[] | .capabilities] | max") -eq 0 ]; do ${pkgs.coreutils}/bin/sleep 0.1; done
-    ${pkgs.sway}/bin/swaymsg output "*" dpms on
-    '' [
-      (lib.splitString "\n")
-      (lib.filter (line: line != ""))
-      (lib.concatStringsSep " && ")
-    ];
+    lockCommand =
+      lib.pipe ''
+        ${pkgs.sway}/bin/swaymsg output "*" dpms off
+        ${config.security.wrapperDir}/physlock -s -p "${lockMessage}"
+        while [ $(${pkgs.sway}/bin/swaymsg -t get_seats | ${pkgs.jq}/bin/jq "[.[] | .capabilities] | max") -eq 0 ]; do ${pkgs.coreutils}/bin/sleep 0.1; done
+        ${pkgs.sway}/bin/swaymsg output "*" dpms on
+      '' [
+        (lib.splitString "\n")
+        (lib.filter (line: line != ""))
+        (lib.concatStringsSep " && ")
+      ];
   in {
     services.swayidle = {
       enable = true;
diff --git a/modules/steam.nix b/modules/steam.nix
index 4577468..e0aadbf 100644
--- a/modules/steam.nix
+++ b/modules/steam.nix
@@ -1,4 +1,8 @@
-{pkgs, username, ...}: {
+{
+  pkgs,
+  username,
+  ...
+}: {
   home.home.packages = [pkgs.steam-run];
 
   config = {
diff --git a/modules/utilities.nix b/modules/utilities.nix
index c2ebfd9..0d98cd9 100644
--- a/modules/utilities.nix
+++ b/modules/utilities.nix
@@ -17,14 +17,14 @@
       exa.enable = true;
       bat.enable = true;
       zsh.initExtra = ''
-      function ls {
-        if [ -t 1 ] ; then
-          ${pkgs.exa}/bin/exa --icons -lghF --git --group-directories-first --color always "$@" | less --quit-if-one-screen
-        else
-          ${pkgs.coreutils}/bin/ls "$@"
-        fi
-      }
-      unalias ls
+        function ls {
+          if [ -t 1 ] ; then
+            ${pkgs.exa}/bin/exa --icons -lghF --git --group-directories-first --color always "$@" | less --quit-if-one-screen
+          else
+            ${pkgs.coreutils}/bin/ls "$@"
+          fi
+        }
+        unalias ls
       '';
     };
     home.shellAliases = {
diff --git a/packages/waycorner.nix b/packages/waycorner.nix
index 122b600..fa0851e 100644
--- a/packages/waycorner.nix
+++ b/packages/waycorner.nix
@@ -7,7 +7,7 @@
   fontconfig,
   expat,
   wayland,
-  system
+  system,
 }:
 rustPlatform.buildRustPackage rec {
   pname = "waycorner";
@@ -26,7 +26,7 @@
     cmake
     pkg-config
   ];
-  
+
   buildInputs = [
     freetype
     fontconfig
