From cc20c415eebe51a31fe79282d2c8f1854abbf4ae Mon Sep 17 00:00:00 2001 From: seth Date: Tue, 25 Jul 2023 03:22:42 -0400 Subject: users/seth: separate gpg/ssh config from git --- users/seth/programs/default.nix | 2 ++ users/seth/programs/git.nix | 48 +++++++++-------------------------------- users/seth/programs/gpg.nix | 22 +++++++++++++++++++ users/seth/programs/ssh.nix | 46 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 80 insertions(+), 38 deletions(-) create mode 100644 users/seth/programs/gpg.nix create mode 100644 users/seth/programs/ssh.nix (limited to 'users') diff --git a/users/seth/programs/default.nix b/users/seth/programs/default.nix index 4fc87a5..7dec9d3 100644 --- a/users/seth/programs/default.nix +++ b/users/seth/programs/default.nix @@ -1,7 +1,9 @@ {pkgs, ...}: { imports = [ ./git.nix + ./gpg.nix ./neovim + ./ssh.nix ./vim.nix ]; diff --git a/users/seth/programs/git.nix b/users/seth/programs/git.nix index 59b5f4f..f496f90 100644 --- a/users/seth/programs/git.nix +++ b/users/seth/programs/git.nix @@ -1,45 +1,17 @@ -{ - config, - lib, - pkgs, - osConfig, - ... -}: { - programs = { - gpg.enable = true; - - git = { - enable = true; - - extraConfig = { - init = {defaultBranch = "main";}; - }; - - signing = { - key = "D31BD0D494BBEE86"; - signByDefault = true; - }; +_: { + programs.git = { + enable = true; - userEmail = "getchoo@tuta.io"; - userName = "seth"; + extraConfig = { + init = {defaultBranch = "main";}; }; - ssh = { - enable = true; - package = pkgs.openssh; + signing = { + key = "D31BD0D494BBEE86"; + signByDefault = true; }; - }; - - services.gpg-agent = lib.mkIf pkgs.stdenv.isLinux { - enable = true; - - enableBashIntegration = config.programs.bash.enable; - enableFishIntegration = config.programs.fish.enable; - enableZshIntegration = config.programs.zsh.enable; - pinentryFlavor = - if osConfig ? programs - then osConfig.programs.gnupg.agent.pinentryFlavor or "curses" - else "curses"; + userEmail = "getchoo@tuta.io"; + userName = "seth"; }; } diff --git a/users/seth/programs/gpg.nix b/users/seth/programs/gpg.nix new file mode 100644 index 0000000..3fba0d3 --- /dev/null +++ b/users/seth/programs/gpg.nix @@ -0,0 +1,22 @@ +{ + config, + lib, + pkgs, + osConfig, + ... +}: { + programs.gpg.enable = true; + + services.gpg-agent = lib.mkIf pkgs.stdenv.isLinux { + enable = true; + + enableBashIntegration = config.programs.bash.enable; + enableFishIntegration = config.programs.fish.enable; + enableZshIntegration = config.programs.zsh.enable; + + pinentryFlavor = + if osConfig ? programs + then osConfig.programs.gnupg.agent.pinentryFlavor or "curses" + else "curses"; + }; +} diff --git a/users/seth/programs/ssh.nix b/users/seth/programs/ssh.nix new file mode 100644 index 0000000..055f51c --- /dev/null +++ b/users/seth/programs/ssh.nix @@ -0,0 +1,46 @@ +{ + config, + pkgs, + ... +}: { + programs.ssh = { + enable = true; + package = pkgs.openssh; + + matchBlocks = let + sshDir = "${config.home.homeDirectory}/.ssh"; + in { + # git forges + "github.com" = { + identityFile = "${sshDir}/github"; + user = "git"; + }; + + "codeberg.org" = { + identityFile = "${sshDir}/codeberg"; + user = "git"; + }; + + # linux packaging + "aur.archlinux.org" = { + identityFile = "${sshDir}/aur"; + user = "aur"; + }; + + "pagure.io" = { + identityFile = "${sshDir}/copr"; + user = "git"; + }; + + # router + "192.168.1.1" = { + identityFile = "${sshDir}/openwrt"; + user = "root"; + }; + + # servers + "atlas".user = "atlas"; + "p-body".user = "p-body"; + }; + }; +} -- cgit v1.2.3