diff options
Diffstat (limited to 'users/seth')
| -rw-r--r-- | users/seth/programs/default.nix | 2 | ||||
| -rw-r--r-- | users/seth/programs/git.nix | 48 | ||||
| -rw-r--r-- | users/seth/programs/gpg.nix | 22 | ||||
| -rw-r--r-- | users/seth/programs/ssh.nix | 46 |
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"; + }; + }; +} |
