move keyring activation out of home-manager

This commit is contained in:
2023-01-07 01:41:56 +00:00
parent 81effb01a3
commit 5443542cba
4 changed files with 25 additions and 26 deletions

View File

@@ -20,6 +20,7 @@ in
./gfeeds.nix ./gfeeds.nix
./git.nix ./git.nix
./gpodder.nix ./gpodder.nix
./keyring.nix
./kitty.nix ./kitty.nix
./mpv.nix ./mpv.nix
./neovim.nix ./neovim.nix
@@ -69,14 +70,6 @@ in
home.username = "colin"; home.username = "colin";
home.homeDirectory = "/home/colin"; home.homeDirectory = "/home/colin";
home.activation = {
initKeyring = {
after = ["writeBoundary"];
before = [];
data = "${../../scripts/init-keyring}";
};
};
# XDG defines things like ~/Desktop, ~/Downloads, etc. # XDG defines things like ~/Desktop, ~/Downloads, etc.
# these clutter the home, so i mostly don't use them. # these clutter the home, so i mostly don't use them.
xdg.userDirs = { xdg.userDirs = {

View File

@@ -0,0 +1,8 @@
{ config, lib, sane-lib, ... }:
lib.mkIf config.sane.home-manager.enable
{
sane.fs."/home/colin/.local/share/keyrings/default" = sane-lib.fs.wanted {
generated.script.script = builtins.readFile ../../scripts/init-keyring;
};
}

View File

@@ -1,10 +1,8 @@
{ ... }: { lib, ... }:
rec { rec {
wantedSymlink = symlink: { wanted = lib.mergeAttrs { wantedBeforeBy = [ "multi-user.target" ]; };
inherit symlink; wantedSymlink = symlink: wanted { inherit symlink; };
wantedBeforeBy = [ "multi-user.target" ];
};
wantedSymlinkTo = target: wantedSymlink { inherit target; }; wantedSymlinkTo = target: wantedSymlink { inherit target; };
wantedText = text: wantedSymlink { inherit text; }; wantedText = text: wantedSymlink { inherit text; };
} }

View File

@@ -2,13 +2,12 @@
# initializes the default libsecret keyring (used by gnome-keyring) if not already initialized. # initializes the default libsecret keyring (used by gnome-keyring) if not already initialized.
# this initializes it to be plaintext/unencrypted. # this initializes it to be plaintext/unencrypted.
if [ -f ~/.local/share/keyrings/default ] ringdir=/home/colin/.local/share/keyrings
if test -f "$ringdir/default"
then then
echo 'keyring already initialized: not doing anything' echo 'keyring already initialized: not doing anything'
exit 0 else
fi keyring="$ringdir/Default_keyring.keyring"
keyring=~/.local/share/keyrings/Default_keyring.keyring
echo 'initializing default user keyring:' "$keyring.new" echo 'initializing default user keyring:' "$keyring.new"
echo '[keyring]' > "$keyring.new" echo '[keyring]' > "$keyring.new"
@@ -16,4 +15,5 @@ echo 'display-name=Default keyring' >> "$keyring.new"
echo 'lock-on-idle=false' >> "$keyring.new" echo 'lock-on-idle=false' >> "$keyring.new"
echo 'lock-after=false' >> "$keyring.new" echo 'lock-after=false' >> "$keyring.new"
# closest to an atomic update we can achieve # closest to an atomic update we can achieve
mv "$keyring.new" "$keyring" && echo -n "Default_keyring" > ~/.local/share/keyrings/default mv "$keyring.new" "$keyring" && echo -n "Default_keyring" > "$ringdir/default"
fi