diff --git a/hosts/common/programs/assorted.nix b/hosts/common/programs/assorted.nix index 1408b473..2d9bef01 100644 --- a/hosts/common/programs/assorted.nix +++ b/hosts/common/programs/assorted.nix @@ -47,6 +47,7 @@ in "sane-scripts.vpn" "sane-scripts.which" "sane-scripts.wipe-browser" + "sane-scripts.wipe-fractal" ]; "sane-scripts.sys-utils" = declPackageSet [ "sane-scripts.ip-port-forward" diff --git a/pkgs/additional/sane-scripts/default.nix b/pkgs/additional/sane-scripts/default.nix index 0e982c9f..e0d87d70 100644 --- a/pkgs/additional/sane-scripts/default.nix +++ b/pkgs/additional/sane-scripts/default.nix @@ -211,6 +211,11 @@ let pname = "sane-wipe-browser"; src = ./src; }; + wipe-fractal = static-nix-shell.mkBash { + pname = "sane-wipe-fractal"; + src = ./src; + pkgs = [ "libsecret" "systemd" ]; + }; }; in sane-bin // { lib = sane-lib; diff --git a/pkgs/additional/sane-scripts/src/sane-wipe-fractal b/pkgs/additional/sane-scripts/src/sane-wipe-fractal new file mode 100755 index 00000000..66b70f61 --- /dev/null +++ b/pkgs/additional/sane-scripts/src/sane-wipe-fractal @@ -0,0 +1,15 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p libsecret -p systemd +# deletes Fractal accounts, which are prone to breakages + +systemctl --user stop fractal + +# first, ensure the relevant secrets are unlocked +secret-tool search --all --unlock 'xdg:schema' 'org.gnome.Fractal' +secret-tool search --all --unlock 'xdg:schema' 'org.gnome.Fractal.Hack' + +# then, delete them +secret-tool clear 'xdg:schema' 'org.gnome.Fractal' +secret-tool clear 'xdg:schema' 'org.gnome.Fractal.Hack' + +# N.B.: it may be necessary still to delete ~/.local/share/fractal/* (unsure)