1
0
Fork 0
mirror of https://git.sr.ht/~neverness/ultima synced 2025-01-09 09:03:51 +00:00
ultima/modules/home/programs/cli/git/default.nix
2024-11-21 18:24:15 +09:00

72 lines
1.5 KiB
Nix

{ pkgs, lib, config, flakeDir, True, False, ... }:
with lib;
let
cfg = config.module.programs.cli.git;
never = "git@git.sr.ht:~neverness";
interval = 300;
repo = {
ultima = "/persist/flake";
wallpapers = "/persist/wallpapers";
readme = "/persist/readme";
niXtended = "/persist/niXtended";
};
in {
options = {
module.programs.cli.git = {
enable = mkEnableOption "";
path = mkOption {
default = null;
type = types.str;
};
name = mkOption {
default = null;
type = types.str;
};
email = mkOption {
default = null;
type = types.str;
};
};
};
config = mkIf cfg.enable {
programs.git = True // {
package = pkgs.gitMinimal;
userName = cfg.name;
userEmail = cfg.email;
extraConfig = {
color.ui = true;
init.defaultBranch = "main";
safe.directory = flakeDir;
};
};
services.git-sync = False // {
repositories = {
"ultima" = {
inherit interval;
uri = "${never}/ultima";
path = repo.ultima;
};
"wallpapers" = {
inherit interval;
uri = "${never}/wallpapers";
path = repo.wallpapers;
};
"readme" = {
inherit interval;
uri = "${never}/readme";
path = repo.readme;
};
"niXtended" = {
inherit interval;
uri = "${never}/niXtended";
path = repo.niXtended;
};
};
};
};
}