diff --git a/flake.nix b/flake.nix index 4a3a7a79..d13dd45d 100644 --- a/flake.nix +++ b/flake.nix @@ -141,7 +141,6 @@ default = import ./homeManagerModules self; aly = import ./homes/aly self; dustin = import ./homes/dustin self; - morgan = import ./homes/morgan self; }; nixosModules = { diff --git a/homeManagerModules/services/easyeffects/default.nix b/homeManagerModules/services/easyeffects/default.nix index ec6702b9..f989e2c4 100644 --- a/homeManagerModules/services/easyeffects/default.nix +++ b/homeManagerModules/services/easyeffects/default.nix @@ -6,6 +6,7 @@ config = lib.mkIf config.ar.home.services.easyeffects.enable { xdg.configFile = { "easyeffects/output/framework13.json".source = ./framework13.json; + "easyeffects/output/fw13-autogain.json".source = ./fw13-autogain.json; "easyeffects/output/fw13-easy-effects.json".source = ./framework13.json; "easyeffects/output/LoudnessEqualizer.json".source = ./LoudnessEqualizer.json; }; diff --git a/homeManagerModules/services/easyeffects/fw13-autogain.json b/homeManagerModules/services/easyeffects/fw13-autogain.json new file mode 100644 index 00000000..28b29a7f --- /dev/null +++ b/homeManagerModules/services/easyeffects/fw13-autogain.json @@ -0,0 +1,570 @@ +{ + "output": { + "autogain#0": { + "bypass": false, + "input-gain": 0.0, + "maximum-history": 15, + "output-gain": 0.0, + "reference": "Geometric Mean (MSI)", + "silence-threshold": -70.0, + "target": -23.0 + }, + "blocklist": [], + "compressor#0": { + "attack": 130.0, + "boost-amount": 6.0, + "boost-threshold": -60.0, + "bypass": false, + "dry": -100.0, + "hpf-frequency": 10.0, + "hpf-mode": "off", + "input-gain": 0.0, + "knee": -24.0, + "lpf-frequency": 20000.0, + "lpf-mode": "off", + "makeup": 0.0, + "mode": "Upward", + "output-gain": 0.0, + "ratio": 5.0, + "release": 600.0, + "release-threshold": -100.0, + "sidechain": { + "lookahead": 0.0, + "mode": "RMS", + "preamp": 0.0, + "reactivity": 10.0, + "source": "Middle", + "stereo-split-source": "Left/Right", + "type": "Feed-forward" + }, + "stereo-split": false, + "threshold": -10.0, + "wet": 0.0 + }, + "equalizer#0": { + "balance": 0.0, + "bypass": false, + "input-gain": 0.0, + "left": { + "band0": { + "frequency": 32.0, + "gain": 3.5, + "mode": "RLC (BT)", + "mute": false, + "q": 1.6, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band1": { + "frequency": 64.0, + "gain": 2.0, + "mode": "RLC (BT)", + "mute": false, + "q": 1.6, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band2": { + "frequency": 128.0, + "gain": 1.0, + "mode": "RLC (BT)", + "mute": false, + "q": 1.6, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band3": { + "frequency": 256.0, + "gain": 0.0, + "mode": "RLC (BT)", + "mute": false, + "q": 1.6, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band4": { + "frequency": 512.0, + "gain": -0.5, + "mode": "RLC (BT)", + "mute": false, + "q": 1.6, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band5": { + "frequency": 1024.0, + "gain": -1.5, + "mode": "RLC (BT)", + "mute": false, + "q": 1.6, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band6": { + "frequency": 2048.0, + "gain": -0.25, + "mode": "RLC (BT)", + "mute": false, + "q": 1.6, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band7": { + "frequency": 4096.0, + "gain": 1.25, + "mode": "RLC (BT)", + "mute": false, + "q": 1.6, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band8": { + "frequency": 8192.0, + "gain": 2.75, + "mode": "RLC (BT)", + "mute": false, + "q": 1.6, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band9": { + "frequency": 16384.0, + "gain": 3.0, + "mode": "RLC (BT)", + "mute": false, + "q": 1.6, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + } + }, + "mode": "IIR", + "num-bands": 10, + "output-gain": 0.0, + "pitch-left": 0.0, + "pitch-right": 0.0, + "right": { + "band0": { + "frequency": 32.0, + "gain": 3.5, + "mode": "RLC (BT)", + "mute": false, + "q": 1.6, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band1": { + "frequency": 64.0, + "gain": 2.0, + "mode": "RLC (BT)", + "mute": false, + "q": 1.6, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band2": { + "frequency": 128.0, + "gain": 1.0, + "mode": "RLC (BT)", + "mute": false, + "q": 1.6, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band3": { + "frequency": 256.0, + "gain": 0.0, + "mode": "RLC (BT)", + "mute": false, + "q": 1.6, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band4": { + "frequency": 512.0, + "gain": -0.5, + "mode": "RLC (BT)", + "mute": false, + "q": 1.6, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band5": { + "frequency": 1024.0, + "gain": -1.5, + "mode": "RLC (BT)", + "mute": false, + "q": 1.6, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band6": { + "frequency": 2048.0, + "gain": -0.25, + "mode": "RLC (BT)", + "mute": false, + "q": 1.6, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band7": { + "frequency": 4096.0, + "gain": 1.25, + "mode": "RLC (BT)", + "mute": false, + "q": 1.6, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band8": { + "frequency": 8192.0, + "gain": 2.75, + "mode": "RLC (BT)", + "mute": false, + "q": 1.6, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band9": { + "frequency": 16384.0, + "gain": 3.0, + "mode": "RLC (BT)", + "mute": false, + "q": 1.6, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + } + }, + "split-channels": false + }, + "gate#0": { + "attack": 2000.0, + "bypass": false, + "curve-threshold": -40.0, + "curve-zone": -40.0, + "dry": -100.0, + "hpf-frequency": 10.0, + "hpf-mode": "off", + "hysteresis": false, + "hysteresis-threshold": -12.0, + "hysteresis-zone": -6.0, + "input-gain": 0.0, + "lpf-frequency": 20000.0, + "lpf-mode": "off", + "makeup": 0.0, + "output-gain": 0.0, + "reduction": -30.0, + "release": 2000.0, + "sidechain": { + "input": "Internal", + "lookahead": 0.0, + "mode": "Peak", + "preamp": 0.0, + "reactivity": 10.0, + "source": "Middle", + "stereo-split-source": "Left/Right" + }, + "stereo-split": false, + "wet": 0.0 + }, + "limiter#0": { + "alr": false, + "alr-attack": 5.0, + "alr-knee": 0.0, + "alr-release": 50.0, + "attack": 5.0, + "bypass": false, + "dithering": "None", + "external-sidechain": false, + "gain-boost": false, + "input-gain": 0.0, + "lookahead": 5.0, + "mode": "Herm Thin", + "output-gain": 0.0, + "oversampling": "Half x4(3L)", + "release": 10.0, + "sidechain-preamp": 0.0, + "stereo-link": 100.0, + "threshold": -1.0 + }, + "multiband_compressor#0": { + "band0": { + "attack-threshold": -30.0, + "attack-time": 50.0, + "boost-amount": 6.0, + "boost-threshold": -72.0, + "compression-mode": "Downward", + "compressor-enable": true, + "external-sidechain": false, + "knee": -24.0, + "makeup": 0.0, + "mute": false, + "ratio": 1.7, + "release-threshold": -100.0, + "release-time": 600.0, + "sidechain-custom-highcut-filter": false, + "sidechain-custom-lowcut-filter": false, + "sidechain-highcut-frequency": 250.0, + "sidechain-lookahead": 0.0, + "sidechain-lowcut-frequency": 10.0, + "sidechain-mode": "RMS", + "sidechain-preamp": 0.0, + "sidechain-reactivity": 10.0, + "sidechain-source": "Middle", + "solo": false, + "stereo-split-source": "Left/Right" + }, + "band1": { + "attack-threshold": -30.0, + "attack-time": 30.0, + "boost-amount": 6.0, + "boost-threshold": -72.0, + "compression-mode": "Downward", + "compressor-enable": true, + "enable-band": true, + "external-sidechain": false, + "knee": -24.0, + "makeup": 0.0, + "mute": false, + "ratio": 1.7, + "release-threshold": -100.0, + "release-time": 450.0, + "sidechain-custom-highcut-filter": false, + "sidechain-custom-lowcut-filter": false, + "sidechain-highcut-frequency": 1250.0, + "sidechain-lookahead": 0.0, + "sidechain-lowcut-frequency": 250.0, + "sidechain-mode": "RMS", + "sidechain-preamp": 0.0, + "sidechain-reactivity": 10.0, + "sidechain-source": "Middle", + "solo": false, + "split-frequency": 250.0, + "stereo-split-source": "Left/Right" + }, + "band2": { + "attack-threshold": -30.0, + "attack-time": 10.0, + "boost-amount": 6.0, + "boost-threshold": -72.0, + "compression-mode": "Downward", + "compressor-enable": true, + "enable-band": true, + "external-sidechain": false, + "knee": -24.0, + "makeup": 0.0, + "mute": false, + "ratio": 1.7, + "release-threshold": -100.0, + "release-time": 250.0, + "sidechain-custom-highcut-filter": false, + "sidechain-custom-lowcut-filter": false, + "sidechain-highcut-frequency": 5000.0, + "sidechain-lookahead": 0.0, + "sidechain-lowcut-frequency": 1250.0, + "sidechain-mode": "RMS", + "sidechain-preamp": 0.0, + "sidechain-reactivity": 10.0, + "sidechain-source": "Middle", + "solo": false, + "split-frequency": 1250.0, + "stereo-split-source": "Left/Right" + }, + "band3": { + "attack-threshold": -30.0, + "attack-time": 5.0, + "boost-amount": 6.0, + "boost-threshold": -72.0, + "compression-mode": "Downward", + "compressor-enable": true, + "enable-band": true, + "external-sidechain": false, + "knee": -24.0, + "makeup": 0.0, + "mute": false, + "ratio": 1.7, + "release-threshold": -100.0, + "release-time": 100.0, + "sidechain-custom-highcut-filter": false, + "sidechain-custom-lowcut-filter": false, + "sidechain-highcut-frequency": 20000.0, + "sidechain-lookahead": 0.0, + "sidechain-lowcut-frequency": 5000.0, + "sidechain-mode": "RMS", + "sidechain-preamp": 0.0, + "sidechain-reactivity": 10.0, + "sidechain-source": "Middle", + "solo": false, + "split-frequency": 5000.0, + "stereo-split-source": "Left/Right" + }, + "band4": { + "attack-threshold": -12.0, + "attack-time": 20.0, + "boost-amount": 6.0, + "boost-threshold": -72.0, + "compression-mode": "Downward", + "compressor-enable": true, + "enable-band": false, + "external-sidechain": false, + "knee": -6.0, + "makeup": 0.0, + "mute": false, + "ratio": 1.0, + "release-threshold": -100.0, + "release-time": 100.0, + "sidechain-custom-highcut-filter": false, + "sidechain-custom-lowcut-filter": false, + "sidechain-highcut-frequency": 8000.0, + "sidechain-lookahead": 0.0, + "sidechain-lowcut-frequency": 4000.0, + "sidechain-mode": "RMS", + "sidechain-preamp": 0.0, + "sidechain-reactivity": 10.0, + "sidechain-source": "Middle", + "solo": false, + "split-frequency": 4000.0, + "stereo-split-source": "Left/Right" + }, + "band5": { + "attack-threshold": -12.0, + "attack-time": 20.0, + "boost-amount": 6.0, + "boost-threshold": -72.0, + "compression-mode": "Downward", + "compressor-enable": true, + "enable-band": false, + "external-sidechain": false, + "knee": -6.0, + "makeup": 0.0, + "mute": false, + "ratio": 1.0, + "release-threshold": -100.0, + "release-time": 100.0, + "sidechain-custom-highcut-filter": false, + "sidechain-custom-lowcut-filter": false, + "sidechain-highcut-frequency": 12000.0, + "sidechain-lookahead": 0.0, + "sidechain-lowcut-frequency": 8000.0, + "sidechain-mode": "RMS", + "sidechain-preamp": 0.0, + "sidechain-reactivity": 10.0, + "sidechain-source": "Middle", + "solo": false, + "split-frequency": 8000.0, + "stereo-split-source": "Left/Right" + }, + "band6": { + "attack-threshold": -12.0, + "attack-time": 20.0, + "boost-amount": 6.0, + "boost-threshold": -72.0, + "compression-mode": "Downward", + "compressor-enable": true, + "enable-band": false, + "external-sidechain": false, + "knee": -6.0, + "makeup": 0.0, + "mute": false, + "ratio": 1.0, + "release-threshold": -100.0, + "release-time": 100.0, + "sidechain-custom-highcut-filter": false, + "sidechain-custom-lowcut-filter": false, + "sidechain-highcut-frequency": 16000.0, + "sidechain-lookahead": 0.0, + "sidechain-lowcut-frequency": 12000.0, + "sidechain-mode": "RMS", + "sidechain-preamp": 0.0, + "sidechain-reactivity": 10.0, + "sidechain-source": "Middle", + "solo": false, + "split-frequency": 12000.0, + "stereo-split-source": "Left/Right" + }, + "band7": { + "attack-threshold": -12.0, + "attack-time": 20.0, + "boost-amount": 6.0, + "boost-threshold": -72.0, + "compression-mode": "Downward", + "compressor-enable": true, + "enable-band": false, + "external-sidechain": false, + "knee": -6.0, + "makeup": 0.0, + "mute": false, + "ratio": 1.0, + "release-threshold": -100.0, + "release-time": 100.0, + "sidechain-custom-highcut-filter": false, + "sidechain-custom-lowcut-filter": false, + "sidechain-highcut-frequency": 20000.0, + "sidechain-lookahead": 0.0, + "sidechain-lowcut-frequency": 16000.0, + "sidechain-mode": "RMS", + "sidechain-preamp": 0.0, + "sidechain-reactivity": 10.0, + "sidechain-source": "Middle", + "solo": false, + "split-frequency": 16000.0, + "stereo-split-source": "Left/Right" + }, + "bypass": false, + "compressor-mode": "Modern", + "dry": -100.0, + "envelope-boost": "None", + "input-gain": 0.0, + "output-gain": 0.0, + "stereo-split": false, + "wet": 0.0 + }, + "plugins_order": [ + "gate#0", + "compressor#0", + "multiband_compressor#0", + "equalizer#0", + "autogain#0", + "limiter#0" + ] + } +} diff --git a/hosts/lavaridge/default.nix b/hosts/lavaridge/default.nix index b2057759..19e16256 100644 --- a/hosts/lavaridge/default.nix +++ b/hosts/lavaridge/default.nix @@ -2,6 +2,7 @@ { config, lib, + pkgs, self, ... }: { @@ -38,6 +39,31 @@ environment.variables.GDK_SCALE = "2"; networking.hostName = "lavaridge"; + + services.udev.extraRules = let + hyprlandDynamicRes = pkgs.writeShellScript "hyprland-dynamic-resolution" '' + MON="eDP-1" + RES="2880x1920" + + for dir in /run/user/*; do + for hypr_dir in "$dir/hypr/"*/; do + socket="''${hypr_dir}.socket.sock" + if [[ -S $socket ]]; then + monitor_info=$(echo -e "monitors" | ${lib.getExe pkgs.socat} - UNIX-CONNECT:"$socket") + + if echo "$monitor_info" | grep -q "$MON"; then + echo -e "keyword monitor $MON, $RES@$1, 0x0, 2, vrr, $2" | ${lib.getExe pkgs.socat} - UNIX-CONNECT:"$socket" + fi + + fi + done + done + ''; + in '' + SUBSYSTEM=="power_supply", ATTR{online}=="1", ACTION=="change", RUN+="${hyprlandDynamicRes} 120 1" + SUBSYSTEM=="power_supply", ATTR{online}=="0", ACTION=="change", RUN+="${hyprlandDynamicRes} 60 0" + ''; + system.stateVersion = "24.05"; ar = { diff --git a/hosts/lavaridge/home.nix b/hosts/lavaridge/home.nix index ae180195..b77dc362 100644 --- a/hosts/lavaridge/home.nix +++ b/hosts/lavaridge/home.nix @@ -15,7 +15,7 @@ services = { easyeffects = { enable = true; - preset = "fw13-easy-effects"; + preset = "fw13-autogain"; }; }; }; diff --git a/hwModules/lenovo/legion/go/default.nix b/hwModules/lenovo/legion/go/default.nix index a14edfad..1605406c 100644 --- a/hwModules/lenovo/legion/go/default.nix +++ b/hwModules/lenovo/legion/go/default.nix @@ -87,19 +87,20 @@ in { outputs = [ "convFL:Out" "convFR:Out" ] } capture.props = { - node.name = "Legion Go" - media.class = "Audio/Sink" - priority.driver = 1000 - priority.session = 1000 - audio.channels = 2 - audio.position = [ FL FR ] + node.name = "Legion Go" + node.autoconnect = true + media.class = "Audio/Sink" + priority.driver = 1000 + priority.session = 2000 + audio.channels = 2 + audio.position = [ FL FR ] } playback.props = { node.name = "Legion Go corrected" node.passive = true audio.channels = 2 audio.position = [ FL FR ] - node.target = "alsa_output.pci-0000_c2_00.6.analog-stereo" + node.target = "alsa_output.pci-0000_c2_00.6.analog-stereo" } } } diff --git a/userModules/aly/default.nix b/userModules/aly/default.nix index 8c305eae..71f6c21b 100644 --- a/userModules/aly/default.nix +++ b/userModules/aly/default.nix @@ -15,7 +15,6 @@ openssh.authorizedKeys = { keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG0HAmaMTAvrFrinB+b83c8hq6PyjmxRHg1IxR2GH6RN u0_a344@localhost" # termux on wallace "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGcJBb7+ZxkDdk06A0csNsbgT9kARUN185M8k3Lq7E/d u0_a336@localhost" # termux on winona ]; diff --git a/userModules/aly/syncthing.nix b/userModules/aly/syncthing.nix index 2c1e1d57..3cca2498 100644 --- a/userModules/aly/syncthing.nix +++ b/userModules/aly/syncthing.nix @@ -24,17 +24,16 @@ in { }; devices = { - "brawly" = {id = "BBIBWMR-CN4CFC4-2XMPLII-XFWXBT5-EPCZCAF-JOWAX5J-DHIGNM4-O3XQ4Q3";}; # Pixel 6a "fallarbor" = {id = "P4URLH4-YWLMO6J-W62ET7H-TQAO3Y6-T2FAYOY-C2VTI65-VQXHVGG-NQ76PAZ";}; # Framework 13 Intel 11th gen "gsgmba" = {id = "V2YCZSL-XY7H72L-FGJFWP2-JNYX72O-OJ5V2HY-V4SSSJM-77A7E3Z-7EJFAAV";}; # Work Macbook Air "iphone12" = {id = "SBQNUXS-H4XDJ3E-RBHJPT5-45WDJJA-2U43M4P-23XGUJ7-E3CNNKZ-BXSGIA3";}; # iPhone 12 Pro Max "lavaridge" = {id = "TMMSCVA-MDJTDPC-PC47NUA-2VPLAIB-6S6MEU7-KALIGUJ-AWDUOUU-XD73MAY";}; # Framework 13 AMD "mauville" = {id = "52MTCMC-PKEWSAU-HADMTZU-DY5EKFO-B323P7V-OBXLNTQ-EJY7F7Y-EUWFBQX";}; # Desktop/homelab + "norman" = {id = "IVFUFD4-LUQMX5V-FMUZQD2-EP6GOGQ-LPGYF5M-GFQDTNL-DVNQEA7-WWSWEQL";}; # Pixel 8a "pacifidlog" = {id = "6EBVXYI-HZW4LQI-T6L3TTI-DZEBXJM-RP3DW7N-BCAG6FC-G2654DN-XJFSLQD";}; # Lenovo Legion Go "petalburg" = {id = "ECTD3LW-YZTJIXX-HLQYXT7-UGZSGST-3DDKF72-DJPMDHE-SUYDWIT-ASTKTAE";}; # Yoga 9i "rustboro" = {id = "7CXGPQN-7DYDYJN-DKELOR3-RD4HZUW-SSUDGLZ-WVXYFUT-DPT2MGD-6PO5BQF";}; # Thinkpad t440p - "slateport" = {id = "MDJFDUG-UJAXQXI-AMEF2AR-PBMD5QK-Z5ZG6AA-RCJCU3M-GZHQQEA-X2JGOAK";}; # homelab a - "wallace" = {id = "X55NQL2-H3TEJ5U-EXZPBKQ-LI6BMB4-W2ULDIJ-YNIHJHB-4ISCOJB-UHNLYAX";}; # Samsung a35 + "slateport" = {id = "MDJFDUG-UJAXQXI-AMEF2AR-PBMD5QK-Z5ZG6AA-RCJCU3M-GZHQQEA-X2JGOAK";}; # homelab "winona" = {id = "IGAW5SS-WY2QN6J-5TF74YZ-6XPNPTC-RCH3HIT-ZZQKCAI-6L54IS2-SNRIMA2";}; # Pixel Tablet }; @@ -43,7 +42,7 @@ in { "sync" = { id = "default"; path = "/home/aly/sync"; - devices = ["brawly" "fallarbor" "gsgmba" "iphone12" "lavaridge" "mauville" "pacifidlog" "petalburg" "rustboro" "slateport" "wallace" "winona"]; + devices = ["fallarbor" "gsgmba" "iphone12" "lavaridge" "mauville" "norman" "pacifidlog" "petalburg" "rustboro" "slateport" "winona"]; versioning = { type = "staggered"; params = { @@ -56,7 +55,7 @@ in { "screenshots" = { id = "screenshots"; path = "/home/aly/pics/screenshots"; - devices = ["brawly" "fallarbor" "lavaridge" "mauville" "petalburg" "rustboro" "slateport" "wallace" "winona"]; + devices = ["fallarbor" "lavaridge" "mauville" "norman" "petalburg" "rustboro" "slateport" "winona"]; versioning = { params.cleanoutDays = "5"; type = "trashcan"; @@ -67,7 +66,7 @@ in { "music" = { id = "6nzmu-z9der"; path = config.ar.users.aly.syncthing.musicPath; - devices = ["lavaridge" "mauville" "petalburg" "rustboro" "wallace"]; + devices = ["lavaridge" "mauville" "petalburg" "rustboro"]; }; }; }; diff --git a/userModules/default.nix b/userModules/default.nix index 8cc90bc3..f355932c 100644 --- a/userModules/default.nix +++ b/userModules/default.nix @@ -11,7 +11,6 @@ self: { mutableUsers = false; users.root.openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG0HAmaMTAvrFrinB+b83c8hq6PyjmxRHg1IxR2GH6RN u0_a344@localhost" # termux on wallace "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGcJBb7+ZxkDdk06A0csNsbgT9kARUN185M8k3Lq7E/d u0_a336@localhost" # termux on winona (builtins.readFile ../secrets/publicKeys/aly_lavaridge.pub) (builtins.readFile ../secrets/publicKeys/aly_mauville.pub)