30 lines
849 B
Nix
Raw Normal View History

2024-09-30 10:40:53 -07:00
{ config, lib, pkgs, user, ... }:
2024-09-30 10:40:53 -07:00
let cfg = config.modules.programs.git;
in {
options.modules.programs.git = with lib; {
enable = lib.mkOption {
type = with types; bool;
default = true;
};
2024-10-02 12:59:39 -07:00
keys = lib.mkOption {
type = with types; bool;
default = true;
};
2024-09-30 10:40:53 -07:00
};
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
2024-12-05 12:41:02 -08:00
git # Version control system for tracking changes in source code during software development
git-annex # Manages files with git, without checking the file contents into git
lazygit # Terminal-based GUI for git, making it easier to use and visualize git repositories
2024-09-30 10:40:53 -07:00
];
2024-10-02 12:59:39 -07:00
age.secrets."git/github_personal" = lib.mkIf cfg.keys {
2024-09-30 10:40:53 -07:00
file = ../../secrets/git/github_personal.age;
owner = "${user}";
group = "users";
};
};
}