File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- { pkgs , ... } :
1+ { config , pkgs , lib , ... } :
22
3+ let
4+ devices = {
5+ smartphone = {
6+ magicDns = "galaxy-s10" ;
7+ sshPort = 8022 ;
8+ } ;
9+ tablet = {
10+ magicDns = "pedros-tab-s6-lite" ;
11+ sshPort = 8022 ;
12+ } ;
13+ } ;
14+
15+ tailscaleSocket = "${ config . home . homeDirectory } /.tailscaled.sock" ;
16+
17+ mkSshBlock = alias : dev : {
18+ hostname = dev . magicDns ;
19+ port = dev . sshPort ;
20+ proxyCommand = "${ pkgs . tailscale } /bin/tailscale --socket=${ tailscaleSocket } nc %h %p" ;
21+ } ;
22+
23+ deviceBlocks = lib . mapAttrs mkSshBlock devices ;
24+
25+ magicDnsNames = lib . concatStringsSep " "
26+ ( lib . mapAttrsToList ( _ : dev : dev . magicDns ) devices ) ;
27+ in
328{
4- home . packages = [
5- pkgs . openssh
6- ] ;
29+ home . packages = [ pkgs . openssh ] ;
730
831 programs . ssh = {
932 enable = true ;
1033 enableDefaultConfig = false ;
1134
12- matchBlocks = {
35+ matchBlocks = deviceBlocks // {
1336 "*.ts.net 100.*" = {
1437 user = "brantes" ;
1538 identityFile = "~/.ssh/id_ed25519" ;
1639 } ;
1740
18- "galaxy-s10 pedros-tab-s6-lite smartphone tablet " = {
41+ "${ magicDnsNames } " = {
1942 port = 8022 ;
2043 } ;
2144
You can’t perform that action at this time.
0 commit comments