Rename grapho to pal, add onboard command, fix interactive input
- Rename grapho → pal across entire codebase (CLI, NixOS module, flake, docs, config paths) - Add `pal onboard` interactive setup wizard with 4 steps: device, config repo, sync, backups - Shows current setup summary when re-running onboard on an existing installation with warnings about what will change - Fix askConfirm/askInput to read from /dev/tty so interactive prompts work correctly - Remove || operator usage in askConfirm (not reliable in Lux) - Add pal package to nix develop shell - Document ~/.config/pal/ directory structure in README Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
30
flake.nix
30
flake.nix
@@ -42,7 +42,7 @@
|
||||
|
||||
# Shared modules for all hosts
|
||||
sharedModules = [
|
||||
./modules/grapho.nix
|
||||
./modules/pal.nix
|
||||
./modules/nb.nix
|
||||
./modules/syncthing.nix
|
||||
./modules/backup.nix
|
||||
@@ -66,36 +66,36 @@
|
||||
};
|
||||
|
||||
in {
|
||||
# Grapho CLI package
|
||||
# Pal CLI package
|
||||
packages = forAllSystems (system:
|
||||
let
|
||||
pkgs = nixpkgsFor.${system};
|
||||
luxPkg = lux.packages.${system}.default;
|
||||
in {
|
||||
grapho = pkgs.stdenv.mkDerivation {
|
||||
pname = "grapho";
|
||||
pal = pkgs.stdenv.mkDerivation {
|
||||
pname = "pal";
|
||||
version = "0.1.0";
|
||||
src = ./cli;
|
||||
|
||||
nativeBuildInputs = [ luxPkg pkgs.gcc ];
|
||||
|
||||
buildPhase = ''
|
||||
${luxPkg}/bin/lux compile grapho.lux -o grapho
|
||||
${luxPkg}/bin/lux compile pal.lux -o pal
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp grapho $out/bin/
|
||||
cp pal $out/bin/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Personal data infrastructure CLI";
|
||||
homepage = "https://github.com/user/grapho";
|
||||
homepage = "https://github.com/user/pal";
|
||||
license = pkgs.lib.licenses.mit;
|
||||
};
|
||||
};
|
||||
|
||||
default = self.packages.${system}.grapho;
|
||||
default = self.packages.${system}.pal;
|
||||
}
|
||||
);
|
||||
|
||||
@@ -144,7 +144,7 @@
|
||||
else
|
||||
echo "Error: Cannot find setup script"
|
||||
echo "Run from the repo directory, or clone it first:"
|
||||
echo " git clone ssh://git@your-server:2222/you/grapho.git"
|
||||
echo " git clone ssh://git@your-server:2222/you/pal.git"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
@@ -173,6 +173,7 @@
|
||||
|
||||
packages = [
|
||||
lux.packages.${system}.default
|
||||
self.packages.${system}.pal
|
||||
] ++ (with pkgs; [
|
||||
# Tier 2: Notes & Sync
|
||||
nb # Notebook CLI
|
||||
@@ -203,12 +204,11 @@
|
||||
]);
|
||||
|
||||
shellHook = ''
|
||||
printf '\033[1m%s\033[0m\n' "Ultimate Notetaking, Sync & Backup System"
|
||||
printf '\033[1m%s\033[0m\n' "pal - Your personal data, everywhere"
|
||||
echo ""
|
||||
echo "Get started: ./setup"
|
||||
echo "Pair mobile: ./setup mobile"
|
||||
echo "Sync: ./scripts/usync"
|
||||
echo "Status: ./scripts/ustatus"
|
||||
echo "Get started: pal onboard"
|
||||
echo "Status: pal status"
|
||||
echo "Help: pal help"
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -216,7 +216,7 @@
|
||||
|
||||
# Export modules for use in other flakes
|
||||
nixosModules = {
|
||||
grapho = import ./modules/grapho.nix;
|
||||
pal = import ./modules/pal.nix;
|
||||
nb = import ./modules/nb.nix;
|
||||
syncthing = import ./modules/syncthing.nix;
|
||||
backup = import ./modules/backup.nix;
|
||||
|
||||
Reference in New Issue
Block a user