diff --git a/host/users.nix b/host/users.nix
index a09372c..71dcea4 100644
--- a/host/users.nix
+++ b/host/users.nix
@@ -1,31 +1,33 @@
-{ pkgs, ... }: let
-    createUser = { username, realname, founder = false, sudo = false, ... }: {
-        description = realname;
-        extraGroups = (
-            (if founder then [ "founder" ] else []) ++
-            (if founder || sudo then [ "wheel" ] else [])
-        );
-        isNormalUser = true;
-        openssh.authorizedKeys.keyFiles = [ "./sshKeys/${username}" ];
-    };
+{ pkgs, ... }:
+let
+  createUser = { username, realname, founder = false, sudo = false, ... }: {
+    description = realname;
+    extraGroups = (
+      (if founder then [ "founder" ] else [ ]) ++
+      (if founder || sudo then [ "wheel" ] else [ ])
+    );
+    isNormalUser = true;
+    openssh.authorizedKeys.keyFiles = [ "./sshKeys/${username}" ];
+  };
 
-    users = {
-        "coded" = { realname = "Sam"; founder = true; };
-        "minion" = { realname = "Skyler"; founder = true; };
-        "pineapplefan" = { realname = "Ash"; founder = true; };
-        "eek" = { realname = "Nexus"; sudo = true; };
-    };
-in {
-    users = {
-        mutableUsers = false;
-        motd = ''
-        Welcome to Clicks! Please make sure to follow all guidelines for using the server, which you can find by typing
-        `guidelines` in your terminal. In particular, please remember to use this server as minimally as possible (e.g.
-        by keeping as much of your work as is possible stateless and by using your personal
-        "${builtins.readFile ./texts/MOTD}"
-        '';
-        defaultUserShell = pkgs.zsh;
-        users = builtins.mapAttrs (name: value: createUser { username = name; } // value) users;
-        groups = { };
-    };
+  users = {
+    "coded" = { realname = "Sam"; founder = true; };
+    "minion" = { realname = "Skyler"; founder = true; };
+    "pineapplefan" = { realname = "Ash"; founder = true; };
+    "eek" = { realname = "Nexus"; sudo = true; };
+  };
+in
+{
+  users = {
+    mutableUsers = false;
+    motd = ''
+      Welcome to Clicks! Please make sure to follow all guidelines for using the server, which you can find by typing
+      `guidelines` in your terminal. In particular, please remember to use this server as minimally as possible (e.g.
+      by keeping as much of your work as is possible stateless and by using your personal
+      "${builtins.readFile ./texts/MOTD}"
+    '';
+    defaultUserShell = pkgs.zsh;
+    users = builtins.mapAttrs (name: value: createUser { username = name; } // value) users;
+    groups = { };
+  };
 }
