diff --git a/devshells/purescript.nix b/devshells/purescript.nix
index 60047b2..02b7e1a 100644
--- a/devshells/purescript.nix
+++ b/devshells/purescript.nix
@@ -1,6 +1,5 @@
 # shell containing the tools i most commonly use for purescript work!
-{ pkgs, upkgs, ... }:
+{ pkgs, ... }:
 pkgs.mkShell {
-  # reason: purescript 0.15.10
-  nativebuildinputs = with pkgs; [ upkgs.purescript spago typescript nodejs ];
+  nativebuildinputs = with pkgs; [ purescript spago typescript nodejs ];
 }
diff --git a/devshells/typst.nix b/devshells/typst.nix
index 1bf358b..00eb51c 100644
--- a/devshells/typst.nix
+++ b/devshells/typst.nix
@@ -1,8 +1,7 @@
 # Shell for using a pinned version of typst
-{ pkgs, upkgs, ... }:
+{ pkgs, ... }:
 pkgs.mkShell {
   nativeBuildInputs = [
-    # REASON: version 0.7.0
-    upkgs.typst
+    pkgs.typst
   ];
 }
diff --git a/dotfiles/neovim/README.md b/dotfiles/neovim/README.md
index 6db540c..f00ae3b 100644
--- a/dotfiles/neovim/README.md
+++ b/dotfiles/neovim/README.md
@@ -19,6 +19,7 @@ I feel like macro recording is a rare thing, so I moved it to `yq/yQ`. This free
 | ----------- | ------------------------------------------------ | ------- |
 | \<leader>a  | [A]lternate file                                 |         |
 | \<leader>rw | [R]eplace [w]ord under cursor in the entire file |         |
+| \<leader>sw | toggle word [w]rap and visual-line keybinds      |         |
 | Q           | [Q]uit all buffers                               |         |
 | [d          | Previous [d]iagnostic                            |         |
 | d]          | Next [d]iagnostic                                |         |
diff --git a/dotfiles/neovim/ftplugin/markdown.lua b/dotfiles/neovim/ftplugin/markdown.lua
index a415322..a1d0d70 100644
--- a/dotfiles/neovim/ftplugin/markdown.lua
+++ b/dotfiles/neovim/ftplugin/markdown.lua
@@ -1 +1 @@
-require("my.helpers.wrapMovement").setup()
+require("my.helpers.wrapMovement").enable()
diff --git a/dotfiles/neovim/ftplugin/tex.lua b/dotfiles/neovim/ftplugin/tex.lua
index aae6589..0113ea4 100644
--- a/dotfiles/neovim/ftplugin/tex.lua
+++ b/dotfiles/neovim/ftplugin/tex.lua
@@ -1,7 +1,7 @@
 local A = require("my.abbreviations")
 local scrap = require("scrap")
 
-require("my.helpers.wrapMovement").setup()
+require("my.helpers.wrapMovement").enable()
 
 vim.opt.conceallevel = 0
 
@@ -33,82 +33,82 @@ vim.opt.conceallevel = 0
 
 local abbreviations = {
   -- Other fancy symvols
-  { "tmat",   "^T" },      -- Tranpose of a matrix
-  { "cmat",   "^*" },      -- Conjugate of a matrix
-  { "sneg",   "^C" },      -- Set complement
-  { "ortco",  "^\\bot" },  -- Orthogonal complement
+  { "tmat", "^T" }, -- Tranpose of a matrix
+  { "cmat", "^*" }, -- Conjugate of a matrix
+  { "sneg", "^C" }, -- Set complement
+  { "ortco", "^\\bot" }, -- Orthogonal complement
   { "sinter", "^\\circ" }, -- Interior of a set
-  { "nuls",   "\\varnothing" },
+  { "nuls", "\\varnothing" },
 
   -- Basic commands
   { "mangle", "\\measuredangle" },
   { "aangle", "\\angle" },
-  { "sdiff",  "\\setminus" },
-  { "sst",    "\\subset" },
-  { "spt",    "\\supset" },
-  { "sseq",   "\\subseteq" },
-  { "speq",   "\\supseteq" },
-  { "nin",    "\\not\\in" },
-  { "iin",    "\\in" },
-  { "tto",    "\\to" },
-  { "land",   "\\land" },
-  { "lor",    "\\lor" },
-  { "ssin",   "\\sin" },
-  { "ccos",   "\\cos" },
-  { "ttan",   "\\ttan" },
-  { "ssec",   "\\sec" },
-  { "lln",    "\\ln" },
-  { "frl",    "\\forall" },
-  { "exs",    "\\exists" },
-  { "iinf",   "\\infty" },
-  { "ninf",   "-\\infty" },
-  { "nlnl",   "\\pm" }, -- had this as npnp first but it was hard-ish to type
-  { "ccup",   "\\cup" },
-  { "ccap",   "\\cap" },
-  { "nope",   "\\bot" },
-  { "yee",    "\\top" },
-  { "ccan",   "\\cancel" },
-  { "com",    "\\circ" },
-  { "mul",    "\\cdot" },
-  { "smul",   "\\times" },
-  { "card",   "\\#" },
-  { "div",    "\\|" },
-  { "ndiv",   "\\not\\|\\:" },
-  { "perp",   "\\perp" },
-  { "cdots",  "\\cdots" },   -- center dots
-  { "ldots",  "\\ldots" },   -- low dots
+  { "sdiff", "\\setminus" },
+  { "sst", "\\subset" },
+  { "spt", "\\supset" },
+  { "sseq", "\\subseteq" },
+  { "speq", "\\supseteq" },
+  { "nin", "\\not\\in" },
+  { "iin", "\\in" },
+  { "tto", "\\to" },
+  { "land", "\\land" },
+  { "lor", "\\lor" },
+  { "ssin", "\\sin" },
+  { "ccos", "\\cos" },
+  { "ttan", "\\ttan" },
+  { "ssec", "\\sec" },
+  { "lln", "\\ln" },
+  { "frl", "\\forall" },
+  { "exs", "\\exists" },
+  { "iinf", "\\infty" },
+  { "ninf", "-\\infty" },
+  { "nlnl", "\\pm" }, -- had this as npnp first but it was hard-ish to type
+  { "ccup", "\\cup" },
+  { "ccap", "\\cap" },
+  { "nope", "\\bot" },
+  { "yee", "\\top" },
+  { "ccan", "\\cancel" },
+  { "com", "\\circ" },
+  { "mul", "\\cdot" },
+  { "smul", "\\times" },
+  { "card", "\\#" },
+  { "div", "\\|" },
+  { "ndiv", "\\not\\|\\:" },
+  { "perp", "\\perp" },
+  { "cdots", "\\cdots" }, -- center dots
+  { "ldots", "\\ldots" }, -- low dots
   { "cldots", ",\\ldots," }, -- comma, low dots
 
   -- Decorations
-  { "hat",    "\\hat" },
-  { "bar",    "\\bar" },
+  { "hat", "\\hat" },
+  { "bar", "\\bar" },
 
   -- Custom commands
-  { "abs",    "\\abs" },   -- custom abs command
-  { "norm",   "\\norm" },  -- custom norm command
-  { "iprod",  "\\iprod" }, -- custom inner product command
+  { "abs", "\\abs" }, -- custom abs command
+  { "norm", "\\norm" }, -- custom norm command
+  { "iprod", "\\iprod" }, -- custom inner product command
   { "diprod", "\\dprod" }, -- custom self inner product command
-  { "prob",   "\\prob" },  -- custom probability function
-  { "dist",   "\\dist" },  -- custom dist function
-  { "diam",   "\\diam" },  -- custom diam operator
-  { "gen",    "\\gen" },   -- custom command for group generated by element
-  { "ord",    "\\ordop" }, -- order of a group
-  { "vsm",    "\\vecspace" }, -- custom math vector space
+  { "prob", "\\prob" }, -- custom probability function
+  { "dist", "\\dist" }, -- custom dist function
+  { "diam", "\\diam" }, -- custom diam operator
+  { "gen", "\\gen" }, -- custom command for group generated by element
+  { "ord", "\\ordop" }, -- order of a group
+  { "vsm", "\\vecspace" }, -- custom math vector space
 }
 
 -- Todo: convert exponents and subscripts
 -- to use this more concise notation.
 local abolishAbbreviations = {
   -- {{{ General phrases
-  { "thrf",         "therefore" },
-  { "bcla",         "by contradiction let's assume" },
-  { "wlg",          "without loss of generality" },
-  { "tits",         "that is to say," },
-  { "wpbd",         "we will prove the statement in both directions." },
-  { "stam{,s}",     "statement{}" },
+  { "thrf", "therefore" },
+  { "bcla", "by contradiction let's assume" },
+  { "wlg", "without loss of generality" },
+  { "tits", "that is to say," },
+  { "wpbd", "we will prove the statement in both directions." },
+  { "stam{,s}", "statement{}" },
   { "{ww,tt}{m,i}", "{which,this} {means,implies}" },
-  { "cex{,s}",      "counterexample{}" },
-  { "er{t,s,r}",    "{transitivity,symmetry,reflexivity}" },
+  { "cex{,s}", "counterexample{}" },
+  { "er{t,s,r}", "{transitivity,symmetry,reflexivity}" },
   -- }}}
   -- {{{ Exponents and subscripts:
   --   {operation}{argument}
@@ -183,20 +183,20 @@ local abolishAbbreviations = {
   },
   -- }}}
   -- {{{ Calculus & analysis
-  { "ib{p,s}",         "integration by {parts,substitution}" },
-  { "nb{,h}{,s}",      "neighbour{,hood}{}" },
+  { "ib{p,s}", "integration by {parts,substitution}" },
+  { "nb{,h}{,s}", "neighbour{,hood}{}" },
   -- }}}
   -- {{{ Linear algebra
-  { "rref",            "reduced row echalon form" },
+  { "rref", "reduced row echalon form" },
   { "eg{va,ve,p}{,s}", "eigen{value,vector,pair}{}" },
-  { "mx{,s}",          "matri{x,ces}" },
-  { "dete{,s}",        "determinant{}" },
-  { "ort{n,g}",        "orto{normal,gonal}" },
-  { "l{in,de}",        "linearly {independent,dependent}" },
-  { "lcon{,s}",        "linear combination{}" },
-  { "vst{,s}",         "vector space{}" }, -- text vector space
+  { "mx{,s}", "matri{x,ces}" },
+  { "dete{,s}", "determinant{}" },
+  { "ort{n,g}", "orto{normal,gonal}" },
+  { "l{in,de}", "linearly {independent,dependent}" },
+  { "lcon{,s}", "linear combination{}" },
+  { "vst{,s}", "vector space{}" }, -- text vector space
   {
-    "rizz",                        -- ok please ignore this one 💀
+    "rizz", -- ok please ignore this one 💀
     "Riesz vector",
     options = A.no_capitalization,
   },
@@ -209,7 +209,7 @@ local abolishAbbreviations = {
   },
   -- }}}
   -- {{{ Graph theory
-  { "vx{,s}",  "vert{ex,ices}" },
+  { "vx{,s}", "vert{ex,ices}" },
   { "edg{,s}", "edge{}" },
 
   -- Graph theory function syntax:
diff --git a/dotfiles/neovim/ftplugin/typst.lua b/dotfiles/neovim/ftplugin/typst.lua
index a415322..a1d0d70 100644
--- a/dotfiles/neovim/ftplugin/typst.lua
+++ b/dotfiles/neovim/ftplugin/typst.lua
@@ -1 +1 @@
-require("my.helpers.wrapMovement").setup()
+require("my.helpers.wrapMovement").enable()
diff --git a/dotfiles/neovim/lua/my/helpers/wrapMovement.lua b/dotfiles/neovim/lua/my/helpers/wrapMovement.lua
index ecfaa81..ac219d1 100644
--- a/dotfiles/neovim/lua/my/helpers/wrapMovement.lua
+++ b/dotfiles/neovim/lua/my/helpers/wrapMovement.lua
@@ -5,7 +5,12 @@ local function swap(key)
   vim.keymap.set({ "n", "v" }, "g" .. key, key, { buffer = true })
 end
 
-function M.setup()
+local function unswap(key)
+  vim.keymap.del({ "n", "v" }, key)
+  vim.keymap.del({ "n", "v" }, "g" .. key)
+end
+
+function M.enable()
   vim.opt.wrap = true
 
   swap("j")
@@ -14,4 +19,21 @@ function M.setup()
   swap("$")
 end
 
+function M.disable()
+  vim.opt.wrap = false
+
+  unswap("j")
+  unswap("k")
+  unswap("0")
+  unswap("$")
+end
+
+function M.toggle()
+  if vim.opt.wrap == true then
+    M.disable()
+  else
+    M.enable()
+  end
+end
+
 return M
diff --git a/dotfiles/neovim/lua/my/keymaps.lua b/dotfiles/neovim/lua/my/keymaps.lua
index fdade97..65a93fd 100644
--- a/dotfiles/neovim/lua/my/keymaps.lua
+++ b/dotfiles/neovim/lua/my/keymaps.lua
@@ -65,6 +65,13 @@ function M.setup()
   -- {{{ Replace word in file
   M.nmap("<leader>rw", ":%s/<C-r><C-w>/", "[R]eplace [w]ord in file")
   -- }}}
+  -- {{{ Toggle settings
+  M.nmap(
+    "<leader>sw",
+    require("my.helpers.wrapMovement").toggle,
+    "toggle word [w]rap"
+  )
+  -- }}}
   -- {{{ Text objects
   M.delimitedTextobject("q", '"', "[q]uotes")
   M.delimitedTextobject("a", "'", "[a]postrophes")
@@ -104,7 +111,6 @@ function M.setup()
     end,
   })
   -- }}}
-
   -- -- {{{ Winblend
   vim.api.nvim_create_autocmd("FileType", {
     pattern = { "*" },
@@ -114,8 +120,6 @@ function M.setup()
     end,
   })
   -- -- }}}
-
-  return M
 end
 
 return M
diff --git a/dotfiles/neovim/lua/my/plugins/gitsigns.lua b/dotfiles/neovim/lua/my/plugins/gitsigns.lua
index 228a801..9e393e8 100644
--- a/dotfiles/neovim/lua/my/plugins/gitsigns.lua
+++ b/dotfiles/neovim/lua/my/plugins/gitsigns.lua
@@ -52,7 +52,7 @@ local M = {
       local prefix = "<leader>h"
 
       wk.register({
-        [prefix] = { name = "gitsigns" },
+        ["<leader>"] = { h = { name = "gitsigns" } },
       })
 
       -- {{{ Normal mode
diff --git a/dotfiles/neovim/lua/my/plugins/neogit.lua b/dotfiles/neovim/lua/my/plugins/neogit.lua
index b6c9f19..2b5abe7 100644
--- a/dotfiles/neovim/lua/my/plugins/neogit.lua
+++ b/dotfiles/neovim/lua/my/plugins/neogit.lua
@@ -9,7 +9,7 @@ local M = {
     vim.keymap.set("n", "<C-g>", "<cmd>Neogit<cr>", { desc = "Open neo[g]it" })
   end,
   config = function()
-    require("neogit").setup()
+    require("neogit").setup({})
 
     -- {{{ Disable folds inside neogit
     vim.api.nvim_create_autocmd("FileType", {
diff --git a/dotfiles/neovim/lua/my/plugins/whichkey.lua b/dotfiles/neovim/lua/my/plugins/whichkey.lua
index d70b17c..34e5366 100644
--- a/dotfiles/neovim/lua/my/plugins/whichkey.lua
+++ b/dotfiles/neovim/lua/my/plugins/whichkey.lua
@@ -23,6 +23,7 @@ function M.config()
       l = { name = "[L]ocal" },
       w = { name = "[W]orkspace" },
       y = { name = "[Y]ank" },
+      s = { name = "[S]ettings" },
     },
   })
 end
diff --git a/flake.lock b/flake.lock
index 5045412..f19d237 100644
--- a/flake.lock
+++ b/flake.lock
@@ -369,7 +369,7 @@
     "disko": {
       "inputs": {
         "nixpkgs": [
-          "nixpkgs-unstable"
+          "nixpkgs"
         ]
       },
       "locked": {
@@ -427,11 +427,11 @@
       },
       "locked": {
         "dir": "pkgs/firefox-addons",
-        "lastModified": 1694585600,
-        "narHash": "sha256-X+3lxErOk5DNuyJZM7dNAaIpxadv8wMjj6pYxwpjPkc=",
+        "lastModified": 1699474771,
+        "narHash": "sha256-447mf95EXA3anSyLlVXCt49pyFhxcDgoNcdQi1xqFCU=",
         "ref": "refs/heads/master",
-        "rev": "1d028825099440cd83f934967dd20cf1f0a453f5",
-        "revCount": 3084,
+        "rev": "157a2f215a4e7e04a49ef672070da835e4a98107",
+        "revCount": 3206,
         "type": "git",
         "url": "https://gitlab.com/rycee/nur-expressions?dir=pkgs/firefox-addons"
       },
@@ -1260,11 +1260,11 @@
         "nixpkgs": "nixpkgs_8"
       },
       "locked": {
-        "lastModified": 1692099905,
-        "narHash": "sha256-/pSusGhmIdSdAaywQRFA5dVbfdIzlWQTecM+E46+cJ0=",
+        "lastModified": 1695108154,
+        "narHash": "sha256-gSg7UTVtls2yO9lKtP0yb66XBHT1Fx5qZSZbGMpSn2c=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "2a6679aa9cc3872c29ba2a57fe1b71b3e3c5649f",
+        "rev": "07682fff75d41f18327a871088d20af2710d4744",
         "type": "github"
       },
       "original": {
@@ -1298,7 +1298,7 @@
       "inputs": {
         "hyprland-protocols": "hyprland-protocols",
         "nixpkgs": [
-          "nixpkgs-unstable"
+          "nixpkgs"
         ],
         "systems": "systems",
         "wlroots": "wlroots",
@@ -1321,7 +1321,7 @@
     "hyprland-contrib": {
       "inputs": {
         "nixpkgs": [
-          "nixpkgs-unstable"
+          "nixpkgs"
         ]
       },
       "locked": {
@@ -1680,7 +1680,7 @@
     "nixinate": {
       "inputs": {
         "nixpkgs": [
-          "nixpkgs-unstable"
+          "nixpkgs"
         ]
       },
       "locked": {
@@ -1878,29 +1878,13 @@
         "type": "github"
       }
     },
-    "nixpkgs-unstable": {
-      "locked": {
-        "lastModified": 1695145219,
-        "narHash": "sha256-Eoe9IHbvmo5wEDeJXKFOpKUwxYJIOxKUesounVccNYk=",
-        "owner": "nixos",
-        "repo": "nixpkgs",
-        "rev": "5ba549eafcf3e33405e5f66decd1a72356632b96",
-        "type": "github"
-      },
-      "original": {
-        "owner": "nixos",
-        "ref": "nixos-unstable",
-        "repo": "nixpkgs",
-        "type": "github"
-      }
-    },
     "nixpkgs-wayland": {
       "inputs": {
         "flake-compat": "flake-compat_4",
         "lib-aggregate": "lib-aggregate",
         "nix-eval-jobs": "nix-eval-jobs",
         "nixpkgs": [
-          "nixpkgs-unstable"
+          "nixpkgs"
         ]
       },
       "locked": {
@@ -2127,11 +2111,11 @@
     },
     "nixpkgs_9": {
       "locked": {
-        "lastModified": 1692525914,
-        "narHash": "sha256-MUgZ9/9mE/EbEQA6JPdcQHkjoR5fgvaKhpy6UO67uEc=",
+        "lastModified": 1699291058,
+        "narHash": "sha256-5ggduoaAMPHUy4riL+OrlAZE14Kh7JWX4oLEs22ZqfU=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "475d5ae2c4cb87b904545bdb547af05681198fcc",
+        "rev": "41de143fda10e33be0f47eab2bfe08a50f234267",
         "type": "github"
       },
       "original": {
@@ -2365,7 +2349,6 @@
         "nixinate": "nixinate",
         "nixos-hardware": "nixos-hardware",
         "nixpkgs": "nixpkgs_6",
-        "nixpkgs-unstable": "nixpkgs-unstable",
         "nixpkgs-wayland": "nixpkgs-wayland",
         "nur": "nur",
         "rosepine-base16": "rosepine-base16",
@@ -2606,7 +2589,7 @@
       "inputs": {
         "flake-utils": "flake-utils_7",
         "nixpkgs": [
-          "nixpkgs-unstable"
+          "nixpkgs"
         ]
       },
       "locked": {
diff --git a/flake.nix b/flake.nix
index 000ed97..73392c2 100644
--- a/flake.nix
+++ b/flake.nix
@@ -6,9 +6,6 @@
     # Nixpkgs
     nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
 
-    # Nixpkgs-unstable
-    nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
-
     # Home manager
     home-manager.url = "github:nix-community/home-manager";
     home-manager.inputs.nixpkgs.follows = "nixpkgs";
@@ -58,15 +55,15 @@
 
     # Hyprland (available in nix unstable only atm)
     hyprland.url = "github:hyprwm/Hyprland";
-    hyprland.inputs.nixpkgs.follows = "nixpkgs-unstable";
+    hyprland.inputs.nixpkgs.follows = "nixpkgs";
 
     # Hyprland (available in nix unstable only atm)
     hyprland-contrib.url = "github:hyprwm/contrib";
-    hyprland-contrib.inputs.nixpkgs.follows = "nixpkgs-unstable";
+    hyprland-contrib.inputs.nixpkgs.follows = "nixpkgs";
 
     # Contains a bunch of wayland stuff not on nixpkgs
     nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland";
-    nixpkgs-wayland.inputs.nixpkgs.follows = "nixpkgs-unstable";
+    nixpkgs-wayland.inputs.nixpkgs.follows = "nixpkgs";
 
     # Nix language server
     # [the docs](https://github.com/nix-community/nixd/blob/main/docs/user-guide.md#installation)
@@ -75,11 +72,11 @@
 
     # Spotify client
     spicetify-nix.url = "github:the-argus/spicetify-nix";
-    spicetify-nix.inputs.nixpkgs.follows = "nixpkgs-unstable";
+    spicetify-nix.inputs.nixpkgs.follows = "nixpkgs";
 
     # Disko
     disko.url = "github:nix-community/disko";
-    disko.inputs.nixpkgs.follows = "nixpkgs-unstable";
+    disko.inputs.nixpkgs.follows = "nixpkgs";
 
     # Deploy-rs
     deploy-rs.url = "github:serokell/deploy-rs";
@@ -87,7 +84,7 @@
 
     # Nixinate
     nixinate.url = "github:matthewcroughan/nixinate";
-    nixinate.inputs.nixpkgs.follows = "nixpkgs-unstable";
+    nixinate.inputs.nixpkgs.follows = "nixpkgs";
 
     # Anyrun
     anyrun.url = "github:Kirottu/anyrun";
@@ -104,7 +101,8 @@
     # {{{ Self management
     # Smos
     smos.url = "github:NorfairKing/smos";
-    # smos.inputs.nixpkgs.follows = "nixpkgs-unstable";
+    # REASON: smos fails to build this way
+    # smos.inputs.nixpkgs.follows = "nixpkgs";
     # smos.inputs.home-manager.follows = "home-manager";
 
     # Intray
@@ -133,8 +131,6 @@
 
       specialArgs = system: {
         inherit inputs outputs;
-        # This is used so often it makes sense to have it as it's own thing
-        upkgs = inputs.nixpkgs-unstable.legacyPackages.${system};
       };
       # }}}
     in
diff --git a/home/features/desktop/alacritty.nix b/home/features/desktop/alacritty.nix
index 43cbe0c..3e72dbb 100644
--- a/home/features/desktop/alacritty.nix
+++ b/home/features/desktop/alacritty.nix
@@ -1,4 +1,4 @@
-{ config, pkgs, lib, ... }:
+{ config, lib, ... }:
 {
   stylix.targets.alacritty.enable = true;
 
diff --git a/home/features/desktop/firefox/default.nix b/home/features/desktop/firefox/default.nix
index aced79a..85de3c0 100644
--- a/home/features/desktop/firefox/default.nix
+++ b/home/features/desktop/firefox/default.nix
@@ -10,6 +10,7 @@ let
     don-t-fuck-with-paste # disallows certain websites from disabling pasting
     decentraleyes # Serves local copies of a bunch of things instead of reaching a CDN
     gesturefy # mouse gestures
+    indie-wiki-buddy # redirects fandom wiki urls to the proper wikis
     i-dont-care-about-cookies
     localcdn # caches libraries locally
     privacy-badger # blocks some trackers
diff --git a/home/features/desktop/wezterm/default.nix b/home/features/desktop/wezterm/default.nix
index b1251ff..f17edf6 100644
--- a/home/features/desktop/wezterm/default.nix
+++ b/home/features/desktop/wezterm/default.nix
@@ -1,6 +1,5 @@
-{ upkgs, config, ... }: {
-  # REASON: newer version
-  home.packages = [ upkgs.wezterm ];
+{ pkgs, config, ... }: {
+  home.packages = [ pkgs.wezterm ];
 
   # Create link to config
   xdg.configFile."wezterm/colorscheme.lua".text = config.satellite.colorscheme.lua;
diff --git a/home/features/neovim/default.nix b/home/features/neovim/default.nix
index 2ed45f3..354c61e 100644
--- a/home/features/neovim/default.nix
+++ b/home/features/neovim/default.nix
@@ -1,13 +1,12 @@
 # TODO(imperanence): handle persistence of things like harpoon, lazy, etc
-{ pkgs, upkgs, lib, config, inputs, ... }:
+{ pkgs, lib, config, inputs, ... }:
 let
   # {{{ extraPackages
   extraPackages = with pkgs; [
     # Language servers
     nodePackages.typescript-language-server # typescript
     nodePackages_latest.purescript-language-server # purescript
-    # REASON: not in stable
-    upkgs.lua-language-server # lua
+    lua-language-server # lua
     rnix-lsp # nix
     nil # nix
     inputs.nixd.packages.${system}.nixd # nix
@@ -20,7 +19,7 @@ let
     python310Packages.python-lsp-server # python
     pyright # python
     rust-analyzer # rust
-    upkgs.typst-lsp # typst
+    typst-lsp # typst
 
     # Formatters
     luaformatter # Lua
@@ -32,7 +31,7 @@ let
     nodePackages_latest.purs-tidy # Purescript
     nodePackages_latest.prettier # Js & friends
     nodePackages_latest.prettier_d_slim # Js & friends
-    upkgs.typst-fmt # Typst
+    typst-fmt # Typst
 
     # Linters
     ruff # Python linter
diff --git a/home/features/wayland/anyrun.nix b/home/features/wayland/anyrun.nix
index 6d894c2..0fa9260 100644
--- a/home/features/wayland/anyrun.nix
+++ b/home/features/wayland/anyrun.nix
@@ -25,7 +25,7 @@
       maxEntries = 7;
     };
 
-    extraCss = ''
+    extraCss = /* css */ ''
       /* {{{ Global overrides */
       #window,
       #entry,
diff --git a/home/features/wayland/default.nix b/home/features/wayland/default.nix
index 57399f0..3807db5 100644
--- a/home/features/wayland/default.nix
+++ b/home/features/wayland/default.nix
@@ -1,5 +1,5 @@
 # Common wayland stuff
-{ lib, pkgs, upkgs, ... }: {
+{ lib, pkgs, ... }: {
   imports = [
     ./dunst.nix
     ./wlsunset.nix
@@ -10,28 +10,16 @@
     ../desktop/eww
   ];
 
-  # Makes some stuff run on wayland (?)
-  # Taken from [here](https://github.com/fufexan/dotfiles/blob/3b0075fa7a5d38de13c8c32140c4b020b6b32761/home/wayland/default.nix#L14)
-  # TODO: ask author what those do
-  # home.sessionVariables = {
-  #   QT_QPA_PLATFORM = "wayland";
-  #   SDL_VIDEODRIVER = "wayland";
-  #   XDG_SESSION_TYPE = "wayland";
-  # };
-
   # TODO: set up
-  # - wallpaper
-  # - notification daemon
-  # - screen recording
   # - volume/backlight controls
   # - eww bar
   # - configure hyprland colors using base16 stuff
   # - look into swaylock or whatever people use
-  # - look into greetd or something
   # - multiple keyboard layouts
 
   home.packages =
     let
+      # {{{ OCR 
       _ = lib.getExe;
 
       wl-copy = "${pkgs.wl-clipboard}/bin/wl-copy";
@@ -45,20 +33,20 @@
           | ${wl-copy}
         ${_ pkgs.libnotify} "Run ocr on area with output \"$(${wl-paste})\""
       '';
+      # }}}
     in
     with pkgs; [
-      # Utils
+      # {{{ Utils
       libnotify # Send notifications
       wl-ocr # Custom ocr script
       wl-clipboard # Clipboard manager
       wlogout # Nice logout script
       wlsunset # Day/night gamma display adjustments
-
-      # REASON: not available on stable yet
-      upkgs.hyprpicker # Color picker
-
-      # Screenshot related tools
+      hyprpicker # Color picker
+      # }}}
+      # {{{ Screenshot related tools
       grim # Take screenshot
       slurp # Area selector
+      # }}}
     ];
 }
diff --git a/modules/home-manager/firefox/default.nix b/modules/home-manager/firefox/default.nix
index af360e3..3476217 100644
--- a/modules/home-manager/firefox/default.nix
+++ b/modules/home-manager/firefox/default.nix
@@ -1,5 +1,5 @@
 # Allows installing web apps as desktop apps
-{ lib, pkgs, config, ... }:
+{ lib, config, ... }:
 let cfg = config.programs.firefox.apps;
 in
 {