diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index c0f36fcfd35..19aaf12f26a 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -516,6 +516,15 @@
(ghc.withPackages.override { useLLVM = true; }) (p: []).
+
+
+ The update of the haskell package set brings with it a new
+ version of the xmonad module, which will
+ break your configuration if you use launch
+ as entrypoint. The example code the corresponding nixos module
+ was adjusted, you way want to have a look at it.
+
+
The home-assistant module now requires
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index 5902957a535..9261511e7b8 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -163,6 +163,10 @@ In addition to numerous new and upgraded packages, this release has the followin
`useLLVM`. So instead of `(ghc.withPackages (p: [])).override { withLLVM = true; }`,
one needs to use `(ghc.withPackages.override { useLLVM = true; }) (p: [])`.
+- The update of the haskell package set brings with it a new version of the `xmonad`
+ module, which will break your configuration if you use `launch` as entrypoint. The
+ example code the corresponding nixos module was adjusted, you way want to have a look at it.
+
- The `home-assistant` module now requires users that don't want their
configuration to be managed declaratively to set
`services.home-assistant.config = null;`. This is required
diff --git a/nixos/modules/services/x11/window-managers/xmonad.nix b/nixos/modules/services/x11/window-managers/xmonad.nix
index 68f97c2f504..66d11131391 100644
--- a/nixos/modules/services/x11/window-managers/xmonad.nix
+++ b/nixos/modules/services/x11/window-managers/xmonad.nix
@@ -128,33 +128,34 @@ in {
[ ( (mod4Mask,xK_r), compileRestart True)
, ( (mod4Mask,xK_q), restart "xmonad" True ) ]
+ compileRestart resume = do
+ dirs <- asks directories
+ whenX (recompile dirs True) $ do
+ when resume writeStateToFile
+ catchIO
+ ( do
+ args <- getArgs
+ executeFile (cacheDir dirs > compiledConfig) False args Nothing
+ )
+
+ main = getDirectories >>= launch myConfig
+
--------------------------------------------
- {- version 0.17.0 -}
+ {- For versions before 0.17.0 use this instead -}
--------------------------------------------
-- compileRestart resume =
- -- dirs <- io getDirectories
- -- whenX (recompile dirs True) $
+ -- whenX (recompile True) $
-- when resume writeStateToFile
-- *> catchIO
-- ( do
+ -- dir <- getXMonadDataDir
-- args <- getArgs
- -- executeFile (cacheDir dirs > compiledConfig) False args Nothing
+ -- executeFile (dir > compiledConfig) False args Nothing
-- )
--
- -- main = getDirectories >>= launch myConfig
+ -- main = launch myConfig
--------------------------------------------
- compileRestart resume =
- whenX (recompile True) $
- when resume writeStateToFile
- *> catchIO
- ( do
- dir <- getXMonadDataDir
- args <- getArgs
- executeFile (dir > compiledConfig) False args Nothing
- )
-
- main = launch myConfig
'';
};