80 lines
1.8 KiB
Nix
80 lines
1.8 KiB
Nix
{
|
|
user,
|
|
pkgs,
|
|
stateVersion,
|
|
lib,
|
|
config,
|
|
...
|
|
}: {
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
nix = {
|
|
package = lib.mkDefault pkgs.nix;
|
|
settings.experimental-features = ["nix-command" "flakes"];
|
|
};
|
|
|
|
programs = {
|
|
home-manager.enable = true;
|
|
git = {
|
|
enable = true;
|
|
settings = {
|
|
commit.gpgsign = true;
|
|
gpg.format = "ssh";
|
|
|
|
url = {
|
|
"ssh://git@gitlab.uni-ulm.de".insteadOf = "https://gitlab.uni-ulm.de";
|
|
"ssh://git@github.com".insteadOf = "https://github.com";
|
|
"ssh://git@gitea.demenik.dev".insteadOf = "https://gitea.demenik.dev";
|
|
};
|
|
|
|
user = {
|
|
email = "dominik.bernroider@icloud.com";
|
|
name = "demenik";
|
|
signingkey = "${config.home.homeDirectory}/.ssh/id_rsa";
|
|
};
|
|
|
|
init.defaultBranch = "main";
|
|
};
|
|
|
|
includes = let
|
|
mkRemoteSsh = {
|
|
user ? "git",
|
|
url,
|
|
config,
|
|
}: {
|
|
condition = "hasconfig:remote.*.url:${user}@${url}:*/**";
|
|
path = "${pkgs.writeText "gitconfig-${url}" (pkgs.lib.generators.toGitINI config)}";
|
|
};
|
|
in [
|
|
(mkRemoteSsh {
|
|
url = "gitlab.uni-ulm.de";
|
|
config.user = {
|
|
email = "dominik.bernroider@uni-ulm.de";
|
|
name = "Dominik Bernroider";
|
|
};
|
|
})
|
|
(mkRemoteSsh {
|
|
url = "gitea.demenik.dev";
|
|
config.user = {
|
|
email = "mail@demenik.dev";
|
|
name = "demenik";
|
|
};
|
|
})
|
|
];
|
|
};
|
|
gpg.enable = true;
|
|
};
|
|
|
|
services.gpg-agent = {
|
|
enable = true;
|
|
pinentry.package = pkgs.pinentry-curses;
|
|
};
|
|
|
|
home = {
|
|
inherit stateVersion;
|
|
username = lib.mkDefault user;
|
|
homeDirectory = lib.mkDefault "/home/${user}";
|
|
sessionPath = ["$HOME/.local/bin"];
|
|
};
|
|
}
|