Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions data/greetd-config.toml.in
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
[general]
service = "@GENERAL_SERVICE@"

[terminal]
vt = @VT@

Expand Down
9 changes: 9 additions & 0 deletions debian/phrog.pam
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#%PAM-1.0
@include common-auth
@include common-account

auth optional pam_gnome_keyring.so

@include common-session

session optional pam_gnome_keyring.so auto_start
2 changes: 1 addition & 1 deletion debian/rules
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export INSTALL_DIR=$(CURDIR)/debian/phrog
# during build and delete it afterwards
override_dh_auto_build:
HOME=$(CURDIR)/debian/tmp_home cargo build
HOME=$(CURDIR)/debian/tmp_home cargo xtask dist-data phrog.toml --greetd-vt 7 --greetd-user _greetd
HOME=$(CURDIR)/debian/tmp_home cargo xtask dist-data phrog.toml --greetd-vt 7 --greetd-user _greetd --greetd-general-service phrog

override_dh_auto_install:
install -D -m0755 target/$(DEB_HOST_RUST_TYPE)/debug/phrog \
Expand Down
20 changes: 16 additions & 4 deletions xtask/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ enum Commands {
/// User greetd should use for phrog.
#[arg(long)]
greetd_user: String,
#[arg(long, default_value = "greetd")]
greetd_general_service: String,
},
/// Extract release notes from NEWS.
ReleaseNotes {
Expand All @@ -69,7 +71,8 @@ fn run() -> Result<()> {
file_name,
greetd_vt,
greetd_user,
} => dist_data(&file_name, greetd_vt, &greetd_user),
greetd_general_service,
} => dist_data(&file_name, greetd_vt, &greetd_user, &greetd_general_service),
Commands::ReleaseNotes { version, rc } => release_notes(&version, rc),
}
}
Expand Down Expand Up @@ -127,15 +130,23 @@ fn bump(version: &str) -> Result<()> {
Ok(())
}

fn dist_data(file_name: &str, greetd_vt: u8, greetd_user: &str) -> Result<()> {
fn dist_data(
file_name: &str,
greetd_vt: u8,
greetd_user: &str,
greetd_general_service: &str,
) -> Result<()> {
let root = project_root()?;
let out_path = dist_data_path(&root, file_name)?;
let out_dir = out_path
.parent()
.ok_or_else(|| format!("output path '{}' has no parent", out_path.display()))?;

fs::create_dir_all(&out_dir)?;
fs::write(&out_path, render_greetd_config(greetd_vt, greetd_user))?;
fs::write(
&out_path,
render_greetd_config(greetd_vt, greetd_user, greetd_general_service),
)?;

println!("Generated {}", out_path.display());

Expand Down Expand Up @@ -193,10 +204,11 @@ fn parse_version(version: &str) -> Result<ReleaseVersion> {
})
}

fn render_greetd_config(greetd_vt: u8, greetd_user: &str) -> String {
fn render_greetd_config(greetd_vt: u8, greetd_user: &str, greetd_general_service: &str) -> String {
GREETD_CONFIG_TEMPLATE
.replace("@VT@", &greetd_vt.to_string())
.replace("@USER@", greetd_user)
.replace("@GENERAL_SERVICE@", greetd_general_service)
}

fn dist_data_path(root: &Path, file_name: &str) -> Result<PathBuf> {
Expand Down
Loading