diff --git a/README.md b/README.md
index 9a94476..07537c5 100644
--- a/README.md
+++ b/README.md
@@ -40,12 +40,12 @@ This repo's structure is based on the concept of hosts - individual machines con
 
 Here's some things you might want to check out:
 
-- My [neovim config](./dotfiles/neovim)
+- My [neovim config](./home/features/neovim)
 - The [flake](./flake.nix) entrypoint for this repository
 
 ## Things I use
 
-> This does not include links to every plugin I used for every program here. You can see more details in the respective configurations.
+> This does not include links to every plugin I use for every program here. You can see more details in the respective configurations.
 
 ### Fundamentals
 
diff --git a/modules/README.md b/modules/README.md
index eecd73b..3b84b41 100644
--- a/modules/README.md
+++ b/modules/README.md
@@ -12,11 +12,12 @@ This directory contains custom module definitions used throughout my config.
 
 ## Common modules
 
-| Name                                            | Attribute                   | Description                              | Dependencies                              |
-| ----------------------------------------------- | --------------------------- | ---------------------------------------- | ----------------------------------------- |
-| [lua-colorscheme](./common/lua-colorscheme.nix) | `satellite.colorscheme.lua` | Base16 theme to lua module generation    | [stylix](https://github.com/danth/stylix) |
-| [theming](./common/theming.nix)                 | `satellite.theming`         | Base16 theming helpers and configuration | [stylix](https://github.com/danth/stylix) |
-| [toggles](./common/toggles.nix)                 | `satellite.toggles`         | Generic interface for feature flags      |                                           |
+| Name                                            | Attribute                   | Description                                         | Dependencies                              |
+| ----------------------------------------------- | --------------------------- | --------------------------------------------------- | ----------------------------------------- |
+| [lua-colorscheme](./common/lua-colorscheme.nix) | `satellite.colorscheme.lua` | Base16 theme to lua module generation               | [stylix](https://github.com/danth/stylix) |
+| [lua-encoders](./common/lua-encoders.nix)       | `satellite.lib.lua`         | Combinators for generating lua code from nix values |                                           |
+| [theming](./common/theming.nix)                 | `satellite.theming`         | Base16 theming helpers and configuration            | [stylix](https://github.com/danth/stylix) |
+| [toggles](./common/toggles.nix)                 | `satellite.toggles`         | Generic interface for feature flags                 |                                           |
 
 ## Nixos modules
 
@@ -24,11 +25,12 @@ There are no nixos modules at the moment!
 
 ## Home-manager modules
 
-| Name                                              | Attribute               | Description                                                        | Dependencies                                                  |
-| ------------------------------------------------- | ----------------------- | ------------------------------------------------------------------ | ------------------------------------------------------------- |
-| [discord](./home-manager/discord.nix)             | `programs.discord`      | Additional discord options                                         |                                                               |
-| [eww-hyprland](./home-manager/eww-hyprland.nix)   | `programs.eww-hyprland` | `eww` service for `hyprland`                                       |                                                               |
-| [hyprpaper](./home-manager/hyprpaper.nix)         | `services.hyprpaper`    | Wallpaper service for `hyprland`                                   |                                                               |
-| [monitors](./home-manager/monitors.nix)           | `satellite.monitors`    | WM generic monitor configuration                                   |                                                               |
-| [persistence](./home-manager/persistence.nix)     | `satellite.persistence` | Syntactic wrapper around impermanence                              | [impermanence](https://github.com/nix-community/impermanence) |
-| [satellite-dev](./home-manager/satellite-dev.nix) | `satellite.dev`         | Helpers for managing dotfiles which are actively under development |                                                               |
+| Name                                              | Attribute               | Description                                                                       | Dependencies                                                  |
+| ------------------------------------------------- | ----------------------- | --------------------------------------------------------------------------------- | ------------------------------------------------------------- |
+| [discord](./home-manager/discord.nix)             | `programs.discord`      | Additional discord options                                                        |                                                               |
+| [firefox](./home-manager/firefox)                 | `programs.firefox.apps` | Hacky system for wrapping websites into desktop apps by hiding the firefox tabbar |                                                               |
+| [eww-hyprland](./home-manager/eww-hyprland.nix)   | `programs.eww-hyprland` | `eww` service for `hyprland`                                                      |                                                               |
+| [hyprpaper](./home-manager/hyprpaper.nix)         | `services.hyprpaper`    | Wallpaper service for `hyprland`                                                  |                                                               |
+| [monitors](./home-manager/monitors.nix)           | `satellite.monitors`    | WM generic monitor configuration                                                  |                                                               |
+| [persistence](./home-manager/persistence.nix)     | `satellite.persistence` | Syntactic wrapper around impermanence                                             | [impermanence](https://github.com/nix-community/impermanence) |
+| [satellite-dev](./home-manager/satellite-dev.nix) | `satellite.dev`         | Helpers for managing dotfiles which are actively under development                |                                                               |
diff --git a/overlays/default.nix b/overlays/default.nix
index 4055913..b7f3c40 100644
--- a/overlays/default.nix
+++ b/overlays/default.nix
@@ -9,36 +9,5 @@
     # example = prev.example.overrideAttrs (oldAttrs: rec {
     # ...
     # });
-
-    # {{{ Discordchatexporter
-    discordchatexporter-cli = prev.discordchatexporter-cli.overrideAttrs (_: {
-      version = "unstable-2023-06-21";
-      src = prev.fetchFromGitHub {
-        owner = "tyrrrz";
-        repo = "discordchatexporter";
-        rev = "bd4cfcdaf6abe0bd8863d5a4b3f2df2da838aea4";
-        sha256 = "05j6y033852nm0fxhyv4mr4hnqc87nnkk85bw6sgf9gryjpxdcrq";
-      };
-    });
-    # }}}
-    # {{{ Discord
-    # discord =
-    #   let
-    #     enableWayland = drv: bin: drv.overrideAttrs (
-    #       old: {
-    #         nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ final.makeWrapper ];
-    #         postFixup = (old.postFixup or "") + ''
-    #           wrapProgram $out/bin/${bin} \
-    #             --add-flags "--enable-features=UseOzonePlatform" \
-    #             --add-flags "--ozone-platform=wayland"
-    #         '';
-    #       }
-    #     );
-    #   in
-    #   enableWayland prev.discord "discord";
-    # }}}
   };
-
-  # Wayland version of plover
-  plover = import ./plover.nix;
 }
diff --git a/overlays/plover.nix b/overlays/plover.nix
deleted file mode 100644
index 07a00af..0000000
--- a/overlays/plover.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-# Taken from [here](https://github.com/openstenoproject/plover/pull/1461#issuecomment-1094511201)
-# Wayland version of plover
-(final: prev: rec {
-  python3Packages = {
-    plover-stroke = final.python3Packages.buildPythonPackage rec {
-      pname = "plover_stroke";
-      version = "1.0.1";
-      src = prev.python3Packages.fetchPypi {
-        inherit pname version;
-        sha256 = "t+ZM0oDEwitFDC1L4due5IxCWEPzJbF3fi27HDyto8Q=";
-      };
-    };
-    rtf-tokenize = final.python3Packages.buildPythonPackage rec {
-      pname = "rtf_tokenize";
-      version = "1.0.0";
-      src = prev.python3Packages.fetchPypi {
-        inherit pname version;
-        sha256 = "XD3zkNAEeb12N8gjv81v37Id3RuWroFUY95+HtOS1gg=";
-      };
-    };
-    pywayland_0_4_7 = prev.python3Packages.pywayland.overridePythonAttrs
-      (oldAttrs: rec {
-        pname = "pywayland";
-        version = "0.4.7";
-        src = prev.python3Packages.fetchPypi {
-          inherit pname version;
-          sha256 = "0IMNOPTmY22JCHccIVuZxDhVr41cDcKNkx8bp+5h2CU=";
-        };
-      });
-  } // prev.python3Packages;
-  plover.dev = prev.plover.dev.overridePythonAttrs
-    (oldAttrs: {
-      src = final.fetchFromGitHub {
-        owner = "openstenoproject";
-        repo = "plover";
-        rev = "fd5668a3ad9bd091289dd2e5e8e2c1dec063d51f";
-        sha256 = "2xvcNcJ07q4BIloGHgmxivqGq1BuXwZY2XWPLbFrdXg=";
-      };
-      propagatedBuildInputs = oldAttrs.propagatedBuildInputs
-        ++ [
-        python3Packages.plover-stroke
-        python3Packages.rtf-tokenize
-        python3Packages.pywayland_0_4_7
-      ];
-      nativeBuildInputs = (oldAttrs.nativeBuildInputs or [ ]) ++ [
-        final.pkg-config
-      ];
-      doCheck = false; # TODO: get tests working
-      postPatch = ''
-        sed -i /PyQt5/d setup.cfg
-        substituteInPlace plover_build_utils/setup.py \
-          --replace "/usr/share/wayland/wayland.xml" "${final.wayland}/share/wayland/wayland.xml"
-      '';
-    });
-})