Merge pull request #458 from DarkKirb/devterm

WIP: add devterm
This commit is contained in:
Charlotte 🦝 Delenk 2024-07-01 21:44:33 +02:00 committed by GitHub
commit 52e806572a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
30 changed files with 930 additions and 208 deletions

View file

@ -6,6 +6,7 @@ keys:
- &instance-20221213-1915 age1elra3uklw8rmwkevqms2l4tsd06d5utqda9d2w4qvqpz898uzuesugxkhc
- &vf2 age1gtezxkkfhpkv788x9dek6s6s342n9tkl40zvsa48m9a7yqn25fnsmd3wy0
- &rainbow-resort age19vzypddhexvvsf8xylstxc9znnkd8rxmamhjlt7elvz4j3zaf5tqqura6f
- &devterm age1sqvl2cwvzeztuelpwppaestqufzeap8uf0vgy7t5mzr9rwc3dpxqhx8ly9
creation_rules:
- path_regex: secrets/shared\.yaml$
key_groups:
@ -17,6 +18,7 @@ creation_rules:
- *vf2
- *rainbow-resort
- *lotte
- *devterm
- path_regex: secrets/nixos-8gb-fsn1-1\.yaml$
key_groups:
- age:
@ -42,6 +44,7 @@ creation_rules:
- *thinkrac
- *rainbow-resort
- *lotte
- *devterm
- path_regex: secrets/instance-20221213-1915\.yaml$
key_groups:
- age:
@ -57,6 +60,11 @@ creation_rules:
- age:
- *rainbow-resort
- *lotte
- path_regex: secrets/devterm\.yaml$
key_groups:
- age:
- *devterm
- *lotte
- path_regex: secrets/kubernetes\.yaml$
key_groups:
- age:

View file

@ -13,15 +13,20 @@
fi
'';
in {
imports = [
./services/pipewire.nix
./desktop-secrets.nix
./services/cups.nix
./services/docker.nix
./services/cifs.nix
./programs/virtualbox.nix
./kde.nix
];
imports =
[
./services/pipewire.nix
./desktop-secrets.nix
./services/cups.nix
./services/docker.nix
./services/cifs.nix
./kde.nix
]
++ (
if system == "x86_64-linux"
then [./programs/virtualbox.nix]
else []
);
fonts = {
fontDir.enable = true;
fontconfig = {

103
config/devterm.nix Normal file
View file

@ -0,0 +1,103 @@
{
nixos-hardware,
config,
lib,
pkgs,
...
}: {
boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux-devterm;
networking.hostName = "devterm";
imports = [
./desktop.nix
];
boot.loader = {
grub.enable = lib.mkDefault false;
generic-extlinux-compatible.enable = lib.mkDefault true;
};
boot.initrd = {
includeDefaultModules = false;
availableKernelModules = [
"usbhid"
"usb_storage"
"vc4"
"pcie_brcmstb" # required for the pcie bus to work
"reset-raspberrypi" # required for vl805 firmware to load
"mmc_block"
"usbhid"
"hid_generic"
"panel_cwd686"
"ocp8178_bl"
"ti_adc081c"
];
};
console.enable = false;
environment.systemPackages = with pkgs; [
libraspberrypi
raspberrypi-eeprom
];
system.stateVersion = "24.05";
fileSystems."/" = {
device = "/dev/mmcblk0p2";
fsType = "btrfs";
options = ["compress=zstd"];
};
fileSystems."/boot" = {
device = "/dev/mmcblk0p1";
fsType = "vfat";
};
security.pam = {
services.login.u2fAuth = lib.mkForce false;
services.swaylock.u2fAuth = lib.mkForce false;
u2f.enable = lib.mkForce false;
services.sddm.u2fAuth = lib.mkForce false;
};
console.keyMap = lib.mkForce "us";
services.xserver.layout = lib.mkForce "us";
services.xserver.xkbVariant = lib.mkForce "";
services.displayManager.sddm = {
autoLogin.enable = true;
autoLogin.user = "darkkirb";
};
networking.networkmanager.enable = true;
users.users.darkkirb.extraGroups = ["networkmanager"];
hardware.deviceTree.overlays = [
{
name = "dwc2";
dtsFile = ./devterm/dwc2-overlay.dts;
}
{
name = "cma";
dtsFile = ./devterm/cma-overlay.dts;
}
{
name = "vc4-kms-v3d-pi4";
dtsFile = ./devterm/vc4-kms-v3d-pi4-overlay.dts;
}
{
name = "devterm-pmu";
dtsFile = ./devterm/devterm-pmu-overlay.dts;
}
{
name = "devterm-panel";
dtsFile = ./devterm/devterm-panel-overlay.dts;
}
{
name = "devterm-misc";
dtsFile = ./devterm/devterm-misc-overlay.dts;
}
{
name = "audremap";
dtsFile = ./devterm/audremap-overlay.dts;
}
{
name = "spi";
dtsFile = ./devterm/spi0-overlay.dts;
}
{
name = "devterm-overlay";
dtsFile = ./devterm/devterm-overlay.dts;
}
];
hardware.enableRedistributableFirmware = true;
}

View file

@ -0,0 +1,23 @@
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2711";
fragment@0 {
target = <&audio_pins>;
__overlay__ {
status = "okay";
};
};
fragment@1 {
target = <&audio_pins>;
__overlay__ {
brcm,pins = < 12 13 >;
brcm,function = < 4 >; /* alt0 alt0 */
};
};
};

View file

@ -0,0 +1,14 @@
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2711";
fragment@0 {
target = <&cma>;
__overlay__ {
size = <(384 * 1024 * 1024)>;
};
};
};

View file

@ -0,0 +1,80 @@
/dts-v1/;
/plugin/;
/{
compatible = "brcm,bcm2711";
fragment@0 {
target = <&i2c1>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;
status = "okay";
adc101c: adc@54 {
reg = <0x54>;
compatible = "ti,adc101c";
status = "okay";
};
};
};
fragment@1 {
target = <&spi4>;
__overlay__ {
pinctrl-names = "default";
pinctrl-0 = <&spi4_pins &spi4_cs_pins>;
cs-gpios = <&gpio 4 1>;
status = "okay";
spidev4_0: spidev@0 {
compatible = "spidev";
reg = <0>; /* CE0 */
#address-cells = <1>;
#size-cells = <0>;
spi-max-frequency = <125000000>;
status = "okay";
};
};
};
fragment@2 {
target = <&uart1>;
__overlay__ {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins>;
status = "okay";
};
};
fragment@3 {
target = <&gpio>;
__overlay__ {
i2c1_pins: i2c1 {
brcm,pins = <44 45>;
brcm,function = <6>;
};
spi4_pins: spi4_pins {
brcm,pins = <6 7>;
brcm,function = <7>;
};
spi4_cs_pins: spi0_cs_pins {
brcm,pins = <4>;
brcm,function = <1>;
};
uart1_pins: uart1_pins {
brcm,pins = <14 15>;
brcm,function = <2>;
brcm,pull = <0 2>;
};
};
};
};

View file

@ -0,0 +1,130 @@
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2711";
fragment@0 {
target = <&dma40>;
__overlay__ {
dma-channel-mask = <0x3000>;
};
};
fragment@1 {
target = <&hdmi0>;
__overlay__ {
status = "okay";
};
};
fragment@2 {
target = <&uart0_pins>;
__overlay__ {
brcm,pull = <0x02 0x00 0x00 0x02>;
brcm,pins = <0x1e 0x1f 0x20 0x21>;
};
};
fragment@3 {
target = <&dvp>;
__overlay__ {
status = "okay";
};
};
fragment@4 {
target = <&pixelvalve4>;
__overlay__ {
status = "okay";
};
};
fragment@5 {
target = <&ddc1>;
__overlay__ {
status = "okay";
};
};
fragment@6 {
target = <&txp>;
__overlay__ {
status = "okay";
};
};
fragment@7 {
target = <&hvs>;
__overlay__ {
status = "okay";
};
};
fragment@8 {
target = <&pixelvalve3>;
__overlay__ {
status = "okay";
};
};
fragment@9 {
target = <&spi4>;
__overlay__ {
pinctrl-0 = <0xf0 0xf1>;
};
};
fragment@10 {
target = <&pixelvalve2>;
__overlay__ {
status = "okay";
};
};
fragment@11 {
target = <&uart1>;
__overlay__ {
pinctrl-0 = <0xf2>;
status = "disabled";
};
};
fragment@12 {
target = <&pixelvalve1>;
__overlay__ {
status = "okay";
};
};
fragment@13 {
target = <&hdmi1>;
__overlay__ {
status = "okay";
};
};
fragment@14 {
target = <&spi4>;
__overlay__ {
status = "okay";
};
};
fragment@15 {
target = <&ddc0>;
__overlay__ {
status = "okay";
};
};
fragment@16 {
target = <&aon_intr>;
__overlay__ {
status = "okay";
};
};
fragment@17 {
target = <&pixelvalve0>;
__overlay__ {
status = "okay";
};
};
fragment@18 {
target = <&audio>;
__overlay__ {
brcm,disable-headphones = <0x00>;
status = "okay";
bcrm,disable-hdmi;
};
};
fragment@19 {
target-path = "/chosen";
__overlay__ {
bootargs = "coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 8250.nr_uarts=0 smsc95xx.macaddr=E4:5F:01:E4:FE:2D vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 8250.nr_uarts=1";
};
};
};

View file

@ -0,0 +1,47 @@
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2711";
fragment@0 {
target=<&dsi1>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
port {
dsi_out_port: endpoint {
remote-endpoint = <&panel_dsi_port>;
};
};
panel_cwd686: panel@0 {
compatible = "cw,cwd686";
reg = <0>;
reset-gpio = <&gpio 8 1>;
backlight = <&ocp8178_backlight>;
rotation = <0x5a>;
port {
panel_dsi_port: endpoint {
remote-endpoint = <&dsi_out_port>;
};
};
};
};
};
fragment@1 {
target-path = "/";
__overlay__ {
ocp8178_backlight: backlight@0 {
compatible = "ocp8178-backlight";
backlight-control-gpios = <&gpio 9 0>;
default-brightness = <5>;
};
};
};
};

View file

@ -0,0 +1,104 @@
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2711";
fragment@0 {
target = <&i2c0if>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-0 = <&i2c0_pins>;
pinctrl-names = "default";
status = "okay";
axp22x: pmic@34 {
interrupt-controller;
#interrupt-cells = <1>;
compatible = "x-powers,axp223";
reg = <0x34>; /* i2c address */
interrupt-parent = <&gpio>;
interrupts = <2 8>; /* IRQ_TYPE_EDGE_FALLING */
irq-gpios = <&gpio 2 0>;
regulators {
x-powers,dcdc-freq = <3000>;
reg_aldo1: aldo1 {
regulator-always-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "audio-vdd";
};
reg_aldo2: aldo2 {
regulator-always-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "display-vcc";
};
reg_dldo2: dldo2 {
regulator-always-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "dldo2";
};
reg_dldo3: dldo3 {
regulator-always-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "dldo3";
};
reg_dldo4: dldo4 {
regulator-always-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "dldo4";
};
};
battery_power_supply: battery-power-supply {
compatible = "x-powers,axp221-battery-power-supply";
monitored-battery = <&battery>;
};
ac_power_supply: ac_power_supply {
compatible = "x-powers,axp221-ac-power-supply";
};
};
};
};
fragment@1 {
target = <&i2c0if>;
__overlay__ {
compatible = "brcm,bcm2708-i2c";
};
};
fragment@2 {
target-path = "/aliases";
__overlay__ {
i2c0 = "/soc/i2c@7e205000";
};
};
fragment@3 {
target-path = "/";
__overlay__ {
battery: battery@0 {
compatible = "simple-battery";
constant-charge-current-max-microamp = <2100000>;
voltage-min-design-microvolt = <3300000>;
};
};
};
};

View file

@ -0,0 +1,22 @@
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2711";
fragment@0 {
target = <&usb>;
#address-cells = <0x01>;
#size-cells = <0x01>;
__overlay__ {
compatible = "brcm,bcm2835-usb";
dr_mode = "host";
g-np-tx-fifo-size = <0x20>;
g-rx-fifo-size = <0x22e>;
g-tx-fifo-size = <0x200 0x200 0x200 0x200 0x200 0x100 0x100>;
status = "okay";
phandle = <0x01>;
};
};
};

View file

@ -0,0 +1,11 @@
/dts-v1/;
/plugin/;
/ {
compatible = "bcrm,bcm2711";
fragment@0 {
target = <&spi>;
__overlay__ {
status = "okay";
};
};
};

View file

@ -0,0 +1,35 @@
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2711";
fragment@1 {
target = <&fb>;
__overlay__ {
status = "disabled";
};
};
fragment@2 {
target = <&firmwarekms>;
__overlay__ {
status = "disabled";
};
};
fragment@3 {
target = <&v3d>;
__overlay__ {
status = "okay";
};
};
fragment@4 {
target = <&vc4>;
__overlay__ {
status = "okay";
};
};
};

View file

@ -2,6 +2,7 @@ args: {
pkgs,
nixpkgs,
nix-gaming,
system,
...
}: let
wine = nix-gaming.packages.x86_64-linux.wine-ge.overrideAttrs (super: {
@ -19,11 +20,18 @@ args: {
];
});
in {
home.packages = [
pkgs.xivlauncher
pkgs.prismlauncher
pkgs.mgba
wine
nix-gaming.packages.x86_64-linux.osu-lazer-bin
];
home.packages =
[
pkgs.prismlauncher
pkgs.mgba
]
++ (
if system == "x86_64-linux"
then [
pkgs.xivlauncher
nix-gaming.packages.x86_64-linux.osu-lazer-bin
wine
]
else []
);
}

View file

@ -4,7 +4,6 @@
...
}: {
programs.firefox = {
package = firefox.packages.${pkgs.system}.firefox-nightly-bin;
enable = true;
profiles = {
unhardened = {

View file

@ -1,9 +1,20 @@
{pkgs, ...}: {
home.packages = with pkgs; [
(element-desktop.override (_: {
electron = pkgs.electron-bin;
}))
twinkle
discord
];
{
system,
pkgs,
...
}: {
home.packages = with pkgs;
[
(element-desktop.override (_: {
electron = pkgs.electron-bin;
}))
twinkle
]
++ (
if system == "x86_64-linux"
then [
pkgs.discord
]
else []
);
}

View file

@ -1,6 +1,5 @@
{pkgs, ...}: {
programs.thunderbird = {
package = pkgs.thunderbird-bin;
enable = true;
profiles.main = {
withExternalGnupg = true;

View file

@ -6,7 +6,7 @@
x86_64-linux-pkgs = import nixpkgs {system = "x86_64-linux";};
in {
home.packages = with pkgs; [
anki-bin
anki
mdcat
gimp
krita

View file

@ -1,4 +1,4 @@
{
virtualisation.virtualbox.host.enable = true;
users.extraGroups.vboxusers.members = ["user-with-access-to-virtualbox"];
users.extraGroups.vboxusers.members = ["darkkirb"];
}

View file

@ -280,38 +280,6 @@
"type": "github"
}
},
"firefox": {
"inputs": {
"cachix": [
"nixpkgs"
],
"flake-compat": [
"flake-compat"
],
"lib-aggregate": [
"lib-aggregate"
],
"mozilla": [
"mozilla"
],
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1719750385,
"narHash": "sha256-AEXF+QxsnGmrwqURcH4KqcTXFOTRnfblKr6gxcaWg4A=",
"owner": "nix-community",
"repo": "flake-firefox-nightly",
"rev": "a6d3430728df1867fd50a10c832547b90e623f2e",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "flake-firefox-nightly",
"type": "github"
}
},
"flake-compat": {
"locked": {
"lastModified": 1696426674,
@ -624,21 +592,6 @@
"type": "github"
}
},
"mozilla": {
"locked": {
"lastModified": 1704373101,
"narHash": "sha256-+gi59LRWRQmwROrmE1E2b3mtocwueCQqZ60CwLG+gbg=",
"owner": "mozilla",
"repo": "nixpkgs-mozilla",
"rev": "9b11a87c0cc54e308fa83aac5b4ee1816d5418a2",
"type": "github"
},
"original": {
"owner": "mozilla",
"repo": "nixpkgs-mozilla",
"type": "github"
}
},
"naersk": {
"inputs": {
"nixpkgs": [
@ -825,7 +778,6 @@
"devshell": "devshell",
"dns": "dns",
"element-web": "element-web",
"firefox": "firefox",
"flake-compat": "flake-compat_4",
"flake-parts": "flake-parts",
"flake-utils": "flake-utils_2",
@ -836,7 +788,6 @@
"lib-aggregate": "lib-aggregate",
"matrix-js-sdk": "matrix-js-sdk",
"matrix-react-sdk": "matrix-react-sdk",
"mozilla": "mozilla",
"naersk": "naersk",
"nix-gaming": "nix-gaming",
"nix-neovim": "nix-neovim",

152
flake.nix
View file

@ -69,14 +69,6 @@ rec {
inputs.devshell.follows = "devshell";
inputs.flake-compat.follows = "flake-compat";
};
firefox = {
url = "github:nix-community/flake-firefox-nightly";
inputs.cachix.follows = "nixpkgs";
inputs.flake-compat.follows = "flake-compat";
inputs.lib-aggregate.follows = "lib-aggregate";
inputs.mozilla.follows = "mozilla";
inputs.nixpkgs.follows = "nixpkgs";
};
flake-compat = {
url = "github:edolstra/flake-compat";
flake = false;
@ -125,7 +117,6 @@ rec {
inputs.devshell.follows = "devshell";
inputs.flake-compat.follows = "flake-compat";
};
mozilla.url = "github:mozilla/nixpkgs-mozilla";
naersk = {
url = "github:nix-community/naersk/master";
inputs.nixpkgs.follows = "nixpkgs";
@ -191,6 +182,10 @@ rec {
name = "rainbow-resort"; # PC
system = "x86_64-linux";
}
{
name = "devterm";
system = "aarch64-linux";
}
];
mkPackages = system: let
pkgs = import nixpkgs {
@ -201,74 +196,81 @@ rec {
];
config.allowUnfree = true;
};
in {
neovim-base = args.nix-neovim.buildNeovim {
inherit pkgs;
configuration = import ./config/programs/vim/configuration.nix false;
common = {
neovim-base = args.nix-neovim.buildNeovim {
inherit pkgs;
configuration = import ./config/programs/vim/configuration.nix false;
};
neovim = args.nix-neovim.buildNeovim {
inherit pkgs;
configuration = import ./config/programs/vim/configuration.nix true;
};
inherit
(pkgs)
emoji-lotte
emoji-volpeon-blobfox
emoji-volpeon-blobfox-flip
emoji-volpeon-bunhd
emoji-volpeon-bunhd-flip
emoji-volpeon-drgn
emoji-volpeon-fox
emoji-volpeon-gphn
emoji-volpeon-raccoon
emoji-volpeon-vlpn
emoji-volpeon-neofox
emoji-volpeon-neocat
emoji-volpeon-floof
emoji-rosaflags
emoji-raccoon
emoji-caro
lotte-art
alco-sans
constructium
fairfax
fairfax-hd
kreative-square
nasin-nanpa
matrix-media-repo
mautrix-discord
mautrix-whatsapp
mautrix-telegram
python-mautrix
python-tulir-telethon
papermc
python-plover-stroke
python-rtf-tokenize
plover
plover-plugins-manager
python-simplefuzzyset
plover-plugin-emoji
plover-plugin-tapey-tape
plover-plugin-yaml-dictionary
plover-plugin-machine-hid
plover-plugin-rkb1-hid
plover-plugin-dotool-output
plover-dict-didoesdigital
miifox-net
old-homepage
plover-plugin-python-dictionary
plover-plugin-stenotype-extended
asar-asm
bsnes-plus
sliding-sync
yiffstash
plover-plugin-dict-commands
plover-plugin-last-translation
plover-plugin-modal-dictionary
plover-plugin-stitching
plover-plugin-lapwing-aio
;
};
neovim = args.nix-neovim.buildNeovim {
inherit pkgs;
configuration = import ./config/programs/vim/configuration.nix true;
perSystem = {
aarch64-linux = {
inherit (pkgs) linux-devterm;
};
};
inherit
(pkgs)
emoji-lotte
emoji-volpeon-blobfox
emoji-volpeon-blobfox-flip
emoji-volpeon-bunhd
emoji-volpeon-bunhd-flip
emoji-volpeon-drgn
emoji-volpeon-fox
emoji-volpeon-gphn
emoji-volpeon-raccoon
emoji-volpeon-vlpn
emoji-volpeon-neofox
emoji-volpeon-neocat
emoji-volpeon-floof
emoji-rosaflags
emoji-raccoon
emoji-caro
lotte-art
alco-sans
constructium
fairfax
fairfax-hd
kreative-square
nasin-nanpa
matrix-media-repo
mautrix-discord
mautrix-whatsapp
mautrix-telegram
python-mautrix
python-tulir-telethon
papermc
python-plover-stroke
python-rtf-tokenize
plover
plover-plugins-manager
python-simplefuzzyset
plover-plugin-emoji
plover-plugin-tapey-tape
plover-plugin-yaml-dictionary
plover-plugin-machine-hid
plover-plugin-rkb1-hid
plover-plugin-dotool-output
plover-dict-didoesdigital
miifox-net
old-homepage
plover-plugin-python-dictionary
plover-plugin-stenotype-extended
asar-asm
bsnes-plus
sliding-sync
yiffstash
plover-plugin-dict-commands
plover-plugin-last-translation
plover-plugin-modal-dictionary
plover-plugin-stitching
plover-plugin-lapwing-aio
;
};
in
common // perSystem.${system} or {};
in rec {
nixosConfigurations = builtins.listToAttrs (map
({

View file

@ -1,7 +1,6 @@
inputs: system: self: prev: let
inherit (inputs) nixpkgs element-web;
in
with nixpkgs.legacyPackages.${system}; {
common = with nixpkgs.legacyPackages.${system}; {
fcitx5-table-extra = prev.fcitx5-table-extra.overrideAttrs (super: {
patches =
super.patches
@ -66,4 +65,11 @@ in
sliding-sync = self.callPackage ../packages/matrix/sliding-sync {};
yiffstash = self.python3Packages.callPackage ../packages/python/yiffstash.nix {};
element-web = element-web.packages.${system}.element-web;
}
};
perSystem = {
aarch64-linux = {
linux-devterm = self.callPackage ../packages/linux/devterm/kernel.nix {};
};
};
in
common // perSystem.${system} or {}

View file

@ -0,0 +1,12 @@
{
"url": "https://github.com/clockworkpi/DevTerm.git",
"rev": "9a0598e0877f4bdca207074b2c0e7cb229d290f0",
"date": "2024-06-10T08:02:03-07:00",
"path": "/nix/store/nwfg32dz37g5dmnd5xvcsmp9wh7jq0qq-DevTerm",
"sha256": "1461vicaqnnvfczgxzvq8chkcjk2l178n668dixyx6kfp7rf0b31",
"hash": "sha256-YSzg8rlumu57bMgYi06gYko2IUN4//4+c9tarFjcwZA=",
"fetchLFS": false,
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
}

View file

@ -0,0 +1,8 @@
{fetchFromGitHub}: let
source = builtins.fromJSON (builtins.readFile ./devterm.json);
in
fetchFromGitHub {
owner = "clockworkpi";
repo = "DevTerm";
inherit (source) rev sha256;
}

View file

@ -0,0 +1,8 @@
{fetchFromGitHub}: let
source = builtins.fromJSON (builtins.readFile ./kernel.json);
in
fetchFromGitHub {
owner = "raspberrypi";
repo = "linux";
inherit (source) rev sha256;
}

View file

@ -0,0 +1,12 @@
{
"url": "https://github.com/raspberrypi/linux",
"rev": "3a33f11c48572b9dd0fecac164b3990fc9234da8",
"date": "2021-04-29T20:34:42+01:00",
"path": "/nix/store/g3cawyxkjchyhz4860d92ql0p6hj2gvj-linux-3a33f11",
"sha256": "154aicn2cd4a6kpnifcb899px6jijg2abavjm3y4w5lfwpipmqck",
"hash": "sha256-k+F64+WOFk78qHKrpcSTUZp+U0KLuWjvNIo0JiyLipQ=",
"fetchLFS": false,
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
}

View file

@ -0,0 +1,42 @@
{
callPackage,
buildLinux,
lib,
...
} @ args: let
devterm = callPackage ./devterm.nix {};
in
buildLinux (
args
// {
src = callPackage ./kernel-source.nix {};
version = "5.10.17-v8";
defconfig = "bcm2711_defconfig";
kernelPatches = [
{
name = "devterm";
patch = "${devterm}/Code/patch/cm4/cm4_kernel_0704.patch";
extraStructuredConfig = with lib.kernel; {
AXP20X_ADC = module;
AXP20X_POWER = module;
BATTERY_AXP20X = module;
CHARGER_AXP20X = module;
INPUT_AXP20X_PEK = yes;
MFD_AXP20X = yes;
MFD_AXP20X_I2C = yes;
REGULATOR_AXP20X = yes;
BACKLIGHT_OCP8178 = module;
DRM_PANEL_CWD686 = module;
TI_ADC081C = module;
I2C_BCM2835 = yes;
FW_LOADER_COMPRESS = yes;
};
}
{
name = "subcmd-util";
patch = ./subcmd-util.patch;
extraConfig = "";
}
];
}
)

View file

@ -0,0 +1,29 @@
---
tools/lib/subcmd/subcmd-util.h | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/tools/lib/subcmd/subcmd-util.h b/tools/lib/subcmd/subcmd-util.h
index 794a375dad36..7009fc176636 100644
--- a/tools/lib/subcmd/subcmd-util.h
+++ b/tools/lib/subcmd/subcmd-util.h
@@ -49,13 +49,12 @@ static NORETURN inline void die(const char *err, ...)
static inline void *xrealloc(void *ptr, size_t size)
{
- void *ret = realloc(ptr, size);
- if (!ret && !size)
- ret = realloc(ptr, 1);
+ void *ret;
+ if (!size)
+ size = 1;
+ ret = realloc(ptr, size);
if (!ret) {
ret = realloc(ptr, size);
- if (!ret && !size)
- ret = realloc(ptr, 1);
if (!ret)
die("Out of memory, realloc failed");
}
--
2.34.1

View file

@ -12,29 +12,38 @@ sops:
- recipient: age1p400545a482fma40yfgytu40p6wr5a75v4f8yeudvgf7eh5erufqxhgynr
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjKzdQYXBVR2lzRHBwaVk3
UnJhVGliZ3A1ZGROTW8zaVlla24zek4rdWl3CkNDb0RndzdHQVlFaVk4bjN2Qkxq
b2hyVnErRS9kSXdReTIxMDZWWlRHUzQKLS0tIFcxK0loZ0pRM243UU9ubnMvQmxR
UXozZU5IRGxuMVJhNklQZ2w5ZkdNd2MKVJ22GAy1r4gj52J6b0L3IBTMKeAUPwSB
RUmqcmlPE5TrIGQRqCyU19RwYQtUeyM+3mX+Hbivt40GNeUhU2E7ew==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1aDJYNjlkMGQ3MlhPSkhp
eSt0N1k3NkgyamRkS1dpemRhWG4xek5TaGhZCkdVbjBKL3FPVWRMYTVXS3Rob2ZP
S1JkbDBFcU9ZdFFoTGk0R1VlZUV1YjQKLS0tIDY3SjlvY0RPUnBleUtZTnovcGxB
RDJ2TnVtdU53MndsYnZNRmVNWDVmQXcKysyED4sFrDhcjHQSX3RVBkGgEb/KjWCv
JmRuDr+MNz0mZCTPAnuig7lbrIVQZHD1ytpxvRtIT7wpcPbDArjBmQ==
-----END AGE ENCRYPTED FILE-----
- recipient: age19vzypddhexvvsf8xylstxc9znnkd8rxmamhjlt7elvz4j3zaf5tqqura6f
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJcFNUMHZJVVRwWjF6QVor
ZUtXUk0ySUtnMGJxdXVWUkFZYnMxNkExNjBNCkVTelc5ZWFoZ09BOVZXaDFONTUv
WVBxdmJVaDRQeTJGbkJmaTF5eVVQU3MKLS0tIFEvaHNqOXBDMWdUcitWRXhhZCtx
RHVwNUh1SStkUFg4TjRscnY3Zkx3TUUKEwLP27A2UGCO1GP3khU1h6wD+ztKyeUX
Yb3Zz1xuVR5rAuBmE9xKt7XeUa3HCqTUOiwJ8hCr8k/KlJBuileoJQ==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkTE9uS1FHWnJZNTF6R2ZC
Nkpha21rSE81b0cvTm0rUEljVUdTMkVFTkZzCm1jNmp6bmhtNWFORWVYUU96QWV3
My8xODlzbTB0MDRBVWk2OXh3VTI4elUKLS0tIDg3eXFxeXVucUpLb3hwbTZsY2lW
Z0NqZ1o3M204MkpaRTNmSzh2RFBMQ0UKZBoPipX54LhsWF61W81mkibvFhHIb71e
bgZaABbmZFtTfF/McjfF4s8dpbjH+XvTXnNCB07+wA6ODNhUSChmww==
-----END AGE ENCRYPTED FILE-----
- recipient: age1tltjgexkp5fz3rum4j0k66ty5q4u8ptvkgkepumd20zal24g2qfs5xgw76
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0eDI5QlVVQy9CZzBpTDky
VWpQRUFjSW9pcmFhR3I0ZkxlYVlKSXNYc2s0CjBkMkwvTlUrdDY0RkxGNTFEckJn
VS92MnFkeXJyTFR5aUdDVU9JY3g2TGMKLS0tIE03UTYwVWl5Y1dMMDR5VS9YUmpL
WDNjTEltRmJKTzJ3ZXRHS21lQnhITW8Kbn8TP6J3RN843VPlt4n7K/yAUgfaPeLs
jeMXKn+tUklmli48OqY/rRudXwIFyb4qgOBKr3w9/Ue6+tz8Ex5oFw==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqdCtuSTJQa3F6UnVFU0Ro
Q1Y1Q3hxYWZ5dCtIampFWGFxVURWcTRSZ1gwCkx5UVIwUFNzVWQwTzg4Y3hYOWVB
RkxCcE1ZUk03WDl0YTFTMWltNE9sa2cKLS0tIDFpSjZpUlBSWjJ2alRna1VkaXcw
WEF6VE40cENlWjFyRWdvVGFmYURtcWcKACr1xh6SPEB2imBb/2ZKkTB1X9GLbs45
fqzIIaptedW3Wj/ICFZtF6sd3Q+aU2EddPp/l7PCrIU8KvJr0rrV2A==
-----END AGE ENCRYPTED FILE-----
- recipient: age1sqvl2cwvzeztuelpwppaestqufzeap8uf0vgy7t5mzr9rwc3dpxqhx8ly9
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvSmVxMUxwUWlIVjVxTXAy
RFZhMWxMeWIxNVVkVVhKbFpCeVJCdEticURRClc5WFJNQm9DVStzK2FZaFZlUmdH
THF3YW14ZDNVQnhiN2pyUDdRTnJQRWcKLS0tIFJSSGswUG5veURiK2pNMFFsTUtO
VWZBbk5xWHNjUnJQTTV1aDZTUW9WVjgKKJczSJNcsaaQjHpYQ/Ocey6AM9Zt7nBe
dFP/wN/l6YPhnKy6Rl0XJim41w4YOJknKcjOedIBnacFnnnjBS+oLQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-03-19T08:50:22Z"
mac: ENC[AES256_GCM,data:04UhuuQk7vPhjiBxlizLO8ttnn2iIQdn5jhbU/fSup+qFOkY8wwWgwHQwNpcaCI7tl26KAi9UCczckAMOBO7woJZ4yKY6NHFMAI2kDwr83c8xFqAtSNZ3BTf7SZGI+UcUm7iZS12MIbwFdDinsFD3L3H+cW7wz2Z51sRIcL/TYE=,iv:6aDY223rwCPNK5AKQhkQ/y7hsXbq9y8hBNztNeeq1fw=,tag:ksdpeuCOMth0E2kaKbfv3g==,type:str]

35
secrets/devterm.yaml Normal file
View file

@ -0,0 +1,35 @@
email:
lotte@chir.rs: ENC[AES256_GCM,data:g2+amJkqJ0NdkbINffz5OKTRKQ==,iv:z0qPNdq08I8TFef3qsWIa+7DV5/XpljOMiaCRuNMgVk=,tag:pSiRCLITD5anTu2I9rNdfw==,type:str]
mdelenk@hs-mittweida.de: ENC[AES256_GCM,data:nCTMUQRrHeDxZ7wBUTzYKoOBBZDzsEPGtBDcN8cwnDyq0e53lV9qZB1fgf7oAbqvgJA66iYo+D6xDfjL9tn0Ig==,iv:NWb1g/7MR1RVZtyn/6D/ikoGWo1fBh8KSNSev+GbyX0=,tag:7cyvHTO3ibzAAm7umkZ6sw==,type:str]
password:
root: ENC[AES256_GCM,data:iqe4ZXY8eAESm+Hnb418tWUF1Zj/uFZkr4R8a0hCXcynZjY4zzxMqiO+pTg/RPZT6LIwtd9wSuAF6Ir2BjmRiPx+dQnKOxIYwIB847GbD+PhIviAy4da3jle6KYA3goj0XXULU9KxVhx4g==,iv:CdEBYaAiiA0kKawaiek9uhwLKE5EtNoOoKdwbjJiYe8=,tag:8Fk5BEfWzPzLqyqN7okGMA==,type:str]
darkkirb: ENC[AES256_GCM,data:T7YfuKVDSsH1WFre2cwr478jviwjhefRc5n4ks6zZ35/uZgPEEz3cEtl0zNGAb5yVpAiS/rZj+meTDiDh+iDhtuNpOVmUzoxIvhgH6EXb5Pm7TN9K3oC0ruww0dQt5T24OSxKHEkdxY/qQ==,iv:Z4n80AoueAhZkuHn3/fuqEMP+dq7CTW/IZHDT5lmQ3k=,tag:lGfsZpJ8d22EWfQysDp+xw==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1sqvl2cwvzeztuelpwppaestqufzeap8uf0vgy7t5mzr9rwc3dpxqhx8ly9
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBabHhLKzRZK3YwcUJ4cFMr
MTRkVlFmSFlzRGEzeHVtT1V1dDJHU1d6d2lVClZrbVkzU01IYWVYamtBb0JSZXY0
QVQxYUpaSXdzL1hnU2VwZlJubXhpVUkKLS0tIHhkVWNiMjdWU1NQVFJseEN2aEFE
a1VDU1hsNUhxNDhOUmpTSG5xSENkZUUKevN8YMKj6dk3BB5od0atvZNLUSVBKM0/
A0DdaXLIfVV+72gGa82RDcWGMVg8QmMrVzjtt6NotVcUx97Xx6/Ieg==
-----END AGE ENCRYPTED FILE-----
- recipient: age1tltjgexkp5fz3rum4j0k66ty5q4u8ptvkgkepumd20zal24g2qfs5xgw76
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6SWZyY2NKSGFXSm5qN3Vt
T0NnMFJVQ2VtZjdEazZCdEswckFmeEcxU1ZZCllaZVh6QjRrQi9iWldsVVdZWVR1
OG8xQlFIN2tOOVBwcFVENmFtYmE0S0kKLS0tIGZVN2w5YlVaUXpIZHpnQnY4NWVr
cDBlUXpKR3VnMXE4Wm5XZTMwV3IxTTQKC1nRGz0RiUxSYbqf7iVH46UenyNcGyyy
jDWGgKjZv+PS6uJjLGp6GML53vMBSBVZkoZhAEaPMhWjcnkv2g0zxA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-06-17T19:25:31Z"
mac: ENC[AES256_GCM,data:F6XLIbk3W06LtYMn1QQu7JdFdCbh6fN9mBSM+TBvjRa3qIhoeETT5SRXktRITk7lDzvdwgAXmcWnGSBLPc5YrjT/93n1ferMwQdyAtAZUBjT2eMKSG/N5pY6hoDIP9+CbY+lVgcU1vw8SGUhy1xDPK/uOq2fK0y3vz8TVtdKqmE=,iv:vbUPbfvrXQ4hDXWei46xY1ONt5ddxU9+ZVGbP0dTobI=,tag:+B37FS/TQK6/5nnrhVYs9g==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.8.1

View file

@ -2,7 +2,7 @@ aws:
credentials: ENC[AES256_GCM,data:0WIbOiAsbSsunqvrQ5yj4TPQn9OYhlLaEUgTxCVNM41qVfYdY4PaA8Fe+K5XxY1Bj3HntBxh6THO/kptaQ/tPBA/v8qhsh4W58A1qP50c40XnuPIQ3000zL18bzCa1lJODaUpuZtE5XkrRXw9qag6A==,iv:AkmymudhWe2cEH3K4fcQULRZR4623qx6Qzqxh8RpZjw=,tag:5FM11uD6YJMT0kFANpdVmQ==,type:str]
ssh:
builder_id_ed25519: ENC[AES256_GCM,data:RLRS/BGrfl2BfcyV+o+rbHR5YPw4ImkOsGluFA9InKuI6yjH4JMVwIB4BNJ/cDlbkgkPe5qe1PylQlxFxKOX98ilDIwH4rQYiWEgJadMH0MjALp5Vfs6T0n9qMXCT6DS0ZleI6IaoaHwv9oXSKlsPp+TTZJ7g2nNVzL5+K2QYRZDS9WHr4vxxZK9kZk777/WGbCz2aQU5cO4DZwNa9pdKx06UGDpq9inFZ1/Fbf3otqpeILC+ZYEm7L+JhjWTGE4zk41JXU/bun/pnnvcpdklhHwQA8BycpyZJzmUaUCYyGPKGsvDytOKLJZj77HMY1azKcwodoaulzs9ivdU5S1sTJ3/SiaOwBjxzZSQKBZt7gncE62zGvYRBzFWp6ZRR+9i6JtYfyM33SCgdq6XuqZc+cT5R2EmQy17APHIwY8SsD4UhOMvSrQ3URzaPKY57Y3RmjqXld8jSkah+NoxXUm0kX2aCqVSXlXZk1gVHLdgsS0umwjIvHSEzBN0PRByIqS9eYPSfoQF+ONSLmh0u/xVmqdZy5Tmfh+SqRe,iv:VdyPX+tE7dKzINo5YWsCtyGrgB1aqK68ta18+xrlO3Q=,tag:SS99x35079rPWyJAbiIiFQ==,type:str]
tailscale: ENC[AES256_GCM,data:JFARXOi1Fqz/L/mS8PPPntUVBnJmxUb0EzBmrxWT2G0jwXofHQ0o7HnBVFDsidpzGcMvBXUvSJSm,iv:Q8zv0AacXfL5xazX5fnTX2KlSyLiwa1A3s8aivOK/Rk=,tag:nIn/t6iosXtmEAQmpw4ZAg==,type:str]
tailscale: ENC[AES256_GCM,data:B1NUQc5UZ7+9FNNkIqEA2/Fs0/2pcRZE/VY85sDjizWBpuXkdmf0cBsaO7C9Kl1sff7bC8BQCtDWW5UUcw==,iv:bap3sG2et1L617jsPKlA2/w0PnsEAHlbN2CbzwWvKw8=,tag:WvFFKAbcH9OQtTswT3xDGQ==,type:str]
security:
restic:
env: ENC[AES256_GCM,data:dSmBm0lTFIPIHWTHmRv93DLytpK9lnmfCY6/AG9jbmzEIi5l0ATqpofLYcgL6cEHtVcA40R7TmlWfsYY3nqBLkai5zdJT4byWYxjLo/RZF/IlrB8vNAXOO8fo7mYV2E9cG7znkQfxlTg/H3xYxGoCC1t//gpvR8wKyVBzl3sYNHJ9dHUtlcetXggh0vNm6U96RBnR9Snp5Uhk47hhng8Wi91,iv:xvQNyjXrxfR0SBpFYp/2Q/cmSWZ0Ht4q1E0i/Y81iUs=,tag:9w/RhY0S4rzNnnCOY/8I/A==,type:str]
@ -16,68 +16,77 @@ sops:
- recipient: age1273ps5thcy70ckdt0270s2nysqgu48t38pq3wq975v3y7mf4eavsw38wsl
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyaDdFNElubUIzRHU4R1J1
b2d1b3pReTNsczh6UCtZb0ZZSG1oekN6T1ZNCm56V24ybExyOUhZUXZxMWV3VDQx
SWxRKzRwRkI1T0ZRMTJYeDh2Njc1MEkKLS0tIHFaUDZaVTZ0cHpKek5IcEdVeTZR
U3JNZTZYSktoY281My9MOEVWdjlJWGMKJNRwP3CzYEC3la8VW6acUNTKHnInnwMF
Vj0cYRuIhFdeaY845Rv3rLLGoToFvOCwoIBcTPOWzjVHcDRMNf94Ag==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZb0x1NXduWEVWWWV2b1I0
K0N2dngrTXl3TWd3Qlc4dklpUUpQNXhHSTBFCnNtRCtxZTJaY3I3cjVKc1NNbXlM
SjNrRlFEbE5wbS9EM1B0R0UveHYzNFUKLS0tIExERUtyTjFzTmJrWlBUaExZRjBn
R1B6eGFHejJVanZLU0tvQmFHWE42Z3MKrf04keBxDOm8A911chRqiJZBn2dXrV7s
o0uA9pRW7+39t4nd38O9tJdNOVfxoayAzJmAdcCw1XEqBWXxySVVgQ==
-----END AGE ENCRYPTED FILE-----
- recipient: age1p400545a482fma40yfgytu40p6wr5a75v4f8yeudvgf7eh5erufqxhgynr
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpUFFOVXJLRnBRSkpkOS95
MWZUcWN2ZjVOcm13a0VvQlhWQVUwTHJhQjI4CmlyaUtOaWJQNnFmUlVqRWMwUFlm
cDkwOFlrMDduL2pmY28ySzBudnR4UDAKLS0tIFJFY3FyL1FCL25jWUxsYitnck5y
WTkyVE94dkhEb0l6aHY0RGpCMTZEem8KNG04QeuxjTCxUhBEkonpitK93/vmPywv
9G/RvvTOfNBRI05KjKrPAnTig+gKxlI6gWw9XNiIm+hvtSD0aclkKQ==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvWWNNUmNic2dTQUVncnZE
eUNQWGsyejRTM0F0TFVFNUQxV2dobWRQZkdVCnZBTFpaVVV6ejgwNjlYSy9lVU9H
MkwwbGdLd2NuTlJpTjI5QVZSdVVtcG8KLS0tIEp2Sy9zVVZUUldIc0lERjd4dkgy
NUlCM0JtZHRxd2R0MVVpd0ErRXp6THcK32gPfo3PuihVKTs6rb0HxygtBgBi1O0F
9A1ubei6mzdka2oCjbusdSLFagudX+YUHtf4QFfDFB13y4wiqggJIQ==
-----END AGE ENCRYPTED FILE-----
- recipient: age1c7y687sxh428wk34s8ws6kemu62mggafpt40rmanevgkuj5xa59q6f7tlc
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIRFprUkZ0Y2JXcXF5a1pT
djFvcDgxK0lkVGI2Q2VQL3ZmbG85ZzY0NGpVCkFvOEVyVnZHeDRYcWdNNDl1d3p2
SVZmNlNUc25NZkkzVXhrbitjRUdiY1UKLS0tIFdZUEovK2RBeTFXMUFiY04rNTBN
cXRIWnRlbjBYWjlnd2VCT2E5SE1Lc0UKtOCCLlpv5jR3LHSylErQQIAG1hXAWSXe
LhjcO48+szwOWpA+dMeYKE5o+4AeoMaf5SdZorhg0AVoJ7E+u1B62Q==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRQjhqVisxRVhlKzc5ZTlW
ZkdOL0dOUXRud2hBVlBWenAwNEhRMTZQNkI0ClFqVFQ4RldZZjhYNGRuWUZCeGNH
NzdSUElJekhNOTBvUkNQZllpYTFjREUKLS0tIDBrUDkydUlhT2FCaURSdkE3TWpH
dVJ1YWVnNjc4OVd1T3hiWnRISnVISXMKPx0kAgWPSN5UBtXYcw1bB+N4UVamg944
uZfgs/u60QE/vjsAru9DdrIpnt36+WA9PX4d6rOtIDV6/3/Xx+y9eQ==
-----END AGE ENCRYPTED FILE-----
- recipient: age1elra3uklw8rmwkevqms2l4tsd06d5utqda9d2w4qvqpz898uzuesugxkhc
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFc3lraGdmbzlyemRiVm5X
OExBYWNHWlRmUWN5d2xJVHptck1FMXFzVXlrCnhmRU5ETGp1Smg0UkxzbGZoWnlW
aW9TUzltSko1WVNINkh6NjdxTkYrdEUKLS0tIEdTaFlKdjB6Ykgyb2QxUmhzQXk5
dHVERHQ3cGNJSXpib05xVi9hajdOVDgKcafHeOQQ0kALlkFKe7DlsOSKiIuqvgd8
pljzNAR6Bd0nraKhDINBAHHmi1QUKaq37v4DrBKaamE076mcpcNx5g==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBRm5aWDJZam9QNXdLaklC
L0RmU0hIR1lxOUE1a0NxNmV5SGVNbDYwb0YwCi94elYwUlY4aVRxRlE4YlBTRGNO
RXNPUFNkU3R5S1k1NnZPcDN2a2IwcFEKLS0tIFBiRnN6eEc3MXhzeWtYUTFWS2J5
eHlTakJudE9aZHBFWm1OaU4vaFdPa1kKBXuflYzQin6BR5RlgUIYdq9qxotZLy5L
h+qRmG6TLYXaqR9XbYS9ZZlMy/wWCgt8znXE+SE2jpEs2zIGwAMjLw==
-----END AGE ENCRYPTED FILE-----
- recipient: age1gtezxkkfhpkv788x9dek6s6s342n9tkl40zvsa48m9a7yqn25fnsmd3wy0
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0YWpvclNINnBnNW85anIr
dGJMRWVkOE5WeEVPRC93a05zWFdBWlFTUFNFCnJNMFM0TFAvbk1kb1NrOXNMTGha
cm0yaDRSSGJVUy9rL011VlVSWXQzRTQKLS0tIFdrR2NSelh4VHJpZkY2K010bEx5
UGRCajRPOFBkOW1BZTM2a2VnS0htd1UKgVlWc9tSA84mzu8LXvmeoIyh5MqgU2Jd
nPpRfdWaWhjEN+roGgIGg/Fh5zmfg2b/W/9Cq2+O5ImtChPvbdrpgg==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvSE8rVy9GUnlSNkpXdjV6
SDkyRmJnMmpVRmZ6V00vNURvYllTakJnSTM0CnpQWWJ2cEU0dmlIeDkrSG1oREhQ
TFV2RUJBMGMySUhpVWIwaS93TGNQOVkKLS0tIGNYbEU1eDZyWmhSQ08xbTQrY1JJ
N2krNEY4d2FYRWxRdXNjbWVGM0xtTkEKDOQ+8vHOcoOwlneHft9bR8fViH3hFTWo
nZF1Y0hGMrR+fP5DNfW95AzlXivg9iHrrjPvblwMjHPoaSHArrRL5g==
-----END AGE ENCRYPTED FILE-----
- recipient: age19vzypddhexvvsf8xylstxc9znnkd8rxmamhjlt7elvz4j3zaf5tqqura6f
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWQko3Zm1YL2RzMzI0UDhC
OHNvQkpDVnZTQ0Z4ZXk2MzdGRmJrMUd1LzJ3CldQcjN2RHhKOHFybzEyVlBXek1v
TEdOSHRuQ3FiaFE5dXVFd3VNYkk5VnMKLS0tIGhTV3NOdUtHUDBFV29Nc2NMc2Ur
MWpZdGNmMWZ6TXpoMkN0R2s2UExxMFEKQGJWgEm/RJz6NeJOQfVFGvV2UKvDyk0U
6IzB6WCJW70uWNRF9WGCJEwepykjUVElQntPW4vCy2Lejg2+XgsUHg==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTa1JybFRiMkluMHdjckdm
dGRPelgzQXg1NlBHTS9DUmRXa1ZSdUM5aTBzClhoT3VXM3NSSVF3R0F4ci9KM0pn
WFA4a3l4SFlJb01GNUF2cFUxM3k0dDAKLS0tICtqRk1QalJLV0VJSnZQbjBtR1Q5
ZHNlMUZrRk1OV0JzNm90S2hIQ0pVVlUK293IBzXWUM02iWSq26cRcSjPZ8cAGe5n
RnpKrXzmGVLbQy8wmZJ9f3jCQauTRCJntfY7PsLRsoBNk9ttKBo5og==
-----END AGE ENCRYPTED FILE-----
- recipient: age1tltjgexkp5fz3rum4j0k66ty5q4u8ptvkgkepumd20zal24g2qfs5xgw76
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlblpraWh2dFdxcTN4eC9M
SzJ5M1NUMC80OG9zN2RGcDJXQjZkMk05MmhVCmw0eFZZYkV0QzdMZTg2eEVBRmR5
SWxiSUxEOW9VMytsTTJ2Q0paREVlMGcKLS0tIC8yRWpuNEMxcE1SZ0Z0aFRBZWJ0
WDh4UVEyQkFNQXY0R2Z3L0NRbWE4YlEKqoB5TQU9UIfybCTj+i5628w6vE73vKFx
Ajh4WXDTlEvd9eP7K+Rk0eE1HXdp76ztMLHG+TenIkApIeeXBabVkg==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiRlRuOXNTcjhubUh2YmdH
R0pUUFk0NnlaNGdRMHhmM0VRcmNHYVFNUHhrCkpXVGQzc3U4WGVCUU5xS3VBaElP
Z25kb1pVa0NidjhhVUxGcVJ4dzA0U0kKLS0tIEZPNDlCeWZzbWcwZzJHVGFYNVd3
OW5zczFoTDZ5eVd3RTBzTm5SaG42SzAKD0TNBn85N8ZqrZmQ9jLDzQbQCYE3AzCd
okDRcZe9FkDOPuvD9tXzSU7IBGP7P2FHZVVJu3nwqWCbk4abpKrRRQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-05-06T11:44:48Z"
mac: ENC[AES256_GCM,data:kIkYBBCqOjLDpsJLwV1tr/lTuyMoj/J/zSeiCar8NIM/G6V7Bx7OL/9uVj4On2fn/b1/T7rIJkqIZIe0sXL2eYMSUHfduhDBiJ8cyz/W3i94NcEupFZfmkCyBxAflPK6DADzY1s6sr1jItDJBLNIcpWvvEx+O3q+nXx2e2ra/6U=,iv:mEtydVvcNuOmk1zYq3PJRnxwI8aiKO7sia3y7oO1dZg=,tag:/2FOZA55Os5yJbKwmso0rQ==,type:str]
- recipient: age1sqvl2cwvzeztuelpwppaestqufzeap8uf0vgy7t5mzr9rwc3dpxqhx8ly9
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNVlJOODJ5STNpbmNJN3U2
eW9wK0FJKzR5WSsyWUlpQmZ4dlJaejFxVWl3CkRVSjFkaFZGMzNwcFhUNDJjNnVF
U0ZaSGJHOHBLT3hRSkxKRkJsQWlLZFkKLS0tIHRBT1JlellnWlBvZ29RZ1N2YmIv
Zmk1ZURFRHRzRklERlZUeko2MEhMYm8Kywgx/XOY6kEcZIwf87iXbNjdkWBc4r5Z
wexFfwnIWtxcnWZpIWwg1XGubL3AYefRvo7zyauJKx9l9hAjq6fkMA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-06-26T18:06:02Z"
mac: ENC[AES256_GCM,data:yj0dpoNLC3O64uhLmWCCouUwbPZzGMQ2kReSNAc9tYxhu+xRjwxJxI3OSRdqZg4ganE3CCCLXnFp9MdQirmysPuP7Fr8t9AHY+nBafV9G6Qb8ZvfVHvrcNSStNCng8XPoGBs7Hp+I7EAOlQ27sLCKKML4Gca0qoD7DNz8L2xmGk=,iv:ESlvozOaYpqjEig9wCF1RRG/0N7VHCpwrNW7JMoJvCg=,tag:TnbKUfJrr8uc6O7Y6T6cQg==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.8.1