40 lines
788 B
Nix
40 lines
788 B
Nix
{
|
|
pkgs,
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
let
|
|
cfg = config.programs.fb-client;
|
|
in
|
|
{
|
|
options.programs.fb-client =
|
|
let
|
|
inherit (lib) mkEnableOption mkOption types;
|
|
in
|
|
{
|
|
enable = mkEnableOption { };
|
|
pastebin = mkOption {
|
|
type = types.str;
|
|
default = "https://paste.xinu.at";
|
|
};
|
|
clipboard_cmd = mkOption {
|
|
type = types.pathInStore;
|
|
default = "${pkgs.wl-clipboard}/bin/wl-copy";
|
|
};
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
home.packages = [ pkgs.fb-client ];
|
|
xdg = {
|
|
configFile = {
|
|
"fb-client/config".text = ''
|
|
pastebin="${cfg.pastebin}"
|
|
apikey_file="${config.xdg.dataHome}/fb-client/apikey"
|
|
clipboard_cmd="${cfg.clipboard_cmd}"
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
}
|