290 lines
8.8 KiB
Nix
290 lines
8.8 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
inputs,
|
|
...
|
|
}:
|
|
let
|
|
inherit (lib) mkOption types;
|
|
inherit (inputs) self;
|
|
in
|
|
{
|
|
imports = [
|
|
./package-set.nix
|
|
./shell
|
|
./ssh.nix
|
|
./nix.nix
|
|
];
|
|
options = {
|
|
vacu.rootCAs = mkOption { type = types.listOf types.str; };
|
|
vacu.versionId = mkOption {
|
|
type = types.str;
|
|
readOnly = true;
|
|
};
|
|
vacu.versionInfo = mkOption { readOnly = true; };
|
|
vacu.hostName = mkOption {
|
|
type = types.str;
|
|
};
|
|
vacu.shortHostName = mkOption {
|
|
type = types.str;
|
|
default = config.vacu.hostName;
|
|
};
|
|
vacu.nixvimPkg = mkOption { readOnly = true; };
|
|
};
|
|
config = {
|
|
vacu.packages = (with pkgs; [
|
|
home-manager
|
|
nixos-rebuild
|
|
which
|
|
nano
|
|
vim
|
|
wget
|
|
screen
|
|
tmux
|
|
lsof
|
|
htop
|
|
mosh
|
|
dnsutils
|
|
iperf3
|
|
nmap
|
|
rsync
|
|
ethtool
|
|
sshfs
|
|
ddrescue
|
|
pciutils
|
|
ncdu
|
|
nix-index
|
|
git
|
|
pv
|
|
unzip
|
|
file
|
|
ripgrep
|
|
jq
|
|
units
|
|
tree
|
|
rclone
|
|
iputils
|
|
ssh-to-age
|
|
sops
|
|
inetutils
|
|
neovim
|
|
diffutils
|
|
findutils
|
|
utillinux
|
|
tzdata
|
|
hostname
|
|
man
|
|
gnugrep
|
|
gnused
|
|
gnutar
|
|
bzip2
|
|
gzip
|
|
xz
|
|
zip
|
|
unzip
|
|
openssh
|
|
dig
|
|
bash
|
|
termscp
|
|
usbutils
|
|
ruby
|
|
psutils
|
|
killall
|
|
git
|
|
curl
|
|
]) ++ [
|
|
inputs.nix-search-cli.packages.${pkgs.system}.default
|
|
inputs.nix-inspect.packages.${pkgs.system}.default
|
|
];
|
|
vacu.nixvimPkg = inputs.nixvim.legacyPackages.${pkgs.system}.makeNixvimWithModule {
|
|
extraSpecialArgs = { inherit inputs; };
|
|
module = {
|
|
imports = [ ../nixvim ];
|
|
};
|
|
};
|
|
vacu.versionId = toString (self.shortRev or self.dirtyShortRev);
|
|
vacu.versionInfo = {
|
|
id = self.rev or self.dirtyRev;
|
|
flakePath = self.outPath;
|
|
inherit inputs; # inputs = lib.mapAttrs (i: i.outPath) inputs;
|
|
};
|
|
vacu.nix.caches.nixcache-shelvacu = {
|
|
url = "https://nixcache.shelvacu.com/";
|
|
keys = [ "nixcache.shelvacu.com:73u5ZGBpPRoVZfgNJQKYYBt9K9Io/jPwgUfuOLsJbsM=" ];
|
|
};
|
|
vacu.nix.caches.nix-community = {
|
|
url = "https://nix-community.cachix.org/";
|
|
keys = [ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ];
|
|
};
|
|
vacu.nix.caches.nix-on-droid = {
|
|
url = "https://nix-on-droid.cachix.org/";
|
|
keys = [ "nix-on-droid.cachix.org-1:56snoMJTXmDRC1Ei24CmKoUqvHJ9XCp+nidK7qkMQrU=" ];
|
|
};
|
|
vacu.nix.caches.nixos = {
|
|
url = "https://cache.nixos.org/";
|
|
keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ];
|
|
};
|
|
vacu.rootCAs = [
|
|
''
|
|
-----BEGIN CERTIFICATE-----
|
|
MIIBnjCCAUWgAwIBAgIBBTAKBggqhkjOPQQDAjAgMQswCQYDVQQGEwJVUzERMA8G
|
|
A1UEAxMIdm5vcG4gQ0EwHhcNMjQwODEyMjExNTQwWhcNMzQwODEwMjExNTQwWjAg
|
|
MQswCQYDVQQGEwJVUzERMA8GA1UEAxMIdm5vcG4gQ0EwWTATBgcqhkjOPQIBBggq
|
|
hkjOPQMBBwNCAARqRbSeq00FfYUGeCHVkzwrjrydI56T12xy+iut0c4PemSuhyxC
|
|
AgfdKYtDqMNZmSqMaLihzkBenD0bN5i0ndjho3AwbjAPBgNVHRMBAf8EBTADAQH/
|
|
MCwGA1UdHgEB/wQiMCCgGDAKhwgKTkwA///8ADAKgggudDJkLmxhbqEEMAKBADAO
|
|
BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFAjSkbJQCQc1WP6nIP5iLDIKGFrdMAoG
|
|
CCqGSM49BAMCA0cAMEQCIFtyawkZqFhvzgmqG/mYNNO6DdsQTPQ46x/08yrEiiF4
|
|
AiA+FwAPqX+CBkaSdIhuhv1kIecmvacnDL5kpyB+9nDodw==
|
|
-----END CERTIFICATE-----
|
|
''
|
|
];
|
|
|
|
vacu.ssh.authorizedKeys = [
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC4LYvUe9dsQb9OaTDFI4QKPtMmOHOGLwWsXsEmcJW86" # Termux on pixel6pro
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHcYwYy9/0Gu/GsqS72Nkz6OkId+zevqXA/aTIcvqflp" # t460s windows
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFsErA6M9LSHj2hPlLuHD8Lpei7WjMup1JxI1vxA6B8W" # pixel6pro nix-on-droid
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKoy1TrmfhBGWtVedgOM1FB1oD2UdodN3LkBnnLx6Tug" # compute-deck
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICVeSzDkGTueZijB0xUa08e06ovAEwwZK/D+Cc7bo91g" # triple-dezert
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOtwtao/TXbiuQOYJbousRPVesVcb/2nP0PCFUec0Nv8" # triple-dezert (root)
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAxAFFxQMXAgi+0cmGaNE/eAkVfEl91wafUqFIuAkI5I" # compute-deck (root)
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDcRDekd8ZOYfQS5X95/yNof3wFYIbHqWeq4jY0+ywQX" # pro1x nix-on-droid
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIExSObd1lZprdqAFLqFhtxDEckV0q/vZZIYqrYFKfkoC" # devver
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGHLPOxRd68+DJ/bYmqn0wsgwwIcMSMyuU1Ya16hCb/m" # fw (root)
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINQ2c0GzlVMjV06CS7bWbCaAbzG2+7g5FCg/vClJPe0C" # fw
|
|
];
|
|
vacu.ssh.config = ''
|
|
Host deckvacu
|
|
User deck
|
|
|
|
Host rsb
|
|
User user
|
|
HostName finaltask.xyz
|
|
Port 2222
|
|
|
|
Host awoo
|
|
HostName 45.142.157.71
|
|
|
|
Host trip
|
|
HostName trip.shelvacu.com
|
|
Port 6922
|
|
|
|
Host liam
|
|
HostName 178.128.79.152
|
|
|
|
Host pluto
|
|
HostName pluto.somevideogam.es
|
|
|
|
Host *
|
|
User shelvacu
|
|
GlobalKnownHostsFile ${pkgs.writeText "known_hosts" config.vacu.ssh.knownHostsText}
|
|
'';
|
|
|
|
vacu.ssh.knownHosts = {
|
|
#public hosts
|
|
"github.com".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl";
|
|
"gitlab.com".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf";
|
|
"git.sr.ht".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMZvRd4EtM7R+IHVMWmDkVU3VLQTSwQDSAvW0t2Tkj60";
|
|
|
|
#colin's stuff
|
|
"uninsane.org" = {
|
|
extraHostNames = [ "git.uninsane.org" ];
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOfdSmFkrVT6DhpgvFeQKm3Fh9VKZ9DbLYOPOJWYQ0E8";
|
|
};
|
|
"desko" = {
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFw9NoRaYrM6LbDd3aFBc4yyBlxGQn8HjeHd/dZ3CfHk";
|
|
};
|
|
|
|
#daymocker's stuff
|
|
"pluto" = {
|
|
extraHostNames = [ "74.208.184.137" ];
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICpHY4fLZ1hNuB2oRQM7R3b4eQyIHbFB45ZYp3XCELLg";
|
|
};
|
|
|
|
#powerhouse hosts
|
|
"ostiary" = {
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBSYyd1DGPXGaV4mD34tUbXvbtIi/Uv2otoMUsCkxRse";
|
|
};
|
|
"habitat" = {
|
|
# previously known as zigbee-hub
|
|
extraHostNames = [ "10.78.79.114" ];
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBJxwUYddOxgViJDOiokfaQ6CsCx/Sw+b3IisdJv8zFN";
|
|
};
|
|
"vnopn" = {
|
|
extraHostNames = [
|
|
"10.78.79.1"
|
|
"vnopn.t2d.lan"
|
|
];
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEMgJE8shlTYF3nxKR/aILd1SzwDwhtCrjz9yHL7lgSZ";
|
|
};
|
|
|
|
#work laptop
|
|
"tebbs-MBP" = {
|
|
extraHostNames = [ "10.244.10.3" ];
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKO/ks07zSByDH/qmDrghtBSFwWnze2s62zEmtXwaMJe";
|
|
};
|
|
|
|
#personal hosts
|
|
trip = {
|
|
extraHostNames = [
|
|
"triple-dezert"
|
|
"trip.shelvacu.com"
|
|
"[trip.shelvacu.com]:6922"
|
|
];
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGUQux9V0mSF5IauoO1z311NXR7ymEbwRMzT+OaaNQr+";
|
|
};
|
|
servacu = {
|
|
extraHostNames = [
|
|
"mail.dis8.net"
|
|
"servacu.shelvacu.com"
|
|
];
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE+E6na7np0HnBV2X7owno+Fg+bNNRSHLxO6n1JzdUTV";
|
|
};
|
|
finaltask = {
|
|
extraHostNames = [
|
|
"rsb"
|
|
"finaltask.xyz"
|
|
"[finaltask.xyz]:2222"
|
|
];
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPTx8WBNNKBVRV98HgDChpd59SHbreJ87SXU+zOKan6y";
|
|
};
|
|
compute-deck = {
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGt43GmXCxkl5QjgPQ/QimW11lKfXmV4GFWvlxQSf4TQ";
|
|
};
|
|
"2esrever" = {
|
|
extraHostNames = [
|
|
"10.4.5.218"
|
|
"10.244.46.71"
|
|
];
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH0LnPrJxAdffZ//uRe3NBiIfFCBNMLqKVylkyU0llvT";
|
|
};
|
|
awoo = {
|
|
extraHostNames = [ "45.142.157.71" ];
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOQaDjjfSK8jnk9aFIiYH9LZO4nLY/oeAc7BKIPUXMh1";
|
|
};
|
|
deckvacu = {
|
|
publicKey = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEa8qpFkIlLLJkH8rmEAn6/MZ9ilCGmEQWC3CeFae7r1kOqfwRk0nq0oyOGJ50uIh+PpwEh3rbgq6mLfpRfsFmM=";
|
|
};
|
|
liam = {
|
|
extraHostNames = [
|
|
"liam.dis8.net"
|
|
"178.128.79.152"
|
|
];
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHOqJYVHOIFmEA5uRbbirIupWvyBLAFwic/8EZQRdN/c";
|
|
};
|
|
devver = {
|
|
extraHostNames = [
|
|
"devver.t2d.lan"
|
|
"10.78.79.10"
|
|
];
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFeFaH2tzWIiCPdKNmxl3NqCnPTdmVIOBinauUAEl+UU";
|
|
};
|
|
fw = {
|
|
extraHostNames = [ "fw.t2d.lan" ];
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA6lX25mCy35tf1NpcHMAdeRgvT7l0Dw0FWBH3eX4TE2";
|
|
};
|
|
};
|
|
};
|
|
}
|