Migrate global configuration to and expand home

- Move lots of system config to home (browser, editors, etc.)
- Improve catppuccin support (kitty, cursors, etc.)
- Improve overall theme (fonts, icons in kitty)
- Add coded's system hardware configuration ("shorthair")
- Add the ed editor
- Split minion's system hardware configuration ("greylag") into several files
- Improve shell support (aliases, useful packages, replacements, etc.)

Change-Id: Ie6d40f809b2662268a9a6fa8b241641bbfef9442
Reviewed-on: https://git.clicks.codes/c/Chimera/NixFiles/+/383
Tested-by: Skyler Grey <minion@clicks.codes>
Reviewed-by: Samuel Shuert <coded@clicks.codes>
diff --git a/modules/home/browser/chromium/default.nix b/modules/home/browser/chromium/default.nix
index 16dd34e..c21f21c 100644
--- a/modules/home/browser/chromium/default.nix
+++ b/modules/home/browser/chromium/default.nix
@@ -1,4 +1,5 @@
-{ lib, config, ... }: {
+{ lib, config, ... }:
+{
   options.chimera.browser.chromium = {
     enable = lib.mkEnableOption "Use chromium browser";
     extensions = {
@@ -12,22 +13,58 @@
       ublockOrigin.enable = lib.mkEnableOption "Turn on uBlock Origin ad blocker";
     };
     extraExtensions = lib.mkOption {
-      type = lib.types.listOf (lib.types.either { id = lib.types.str; } { id = lib.types.str; crxPath = lib.types.path; version = lib.types.str; });
+      type = lib.types.listOf (
+        lib.types.either { id = lib.types.str; } {
+          id = lib.types.str;
+          crxPath = lib.types.path;
+          version = lib.types.str;
+        }
+      );
       description = "Extra extensions to add to chromium on launch";
-      default = [];
+      default = [ ];
     };
   };
   config = lib.mkIf config.chimera.browser.chromium.enable ({
     programs.chromium = {
       enable = true;
       extensions =
-        (if config.chimera.browser.chromium.extensions.bitwarden.enable then [{ id = "nngceckbapebfimnlniiiahkandclblb"; }] else []) #Bitwarden
-        ++ (if config.chimera.browser.chromium.extensions.youtube.sponsorBlock.enable then [{ id = "mnjggcdmjocbbbhaepdhchncahnbgone"; }] else []) #Sponsor Block
-        ++ (if config.chimera.browser.chromium.extensions.youtube.returnDislike.enable then [{ id = "gebbhagfogifgggkldgodflihgfeippi"; }] else []) #Return youtube dislike
-        ++ (if config.chimera.browser.chromium.extensions.youtube.deArrow.enable then [{ id = "enamippconapkdmgfgjchkhakpfinmaj"; }] else []) #DeArrow
-        ++ (if config.chimera.browser.chromium.extensions.reactDevTools.enable then [{ id = "fmkadmapgofadopljbjfkapdkoienihi"; }] else []) #React Dev Tools
-        ++ (if config.chimera.browser.chromium.extensions.ublockOrigin.enable then [{ id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; }] else []) #uBlock Origin
+        (
+          if config.chimera.browser.chromium.extensions.bitwarden.enable then
+            [ { id = "nngceckbapebfimnlniiiahkandclblb"; } ]
+          else
+            [ ]
+        ) # Bitwarden
+        ++ (
+          if config.chimera.browser.chromium.extensions.youtube.sponsorBlock.enable then
+            [ { id = "mnjggcdmjocbbbhaepdhchncahnbgone"; } ]
+          else
+            [ ]
+        ) # Sponsor Block
+        ++ (
+          if config.chimera.browser.chromium.extensions.youtube.returnDislike.enable then
+            [ { id = "gebbhagfogifgggkldgodflihgfeippi"; } ]
+          else
+            [ ]
+        ) # Return youtube dislike
+        ++ (
+          if config.chimera.browser.chromium.extensions.youtube.deArrow.enable then
+            [ { id = "enamippconapkdmgfgjchkhakpfinmaj"; } ]
+          else
+            [ ]
+        ) # DeArrow
+        ++ (
+          if config.chimera.browser.chromium.extensions.reactDevTools.enable then
+            [ { id = "fmkadmapgofadopljbjfkapdkoienihi"; } ]
+          else
+            [ ]
+        ) # React Dev Tools
+        ++ (
+          if config.chimera.browser.chromium.extensions.ublockOrigin.enable then
+            [ { id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } ]
+          else
+            [ ]
+        ) # uBlock Origin
         ++ config.chimera.browser.chromium.extraExtensions;
     };
   });
-}
\ No newline at end of file
+}
diff --git a/modules/home/browser/firefox/default.nix b/modules/home/browser/firefox/default.nix
index d1aa88f..3fcbf06 100644
--- a/modules/home/browser/firefox/default.nix
+++ b/modules/home/browser/firefox/default.nix
@@ -1,4 +1,5 @@
-{ lib, config, ... }: {
+{ lib, config, ... }:
+{
   options.chimera.browser.firefox = {
     enable = lib.mkEnableOption "Use firefox browser";
     extensions = {
@@ -20,14 +21,50 @@
   config = lib.mkIf config.chimera.browser.firefox.enable ({
     programs.firefox = {
       enable = true;
-      profiles.chimera.extensions = (if config.chimera.browser.firefox.extensions.bitwarden.enable then [ config.nur.repos.rycee.firefox-addons.bitwarden ] else [])
-        ++ (if config.chimera.browser.firefox.extensions.youtube.sponsorBlock.enable then [ config.nur.repos.rycee.firefox-addons.sponsorblock ] else [])
-        ++ (if config.chimera.browser.firefox.extensions.youtube.returnDislike.enable then [ config.nur.repos.rycee.firefox-addons.return-youtube-dislikes ] else [])
-        ++ (if config.chimera.browser.firefox.extensions.youtube.deArrow.enable then [ config.nur.repos.rycee.firefox-addons.dearrow ] else [])
-        ++ (if config.chimera.browser.firefox.extensions.reactDevTools.enable then [ config.nur.repos.rycee.firefox-addons.react-devtools ] else [])
-        ++ (if config.chimera.browser.firefox.extensions.ublockOrigin.enable then [ config.nur.repos.rycee.firefox-addons.ublock-origin ] else [])
-        ++ (if config.chimera.browser.firefox.extensions.adnauseam.enable then [ config.nur.repos.rycee.firefox-addons.adnauseam ] else [])
+      profiles.chimera.extensions =
+        (
+          if config.chimera.browser.firefox.extensions.bitwarden.enable then
+            [ config.nur.repos.rycee.firefox-addons.bitwarden ]
+          else
+            [ ]
+        )
+        ++ (
+          if config.chimera.browser.firefox.extensions.youtube.sponsorBlock.enable then
+            [ config.nur.repos.rycee.firefox-addons.sponsorblock ]
+          else
+            [ ]
+        )
+        ++ (
+          if config.chimera.browser.firefox.extensions.youtube.returnDislike.enable then
+            [ config.nur.repos.rycee.firefox-addons.return-youtube-dislikes ]
+          else
+            [ ]
+        )
+        ++ (
+          if config.chimera.browser.firefox.extensions.youtube.deArrow.enable then
+            [ config.nur.repos.rycee.firefox-addons.dearrow ]
+          else
+            [ ]
+        )
+        ++ (
+          if config.chimera.browser.firefox.extensions.reactDevTools.enable then
+            [ config.nur.repos.rycee.firefox-addons.react-devtools ]
+          else
+            [ ]
+        )
+        ++ (
+          if config.chimera.browser.firefox.extensions.ublockOrigin.enable then
+            [ config.nur.repos.rycee.firefox-addons.ublock-origin ]
+          else
+            [ ]
+        )
+        ++ (
+          if config.chimera.browser.firefox.extensions.adnauseam.enable then
+            [ config.nur.repos.rycee.firefox-addons.adnauseam ]
+          else
+            [ ]
+        )
         ++ config.chimera.browser.firefox.extraExtensions;
     };
   });
-}
\ No newline at end of file
+}