Subscribing for the changes in the environment init body

What you can do is put the publisher in your environment and then use something like a didFinishLaunching action to subscribing to it:

struct HomeState { ... }
enum HomeAction {
  case didFinishLaunching
  case dataResponse(Result<SomeData, SomeError>)
  // other actions
}
struct HomeEnvironment {
  var data: Effect<SomeData, SomeError>
  // other dependencies
}

let homeReducer = Reducer<HomeState, HomeAction, HomeEnvironment> { state, action, environment in 
  switch action { 
  case .didFinishLaunching:
    return environment.data
      .catchToEffect()
      .map(HomeAction.dataResponse)

  case let .dataResponse(.success(data)):
    // do something with data

  case let .dataResponse(.failure(error)):
    // do something with error
  }
}

Hope it helps.