Add Howl
All checks were successful
Check Flake / check-flake (push) Successful in 1m54s

This commit is contained in:
Zuckerberg 2024-05-31 23:21:40 -06:00
parent 74e41de9d6
commit 37bd7254b9
24 changed files with 199 additions and 71 deletions

61
machines/howl/default.nix Normal file
View File

@ -0,0 +1,61 @@
{ config, pkgs, lib, ... }:
{
imports = [
./hardware-configuration.nix
];
# for luks onlock over tor
services.tor.enable = true;
services.tor.client.enable = true;
# don't use remote builders
nix.distributedBuilds = lib.mkForce false;
services.udev.extraRules = ''
# depthai
SUBSYSTEM=="usb", ATTRS{idVendor}=="03e7", MODE="0666"
# Moonlander
# Rules for Oryx web flashing and live training
KERNEL=="hidraw*", ATTRS{idVendor}=="16c0", MODE="0664", GROUP="plugdev"
KERNEL=="hidraw*", ATTRS{idVendor}=="3297", MODE="0664", GROUP="plugdev"
# Wally Flashing rules for the Moonlander and Planck EZ
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE:="0666", SYMLINK+="stm32_dfu"
'';
services.udev.packages = [ pkgs.platformio ];
users.groups.plugdev = {
members = [ "googlebot" ];
};
# virt-manager
virtualisation.libvirtd.enable = true;
programs.dconf.enable = true;
virtualisation.spiceUSBRedirection.enable = true;
environment.systemPackages = with pkgs; [ virt-manager ];
users.users.googlebot.extraGroups = [ "libvirtd" "adbusers" ];
# allow building ARM derivations
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
services.spotifyd.enable = true;
virtualisation.podman.enable = true;
virtualisation.podman.dockerCompat = true;
virtualisation.appvm.enable = true;
virtualisation.appvm.user = "googlebot";
services.mount-samba.enable = true;
de.enable = true;
de.touchpad.enable = true;
networking.firewall.allowedTCPPorts = [
# barrier
24800
];
programs.adb.enable = true;
}

View File

@ -0,0 +1,47 @@
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.kernelPackages = pkgs.linuxPackages_latest;
# boot
boot.loader.systemd-boot.enable = true;
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ "dm-snapshot" ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
# firmware
firmware.x86_64.enable = true;
# disks
remoteLuksUnlock.enable = true;
boot.initrd.luks.devices."enc-pv" = {
device = "/dev/disk/by-uuid/c801586b-f0a2-465c-8dae-532e61b83fee";
allowDiscards = true;
};
fileSystems."/" =
{ device = "/dev/disk/by-uuid/95db6950-a7bc-46cf-9765-3ea675ccf014";
fsType = "btrfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/B087-2C20";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/49fbdf62-eef4-421b-aac3-c93494afd23c"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}

View File

@ -0,0 +1,26 @@
{
hostNames = [
"howl"
];
arch = "x86_64-linux";
systemRoles = [
"personal"
];
hostKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEQi3q8jU6vRruExAL60J7GFO1gS8HsmXVJuKRT4ljrG";
userKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKPnLt84bKhUgFxjQf10+Htro9Lo1Pabqm8mGalBUniv"
];
deployKeys = [
# TODO
];
remoteUnlock = {
hostKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN0N80r0Sl2WlJaUqfxZPkOtYyGumFazkIqq7eq3Gd2o";
onionHost = "ll6yjnkh4psmfwmtkmqoutl4gq4elqzbmjxv4s6gpgoavyi3kwhjvnqd.onion";
};
}

View File

@ -1,23 +1,24 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 yHDAQw BnVxLTfrWFqaT6+Tz8I0gQReC2NjADak1TlzotVHzEs -> ssh-ed25519 N7drjg YHZO6ENbBihFQFqRRjdWtgfX3R+qHtaJWIa54igHpEc
tzQGIMBFH1v91gezCWjCk3qNi6nhCFVMxaZrrxqFT+c HLeZDyErwJme8knPYCxuSXMmHBkz2kDI6OBG6/EtP7w
-> ssh-ed25519 jQaHAA BwpFr2XXWTaNeYgieI1rkRw5u/mf55vVooZnJJhMLSI -> ssh-ed25519 yHDAQw 2YvHNNsiDJSUkKZOlhWzP4l1NfH0zTnldZV4Jjfy620
4VmJ1R5lcmD+apxg4WLnMk+aTJt3GOS+6KOE75NqjEY dHM0wG9JLiQJJ+NquhPeI/xv1iEqsxRy9D//NcYTr8k
-> ssh-ed25519 dMQYog oBypOzXH4ioZv9PzYGYxG4jBDRv6qIiRglj/f/uJugU -> ssh-ed25519 jQaHAA QtNkLsgdVgJqbmxLFhaf7AIG208NXHzgBweO8L3Dc3E
SQRv3Iel0jeONRAVp96VFtKjXGJ8PMvp80ys4otQp0U SGjvdajk9M5azgP4QcynnxKieKEJYil1T2az4hYffdM
-> ssh-ed25519 WBT1Hw wb7yUuZOQPhCYusR6WS5/e/NgC7UpBnIO0HZaO2+xxM -> ssh-ed25519 w3nu8g JuFJuOdVOc8Uk5es2rpqPVHgg+l6/K0J+MHDFuffn0A
faHL6WBApWk8+871XmVRHcllXN4I7kgnqngY633jSI0 n7tzohV+Uvecu6GVNeht/O/dL4x6e5SVdHEzRbJg3rI
-> ssh-ed25519 6AT2/g +l7AjVqKk9oi96mglZDQN5AVncmVqjEjFfPXFZYdGlI -> ssh-ed25519 dMQYog 44RRRe8M2FJWigy3d9TNaUQSM47gLDgU38F6ow1Xe2c
nEQtVZGMIKJlIf0Bj8T2YkUKQawpyP0bqCJ3Nj8PDPc uQVkQma/hZVMCMtgcelyZhscvc46LItvbcPBuJI81Ns
-> ssh-ed25519 VyYH/Q QHjWhus6HvedZXiDtkoK9DiS8EPOpUxRHix1cSwVuiU -> ssh-ed25519 WBT1Hw +b+2TOduL4XERN7qOYPtJ3R5w54m7VYqmyy8Smz6tXU
vn0vSFHo6doBH/rzk42DxKN8XzSzMVDMMaeqQX6iuII TyQ+bjSK6IYSulW0rm12V+lpXYCt5kr3byaNNGJeMVc
-> ssh-ed25519 hPp1nw FH8TXl9deDyGS9pCyG3sBvzpi8d9S0u4tprKopO6vBo -> ssh-ed25519 6AT2/g ZUmtQOHWmn0shq1iP3Ca7aQ74PLcqZGTprvsM/HAXR8
ZaricPkMTEn+xNPOJP4nLIpsHdFDVCCEqFVq4FxOPCw eNonzRSAwNCQi0DgtVs67zCjpOYsqeLEJYBmLjuS9rI
-> ssh-ed25519 dMQYog FYeNrUyYZ/aYZkmjTEVJ3Fq4J5qAe+Do7IDPiYDZrgw -> ssh-ed25519 hPp1nw qzrGZr5bFvfPwWrfNIUFubvGXBT+oQo9HZQuePSbPwk
RroBGlF7DyNKmL4+Nd84eKKkJh7AGE9FP1VxgUO3iF4 MKNlVl3OXBYEFWiu2hbbXDQnqkV4nENG+lcLcd+H33I
-> htnK=h-grease F7l m it+; <4OvM -> ssh-ed25519 w3nu8g H2UDASHwHNxU74g5IbuHIDHEZYgyWNmSX7Wv/lV41HQ
2MOngVDIi1sJJnjX2eAt4L3jObghFIbv20wJHLb7G0AMyavVmOiQ4xSehDKCb34g WMgKT0GZxWQoK57E9B2j8MsyOroMhWd5SiCQtZa7AIY
10vwok0cSXaKOGmbXOFst9J2tk+z -> ssh-ed25519 dMQYog YkL6XApXeP9qc4pVaIHFaNmYIK/PVEKoJz5SotQbGmQ
--- nOQEybjt9MPX5X2cUnpKFgHtTSPvJSFnDGyj3ATlrEQ H+3wAxIl9Yip4xQqjhje9tL1V4m00NNSxNjH6Dbb1K8
ÞO¸¿"of<6F>æÕ¹|ñÜŠšÇ'_j]þëI<u‡‡:*¼†¾hœµÆ?"M‰)Ñ̦Ví*KAôN3µ@rWí¤©¨‹ tX€«Ñí…o --- vBQpXXpKzzXwpNP17r8OBqO4Q3bIS4pHqbEl4u9dB1w
gAþÿÍêî†Xdõûí<>WJ¸Uwpg”Æ&H½±'ŒÓrÒi€• ÎL“9[íg¡dŒxgº8Ø*0«šœ…·¾öWå&`*?`ÔÊ­I÷Ýd1*ªñ¶bM\<>D™+«)‡
\ƒg¤hDá3#k3;Åj ¾ÞŽ±Ý¾Hš·ÙF&ÙX %6˜Bî8”¹T·fG`Q¯®âñ?[hDªö*c

Binary file not shown.

Binary file not shown.

View File

@ -1,10 +1,10 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 6AT2/g MmInWcw6GlfzvN9kxFtTVWMX+UX9PHO5V35TzRcmex0 -> ssh-ed25519 6AT2/g WZ9p/pCsEDpKbgGDLcTtisn25kExQX9iv+tL3wyPwiY
dSMoGNuJMpRwyWTAnjHpO9mJBCxsJ77M5fWA0F1gR6s vom2z9QRIQSFB0+4/7lSWUEB0eoAG+08nXgiUg/OSX4
-> ssh-ed25519 dMQYog ua3OPiErZcVRNGf/uxv7PiBBFOKAUkaSSIV4UCMu5Wc -> ssh-ed25519 w3nu8g ECLZwCRJVJqyUMf70EOl2/3ExTruKaxCSQlY5fBZqxk
L8kYIzyEXcAxAlPQbqasgiaQi7JARhja6vM6WzvdMrs VemnmGpzx1VprkybW1hPlkfmiDaNcBDoEzX0mDZgmu0
-> CIn-grease !G{f,9h( Hjn\ \hTpE MAP<)J -> ssh-ed25519 dMQYog QiPsbFE8MtXnRNBwkUEC+6grqXEbDstEtxYR8uJks2w
0u+eQDvbxgI6aDT7xqdwOX3A34E2T4Ft9bSF6KBpHqucHib9tA5lJHgtXwgkpa/P O3JWQGppFeZEd6o3W0KVTEIyNVGeLxKfTYTlgsAEVHQ
nbaJDnRWbM/AL7nnT7XpdLVO2r7w2ish4ALBgPvXxH/0iUXqvQk1B/E --- RncZzBFEyMAkpZRWrPORA0DPHuCTNswmWG5CMNnfm4A
--- +aKXbSfk6VkxqtTn+fI8VhcgO7Dw0jNSUJOJlqCbEGM ñ/¼ÔËõôŒ8nàÅ¥«¸7hîtä?T˜=%zˆ°[¤ÝØ!(…uÔdÇuò@
á? Þ÷Ùþq}` ¿Žiämó<>.6Û{I ¿þÌÛ°È„ csjRDþ¿“Á­çì$ŸZ̓ ”PîðßËŠj¡0—·ÅĉÑ;ˆ{þ÷Œ¬CJx/*÷<> ×¢Ebƒyަù¦D=Ü!„XþtÞÔ:#¦þþãÞXÈX@ú_M

Binary file not shown.

Binary file not shown.

View File

@ -1,10 +1,7 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 VyYH/Q evYn+9ipH4t4cT2lZOiwnGqSkU+bbdVw80S0rgAqt00 -> ssh-ed25519 w3nu8g ER07FH17Wm9op5F4pCftNK76f+nNjtA6zQc/2dLyAHI
Vr24AqHOqH5DQYYlyS0X+k6TnczKHRDGZCeoLOJkybE nxxq/8tS3ENJhAEIhJCiSi7dV+68AmcEMh9zvZoWpdY
-> ssh-ed25519 dMQYog 23GqNi0N24EtnRV25Ick+aurPOngZ2Zd279LmZH15WY -> ssh-ed25519 dMQYog JelCfh+akP7C/i1kimq3fC5PRQa9gHbmBaOnjKu+PDw
FEo0GyymjnPrSjf608SyCH22FvaqEixyVcbXdQ+Z3zA GVTwo7MzkpCereZRh0HVjGYmtdMY1gHowMZtUQl7XQw
-> (Rd{ky@}-grease D f/KA]Pe --- p2l83t3bEdBrrp1ctaqqKhwB4l2McgZqZTtc2SXgd8Q
8Ip1fddb0BYUwg62FSmUBp7O+TILFaCtWHcxheEyUlXPoY9TGTaySl6Znw9Mksde ø±ôeÆd\Yå4lXVF§U©<55>þM||)دÔûú•¶Ü8¿>ëž­%ðóJ$à´Õè
q2aAHn8
--- ibLXcq9R/5X2jFKBABgsUcDiBjjuoA9SrCuFbGOiNBI
¸Ó;ù½XôóÀ m£h޲ý%펗+6â×k@nWÃäT®0 %¡£vìï

View File

@ -1,11 +1,9 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 6AT2/g UG+Ub0bZK74/Ifa/YkZOc6B3cPl6oI7M4Ev1zxkFEh0 -> ssh-ed25519 6AT2/g Knb25oYknkiXyMqVBR3T0sFSO4hDjWUTq3xIml/b4ig
z71vjnEqhL3kuLePbP0nKQNwU0mrCOO386wLdUhH5tU n7xamnrZ+SCWiKqniF3r2JvH4G8q2pJaHzF0riNEDf4
-> ssh-ed25519 dMQYog t8H6XoIhhE4H9g4913sWgZ5BaYK04uk7Mj0FYnOdtTo -> ssh-ed25519 w3nu8g 7+2R5RpLjBf4jjj3S8ibMquUWgRMrifziGQubwuLrhA
U4Ygto4z3l4dcCsnGxnRo1YGBl6YZ5y5pnVBJXCSrOc 3jLCalnbA3Z2jr8Zs+qrpzSoi3Jv6E5OV2binpr3Kk4
-> Bad-grease <$Y -> ssh-ed25519 dMQYog Nh2e7me0tiG7ZwQK8669VS0LCYFSH+b33I9tr8uI5CY
1xw 7Gs1N9eZa1CGR9pczzugHbqnghqevX7kQCOeqR4q0eI
--- wiGO0H6gfd+3D/+V/rMNLGkDk6FPFUihXi43J82LAkg --- OzW+omJsZA/b4DMF4hdQga7JVgiEYluZok3r8JM258I
³8>`®Às«»pú¨€¿U#ü™º¯KV%jbwïxN¸@ *³²ÝPކAcèÈ1·@Át¸e÷nf&ù#I7‡a‰Ûâc†ÃÀ<C383>êbDâ~aõ]1w=Á
Žî@œª€
Ow\º(@@Tòìèzá

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,13 +1,11 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 6AT2/g gPeZnJ8arK6xAGnEK9uTcGfwBI1pYjjv6VX4o9EBIns -> ssh-ed25519 6AT2/g MGKlbzVOk5+czgAOerwl+eIyOifXJm/q4UgQUXVpx1c
sKFfqnafLachTKE93Pb7gsZ5gdKis64N64BK5128LKg 43l6s4+5TSMQyO9tAg7v9Y5OdXOjKYz56lbr9Jm2r+o
-> ssh-ed25519 hPp1nw e2taazZ3R6EBCbgh6Gg0Dc9p1K7zp5R7n9LIkWF/Wj8 -> ssh-ed25519 hPp1nw aOxni4sFPPgedUkBOuOyEWfFPJrhdTJnivIaWt5RJxM
+/VkcMDL1HNJhbc6/OxpiUe1dlO0lrc1hgkD/RrYXjY KNaxijzSMp7EjYKwWiAP66nPYYZK3/VXL8u+3uJt6bg
-> ssh-ed25519 dMQYog znMKkv1O7F/EeAyvTfULUn/pWdai2NI0uBfWn/02xg0 -> ssh-ed25519 w3nu8g qTAzEzQbFze35AtbvkYREw3wa7ApDN5u7RSZUXrEpms
45W9s4Vo8J+xOTGec9h6s0ra9ZSUA6JkorAAyqqlPfg Dy0uGF458A9RJMvDl2XKOkEABbbRgT+eIgvb6ZOEQqg
-> T/!XI-grease GJ_O' -> ssh-ed25519 dMQYog 5DfYuGeWuN0/CO6WWbFIi7LaKl23FXYVdPROM+TFpCA
mAOW54Txa2H9WdEMog0g1XQjkC5z0wQIoqNlnbsjCSvM1UaPiiu6vJOJKCmJb1Z6 PDBdDn+YUMKYNKFkCEfXesmkB/XUxZRK3ddQt0kqQ7g
3wyLN6lCIjkR --- JOeG87EVD+QBx6n+rMoPTOni0PyoG7xx4a2USNiapYI
--- yX7lzKnDkn+KkRVTumffcd/SJSznR5n6JtUgWkSSohk Zsý{ÅiÁ_\+ô@@Üò߸ù&_š5­$¿Gt2¢rF“y×ÄQ§Iaž 7ôÙÉzàgf­%O(µÙ,VéÂ}ÿn|û'J¸2ø¨óQÑ B
ãQô^àèyW; â§]Š+u>¥3wŒ¨oêM:ã™øêúÀöŸÃ9,xv×KÁÜXT-K8rÔ(@Ø-|³
:PÈ<50>‡*H6€'¹&Ôi

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,10 +1,10 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 6AT2/g 3xkROcKh6I/oVGRwnvJ9Dy36JvYmsJQZq2DBvYC4Dz4 -> ssh-ed25519 6AT2/g Kw5/he5m/XAJUNv8XEJQU+e+Ou7hCYluMXXWlHiePXY
JunaGg8zg2SJZmBnuV0ZcDSc8vsMHgTd1RbDn8giy+Y GkhJOzSlcC9S7bs8FuDNMvMaFU3+fQ5z+o+Pb8wllp8
-> ssh-ed25519 dMQYog JG8QC1thl+CMlxoI1Y+ZUj0dQ3FXF4cquk7tdzfaS0E -> ssh-ed25519 w3nu8g fUORtXN1ygOeV42jveCosGXR/Y6R6OG6DK7LPDBEAk8
zW7jyrXhVvyIq7HXfcRqkyZdg/wkWwNfPk5KbI2jH7I yFpoasbY/sl6BQp0LVBQnInA4Kxd8A8meEObU1KD108
-> $"v%-grease `Xo|a eIFIq 7hBk?8%1 -> ssh-ed25519 dMQYog 75qVEe6/1yOV4DDLAOGaufs3ojx1/Sc1fIQOe+Oirz0
ZoNiAXY1HE1GEQPd1aJirTitFgXf3HKcV2H6HxRpzWysUd1DGOsF/jScUO36JgIP iDFsr6/30AHKH6hUs/WTpHEM8WQ03QMlGbtQkGrnVCU
sY8FA22PjyUv7g --- islx8t7a6bShXGxvYeDVuUxkmAMtpUfr0Gp7aYrJUkI
--- zFpfG3JQpSmE108GMEWLjGWMJe7cXVn3NN9vs8iDY3E 2Ûí4¤†7Õ
8f,ÕªÒÅðÚÏ*}V¥Æ@j†3ÿïCèM*@}ìy2Øì9€Éè ìN|yæ ?Õw€À<E282AC>JÁÆØv ¨º9,ËxÅŠò¨‰¦Æ¦ñnäH?>I­