session and seat management daemon
0

Configure Feed

Select the types of activity you want to include in your feed.

feat(config): add default-seat field in config

+13 -6
+8 -1
daemon/src/config.rs
··· 65 65 } 66 66 67 67 #[derive(serde::Deserialize)] 68 - #[serde(deny_unknown_fields)] 68 + #[serde(deny_unknown_fields, rename_all = "kebab-case")] 69 69 pub struct Config { 70 70 #[serde(default)] 71 71 pub management: ManagementConfig, ··· 73 73 pub users: BTreeMap<String, UserConfig>, 74 74 #[serde(default = "default_seats")] 75 75 pub seats: BTreeMap<String, SeatConfig>, 76 + #[serde(default = "default_seat")] 77 + pub default_seat: String, 76 78 } 77 79 78 80 impl Default for Config { ··· 81 83 management: ManagementConfig::default(), 82 84 users: BTreeMap::new(), 83 85 seats: default_seats(), 86 + default_seat: "seat0".to_string(), 84 87 } 85 88 } 86 89 } 87 90 88 91 fn default_seats() -> BTreeMap<String, SeatConfig> { 89 92 BTreeMap::from([("seat0".to_string(), SeatConfig::default())]) 93 + } 94 + 95 + fn default_seat() -> String { 96 + "seat0".to_string() 90 97 } 91 98 92 99 impl Config {
+4 -5
daemon/src/main.rs
··· 162 162 config.settings.seats.len() == 1, 163 163 "exactly one seat must be configured" 164 164 ); 165 - let (seat_name, seat_config) = config 165 + let seat_config = config 166 166 .settings 167 167 .seats 168 - .iter() 169 - .next() 170 - .ok_or_else(|| anyhow::anyhow!("exactly one seat must be configured"))?; 168 + .get(&config.settings.default_seat) 169 + .ok_or_else(|| anyhow::anyhow!("configured `default-seat` not found"))?; 171 170 172 171 let mut sessiond = Sessiond { 173 172 next_session_id: session::SessionId::from_raw(1), ··· 196 195 197 196 let seat_entity = ecs::insert_seat( 198 197 &mut sessiond.world, 199 - seat_name.clone(), 198 + config.settings.default_seat.clone(), 200 199 if vtbound { 201 200 ecs::SeatKind::VtBound 202 201 } else {
+1
nix/common.nix
··· 38 38 }; 39 39 40 40 config = lib.mkIf cfg.enable { 41 + services.sessiond.settings.default-seat = lib.mkDefault "seat0"; 41 42 services.sessiond.settings.seats.seat0 = { 42 43 user = lib.mkDefault "root"; 43 44 group = lib.mkDefault "seat";