# error.ServerConfigurationErrorKind

- **Module:** error
- **Package:** libtmux
- **Language:** Rust
- **Kind:** enum
- **Source:** https://github.com/libtmux/libtmux-rs/blob/f0e37052c232636b61d095817046e6bfc8f2ca40/crates/libtmux/src/error.rs#L47
- **Page:** https://libtmux.org/en/rs/latest/reference/error-serverconfigurationerrorkind/

The category of an invalid [`crate::ServerBuilder`] configuration.

Rejected path and environment bytes are never retained by this value.

## Example

```rust
use libtmux::{Error, ServerConfigurationErrorKind};

// A socket name and a socket path are two ways to say the same thing, and
// tmux has no rule for which wins, so the builder refuses rather than picks.
let failure = libtmux::Server::builder()
    .socket_name("named")
    .socket_path("/tmp/libtmux-rs-dev/explicit")
    .build()
    .expect_err("two socket selectors");

assert!(matches!(
    failure,
    Error::InvalidServerConfiguration {
        kind: ServerConfigurationErrorKind::ConflictingSocketSelectors,
        ..
    },
));

// The rejected bytes are not carried in the error, so logging it cannot
// disclose a path.
assert!(!failure.to_string().contains("/tmp/"));
```

## Members

- `ConflictingSocketSelectors` (constant): A socket name and an explicit socket path were both configured.
- `InvalidSocketName` (constant): A socket name was not one non-empty path component.
- `InvalidSocketPath` (constant): An explicit socket path was empty or contained a NUL byte.
- `InvalidConfigPath` (constant): A config path was empty or contained a NUL byte.
- `InvalidColorMode` (constant): The requested color mode was neither 88 nor 256 colors.
- `WorkingDirectoryUnavailable` (constant): The process working directory could not be captured.
- `SocketRootUnavailable` (constant): A stable socket root could not be captured.
- `NotInsideTmux` (constant): There is no `TMUX` variable, so this process is not inside tmux.
- `MalformedTmuxVariable` (constant): The `TMUX` variable is present but is not tmux's triple.
