Framework 12 Initial setup
This commit is contained in:
parent
af5b392286
commit
3d0fdb6ac4
9 changed files with 294 additions and 9 deletions
82
disko/impermanence-tmpfs-luks.nix
Normal file
82
disko/impermanence-tmpfs-luks.nix
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
{
|
||||
device ? throw "Set this to your disk device, e.g. /dev/sda",
|
||||
...
|
||||
}:
|
||||
{
|
||||
disko.devices = {
|
||||
disk = {
|
||||
main = {
|
||||
type = "disk";
|
||||
device = device;
|
||||
content = {
|
||||
type = "gpt";
|
||||
partitions = {
|
||||
ESP = {
|
||||
label = "boot";
|
||||
name = "ESP";
|
||||
size = "512M";
|
||||
type = "EF00";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "vfat";
|
||||
mountpoint = "/boot";
|
||||
mountOptions = [
|
||||
"defaults"
|
||||
];
|
||||
};
|
||||
};
|
||||
luks = {
|
||||
size = "100%";
|
||||
label = "luks";
|
||||
content = {
|
||||
type = "luks";
|
||||
name = "cryptroot";
|
||||
extraOpenArgs = [
|
||||
"--allow-discards"
|
||||
"--perf-no_read_workqueue"
|
||||
"--perf-no_write_workqueue"
|
||||
];
|
||||
# https://0pointer.net/blog/unlocking-luks2-volumes-with-tpm2-fido2-pkcs11-security-hardware-on-systemd-248.html
|
||||
settings = {crypttabExtraOpts = ["fido2-device=auto" "token-timeout=10"];};
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "ext4";
|
||||
mountpoint = "/persist";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
nodev = {
|
||||
"/" = {
|
||||
fsType = "tmpfs";
|
||||
mountOptions = [ "defaults" "size=8G" "mode=755" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
fileSystems."/persist" = {
|
||||
depends = [ "/" ];
|
||||
neededForBoot = true;
|
||||
};
|
||||
fileSystems."/nix" = {
|
||||
device = "/persist/nix";
|
||||
options = [ "bind" ];
|
||||
depends = [ "/persist" ];
|
||||
neededForBoot = true;
|
||||
};
|
||||
fileSystems."/tmp" = {
|
||||
device = "/persist/tmp";
|
||||
options = [ "bind" ];
|
||||
depends = [ "/persist" ];
|
||||
neededForBoot = true;
|
||||
};
|
||||
swapDevices = [{
|
||||
device = "/persist/swapfile";
|
||||
size = 64*1024; # 64 GB
|
||||
}];
|
||||
|
||||
boot.resumeDevice = "/persist/swapfile";
|
||||
}
|
||||
17
flake.lock
generated
17
flake.lock
generated
|
|
@ -1119,6 +1119,22 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1752048960,
|
||||
"narHash": "sha256-gATnkOe37eeVwKKYCsL+OnS2gU4MmLuZFzzWCtaKLI8=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "7ced9122cff2163c6a0212b8d1ec8c33a1660806",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "master",
|
||||
"repo": "nixos-hardware",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixos-wsl": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_5",
|
||||
|
|
@ -3699,6 +3715,7 @@
|
|||
"nix-gaming": "nix-gaming",
|
||||
"nix-on-droid": "nix-on-droid",
|
||||
"nixos-facter-modules": "nixos-facter-modules",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixos-wsl": "nixos-wsl",
|
||||
"nixpkgs": "nixpkgs_12",
|
||||
"nixpkgs-master": "nixpkgs-master",
|
||||
|
|
|
|||
38
flake.nix
38
flake.nix
|
|
@ -69,6 +69,7 @@
|
|||
niri-flake = {
|
||||
url = "github:sodiboo/niri-flake";
|
||||
};
|
||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
|
|
@ -137,6 +138,16 @@
|
|||
allowUnfree = true;
|
||||
};
|
||||
};
|
||||
kylekrein-framework12-pkgs = nixpkgs: import nixpkgs {
|
||||
system = x86;
|
||||
overlays = [
|
||||
inputs.beeengine.overlays.${x86}
|
||||
];
|
||||
config = {
|
||||
allowBroken = true;
|
||||
allowUnfree = true;
|
||||
};
|
||||
};
|
||||
kylekrein-mac-pkgs = nixpkgs: import nixpkgs {
|
||||
system = arm;
|
||||
overlays = [
|
||||
|
|
@ -201,6 +212,7 @@
|
|||
hwconfig = {
|
||||
hostname = "kylekrein-homepc";
|
||||
isLaptop = false;
|
||||
hasTouchscreen = false;
|
||||
system = x86;
|
||||
useImpermanence = true;
|
||||
};
|
||||
|
|
@ -216,11 +228,34 @@
|
|||
./nixos/configuration.nix
|
||||
];
|
||||
};
|
||||
"kylekrein-framework12" = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
hwconfig = {
|
||||
hostname = "kylekrein-framework12";
|
||||
isLaptop = true;
|
||||
hasTouchscreen = true;
|
||||
system = x86;
|
||||
useImpermanence = true;
|
||||
};
|
||||
inherit first-nixos-install;
|
||||
inherit inputs;
|
||||
unstable-pkgs = kylekrein-framework12-pkgs nixpkgs-unstable;
|
||||
};
|
||||
|
||||
system = x86;
|
||||
pkgs = kylekrein-framework12-pkgs nixpkgs;
|
||||
modules = [
|
||||
(import ./disko/impermanence-tmpfs-luks.nix {device = "/dev/nvme0n1";})
|
||||
./nixos/configuration.nix
|
||||
inputs.nixos-hardware.nixosModules.framework-12-13th-gen-intel
|
||||
];
|
||||
};
|
||||
"kylekrein-mac" = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
hwconfig = {
|
||||
hostname = "kylekrein-mac";
|
||||
isLaptop = true;
|
||||
hasTouchscreen = false;
|
||||
system = arm;
|
||||
useImpermanence = true;
|
||||
};
|
||||
|
|
@ -240,6 +275,7 @@
|
|||
hwconfig = {
|
||||
hostname = "kylekrein-server";
|
||||
isLaptop = false;
|
||||
hasTouchscreen = false;
|
||||
system = x86;
|
||||
useImpermanence = false;
|
||||
};
|
||||
|
|
@ -259,6 +295,7 @@
|
|||
hwconfig = {
|
||||
hostname = "kylekrein-wsl";
|
||||
isLaptop = true;
|
||||
hasTouchscreen = false;
|
||||
system = x86;
|
||||
useImpermanence = false;
|
||||
};
|
||||
|
|
@ -279,6 +316,7 @@
|
|||
hwconfig = {
|
||||
hostname = "andrej-pc";
|
||||
isLaptop = false;
|
||||
hasTouchscreen = false;
|
||||
system = x86;
|
||||
useImpermanence = false;
|
||||
};
|
||||
|
|
|
|||
48
nixos/homes/kylekrein/lisgd-config.h
Normal file
48
nixos/homes/kylekrein/lisgd-config.h
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
distancethreshold: Minimum cutoff for a gestures to take effect
|
||||
degreesleniency: Offset degrees within which gesture is recognized (max=45)
|
||||
timeoutms: Maximum duration for a gesture to take place in miliseconds
|
||||
orientation: Number of 90 degree turns to shift gestures by
|
||||
verbose: 1=enabled, 0=disabled; helpful for debugging
|
||||
device: Path to the /dev/ filesystem device events should be read from
|
||||
gestures: Array of gestures; binds num of fingers / gesturetypes to commands
|
||||
Supported gestures: SwipeLR, SwipeRL, SwipeDU, SwipeUD,
|
||||
SwipeDLUR, SwipeURDL, SwipeDRUL, SwipeULDR
|
||||
*/
|
||||
|
||||
unsigned int distancethreshold = 125;
|
||||
unsigned int distancethreshold_pressed = 60;
|
||||
unsigned int degreesleniency = 15;
|
||||
unsigned int timeoutms = 800;
|
||||
unsigned int orientation = 0;
|
||||
unsigned int verbose = 0;
|
||||
double edgesizeleft = 50.0;
|
||||
double edgesizetop = 50.0;
|
||||
double edgesizeright = 50.0;
|
||||
double edgesizebottom = 50.0;
|
||||
double edgessizecaling = 1.0;
|
||||
char *device = "/dev/input/touchscreen";
|
||||
|
||||
//Gestures can also be specified interactively from the command line using -g
|
||||
Gesture gestures[] = {
|
||||
/* nfingers gesturetype command */
|
||||
//{1, SwipeLR, EdgeAny, DistanceAny, ActModeReleased, "niri msg action "},
|
||||
//{1, SwipeRL, EdgeAny, DistanceAny, ActModeReleased,
|
||||
// "xdotool key --clearmodifiers Alt+Shift+r"},
|
||||
//{1, SwipeDLUR, EdgeAny, DistanceAny, ActModeReleased, "sxmo_vol.sh up"},
|
||||
//{1, SwipeURDL, EdgeAny, DistanceAny, ActModeReleased, "sxmo_vol.sh down"},
|
||||
//{1, SwipeDRUL, EdgeAny, DistanceAny, ActModeReleased,
|
||||
// "sxmo_brightness.sh up"},
|
||||
//{1, SwipeULDR, EdgeAny, DistanceAny, ActModeReleased,
|
||||
//"sxmo_brightness.sh down"},
|
||||
//{2, SwipeLR, EdgeAny, DistanceAny, ActModeReleased,
|
||||
// "xdotool key --clearmodifiers Alt+e"},
|
||||
//{2, SwipeRL, EdgeAny, DistanceAny, ActModeReleased,
|
||||
// "xdotool key --clearmodifiers Alt+r"},
|
||||
{2, SwipeDU, EdgeAny, DistanceAny, ActModeReleased,
|
||||
"pidof wvkbd-mobintl || wvkbd-mobintl -l simple,special,emoji &"},
|
||||
{2, SwipeUD, EdgeAny, DistanceAny, ActModeReleased,
|
||||
"pkill -9 -f wvkbd-mobintl"},
|
||||
{3, SwipeDU, EdgeAny, DistanceAny, ActModeReleased,
|
||||
"niri msg action toggle-overview"},
|
||||
};
|
||||
2
nixos/homes/kylekrein/lisgd.nix
Normal file
2
nixos/homes/kylekrein/lisgd.nix
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
{ pkgs }:
|
||||
pkgs.lisgd.override { conf = ./lisgd-config.h; }
|
||||
|
|
@ -24,7 +24,9 @@
|
|||
libnotify
|
||||
hyprlock
|
||||
networkmanagerapplet
|
||||
];
|
||||
] ++ lib.optionals (hwconfig.hasTouchscreen) (with pkgs;[
|
||||
wvkbd # https://github.com/jjsullivan5196/wvkbd
|
||||
]);
|
||||
programs.niri = {
|
||||
settings = {
|
||||
outputs = lib.mkIf (hwconfig.hostname == "kylekrein-homepc") {
|
||||
|
|
@ -47,8 +49,14 @@
|
|||
"25%"
|
||||
];
|
||||
};
|
||||
touchscreen-gestures = lib.mkIf (hwconfig.hasTouchscreen) {
|
||||
command = [
|
||||
"${lib.getExe (import ./lisgd.nix { inherit pkgs; })}" #https://git.sr.ht/~mil/lisgd
|
||||
];
|
||||
};
|
||||
in [
|
||||
set-low-brightness
|
||||
touchscreen-gestures
|
||||
{
|
||||
command = [
|
||||
"${lib.getExe pkgs.networkmanagerapplet}"
|
||||
|
|
|
|||
93
nixos/hosts/kylekrein-framework12/default.nix
Normal file
93
nixos/hosts/kylekrein-framework12/default.nix
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
{
|
||||
options,
|
||||
config,
|
||||
pkgs,
|
||||
unstable-pkgs,
|
||||
lib,
|
||||
hwconfig,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
../../hardware/nvidia
|
||||
|
||||
../../modules/niri
|
||||
|
||||
../../modules/libvirt
|
||||
|
||||
../../users/kylekrein
|
||||
(import ../../modules/libvirt/user.nix {username = "kylekrein";})
|
||||
|
||||
../../users/tania
|
||||
];
|
||||
sops.secrets."ssh_keys/${hwconfig.hostname}" = {};
|
||||
facter.reportPath = lib.mkForce null;
|
||||
nixpkgs.overlays = [
|
||||
# Fixes java crash because of bind mount with impermanence when loading too many mods(ex. All The Mods 9)
|
||||
(self: super: {
|
||||
prismlauncher = pkgs.symlinkJoin {
|
||||
name = "prismlauncher";
|
||||
paths = [ super.prismlauncher];
|
||||
buildInputs = [ pkgs.makeWrapper ];
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/prismlauncher --set HOME /persist/home/kylekrein
|
||||
'';
|
||||
};
|
||||
})
|
||||
(self: super: {
|
||||
bottles = pkgs.symlinkJoin {
|
||||
name = "bottles";
|
||||
paths = [ super.bottles];
|
||||
buildInputs = [ pkgs.makeWrapper ];
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/bottles --set HOME /persist/home/kylekrein
|
||||
'';
|
||||
};
|
||||
})
|
||||
];
|
||||
environment.systemPackages = with pkgs; [
|
||||
blender
|
||||
ladybird
|
||||
prismlauncher
|
||||
|
||||
#inputs.nix-gaming.packages.${pkgs.system}.star-citizen
|
||||
];
|
||||
|
||||
zramSwap = {
|
||||
enable = true; # Hopefully? helps with freezing when using swap
|
||||
};
|
||||
services.zerotierone = {
|
||||
enable = true;
|
||||
port = 9994;
|
||||
joinNetworks = [
|
||||
"A84AC5C10AD269CA"
|
||||
"db64858fed285e0f"
|
||||
];
|
||||
};
|
||||
#LLMs
|
||||
services.ollama = {
|
||||
enable = true;
|
||||
loadModels = [ "qwq" "llama3.1" "qwen2.5-coder:7b" ];
|
||||
acceleration = "cuda";
|
||||
home = "/persist/ollama";
|
||||
user = "ollama";
|
||||
group = "ollama";
|
||||
};
|
||||
|
||||
boot.binfmt.emulatedSystems = [ "aarch64-linux" "riscv64-linux" ];
|
||||
|
||||
services.open-webui.enable = true;
|
||||
#services.open-webui.package = unstable-pkgs.open-webui;
|
||||
services.open-webui.openFirewall = false;
|
||||
services.open-webui.host = "0.0.0.0";
|
||||
services.open-webui.stateDir = "/persist/open-webui";
|
||||
systemd.services.open-webui.serviceConfig.User = "ollama";
|
||||
systemd.services.open-webui.serviceConfig.Group = "ollama";
|
||||
systemd.services.open-webui.serviceConfig.DynamicUser = lib.mkForce false;
|
||||
|
||||
#Chat host
|
||||
networking.firewall.allowedTCPPorts = [ 80 443 22 8448 9993 8081] ++ [ config.services.zerotierone.port ];
|
||||
networking.firewall.allowedUDPPorts = [config.services.zerotierone.port];
|
||||
|
||||
systemd.network.wait-online.enable = lib.mkForce false;
|
||||
}
|
||||
|
|
@ -5,6 +5,7 @@ users:
|
|||
ssh_keys:
|
||||
kylekrein-mac: ENC[AES256_GCM,data:Gnh34OQWO6eQfNfyYZsVfvktknmZorQYF+lNMKYvV7XkKjZ3RQNHyJ3UWOX+sVwWdtF7EboXkBPdHvnyLvDVIyv7trxTU5IXQzOI+34AKfPHa828HuOLk0AclCmm6GcNq/X4dKTX5DADG4cE4/V+KtdjvSMtLX7I1cjlfsN7JzcsnjERbK8Q0pTMuA44IUdnh0odH9xFEP/f/hVZZZhc5vrMfAqSx3lQxCF62c0wJaorobsPSM7BTzorVgnMnc3zJRAlgQnCnAe306/6g4hurBteIVeGFhA8gSk1fjZh2fm0opo/lgvHRJOwfpvRWJGEedx7hEpjsDr8BRxeBc2OHaRO5UP+fYh8Qtki8ZeFUjr/psjRRz128Kr0C+NS0AByZtwg54d705uwsnf79jPdM1ewGryCcsxqYWCvT0174cIg3sLdQvPnESbV1zU+QsVskFZwYL+gLtzuAwExPW7cM12M/HS+Eb5xtWvRA46FZ/dnKFwQkUA/VgSi08eC5/EYg8dFBht9hDK+kiLPGHML8A6a3CoiMf0pd+DbdOxA21F0Tw==,iv:oEXxrvWosuiH2wSoSkP7YMwBQu3JKIhn/YeiaTL/UT4=,tag:XgBw2q/6LPWg2zuOC9Wb+w==,type:str]
|
||||
kylekrein-homepc: ENC[AES256_GCM,data:/7b7wHk9jX+2Gel3157KO4YHia+IyEurUic0BX9flNKdsjIyG/3N8lORAkIjwnPlFaN2VqGu6o1pFgW2dzkSAyATQIUeWpqL5rjxsG3mJ9/9TLh58Y7MIpFKx2r8AeUY0xEAhT1A4BCbnDMsneQtM9gBkgPdhhv6vVpe4XJS3n+dGPER/bQxxRbEt260EjxvL1OPf5C7Z7qNVhOzxNdgdJMQvXxyhRGlXRrrHFRdbw0nChStevgBL4+FoMuBFkqF/aJSoapwe8PNxp8z+Hk5Em+BQv/ieFcscESssCK1gSbvfz6MQyX+5ig+Gy+t28yy56/ir44PHwX47IOILzg7lABSvN+Uyt+sRKyBfx124hJjqgXf65YQ/fgknQt0NDKwZyP/gPSLC9HiLKdva/P9nuenfSnlLrGtfugejBAVQBMOP2HTp/ZKtveeKLVIzM7NLeHAw8ul1OL8OlOgyO3vhEkEVagLwtQYHqwoF7+z30TzTtGyDzuhohbhUH36D8BD/LTaPHxnnVIzWq/IBOmAU06U/EvS5x/JJtqMm8aaDFFEYA==,iv:+4umMhsr8s0IuiYuEdhDAOfLjAELEHbFVvWqaVyF2yQ=,tag:eE9gCZ3pC4wDLeMs5cQGZg==,type:str]
|
||||
kylekrein-framework12: ENC[AES256_GCM,data:I9gMFXcLUd4xLUWcrvp2eYcMgkG48dmiRjobnSa2Emtq2dqK/H31KLkTuk6PQvY71YbwG41tdqYsFqKTQTxf7d7toDfnfuXxPUbI2dc2ps2LhpPJb9wTUKRgHtJNwPpMjQ5s7lumG9wltWhT1xMSZvthq1LBcgL4iYYmePLef0TBvExnkRohqn32H64RILhX2VrI8gAWoYU7PglbG3J4tyUH1+zB2t8G8MrEDTMjMIbXmP3tALFiGl/AeSRrvZaCLnm7I3bgkhWJIic2ZXsbEknR5to5jhSI99Tdm4U5R+HyX1LCWr55jxmMdafvdqQlaTeTrv8fu3e4k7rEVkT2XzLnChG3MOUskNLbTcKscHiilCkrFMwp7Qo2EgQIj4VxKqrr0Dp+xj1PPl0q7bTAejR1ijpdOIlpn+PE7A6mBoIMMUcUu2hApe/eWqEUpHs6jKU9r6w+k8+O7IcwHGS1KgAzTAGPjiDZeWVPdUdanC+p4lp6sqjf4+ZaFbinGZfWpCX8pIv3Yzszc4+8j7PTQtX9GkQDVP7HXUyZS+SOH/169A==,iv:dF5+s+26zmoy0fR72P+pvPikshPtqLYewMCrieRJWaQ=,tag:R4/9xHLmOLkDqZnXClSKIA==,type:str]
|
||||
services:
|
||||
conduwuit: ENC[AES256_GCM,data:1shEq67QJTkeqrfYSr/eYG7gYWH//5ey6XQ=,iv:hy5wQmue8qU4ALfn9BrNQLnsTk8BsVVXY/8bDj18mXk=,tag:h6+hL0HjgSzd15Kc7Zg4ng==,type:str]
|
||||
gitlab:
|
||||
|
|
@ -18,10 +19,6 @@ services:
|
|||
activeRecordDeterministicKey: ENC[AES256_GCM,data:pJBZAL60XeCrW7CPx76WcWpsYOwlR4OWmIP/61vNL3k=,iv:t/YmnVFge6kLiQjXD6RKNn7r5Oy1Aeyi3ZIaP57Nhig=,tag:L4aU4h4KdbsSNDpgybaV3g==,type:str]
|
||||
oidcKeyBase: ENC[AES256_GCM,data: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,iv:P8C/7NUd1G/VbKz7iWjTVXxMFOxZQxX5d0V4Tj6KeCw=,tag:iq4s3ahqkmf4e7BffjlIcQ==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
azure_kv: []
|
||||
hc_vault: []
|
||||
age:
|
||||
- recipient: age1l8euy4w4nccrpdmfdfct468parcrulkqcts2jcljajs2as0k7passdv2x4
|
||||
enc: |
|
||||
|
|
@ -32,8 +29,7 @@ sops:
|
|||
M0hSNWNYbGM3a21McUVMaGNqWTdmNTQK3VRFV4EaC8K8AJi2PUt6TeBgueEmPLI8
|
||||
Vdwwbh89+xD5xf4Zm0LctPRlxxM6diubv0gIZZPy/ZXZfiU32ZnM0w==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-05-22T17:54:01Z"
|
||||
mac: ENC[AES256_GCM,data:Mh3pp3IQ+dqFaHY5ppptAS5Rgxhgq2V01/hbV+OPseh7kkHSoq78BEDD7O5W7XNW3EHFZO2T1snvmIfdCfMfI4fOovf54a/2H24C3DALf/CfNEPEPQ2kH6SXgfxGWq9tUnZrwPcaUgbAfbVF9TIjhByDSrMYrnBNOxZh9w0AkzE=,iv:WkUIlqW3IV5il4KYv7o/Vm/g4xrE68koxzx0MTayTbc=,tag:qwLOm137Z2xBqlxZLoE1tw==,type:str]
|
||||
pgp: []
|
||||
lastmodified: "2025-07-13T17:05:12Z"
|
||||
mac: ENC[AES256_GCM,data:hRjaoAb6ggQsrhMK5gDkVSqeKV2Mb2Yrmj8WuPM++UhHzCKVG3mE+uK2teTdbzpaU5+so2SJZuUvYRXVf8cK+2/NGz0ACkiWZ+DF0vbp/A0xW7NPZKhh1Uh3Q64ypKqDR4SsVpjn51FVl02/6k3yxi9bYnVzfdZkr6El3n8kzuE=,iv:I0frhCxpQW+tsPVFgOR/svmdrFpG3RXlSBN4OTO8mBw=,tag:4bY5wPuPMrgSkYW66TgAvA==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.9.4
|
||||
version: 3.10.2
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ in {
|
|||
openssh.authorizedKeys.keys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGMt3PWVvmEL6a0HHTsxL4KMq1UGKFdzgX5iIkm6owGQ kylekrein@kylekrein-mac"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFDdxZ5OyGcfD1JwEa4RWw86HWZ2dKFR0syrRckl7EvG kylekrein@kylekrein-homepc"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA85Vz5ve3aDzgPbnKH6I4FaJQpcu1nRDR+/kBZiQsuZ kylekrein@kylekrein-framework12"
|
||||
];
|
||||
};
|
||||
sops.secrets = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue