Data constructor not in scope: WatchModeOS :: WatchMode
The offending line requires WatchModeOS which does not exist on BSD. This is from fsnotify (System.FSNotify). Instead fsnotify defaultconfig should be used unaltered which already use WatchModeOS for supported platforms and falls back to WatchModePoll for BSD.
Diagrams.Backend.CmdLine does not compile on BSD because line 595
withManagerConf defaultConfig { confWatchMode = WatchModeOS }
Fails with
Data constructor not in scope: WatchModeOS :: WatchMode
The offending line requires WatchModeOS which does not exist on BSD. This is from fsnotify (System.FSNotify). Instead fsnotify defaultconfig should be used unaltered which already use WatchModeOS for supported platforms and falls back to WatchModePoll for BSD.