diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,31 @@
 # Revision History for cabal2nix
 
+## 2.19.1
+
+**Warning**: This version of `cabal2nix` generates Nix expressions that
+are expected to be used with at least NixOS 22.11 or the unstable
+channels at `3928cfa27d9925f9fbd1d211cf2549f723546a81` or later (which
+should be all unstable channels published after 2022-10-23) due to changes
+how `libcrypt` is provided by `nixpkgs`. For details read below.
+
+* `cabal2nix` and `hackage2nix` will now emit a dependency on `libxcrypt`
+  if the `crypt` library is requested by a package description. This has
+  been done because `nixpkgs` has
+  [disabled `libcrypt` being bundled with `glibc`](https://github.com/NixOS/nixpkgs/pull/181764),
+  so the library will need to be pulled in from elsewhere.
+  These new generated nix expressions may not work correctly with older
+  versions of `nixpkgs` (since two `libcrypt`s would be pulled in).
+  Versions expected to work are listed in the warning above.
+  See also [#576](https://github.com/NixOS/cabal2nix/pull/576).
+* `cabal2nix` and `hackage2nix` can now resolve the `FLAC` library name.
+  See also [#567](https://github.com/NixOS/cabal2nix/pull/567).
+* Fix test suite compilation with `Cabal >= 3.8`.
+  See also [#572](https://github.com/NixOS/cabal2nix/pull/572).
+* Packages closely tied to `cabal2nix` have been merged into the main
+  `cabal2nix` source repository. As a consequence, the cabal2nix source
+  code has been moved into the `cabal2nix` subdirectory.
+  See also [#567](https://github.com/NixOS/cabal2nix/pull/567).
+
 ## 2.19.0
 
 Note that some of the API has also changed in a breaking
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -69,50 +69,3 @@
 This repository also contains, in the [`hackage2nix/`](./hackage2nix) directory,
 the tool to update the Haskell packages in
 [nixpkgs](https://github.com/NixOS/nixpkgs). It has its own README there.
-
-## Building
-
-`cabal2nix` is built using [`cabal-install`](https://www.haskell.org/cabal/),
-like you'd expect, and you are free to use your favourite way of setting up
-a Haskell development environment.
-
-Since `cabal2nix` is quite intertwined with the packages `distribution-nixpkgs`
-and `hackage-db`, we recommend setting up a shared development environment
-for the three packages like so:
-
-```console
-$ mkdir /path/to/cabal2nix-root && cd /path/to/cabal2nix-root
-$ # clone repositories, note that you may need to checkout an
-$ # older tag for some depending on breaking changes on master.
-$ git clone https://github.com/NixOS/cabal2nix.git
-$ git clone https://github.com/NixOS/hackage-db.git
-$ git clone https://github.com/NixOS/distribution-nixpkgs.git
-$ # setup development environment with shellFor
-$ cat > shell.nix << EOF
-# assumes nix{os,pkgs}-unstable
-{ pkgs ? import <nixpkgs> {} }:
-
-pkgs.haskellPackages.shellFor {
-  packages = p: [
-    p.cabal2nix-unstable
-    p.distribution-nixpkgs
-    p.hackage-db
-  ];
-
-  # for running doctests locally
-  nativeBuildInputs = [
-    pkgs.haskellPackages.doctest
-  ];
-
-  # set environment variable, so the development version of
-  # distribution-nixpkgs finds derivation-attr-paths.nix
-  distribution_nixpkgs_datadir = toString ./distribution-nixpkgs;
-}
-EOF
-$ # tell cabal about local packages
-$ cat > cabal.project << EOF
-packages: ./*/*.cabal
-EOF
-$ # test our new development environment
-$ nix-shell --run "cabal v2-build exe:cabal2nix exe:hackage2nix"
-```
diff --git a/cabal2nix.cabal b/cabal2nix.cabal
--- a/cabal2nix.cabal
+++ b/cabal2nix.cabal
@@ -1,5 +1,5 @@
 name:               cabal2nix
-version:            2.19.0
+version:            2.19.1
 synopsis:           Convert Cabal files into Nix build instructions.
 description:
   Convert Cabal files into Nix build instructions. Users of Nix can install the latest
@@ -12,7 +12,7 @@
 -- list all contributors: git log --pretty='%an' | sort | uniq
 maintainer:         sternenseemann <sternenseemann@systemli.org>
 stability:          stable
-tested-with:        GHC == 8.8.4 || == 8.10.7 || == 9.0.2
+tested-with:        GHC == 8.8.4 || == 8.10.7 || == 9.0.2 || == 9.2.2
 category:           Distribution, Nix
 homepage:           https://github.com/nixos/cabal2nix#readme
 bug-reports:        https://github.com/nixos/cabal2nix/issues
@@ -26,6 +26,7 @@
 source-repository head
   type:     git
   location: https://github.com/nixos/cabal2nix
+  subdir:   cabal2nix
 
 library
   exposed-modules:    Cabal2nix
diff --git a/src/Distribution/Nixpkgs/Haskell/FromCabal/Name.hs b/src/Distribution/Nixpkgs/Haskell/FromCabal/Name.hs
--- a/src/Distribution/Nixpkgs/Haskell/FromCabal/Name.hs
+++ b/src/Distribution/Nixpkgs/Haskell/FromCabal/Name.hs
@@ -36,7 +36,7 @@
 libNixName "cairo-pdf"                          = return "cairo"
 libNixName "cairo-ps"                           = return "cairo"
 libNixName "cairo-svg"                          = return "cairo"
-libNixName "crypt"                              = []  -- provided by glibc
+libNixName "crypt"                              = return "libxcrypt" -- starting with NixOS 22.11, glibc's libcrypt will no longer be built
 libNixName "crypto"                             = return "openssl"
 libNixName "curses"                             = return "ncurses"
 libNixName "dbusmenu-glib-0.4"                  = return "libdbusmenu"
@@ -45,6 +45,7 @@
 libNixName "ff"                                 = return "libff"
 libNixName "fftw3"                              = return "fftw"
 libNixName "fftw3f"                             = return "fftwFloat"
+libNixName "FLAC"                               = return "flac"
 libNixName "freetype2"                          = return "freetype"
 libNixName "gconf"                              = return "GConf"
 libNixName "gconf-2.0"                          = return "GConf"
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -1,5 +1,6 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE CPP #-}
 
 module Main ( main ) where
 
@@ -13,8 +14,13 @@
 import qualified Data.Set as Set
 import Distribution.Compiler
 import Distribution.Package
+#if MIN_VERSION_Cabal(3,8,1)
+import Distribution.Simple.PackageDescription
+import Distribution.Types.GenericPackageDescription
+#else
 import Distribution.PackageDescription
 import Distribution.PackageDescription.Parsec
+#endif
 import Distribution.System
 import Distribution.Verbosity
 import Distribution.Version
diff --git a/test/golden-test-cases/crypt-sha512.nix.golden b/test/golden-test-cases/crypt-sha512.nix.golden
--- a/test/golden-test-cases/crypt-sha512.nix.golden
+++ b/test/golden-test-cases/crypt-sha512.nix.golden
@@ -1,5 +1,6 @@
 { mkDerivation, attoparsec, base, bytestring, cryptohash-sha512
-, lib, quickcheck-instances, tasty, tasty-hunit, tasty-quickcheck
+, lib, libxcrypt, quickcheck-instances, tasty, tasty-hunit
+, tasty-quickcheck
 }:
 mkDerivation {
   pname = "crypt-sha512";
@@ -12,6 +13,7 @@
     base bytestring quickcheck-instances tasty tasty-hunit
     tasty-quickcheck
   ];
+  testSystemDepends = [ libxcrypt ];
   homepage = "https://github.com/phadej/crypt-sha512";
   description = "Pure Haskell implelementation for GNU SHA512 crypt algorithm";
   license = lib.licenses.bsd3;
