2024-01-10 04:11:11 +00:00
|
|
|
# Keybase is an encrypted communications tool with a synchronized encrypted
|
|
|
|
# filestore that can be mounted onto a machine's filesystem.
|
|
|
|
|
2022-05-06 03:01:56 +00:00
|
|
|
{ config, pkgs, lib, ... }: {
|
2022-04-27 01:36:16 +00:00
|
|
|
|
2022-12-21 21:18:03 +00:00
|
|
|
options.keybase.enable = lib.mkEnableOption "Keybase.";
|
2022-04-27 13:23:26 +00:00
|
|
|
|
2022-12-21 21:18:03 +00:00
|
|
|
config = lib.mkIf config.keybase.enable {
|
|
|
|
|
2024-01-06 04:31:53 +00:00
|
|
|
home-manager.users.${config.user} = lib.mkIf config.keybase.enable {
|
|
|
|
|
|
|
|
services.keybase.enable = true;
|
|
|
|
services.kbfs = {
|
|
|
|
enable = true;
|
|
|
|
mountPoint = "keybase";
|
|
|
|
};
|
|
|
|
|
|
|
|
# https://github.com/nix-community/home-manager/issues/4722
|
|
|
|
systemd.user.services.kbfs.Service.PrivateTmp = lib.mkForce false;
|
2022-12-21 21:18:03 +00:00
|
|
|
|
|
|
|
home.packages = [ (lib.mkIf config.gui.enable pkgs.keybase-gui) ];
|
|
|
|
home.file = let
|
|
|
|
ignorePatterns = ''
|
|
|
|
keybase/
|
|
|
|
kbfs/'';
|
|
|
|
in {
|
|
|
|
".rgignore".text = ignorePatterns;
|
|
|
|
".fdignore".text = ignorePatterns;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2022-04-29 01:40:21 +00:00
|
|
|
};
|
2022-04-27 13:23:26 +00:00
|
|
|
|
2022-04-27 01:36:16 +00:00
|
|
|
}
|