summaryrefslogtreecommitdiff
path: root/users
diff options
context:
space:
mode:
authorseth <[email protected]>2023-07-25 03:22:42 -0400
committerseth <[email protected]>2023-07-25 03:24:20 -0400
commitcc20c415eebe51a31fe79282d2c8f1854abbf4ae (patch)
treefcd521e0f56e50b72dfd7d3bdc88b004cb6ba180 /users
parent3a2aeadbebc35906ab68d188a7536022e22db187 (diff)
users/seth: separate gpg/ssh config from git
Diffstat (limited to 'users')
-rw-r--r--users/seth/programs/default.nix2
-rw-r--r--users/seth/programs/git.nix48
-rw-r--r--users/seth/programs/gpg.nix22
-rw-r--r--users/seth/programs/ssh.nix46
4 files changed, 80 insertions, 38 deletions
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 = "[email protected]";
- 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 = "[email protected]";
+ 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";
+ };
+ };
+}