Move gpg, git, tmux/screen to separate file
This commit is contained in:
parent
124df42fd8
commit
881b22c9b2
9 changed files with 155 additions and 137 deletions
74
hm/git/default.nix
Normal file
74
hm/git/default.nix
Normal file
|
@ -0,0 +1,74 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
{
|
||||
config = lib.mkIf config.programs.git.enable {
|
||||
home.packages = [
|
||||
(pkgs.writeShellApplication {
|
||||
name = "git-sync-init";
|
||||
text = (lib.strings.concatLines
|
||||
(map (r: ''[ -d "${r.path}" ] || ${pkgs.git}/bin/git clone "${r.uri}" "${r.path}"'')
|
||||
(lib.attrsets.attrValues config.services.git-sync.repositories)
|
||||
)
|
||||
);
|
||||
})
|
||||
(pkgs.writeShellApplication {
|
||||
name = "git-sync-pull";
|
||||
text = (lib.strings.concatLines
|
||||
(map (r: ''(cd "${r.path}"; echo "$PWD"; ${pkgs.git}/bin/git pull || true)'')
|
||||
(lib.attrsets.attrValues config.services.git-sync.repositories)
|
||||
)
|
||||
);
|
||||
})
|
||||
];
|
||||
programs.git = {
|
||||
package = pkgs.gitFull;
|
||||
aliases = {
|
||||
"git" = "!exec git"; # In case I write one too many git
|
||||
};
|
||||
ignores = [
|
||||
"*.swp"
|
||||
"*.swo"
|
||||
"*.ycm_extra_conf.py"
|
||||
"tags"
|
||||
".mypy_cache"
|
||||
];
|
||||
delta = {
|
||||
enable = true;
|
||||
options = {
|
||||
line-numbers = true;
|
||||
syntax-theme = "base16";
|
||||
};
|
||||
};
|
||||
lfs.enable = true;
|
||||
userEmail = lib.mkDefault "geoffrey@frogeye.fr";
|
||||
userName = lib.mkDefault "Geoffrey Frogeye";
|
||||
extraConfig = {
|
||||
core = {
|
||||
editor = "nvim";
|
||||
};
|
||||
push = {
|
||||
default = "matching";
|
||||
};
|
||||
pull = {
|
||||
ff = "only";
|
||||
};
|
||||
} // lib.optionalAttrs config.frogeye.desktop.xorg {
|
||||
diff.tool = "meld";
|
||||
difftool.prompt = false;
|
||||
"difftool \"meld\"".cmd = "${pkgs.meld}/bin/meld \"$LOCAL\" \"$REMOTE\"";
|
||||
# This escapes quotes, which isn't the case in the original, hoping this isn't an issue.
|
||||
};
|
||||
};
|
||||
services = {
|
||||
git-sync = {
|
||||
enable = false; # The real thing syncs too quickly and asks for passphrase, which is annoying
|
||||
# So for now it's just a way to park config which will be reused by git-sync-* commands
|
||||
repositories = {
|
||||
dotfiles = {
|
||||
path = "${config.xdg.configHome}/dotfiles";
|
||||
uri = lib.mkDefault "https://git.frogeye.fr/geoffrey/dotfiles.git";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue