mirror of
https://github.com/Xevion/dotfiles.git
synced 2025-12-09 08:07:12 -06:00
- Replace interactive prompt with encrypted domain.txt.age file - Move encryption config to top level in .chezmoi.toml.tmpl - Add platform-specific shell configuration for chezmoi cd command - Remove unused Perl PATH configuration from commonrc - Add commit-staged slash command for git workflow - Enable nushell banner and improve init_pre.ts logging - Clean up deprecated installation scripts (ovpn, gitconfig) - Update hishtory server configuration to use encrypted domain
32 lines
781 B
TypeScript
Executable File
32 lines
781 B
TypeScript
Executable File
#!/usr/bin/env bun
|
|
|
|
import { exists } from "node:fs/promises";
|
|
import { join } from "node:path";
|
|
import { homedir } from "node:os";
|
|
import { $ } from "bun";
|
|
|
|
// Type-safe wrapper around console.log that prepends [init_pre]
|
|
const log = (...args: any[]): void => {
|
|
console.log("[init_pre]", ...args);
|
|
};
|
|
|
|
const filePath = join(homedir(), "key.txt");
|
|
|
|
if (await exists(filePath)) {
|
|
log("key.txt already exists");
|
|
process.exit(0);
|
|
}
|
|
|
|
// Acquire the secret from Doppler
|
|
const result = await $`doppler secrets get KEY_TXT --plain`.quiet();
|
|
|
|
// Check if the command was successful
|
|
if (result.exitCode !== 0) {
|
|
console.error("Failed to get secret KEY_TXT");
|
|
process.exit(1);
|
|
}
|
|
|
|
// Write the secret to a file
|
|
await Bun.write(filePath, result.stdout);
|
|
log("key.txt bootstrapped");
|