Compare commits

..

33 commits

Author SHA1 Message Date
Forgejo Bot
f93903d727 flake.lock: update 2025-11-01 09:08:46 +00:00
a27ca4aeec
helix: Always show bufferline
Some checks failed
Flake check / check (push) Has been cancelled
Update `flake.lock` / update_lockfile (push) Has been cancelled
2025-10-30 19:15:05 +01:00
715f3d6f93
Add JSON config for Helix
Some checks are pending
Flake check / check (push) Waiting to run
Update `flake.lock` / update_lockfile (push) Waiting to run
2025-10-30 19:11:35 +01:00
902b296299
Commit some reformatted files 2025-10-30 19:10:44 +01:00
2d065e2493
Migrate Synapse and Mautrix bridges (Whatsapp, Signal and Telegram)
Some checks are pending
Flake check / check (push) Waiting to run
Update `flake.lock` / update_lockfile (push) Waiting to run
2025-10-30 19:09:10 +01:00
1b98a0e723
Update vars via generator mautrix-whatsapp for machine beagle 2025-10-30 18:51:54 +01:00
1c6a993b20
Update vars via generator mautrix-signal for machine beagle 2025-10-30 18:51:48 +01:00
94a71cccc4
Update vars via generator mautrix-telegram for machine beagle 2025-10-19 21:39:19 +02:00
1d0352e533
Update vars via generator matrix-synapse for machine beagle 2025-10-19 21:38:18 +02:00
7fceb61b5e
Set up kanidm
Some checks failed
Flake check / check (push) Failing after 22m34s
Update `flake.lock` / update_lockfile (push) Has been cancelled
2025-10-17 22:40:32 +02:00
bb9b5c0867
Make clan follow nixpkgs stable 2025-10-17 17:52:04 +02:00
c0e3847888
Update flake.lock 2025-10-17 17:51:39 +02:00
2ce6b5af1c
Finish installing beagle 2025-10-16 23:00:47 +02:00
6ca28f7e4b
Fix errors 2025-10-16 23:00:18 +02:00
01e941b6f5
Update vars via generator mycelium_mycelium for machine beagle 2025-10-16 23:00:00 +02:00
0b80e30c4c
Update vars via generator tor_tor for machine beagle 2025-10-16 22:40:52 +02:00
cf29287a1d
update(inventory.json): Installed beagle 2025-10-16 22:34:41 +02:00
b53e790e83
Refactor 2025-10-16 22:18:38 +02:00
873cc5d457
Set disk schema of machine: beagle to single-disk 2025-10-16 22:00:14 +02:00
117e039d75
update(inventory.json): Installed beagle 2025-10-16 17:43:21 +02:00
2fe650b3c1
Update vars via generator user-password-pedro for machine beagle 2025-10-16 17:33:01 +02:00
36dc1fa05d
Update vars via generator state-version for machine beagle 2025-10-16 17:32:55 +02:00
702c555f0c
Update vars via generator root-password for machine beagle 2025-10-16 17:32:51 +02:00
f732b2bc74
Update vars via generator openssh for machine beagle 2025-10-16 17:32:39 +02:00
d98cfeb273
Add machine beagle to secrets 2025-10-16 17:32:26 +02:00
8b0b90e45e
Update secret beagle-age.key 2025-10-16 17:32:21 +02:00
eff63753a0
Add machine beagle 2025-10-16 17:30:34 +02:00
95b3be48f1
Add base module for all machines 2025-10-16 15:52:39 +02:00
943522935b
Add helix to home-manager 2025-10-16 15:48:19 +02:00
ce1a70168a
Refactor 2025-10-16 15:47:08 +02:00
9ae9d54e32
aresix: homeassistant: set server name and external_url 2025-10-16 15:46:43 +02:00
b9c05c0a18
Remove unused secrets 2025-10-16 15:46:09 +02:00
0479d039b1
terrier: install Home Assistant 2025-10-16 15:45:01 +02:00
63 changed files with 3082 additions and 173 deletions

View file

@ -17,6 +17,9 @@
terrier = { terrier = {
tags = ["server" "headless" "raspberry"]; tags = ["server" "headless" "raspberry"];
}; };
beagle = {
tags = ["server" "headless" "vm"];
};
}; };
# Docs: See https://docs.clan.lol/reference/clanServices # Docs: See https://docs.clan.lol/reference/clanServices
@ -49,6 +52,18 @@
roles.default.extraModules = [./users/pedro/home.nix]; roles.default.extraModules = [./users/pedro/home.nix];
}; };
base-all = {
module.name = "importer";
roles.default.tags.all = {};
roles.default.extraModules = ["modules/base.nix"];
};
vm-base = {
module.name = "importer";
roles.default.tags.vm = {};
roles.default.extraModules = ["modules/vm.nix"];
};
podman = { podman = {
module.name = "importer"; module.name = "importer";
roles.default.tags.desktop = {}; roles.default.tags.desktop = {};

110
flake.lock generated
View file

@ -21,16 +21,17 @@
"base16-fish": { "base16-fish": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1622559957, "lastModified": 1754405784,
"narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", "narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=",
"owner": "tomyun", "owner": "tomyun",
"repo": "base16-fish", "repo": "base16-fish",
"rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "tomyun", "owner": "tomyun",
"repo": "base16-fish", "repo": "base16-fish",
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
"type": "github" "type": "github"
} }
}, },
@ -75,17 +76,19 @@
"nix-darwin": "nix-darwin", "nix-darwin": "nix-darwin",
"nix-select": "nix-select", "nix-select": "nix-select",
"nixos-facter-modules": "nixos-facter-modules", "nixos-facter-modules": "nixos-facter-modules",
"nixpkgs": "nixpkgs", "nixpkgs": [
"nixpkgs"
],
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"systems": "systems", "systems": "systems",
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1760127134, "lastModified": 1761933458,
"narHash": "sha256-9E4Ukwl7HdoWVfIk5CS3JLBdgMwn/3una6byrrWhYnY=", "narHash": "sha256-brrT6rPI/CSpk+xt2wSwfti7xWdeWeWeTqhogRsbVus=",
"rev": "f8f8efbb88de690effaee6fcb2e5d4bbdbb82d3e", "rev": "6ffe8ea5f65de28ca05455384cf8bddce4cbfe16",
"type": "tarball", "type": "tarball",
"url": "https://git.clan.lol/api/v1/repos/clan/clan-core/archive/f8f8efbb88de690effaee6fcb2e5d4bbdbb82d3e.tar.gz" "url": "https://git.clan.lol/api/v1/repos/clan/clan-core/archive/6ffe8ea5f65de28ca05455384cf8bddce4cbfe16.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
@ -108,11 +111,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1759140052, "lastModified": 1760612273,
"narHash": "sha256-CpGdQRvgmBhEAlXNyrSfrDWcKoYYSGd+5Lw7mvlbt/A=", "narHash": "sha256-pP/bSqUHubxAOTI7IHD5ZBQ2Qm11Nb4pXXTPv334UEM=",
"rev": "8332273e734aa906e7a1b2fda80e631f2dc9d4c9", "rev": "0099739c78be750b215cbdefafc9ba1533609393",
"type": "tarball", "type": "tarball",
"url": "https://git.clan.lol/api/v1/repos/clan/data-mesher/archive/8332273e734aa906e7a1b2fda80e631f2dc9d4c9.tar.gz" "url": "https://git.clan.lol/api/v1/repos/clan/data-mesher/archive/0099739c78be750b215cbdefafc9ba1533609393.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
@ -127,11 +130,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1758287904, "lastModified": 1761899396,
"narHash": "sha256-IGmaEf3Do8o5Cwp1kXBN1wQmZwQN3NLfq5t4nHtVtcU=", "narHash": "sha256-XOpKBp6HLzzMCbzW50TEuXN35zN5WGQREC7n34DcNMM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "67ff9807dd148e704baadbd4fd783b54282ca627", "rev": "6f4cf5abbe318e4cd1e879506f6eeafd83f7b998",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -148,11 +151,11 @@
}, },
"locked": { "locked": {
"dir": "pkgs/firefox-addons", "dir": "pkgs/firefox-addons",
"lastModified": 1760069006, "lastModified": 1761969823,
"narHash": "sha256-5PQfBVloDHMnWiuK4ir+awRYCCWWVC/pb5FdtBiroDQ=", "narHash": "sha256-YqUB0AYD4KbeqvSZqPhXhHBj3mLKTyuYrofyRgG3+Xc=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "7ca23f73a8caea22efaa6a298e0c505057722e42", "rev": "aecae658b04384b2f87249c6b93fdbfd97ef249d",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -186,11 +189,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1759362264, "lastModified": 1760948891,
"narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=", "narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "758cf7296bee11f1706a574c77d072b8a7baa881", "rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -370,11 +373,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1758805352, "lastModified": 1761339987,
"narHash": "sha256-BHdc43Lkayd+72W/NXRKHzX5AZ+28F3xaUs3a88/Uew=", "narHash": "sha256-IUaawVwItZKi64IA6kF6wQCLCzpXbk2R46dHn8sHkig=",
"owner": "nix-darwin", "owner": "nix-darwin",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "c48e963a5558eb1c3827d59d21c5193622a1477c", "rev": "7cd9aac79ee2924a85c211d21fafd394b06a38de",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -398,11 +401,11 @@
}, },
"nixos-facter-modules": { "nixos-facter-modules": {
"locked": { "locked": {
"lastModified": 1756491981, "lastModified": 1761137276,
"narHash": "sha256-lXyDAWPw/UngVtQfgQ8/nrubs2r+waGEYIba5UX62+k=", "narHash": "sha256-4lDjGnWRBLwqKQ4UWSUq6Mvxu9r8DSqCCydodW/Jsi8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-facter-modules", "repo": "nixos-facter-modules",
"rev": "c1b29520945d3e148cd96618c8a0d1f850965d8c", "rev": "70bcd64225d167c7af9b475c4df7b5abba5c7de8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -413,15 +416,18 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 315532800, "lastModified": 1761597516,
"narHash": "sha256-1tUpklZsKzMGI3gjo/dWD+hS8cf+5Jji8TF5Cfz7i3I=", "narHash": "sha256-wxX7u6D2rpkJLWkZ2E932SIvDJW8+ON/0Yy8+a5vsDU=",
"rev": "08b8f92ac6354983f5382124fef6006cade4a1c1", "owner": "nixos",
"type": "tarball", "repo": "nixpkgs",
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.11pre862603.08b8f92ac635/nixexprs.tar.xz" "rev": "daf6dc47aa4b44791372d6139ab7b25269184d55",
"type": "github"
}, },
"original": { "original": {
"type": "tarball", "owner": "nixos",
"url": "https://nixos.org/channels/nixpkgs-unstable/nixexprs.tar.xz" "ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
} }
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
@ -436,22 +442,6 @@
"url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz"
} }
}, },
"nixpkgs_2": {
"locked": {
"lastModified": 1759994382,
"narHash": "sha256-wSK+3UkalDZRVHGCRikZ//CyZUJWDJkBDTQX1+G77Ow=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "5da4a26309e796daa7ffca72df93dbe53b8164c7",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nur": { "nur": {
"inputs": { "inputs": {
"flake-parts": [ "flake-parts": [
@ -483,7 +473,7 @@
"clan-core": "clan-core", "clan-core": "clan-core",
"firefox-addons": "firefox-addons", "firefox-addons": "firefox-addons",
"home-manager": "home-manager", "home-manager": "home-manager",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs",
"stylix": "stylix", "stylix": "stylix",
"tg-ha-door": "tg-ha-door" "tg-ha-door": "tg-ha-door"
} }
@ -519,11 +509,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1759635238, "lastModified": 1760998189,
"narHash": "sha256-UvzKi02LMFP74csFfwLPAZ0mrE7k6EiYaKecplyX9Qk=", "narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "6e5a38e08a2c31ae687504196a230ae00ea95133", "rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -553,11 +543,11 @@
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1759596342, "lastModified": 1761668239,
"narHash": "sha256-1Eda1V8pjpviMdBTdDXrFp7jkaUokIgXgBYTZyzDODk=", "narHash": "sha256-b0+7/5hBUsLjd/gMY9/LSEsvuWFFolHdpUAOlG73zmw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "stylix", "repo": "stylix",
"rev": "4d065856e936fc6a99ba55d39ac2df9ded6bedbe", "rev": "a149a557dc306e76d53e7dd488826e61ef9c6289",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -738,11 +728,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1760120816, "lastModified": 1761311587,
"narHash": "sha256-gq9rdocpmRZCwLS5vsHozwB6b5nrOBDNc2kkEaTXHfg=", "narHash": "sha256-Msq86cR5SjozQGCnC6H8C+0cD4rnx91BPltZ9KK613Y=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "761ae7aff00907b607125b2f57338b74177697ed", "rev": "2eddae033e4e74bf581c2d1dfa101f9033dbd2dc",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -2,7 +2,10 @@
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
clan-core.url = "https://git.clan.lol/clan/clan-core/archive/main.tar.gz"; clan-core = {
url = "https://git.clan.lol/clan/clan-core/archive/main.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = { home-manager = {
url = "github:nix-community/home-manager/release-25.05"; url = "github:nix-community/home-manager/release-25.05";
@ -25,36 +28,39 @@
}; };
}; };
outputs = { outputs =
self, {
clan-core, self,
nixpkgs, clan-core,
... nixpkgs,
} @ inputs: let ...
# Usage see: https://docs.clan.lol }@inputs:
clan = clan-core.lib.clan { let
inherit self; # Usage see: https://docs.clan.lol
imports = [./clan.nix]; clan = clan-core.lib.clan {
specialArgs = {inherit inputs;}; inherit self;
}; imports = [ ./clan.nix ];
in { specialArgs = { inherit inputs; };
inherit (clan.config) nixosConfigurations nixosModules clanInternals; };
# Add the Clan cli tool to the dev shell. in
# Use "nix develop" to enter the dev shell. {
devShells = inherit (clan.config) nixosConfigurations nixosModules clanInternals;
nixpkgs.lib.genAttrs # Add the Clan cli tool to the dev shell.
[ # Use "nix develop" to enter the dev shell.
"x86_64-linux" devShells =
"aarch64-linux" nixpkgs.lib.genAttrs
"aarch64-darwin" [
"x86_64-darwin" "x86_64-linux"
] "aarch64-linux"
(system: { "aarch64-darwin"
default = clan-core.inputs.nixpkgs.legacyPackages.${system}.mkShell { "x86_64-darwin"
packages = [clan-core.packages.${system}.clan-cli]; ]
}; (system: {
}); default = clan-core.inputs.nixpkgs.legacyPackages.${system}.mkShell {
packages = [ clan-core.packages.${system}.clan-cli ];
};
});
clan = clan.config; clan = clan.config;
}; };
} }

View file

@ -2,6 +2,9 @@
"machines": { "machines": {
"frues-surface3": { "frues-surface3": {
"installedAt": 1759406633 "installedAt": 1759406633
},
"beagle": {
"installedAt": 1760646881
} }
} }
} }

View file

@ -73,6 +73,11 @@
]; ];
customComponents = [(pkgs.callPackage ./custom_components/panel_proxy.nix {})]; customComponents = [(pkgs.callPackage ./custom_components/panel_proxy.nix {})];
config = { config = {
homeassistant = {
name = "Campares";
external_url = "https://ha.campares.duckdns.org";
};
panel_proxy = { panel_proxy = {
esphome = { esphome = {
title = "ESPHome Dashboard"; title = "ESPHome Dashboard";

View file

@ -54,6 +54,19 @@
"ha.campares.duckdns.org" = proxyWebsockets config.services.home-assistant.config.http.server_port; "ha.campares.duckdns.org" = proxyWebsockets config.services.home-assistant.config.http.server_port;
"wg.campares.duckdns.org" = proxySimple config.services.wg-access-server.settings.port; "wg.campares.duckdns.org" = proxySimple config.services.wg-access-server.settings.port;
"ha.morada.campares.duckdns.org" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://[544:5d19:c117:8cc2:85c6:6a16:e78a:9737]:8123";
proxyWebsockets = true;
extraConfig = ''
proxy_buffering off;
'';
};
};
}; };
}; };
} }

View file

@ -0,0 +1,7 @@
{
imports = [
./modules/kanidm.nix
./modules/matrix.nix
./modules/reverse-proxy.nix
];
}

50
machines/beagle/disko.nix Normal file
View file

@ -0,0 +1,50 @@
# ---
# schema = "single-disk"
# [placeholders]
# mainDisk = "/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0"
# ---
# This file was automatically generated!
# CHANGING this configuration requires wiping and reinstalling the machine
{
boot.loader.grub.efiSupport = true;
boot.loader.grub.efiInstallAsRemovable = true;
boot.loader.grub.enable = true;
disko.devices = {
disk = {
main = {
name = "main-71879136e7bf44deb353d72fd5db262f";
device = "/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0";
type = "disk";
content = {
type = "gpt";
partitions = {
"boot" = {
size = "1M";
type = "EF02"; # for grub MBR
priority = 1;
};
ESP = {
type = "EF00";
size = "500M";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [ "umask=0077" ];
};
};
root = {
size = "100%";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/";
};
};
};
};
};
};
};
}

2022
machines/beagle/facter.json Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,32 @@
{pkgs, ...}: {
services.kanidm = {
enableServer = true;
enableClient = true;
package = pkgs.kanidm_1_7;
serverSettings = {
version = "2"; # Configuration file version.
origin = "https://idm.peprolinbot.com";
domain = "idm.peprolinbot.com";
bindaddress = "[::1]:8443";
ldapbindaddress = "[::]:636";
http_client_address_info.x-forward-for = ["::1"];
tls_chain = "/var/lib/kanidm/cert.pem";
tls_key = "/var/lib/kanidm/key.pem";
};
clientSettings = {
uri = "https://idm.peprolinbot.com";
};
};
security.acme.certs."idm.peprolinbot.com" = {
postRun = ''
cp -Lv {cert,key,chain}.pem /var/lib/kanidm/
chown kanidm:kanidm /var/lib/kanidm/{cert,key,chain}.pem
chmod 400 /var/lib/kanidm/{cert,key,chain}.pem
'';
reloadServices = ["kanidm.service"];
};
}

View file

@ -0,0 +1,300 @@
{
config,
pkgs,
...
}:
{
services.postgresql =
let
databases = [
"matrix-synapse"
"mautrix-signal"
"mautrix-whatsapp"
"mautrix-telegram"
];
in
{
enable = true;
ensureDatabases = databases;
# Create a user for each database
ensureUsers = map (id: {
name = id;
ensureDBOwnership = true;
}) databases;
initialScript = pkgs.writeText "backend-initScript" ''
CREATE ROLE "matrix-synapse" WITH LOGIN;
CREATE DATABASE "matrix-synapse"
WITH ENCODING = 'UTF8'
TEMPLATE = template0
OWNER = "matrix-synapse"
LC_COLLATE = 'C'
LC_CTYPE = 'C';
'';
};
services.matrix-synapse = {
enable = true;
settings = {
server_name = "peprolinbot.com";
public_baseurl = "https://synapse.peprolinbot.com/";
listeners = [
{
bind_addresses = [ "::1" ];
port = 8008;
resources = [
{
compress = false;
names = [
"client"
"federation"
];
}
];
tls = false;
type = "http";
x_forwarded = true;
}
];
database = {
name = "psycopg2";
args = {
user = "matrix-synapse";
database = "matrix-synapse";
};
};
report_stats = false;
experimental_features = {
# Enable history backfilling support
msc2716_enabled = true;
};
max_upload_size = "1024M";
oidc_providers = [
{
idp_id = "kanidm";
idp_name = "FruesAuth";
idp_icon = "mxc://peprolinbot.com/oKncNzBglyvNwvwsPMkxoPsK";
issuer = "https://idm.peprolinbot.com/oauth2/openid/matrix/";
client_id = "matrix";
client_secret_path =
config.clan.core.vars.generators.matrix-synapse.files.kanidm_oidc_client_secret.path;
scopes = [
"openid"
"profile"
"email"
];
user_mapping_provider.config = {
localpart_template = "{{ user.preferred_username }}";
display_name_template = "{{ user.name }}";
email_template = "{{ user.email }}";
};
}
];
};
};
clan.core.vars.generators.matrix-synapse = {
prompts = {
kanidm_oidc_client_secret = {
description = "Client secret to use Kanidm as OIDC provider in Matrix Synapse";
type = "hidden";
persist = true;
};
};
files.kanidm_oidc_client_secret = {
owner = config.systemd.services.matrix-synapse.serviceConfig.User;
group = config.systemd.services.matrix-synapse.serviceConfig.Group;
};
};
services.mautrix-whatsapp = {
enable = true;
registerToSynapse = true;
environmentFile = config.clan.core.vars.generators.mautrix-whatsapp.files.environment-file.path;
settings = {
homeserver = {
address = "http://[::1]:8008";
domain = "peprolinbot.com";
};
appservice = {
address = "http://localhost:29318"; # The address that the homeserver can use to connect to this appservice.
hostname = "[::1]";
port = 29318;
};
database = {
type = "postgres";
uri = "postgresql:///mautrix-whatsapp?host=/var/run/postgresql";
};
network = {
os_name = "Mautrix-WhatsApp bridge";
displayname_template = "{{if .FullName}}{{.FullName}}{{else if .BusinessName}}{{.BusinessName}}{{else if .PushName}}{{.PushName}}{{else}}{{.JID}}{{end}} (WA)";
};
bridge = {
permissions = {
"@peprolinbot:peprolinbot.com" = "admin";
"peprolinbot.com" = "user";
"*" = "relay";
};
};
encryption = {
allow = true;
};
# Secrets set using environment file
encryption.pickle_key = "$ENCRYPTION_PICKLE_KEY";
};
};
clan.core.vars.generators.mautrix-whatsapp = {
prompts.encryption_pickle_key = {
type = "hidden";
};
files.environment-file.secret = true;
script = ''
cat <<EOL > $out/environment-file
ENCRYPTION_PICKLE_KEY = $(<$prompts/encryption_pickle_key)
EOL
'';
};
services.mautrix-signal = {
enable = true;
registerToSynapse = true;
environmentFile = config.clan.core.vars.generators.mautrix-signal.files.environment-file.path;
settings = {
homeserver = {
address = "http://[::1]:8008";
domain = "peprolinbot.com";
};
appservice = {
address = "http://localhost:29328"; # The address that the homeserver can use to connect to this appservice.
hostname = "[::1]";
port = 29328;
};
database = {
type = "postgres";
uri = "postgresql:///mautrix-signal?host=/run/postgresql";
};
bridge = {
displayname_template = "{displayname} (TG)";
permissions = {
"@peprolinbot:peprolinbot.com" = "admin";
"peprolinbot.com" = "user";
"*" = "relay";
};
};
encryption = {
allow = true;
};
# Secrets set using environment file
encryption.pickle_key = "$ENCRYPTION_PICKLE_KEY";
};
};
clan.core.vars.generators.mautrix-signal = {
prompts.encryption_pickle_key = {
type = "hidden";
};
files.environment-file.secret = true;
script = ''
cat <<EOL > $out/environment-file
ENCRYPTION_PICKLE_KEY = $(<$prompts/encryption_pickle_key)
EOL
'';
};
nixpkgs.config.permittedInsecurePackages = [
"olm-3.2.16"
];
services.mautrix-telegram = {
enable = true;
registerToSynapse = true;
environmentFile = config.clan.core.vars.generators.mautrix-telegram.files.environment-file.path;
settings = {
homeserver = {
address = "http://[::1]:8008";
domain = "peprolinbot.com";
};
appservice = {
address = "http://localhost:29317"; # The address that the homeserver can use to connect to this appservice.
hostname = "localhost";
port = 29317;
database = "postgresql:///mautrix-telegram?host=/var/run/postgresql";
};
bridge = {
permissions = {
"@peprolinbot:peprolinbot.com" = "admin";
"peprolinbot.com" = "full";
"*" = "relaybot";
};
encryption = {
allow = true;
};
logging.writers = [
{
type = "journald";
}
];
};
};
};
systemd.services.mautrix-telegram.path = [ pkgs.lottieconverter ]; # for animated stickers conversion, unfree package
clan.core.vars.generators.mautrix-telegram = {
prompts.appservice_as_token = {
type = "hidden";
};
prompts.appservice_hs_token = {
type = "hidden";
};
prompts.telegram_api_id = {
type = "hidden";
};
prompts.telegram_api_hash = {
type = "hidden";
};
files.environment-file.secret = true;
script = ''
cat <<EOL > $out/environment-file
MAUTRIX_TELEGRAM_TELEGRAM_API_ID = $(<$prompts/telegram_api_id)
MAUTRIX_TELEGRAM_TELEGRAM_API_HASH = $(<$prompts/telegram_api_hash)
EOL
'';
};
}

View file

@ -0,0 +1,46 @@
{ config, ... }:
{
security.acme = {
acceptTerms = true;
defaults.email = "personal+letsencrypt@peprolinbot.com";
};
networking.firewall.allowedTCPPorts = [
80
443
];
services.nginx = {
enable = true;
# Use recommended settings
recommendedGzipSettings = true;
recommendedOptimisation = true;
recommendedProxySettings = true;
recommendedTlsSettings = true;
virtualHosts = {
"idm.peprolinbot.com" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "https://${config.services.kanidm.serverSettings.bindaddress}";
};
};
"synapse.peprolinbot.com" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://[::1]:8008";
extraConfig = ''
client_max_body_size ${config.services.matrix-synapse.settings.max_upload_size};
'';
};
};
};
};
}

View file

@ -4,6 +4,10 @@
lib, lib,
... ...
}: { }: {
imports = [
./modules/home-assistant.nix
];
nixpkgs.hostPlatform = "aarch64-linux"; nixpkgs.hostPlatform = "aarch64-linux";
boot.initrd.systemd.tpm2.enable = false; # https://github.com/NixOS/nixpkgs/issues/344963 boot.initrd.systemd.tpm2.enable = false; # https://github.com/NixOS/nixpkgs/issues/344963

View file

@ -216,7 +216,7 @@
}, },
{ {
"index": 18, "index": 18,
"attached_to": 10, "attached_to": 11,
"class_list": [ "class_list": [
"disk", "disk",
"block_device" "block_device"
@ -231,11 +231,11 @@
"name": "Disk", "name": "Disk",
"value": 0 "value": 0
}, },
"serial": "0xdab60614", "serial": "0x25f1570b",
"model": "Disk", "model": "Disk",
"sysfs_id": "/class/block/mmcblk0", "sysfs_id": "/class/block/mmcblk0",
"sysfs_bus_id": "mmc0:5048", "sysfs_bus_id": "mmc0:59b4",
"sysfs_device_link": "/devices/platform/emmc2bus/fe340000.mmc/mmc_host/mmc0/mmc0:5048", "sysfs_device_link": "/devices/platform/emmc2bus/fe340000.mmc/mmc_host/mmc0/mmc0:59b4",
"unix_device_name": "/dev/mmcblk0", "unix_device_name": "/dev/mmcblk0",
"unix_device_number": { "unix_device_number": {
"type": 98, "type": 98,
@ -244,14 +244,14 @@
"range": 32 "range": 32
}, },
"unix_device_names": [ "unix_device_names": [
"/dev/disk/by-id/mmc-SD16G_0xdab60614", "/dev/disk/by-id/mmc-EC1S5_0x25f1570b",
"/dev/disk/by-path/platform-fe340000.mmc", "/dev/disk/by-path/platform-fe340000.mmc",
"/dev/mmcblk0" "/dev/mmcblk0"
], ],
"resources": [ "resources": [
{ {
"type": "disk_geo", "type": "disk_geo",
"cylinders": 472576, "cylinders": 1955840,
"heads": 4, "heads": 4,
"sectors": 16, "sectors": 16,
"size": "0x0", "size": "0x0",
@ -260,7 +260,7 @@
{ {
"type": "size", "type": "size",
"unit": "sectors", "unit": "sectors",
"value_1": 30244864, "value_1": 125173760,
"value_2": 512 "value_2": 512
} }
], ],
@ -1052,7 +1052,7 @@
}, },
"slot": { "slot": {
"bus": 0, "bus": 0,
"number": 0 "number": 1
}, },
"base_class": { "base_class": {
"hex": "0117", "hex": "0117",
@ -1060,14 +1060,10 @@
"value": 279 "value": 279
}, },
"vendor": "", "vendor": "",
"device": "SD Controller 0", "device": "SDIO Controller 1",
"model": "SD Controller 0", "model": "SDIO Controller 1",
"sysfs_id": "/devices/platform/emmc2bus/fe340000.mmc/mmc_host/mmc0/mmc0:5048", "sysfs_id": "/devices/platform/soc/fe300000.mmcnr/mmc_host/mmc1/mmc1:0001",
"sysfs_bus_id": "mmc0:5048", "sysfs_bus_id": "mmc1:0001"
"driver": "mmcblk",
"drivers": [
"mmcblk"
]
}, },
{ {
"index": 11, "index": 11,
@ -1082,7 +1078,7 @@
}, },
"slot": { "slot": {
"bus": 0, "bus": 0,
"number": 1 "number": 0
}, },
"base_class": { "base_class": {
"hex": "0117", "hex": "0117",
@ -1090,10 +1086,14 @@
"value": 279 "value": 279
}, },
"vendor": "", "vendor": "",
"device": "SDIO Controller 1", "device": "SD Controller 0",
"model": "SDIO Controller 1", "model": "SD Controller 0",
"sysfs_id": "/devices/platform/soc/fe300000.mmcnr/mmc_host/mmc1/mmc1:0001", "sysfs_id": "/devices/platform/emmc2bus/fe340000.mmc/mmc_host/mmc0/mmc0:59b4",
"sysfs_bus_id": "mmc1:0001" "sysfs_bus_id": "mmc0:59b4",
"driver": "mmcblk",
"drivers": [
"mmcblk"
]
} }
], ],
"network_controller": [ "network_controller": [
@ -1233,7 +1233,7 @@
}, },
{ {
"index": 13, "index": 13,
"attached_to": 11, "attached_to": 10,
"class_list": [ "class_list": [
"network_controller" "network_controller"
], ],
@ -1284,7 +1284,7 @@
], ],
"network_interface": [ "network_interface": [
{ {
"index": 36, "index": 35,
"attached_to": 0, "attached_to": 0,
"class_list": [ "class_list": [
"network_interface" "network_interface"
@ -1307,7 +1307,7 @@
] ]
}, },
{ {
"index": 37, "index": 36,
"attached_to": 0, "attached_to": 0,
"class_list": [ "class_list": [
"network_interface" "network_interface"
@ -1393,7 +1393,7 @@
"unknown": [ "unknown": [
{ {
"index": 12, "index": 12,
"attached_to": 11, "attached_to": 10,
"class_list": [ "class_list": [
"unknown" "unknown"
], ],
@ -1433,7 +1433,7 @@
}, },
{ {
"index": 14, "index": 14,
"attached_to": 11, "attached_to": 10,
"class_list": [ "class_list": [
"unknown" "unknown"
], ],
@ -1539,7 +1539,7 @@
"resources": [ "resources": [
{ {
"type": "irq", "type": "irq",
"base": 37, "base": 38,
"triggered": 0, "triggered": 0,
"enabled": true "enabled": true
}, },
@ -1557,7 +1557,7 @@
"command": 1030, "command": 1030,
"header_type": 0, "header_type": 0,
"secondary_bus": 0, "secondary_bus": 0,
"irq": 37, "irq": 38,
"prog_if": 48 "prog_if": 48
}, },
"driver": "xhci_hcd", "driver": "xhci_hcd",

View file

@ -0,0 +1,45 @@
{config, ...}: {
services.home-assistant = {
enable = true;
openFirewall = true;
extraComponents = [
# Components required to complete the onboarding
"analytics"
"google_translate"
"met"
"radio_browser"
"shopping_list"
# Recommended for fast zlib compression
# https://www.home-assistant.io/integrations/isal
"isal"
# Additional components
"mobile_app"
"nmap_tracker"
"cast"
];
config = {
homeassistant = {
name = "La Morada";
external_url = "https://ha.morada.campares.duckdns.org";
};
http = {
trusted_proxies = ["4a6:fed0:59ba:507d:baab:15f3:846d:ead4"];
use_x_forwarded_for = true;
};
default_config = {};
"automation ui" = "!include automations.yaml";
"scene ui" = "!include scenes.yaml";
"script ui" = "!include scripts.yaml";
};
};
systemd.tmpfiles.rules = [
"f ${config.services.home-assistant.configDir}/automations.yaml 0755 hass hass"
"f ${config.services.home-assistant.configDir}/scenes.yaml 0755 hass hass"
"f ${config.services.home-assistant.configDir}/scripts.yaml 0755 hass hass"
];
}

8
modules/base.nix Normal file
View file

@ -0,0 +1,8 @@
{ pkgs, ... }:
{
# Must-have packages
environment.systemPackages = with pkgs; [
vim
rsync
];
}

3
modules/vm.nix Normal file
View file

@ -0,0 +1,3 @@
{...}: {
services.qemuGuest.enable = true;
}

6
sops/machines/beagle/key.json Executable file
View file

@ -0,0 +1,6 @@
[
{
"publickey": "age1hcamqavws9xv6lda9wcv3vmtd47wg8nc3w6zmum9a9e42g0044nq3lp298",
"type": "age"
}
]

View file

@ -0,0 +1,19 @@
{
"data": "ENC[AES256_GCM,data:+cSY6A/5Kq9qZE8AwsQ08AoGgA4FgVZk/VOPzOsDUXikR+uj2KUfGHMOKNTuxKLm+r99ZVqpsTc+0ELWG3hEKczk7DviTMvGnMY=,iv:gwRlER9SDNnA4edumkG4R0diXDpF+FIXPmEgNyoDpHc=,tag:W8nSFppJ2xjAygWqaL6XYg==,type:str]",
"sops": {
"age": [
{
"recipient": "age1lrg2j5a90yy4ccj4c8yrmkk4rx029t5hfh6n5a2nte77pwlspp8qvgmtmg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlT1o0VnBwR2NDU2VsT25J\nZ0NpczFUSFlDdGl0Y04rUkt5dE84MC9DWGlJCkVuZktNdFFwOHJQS0FxVXh0M1F1\nWlBlVzlERHdxL25sektqamR0N1U3VGsKLS0tIFpMUjR4bmllUkhyRVVsYWllRTZZ\nTUtSRGhSZ1htcE1vR3hqdEVoSkMwbTQKpPyxSz+vKODedg2SrtCfktDQ8GNjPlYG\nN2JtO41HIZbMdyqN80wRu2iSEvErF7UENG/Be6bTM82XtC7IUUIEaQ==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1r2sw9uncvkqtklypw4rttufhw86lhhqrghed8l2kda6hdrd9ypyqm7y863",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2TVlVU3JlV1FiSG9GU2Jh\nSVZFR0pIQ2l1UCtBR21zQTgyRS9FazE2SWlrCnJzSXEyTUFSQit5aitpUENnVnd6\nZldWdGsycTZwb1JkNEx0dDZhNEVhSDgKLS0tIDZpbCtxakRpY3FDVTl0ZG1kdCts\nazg2R1pNTmpLMGRSMDdNWWs2enArQ1kK/ILi03pGLZw7Jcdl3sCF+JFHpnGi1yzI\n0LEnSblRSymKyruu6NmrOlDPMdpbIFX4Wi5ieWUgnNl/qKLs0Jj/ww==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-10-16T15:32:21Z",
"mac": "ENC[AES256_GCM,data:FxyOM4q/W5tfM4uAq8hw9xLOlxmjeiDB2G5Q4Qy6hq0qQicXxvowP/rtf7rC6QRT7SSz/7F2/9dTaXfgd+4yjyIZBCZnv1UYesitPCCA7KXlsQM7I1SliKeYsweybXn3Ym+4gnqv5+Fsj6KNY1cAYimxfpPyBZ0HA0a6bi1o4Qc=,iv:a6wyTYztbo6HjIL30jvNoPeTBCCdPmuDnTlGIhQc578=,tag:aSjZslS6WzO2toGiIT2u+A==,type:str]",
"unencrypted_suffix": "_unencrypted",
"version": "3.10.2"
}
}

View file

@ -1 +0,0 @@
../../../machines/aresix

View file

@ -1,23 +0,0 @@
{
"data": "ENC[AES256_GCM,data:nF3dqb+z1CU/RWaAZmBQItOp2fQrMGDf3qjyvVnC73ERFHGLdeO6L0rI5IT81h7QGbjPf15rXX5TlNRhafAlorH7H5ZWRZgmCkFyOr2Imf4rvBu3Cp9pi5ioe3lv4omZn0puXu1vgsh/k/JLxQl1QjRhVFcBFE6TPs7bi8+AzIlSUfhfUb8ZHzyN/dr5DaxsLXaFsvnjWWUSTLiqujRMzIp/R5w32bvUDvquTsDLE2Pb9VCcwMTxw2+uWem9mA47HUTLpPjks4X1Zghx8LcD8qLfOfmpeZBqESHjFh+iBE9CsOvhpjL8H5hLePmrbYlIIImSVX1dJrbiFRZ7GZZOdKg=,iv:Mp4u/LiIhFm3AXzGL8/l4iUsvslukywG9UyO5gfl8zs=,tag:j4nQ/lJUd0CYFssl5UK2/Q==,type:str]",
"sops": {
"age": [
{
"recipient": "age1lrg2j5a90yy4ccj4c8yrmkk4rx029t5hfh6n5a2nte77pwlspp8qvgmtmg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLbmJLZ1BkSmo3N1pJMHla\nbGErYVI3UmtNRnB6WUhzNzdlQ0R3bkVlOFNFCjVxVm5wWGlhZXlTbytpZ2dMTlk0\ndU1mYndVODBXUXBjSlVIV2NQcm94a0kKLS0tIHIzdTdnTXJhaU5Nemx1b05wM0tL\ndW9EYjVJRjc3OERxM1BOajhwOHR2Y3MK3uFvDVyA88lqV7pF/X1MXJY+Ghwa4cy5\nKXHT3KHFq6etDOgGz3P4UK2ZOoB0EEjXG6VlWNFSLzcTXSg9keTenw==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age12dw69nvfyqype23gmn4cy7wccr6ct3luj05hat4g65kzwqz9rpzs7z4jpe",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCa0JFbkRVSysrQS8yeUR0\nWkMzQ3pTc2g2QnJ0b2RxSkExZWE4L1lTWUVNCmVLbHFDMTV6RmxQK245cWpIRmtp\nd3ovdU5VNjgwSHljVGozYXpkcmxKMGMKLS0tIFEvQUlkRXk4ay9reEhzOHpKdVhG\nNE9BUUZGdU83Um13VDRnWTBrSTM0L0kKd69Sq5LBn5hhiDAurTqD1JO7wCE2MQAc\nFPHljQR5ZA23pj1HipoKhpqhmPH3oph4tdq4y6sS18FiVhWrLXKRZQ==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1r2sw9uncvkqtklypw4rttufhw86lhhqrghed8l2kda6hdrd9ypyqm7y863",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6ZFFNc1poZWlySys3eWk3\nTVdrUDdIWWdqWlk5QUNYM2duQml3ckpmZFZjCk1Ub1E5QlNIRnBTYWQ2RDYzTk14\nZ05QcUlUVW4zYWtmQnpLRUl2aldTdHMKLS0tIDRqaTNQYXJNTVJTQmJaQzRuOUYz\nekxSYTVnL2p4T2t5cHpmZmtndlp4UWsKmvW9tdHmJHP5z6GdbPJHEB783tnhDjBj\nHX++h/r+8bYvsnsVmRpvgV81NZb4NPbXcVSaT6YgHM+t/k3VludIMg==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-08-14T13:07:05Z",
"mac": "ENC[AES256_GCM,data:EyZF+5pu8PeUIiIrD4j3i9IQOTSs30D8b57ygkAO1TBLCajKqjMGDT7ULv0ggRfAz0zj7v5RSQkr6VMlpEdbgA6oP41wrrBJbRn3tPCkJ20dItoyHeIGSjLuL7WWEdSjlKeK8TkP8msyK0pp7rNIoR0HX+HyC85ypEiC/PFhfSY=,iv:t59eIanDCzbta7iZQZ/mSGpYbaT0J/8r6a7EXXetoU8=,tag:twx73NwVkTcX/lgQvjtwLQ==,type:str]",
"unencrypted_suffix": "_unencrypted",
"version": "3.10.2"
}
}

View file

@ -1,8 +1,13 @@
{osConfig, ...}: { {
osConfig,
lib,
...
}: {
imports = imports =
[ [
./programs ./programs
./distrobox.nix ./distrobox.nix
./helix.nix
./git.nix ./git.nix
./gpg.nix ./gpg.nix
./packages.nix ./packages.nix
@ -11,8 +16,8 @@
./zsh.nix ./zsh.nix
] ]
++ ( ++ (
if osConfig.hm-pedro.de != "none" lib.lists.optionals (osConfig.hm-pedro.de != "none")
then [ [
./browsers ./browsers
./gtk.nix ./gtk.nix
./kitty.nix ./kitty.nix
@ -22,16 +27,14 @@
./spotify.nix ./spotify.nix
./vscodium.nix ./vscodium.nix
] ]
else []
) )
++ ( ++ (
if osConfig.hm-pedro.de == "hyprland" lib.lists.optionals (osConfig.hm-pedro.de == "hyprland")
then [ [
./hyprland ./hyprland
./scripts ./scripts
./waybar ./waybar
./mako.nix ./mako.nix
] ]
else []
); );
} }

View file

@ -0,0 +1,59 @@
{ pkgs, ... }:
{
programs.helix = {
enable = true;
defaultEditor = true;
languages = {
language-server = {
pyright = {
command = "${pkgs.pyright}/bin/pyright-langserver";
args = [ "--stdio" ];
config = { };
};
nil = {
command = "${pkgs.nil}/bin/nil";
};
vscode-json-language-server.command = "${pkgs.nodePackages.vscode-json-languageserver}/bin/vscode-json-languageserver";
};
language = [
{
name = "nix";
language-servers = [ "nil" ];
auto-format = true;
formatter.command = "${pkgs.nixfmt-rfc-style}/bin/nixfmt";
}
{
name = "python";
language-servers = [ "pyright" ];
auto-format = true;
formatter = {
command = "${pkgs.black}/bin/black";
args = [
"--quiet"
"-"
];
};
}
{
name = "json";
formatter = {
command = "${pkgs.nodePackages.prettier}/bin/prettier";
args = [
"--parser"
"json"
];
};
}
];
};
settings = {
editor = {
bufferline = "always";
};
};
};
}

View file

@ -1,24 +1,27 @@
{ {
osConfig, osConfig,
pkgs, pkgs,
lib,
... ...
}: let }: let
hasDE = osConfig.hm-pedro.de != "none"; hasDE = osConfig.hm-pedro.de != "none";
in { in {
xdg.mimeApps.enable = hasDE; xdg.mimeApps = lib.mkIf (osConfig.hm-pedro.de != "none") {
xdg.mimeApps.defaultApplications = enable = true;
{ defaultApplications =
"application/pdf" = ["okularApplication_pdf.desktop" "org.gnome.Evince.desktop"]; {
"text/plain" = ["org.gnome.TextEditor.desktop"]; "application/pdf" = ["okularApplication_pdf.desktop" "org.gnome.Evince.desktop"];
} "text/plain" = ["org.gnome.TextEditor.desktop"];
// builtins.listToAttrs (map (key: { }
name = "image/${key}"; // builtins.listToAttrs (map (key: {
value = ["vimiv.desktop"]; name = "image/${key}";
}) ["png" "jpeg" "webp" "bmp" "gif"]) value = ["vimiv.desktop"];
// builtins.listToAttrs (map (key: { }) ["png" "jpeg" "webp" "bmp" "gif"])
name = "video/${key}"; // builtins.listToAttrs (map (key: {
value = ["mpv.desktop"]; name = "video/${key}";
}) ["mp4" "x-matroska" "webm"]); value = ["mpv.desktop"];
}) ["mp4" "x-matroska" "webm"]);
};
home.packages = with pkgs; ([ home.packages = with pkgs; ([
# CLI utils # CLI utils
@ -33,24 +36,23 @@ in {
todo # cli todo list todo # cli todo list
yazi # terminal file manager yazi # terminal file manager
yt-dlp yt-dlp
wtype # xdotool type for wayland
caligula # TUI for disk imaging caligula # TUI for disk imaging
ffmpeg ffmpeg
killall killall
man-pages # extra man pages man-pages # extra man pages
openssl openssl
pamixer # pulseaudio command line mixer
playerctl # controller for media players
wl-clipboard # clipboard utils for wayland (wl-copy, wl-paste)
unzip unzip
wget wget
usbutils usbutils
gotify-cli gotify-cli
] ]
++ ( ++ (
if hasDE lib.lists.optionals (osConfig.hm-pedro.de != "none") [
then [ # CLI but only makes sense in DE
#GUI Utils pamixer # pulseaudio command line mixer
playerctl # controller for media players
# GUI Utils
zenity # Create GTK dialog boxes from CLI zenity # Create GTK dialog boxes from CLI
file-roller # Archive manager file-roller # Archive manager
wdisplays # Configuring displays in Wayland compositors wdisplays # Configuring displays in Wayland compositors
@ -87,6 +89,11 @@ in {
openconnect openconnect
networkmanager-openconnect networkmanager-openconnect
] ]
else [] )
++ (
lib.lists.optionals (osConfig.hm-pedro.de == "hyprland") [
wl-clipboard # clipboard utils for wayland (wl-copy, wl-paste)
wtype # xdotool type for wayland
]
)); ));
} }

View file

@ -0,0 +1 @@
../../../../../../sops/machines/beagle

View file

@ -0,0 +1,22 @@
{
"data": "ENC[AES256_GCM,data:5q/jE9BMq3cNYR40mt9oqnmF8R26BlZNAtU04hfxpXgNwuZFtUxDiHvBZFPIDHax,iv:kDeqwFrX/4GRFi41zmqCpLLumEmw/9liDDizc5aAwzM=,tag:StUwReaRqEgaTzBLMp3iJA==,type:str]",
"sops": {
"age": [
{
"recipient": "age1hcamqavws9xv6lda9wcv3vmtd47wg8nc3w6zmum9a9e42g0044nq3lp298",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLRjducjVOS3ZwclJsS1Jy\nK0tUU2lmRDNzZTYxMG1QRkk1M0lpb0RpWFVBClR3NlFFSnhDRkZoQ2ovOGRvTE51\nLzFuSXB6dnZRMExRbWgxOW1GZGZmYncKLS0tIEhYdndFVm9QdEwzUE1IQnVRcVpU\nL1dpRTM5M0RzZkdrblY4QnN3TFVsWHcK6b5bs738zOQHjtEgNI70m2madfHkuO7g\ncgB6jR+JfBgJB5fRrB5YpC9JvgJW/IRENCjJlaMXseNEpRp/h+lVtQ==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1lrg2j5a90yy4ccj4c8yrmkk4rx029t5hfh6n5a2nte77pwlspp8qvgmtmg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3Z2M1NUZjRFRRTCtUMDlB\nUTJVYjRCSFRkMEtzVHFqUnBSMzlOREc2UEVjCmZJaDc1TXZLWXkvcGlZTjkxT2tC\nVGg1QTN3dXJVYmxtOWZSc1I2aHd6WFUKLS0tIE5lamY2Q3VtWVpPdFpVbGlWb0xP\nVE04c3RmWVhjTmNRbng3SzlrZnRnQk0KchluC+DipOw7U9SU2CtjWYVrf2QtuBr3\nKho+V0cJW45sKZFl0L3T1E5qM6QJlNiyAsrCYDYUYBvr/ttwz3U5Pw==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1r2sw9uncvkqtklypw4rttufhw86lhhqrghed8l2kda6hdrd9ypyqm7y863",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMOFpvNElSRkgyNWJ5Z2Vp\nMExJWUZwUWFhN2V0a0JPNk4xa3B1Q1JnS3pBCngraVQzS0RGZGE1THlDb0lJUmVG\nNnBUWUhkT0dseTlkSXJmOU9LUk5uVWcKLS0tIFpFM1NPR2l0N1drNUt0QytlcVps\nMHNPMWg5VVFSQW9pUVRaSDd6OFFWQmsKIaAMsLp5+tKQUNEoBYBoKhEEX2pTWjB8\nHgtrfN8Hq91Ed4ubCQCKHjOfBTP6hiCkFyyM/sDKe3NmjwyXwY29sQ==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-10-19T19:38:18Z",
"mac": "ENC[AES256_GCM,data:v9h/KKXFze+OSHSii83a5eOnc3kpsxEylDArlJkzotqeGEgMt2sh1t9PUc5waXAGK0iMHz9PTIedImrn8pCQrXa2jsO9ENgXi+u048Pk2FGPxYTj6imaeddEqPstZhqCP60XtAV+Wl11az8HSX/OmDxjTtnAKkWcOsULBGwY+CY=,iv:F0ORQoyrOkShcgZchRC9fk1u9HQlJvFbWASAkhDedqs=,tag:C6XkOP/tmdd6IY2STPuHag==,type:str]",
"version": "3.11.0"
}
}

View file

@ -0,0 +1 @@
../../../../../../sops/users/pedro

View file

@ -0,0 +1 @@
../../../../../../sops/machines/beagle

View file

@ -0,0 +1,22 @@
{
"data": "ENC[AES256_GCM,data:u4DKZleTG0+TYxzjqTAn+fDkrkBLj3b67vxs13gQQmcMbZ5Y8bmRDH19OPasTfTVwcMJnj1VzTeWdnrkDJdv/EKMcPof1L4ROBbewVsS7Y8qGDmWDgqomXU=,iv:g2uSAbTlo/Xx5BXvRt/PUXUmZHiL7V50YxMmgvsT1zY=,tag:+gPXOBi4fn5AxLWPYxJM6Q==,type:str]",
"sops": {
"age": [
{
"recipient": "age1hcamqavws9xv6lda9wcv3vmtd47wg8nc3w6zmum9a9e42g0044nq3lp298",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlQ2JtbWs2Umh2NDV4TGlD\nNGFZWE9zZkJwSzZWRTNRWGIwQ3RGR2JBR0hJCnRCOU9CamMwQkFUREhOajYyNnJu\nRGZsTmFZTG1KZnZrNHpZcitCMUdUM2cKLS0tIDhzOThBaXpuS05KbFBYdDJRbG1Z\nRUJQOWpxZDJSaFFPRDBXWDJqRUFzRGsKMYuduJHz2npO4ZPMTe0e3fJj08HUkv7s\nfe2pmMoQUU3suslG9abigrOI8y/hwT+F52G5SV/hkTFvhZTiPXZusw==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1lrg2j5a90yy4ccj4c8yrmkk4rx029t5hfh6n5a2nte77pwlspp8qvgmtmg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2YklTaFZhYWVIRE5vNjU0\ndHhKT2tHUitnMGpqUkJHYUZvajhMQzlocUIwCllFYi9uQm02UzMzNWFnS3d1N0Yr\ndFVNWDNkL0VUVWpmUFU2NWxVWldvSWsKLS0tIFZ2WThKTGdobjlVNEkvek9VQlNQ\nLzg1ZWErSEV2T28zNDhzSlZUbHVWRDQKe9gvE0DZgYsGT/lIltjtzaH0wxTb+bJ8\nHLW4+3BxBoySz2Fmi3GvEhbKP93i1VIT+qGZtEqsxfaYzlgnAQewoQ==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1r2sw9uncvkqtklypw4rttufhw86lhhqrghed8l2kda6hdrd9ypyqm7y863",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlWGlhd0NCY245VC9tVnNH\nN2xsZ2x3SHhhcHNmQVhtMDhWNjg1UVEyL0NZCldQd21mU0RiREc2Y21JdnNIdkFm\nN2xmMVRHbUpLOWQxSUN3Z01TaWZ3VDQKLS0tIHovN09oSWNDV2JqMU5xTHRnb0Z2\nVWxVcittUnpUbDhDWnpWSEhVV2ZOQkkKEAvqS+ly45j4nHK7Dj7+7jh0KOPJ10Kx\nC8TcJ1reA6ZwKLPZ714MV+m+6EAIwghDeQaG+yM8CM69vKiU898NwA==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-10-30T17:51:48Z",
"mac": "ENC[AES256_GCM,data:zRff9nIFpuwJd/M08WzTzNEy/9AzaDyhrfCOIbrXTo9VMXvd28goNgSPrrOCMFJUIT9/dUutwT4re+qurzd1ZkeRYJqoBXl/1yjx66GLwmfc0MH2D8cAAbRjvUT4lyS4wxFLUe1yAbhVtwV7cjymBPp4x1Y+a6sSwBzwqm9gDk4=,iv:csYT/f8CT4n1C84V7jrrKoz/ZO9txQMMYwFPTiPtGmE=,tag:bcTt++leOPpIF0CH0yzwfQ==,type:str]",
"version": "3.11.0"
}
}

View file

@ -0,0 +1 @@
../../../../../../sops/users/pedro

View file

@ -0,0 +1 @@
../../../../../../sops/machines/beagle

View file

@ -0,0 +1,22 @@
{
"data": "ENC[AES256_GCM,data:jZOyALwC7KLnySQaOzwcokQK2EmjGhozrv9sOcGW0ZPsSgfN7oH0VkB9druDeRer/5Ch/0irOVSUNv66EEQeVcCjZh1RkEzQKwSBCByvmzXgryfsYziHsiZPldlEZq8KbSzrmhSXCBeX0GGzA87Op5aueTD1rrr1hVXrSoS8ARQe3dgCfIY+Vkp4mA1WsXk8FUe+HIAEBtUy4RHf36Y7kPljFYEdtfv2K8aJQOszMPmdYO4HU0JGb7nRTZurp5rZvcYJVKpJXfWIYFd/tlomaAL6DY5fKaGBt2c0likoNhWf6pMw7/6oNtlN//OSl5eQxE/hdAnbLHLkGZ/CG0rM+UvZr0NYpUZUjaVQaxeCSPg/wpRClVR4Z6Gwus8T4WkGNhfbc24jIGNTIfRLMp9SxfoHtIlicLHyQ+gdaebxyjK5lw==,iv:YF/u3FVeXPjyLBOpNCg/Z2iOjikU+0DkTPWgE/Pf1EI=,tag:5qUOc5TKRp3Lohgtq4GCew==,type:str]",
"sops": {
"age": [
{
"recipient": "age1hcamqavws9xv6lda9wcv3vmtd47wg8nc3w6zmum9a9e42g0044nq3lp298",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKQUJhYnJlTFFtSHZTL0Ro\nbHRuQlN5Q3E5NDVKemk3K0RRL25sbkY2dHh3Cll0Z1dwcjB4Vi9kZ1ZSTzYyeWdu\nMllsdHFsdHlicXlpMTJnUXdrcEwrSG8KLS0tIE5NMEVaVGtORzJILzV5RENlQU9r\nV3BTVUl1cnRUTmlISVNIZ21kMlF4Q2sKb2ETCTa250etlXV5alLxucG+pFbjCS3m\n1t4fM2ns4jfWw542vYE8A/LIV+wVC+ynPowgMvPvbrHhcbXYeQ8O0A==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1lrg2j5a90yy4ccj4c8yrmkk4rx029t5hfh6n5a2nte77pwlspp8qvgmtmg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNNGJQRTdGZFBqSmN1Q0Ey\nNVZtbTBzUG5jZUU4Mk1FVjhaWEZ3T216dFJBCjlJK0Rha3VMeHZLbTVnZXAwYUZ2\nN2hmdC9VQ0xOcjhrMzBCdEdDUWsyclUKLS0tIExSSmFucE1VYVMzMTgwSElUeHM4\nQ01DMXNQSHJ4MEJ5V1dKTmFhMzVuVncKU2h8pHix9q4SV8WSvtXUEgS5slwnJ8kO\nc44Wpek//mzlDxMc/sGYSfQZKVZ37Dym9zW6ajxNI/DDHf+Z3pv41Q==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1r2sw9uncvkqtklypw4rttufhw86lhhqrghed8l2kda6hdrd9ypyqm7y863",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwL2tjbHFXcWdNVC9leDdP\neWF6UmgrYjFGOSs4dkRGNndsYjNwd3Qwc0hBCkNTeE5oNHcrMTdxOG9leWIzekJF\nRlp3V2lCT0I0Uk5hU3g2SmpjRzZhaVUKLS0tIEdpTTVRbEZCKzZDcTcweWI2OEx6\nOGpvNjJXWjlXcThDUHdBL09meTIrTkUKylrplyKKm9ZXegHTvisF/KCNKPus3kew\nRgNrC8QaH9qK6W4B5KhuWOV0I+dg0UilAA0nfa0khMe2iznN/++rjQ==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-10-19T19:39:19Z",
"mac": "ENC[AES256_GCM,data:KX9H925q7+xHiDVUDjoODacFpMimwjl5tzPMXHlD7LFLqGPf4bOB7lUnjHnoTQNmwWCnjbf6/Tx3iA0Z7LXYuPnyz/jjaeARnWqprn4S5Vt6oLd1eVIczRgfPVGXepMhNWvM5HllkNlEv0jC5AgavpT4itgcOBFcEyf6vvhiXgs=,iv:BYJ0M4NODglSOcyVV3jRIBAXKv853G7bn4nYE+6Mlzw=,tag:W7eQIT1vT9SwuC6BCI1k5g==,type:str]",
"version": "3.11.0"
}
}

View file

@ -0,0 +1 @@
../../../../../../sops/users/pedro

View file

@ -0,0 +1 @@
../../../../../../sops/machines/beagle

View file

@ -0,0 +1,22 @@
{
"data": "ENC[AES256_GCM,data:slbziRzxx6lijgZF56VUuvUFXmCZGKZBDIEZQQyeez+5ta9KuJy4Im4S8c8ViCxdjq/tyNnsj8Y=,iv:suWo93LOBxcQORlfPcJR+QMQnuwEsHfbNHsNpq6d5yU=,tag:PMaJpJVI3+RGZyy+Ozt0Fg==,type:str]",
"sops": {
"age": [
{
"recipient": "age1hcamqavws9xv6lda9wcv3vmtd47wg8nc3w6zmum9a9e42g0044nq3lp298",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMWEtpTEZ1Ym5JU3I0Ykl4\nR1VCMFFWYk9ESEFmZGh3Skh4UCs4b1d2Wlg4CjdUYVpqMFU4aXM3R1Bsb2E0bU5y\nMnk0dE8rRitYOXFka1hPY0o1cFc4NjQKLS0tIDh3ZFFDRmFxOE9JSGhQQVFPUFUx\nNnhRaWgyajYxeThlVjRZZitrZXNiZFUKvPRZrWhhaGV6fJkjVZTmxH45Q8yIsvwU\nSm/Lk+5DGdYDndpIbPS61WruI/M49ETskOreu4mqR0MXXsr2HX0+gg==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1lrg2j5a90yy4ccj4c8yrmkk4rx029t5hfh6n5a2nte77pwlspp8qvgmtmg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoY0dHK2RlOTlwS1ZpaUIx\nbi94Q0wrWG1PYTJUV29pZGZXRHhGRmNpY2g4CjJ6Uit4Snpqd2QzVjI0b3pNeFJp\nUENMZXVhSk5WN2FmM3VwYzhBbmZkRlEKLS0tIFlTei9wRlEySW1jd1haeGZZOVcy\nZWRFYXQyUTk3NXlIdFdNTHFvdU8wa2cK+r1A0LrXLwi2vwOaPkwr+l+YDYg/Itux\nFrasAERs37YW3/fi1X853lcgy5IDo7t/ld1b4lWFpjJ5z/nbILfCkA==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1r2sw9uncvkqtklypw4rttufhw86lhhqrghed8l2kda6hdrd9ypyqm7y863",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqMU9UTjdkSGpxZTVBaDc3\nMVl0aWR3ek5ic1dJL2c3dFNsM1pKTGhSbDFJCnEwWm1EYWhYanhGRVZPSEowc040\nUTBTbFU1QlczYmUyT2VTdURvZDlDQzgKLS0tIGY3Ky82S0hFbGVCeHE5S2c4c0RR\nc2U3bWVYRFYzYTIxL0NKQTNiZlhsTjgKbMQ9m0H20KJvDgMcjvTomkJ1nrbV0elt\nhzw+ipPzoktRuMVkstz1cWA5GcbVQEKqxFToEDhF0b9sNUsCA3dg5A==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-10-30T17:51:54Z",
"mac": "ENC[AES256_GCM,data:vRntbhthWZd1EybzzYGC9gfUdc7h/wChXoKFJ7Cd3AGeiPP+vVwkmhQEpccf/HFSqJB9bTwJ10FJIB7CiJiRlYeorGm4TMSauYvH7PihVyBdwzhCbjA+D553aa6nMzgekfeOzDZePTDpYjc3440SZT6IggOZjsM0hL6SZ91CnJM=,iv:MHT5qwFJrLxjy+aNC9pI6HCHOQ8i3+i3fw4DxsiD/to=,tag:o5fKT6Moj7eqGLsH3YOgig==,type:str]",
"version": "3.11.0"
}
}

View file

@ -0,0 +1 @@
../../../../../../sops/users/pedro

View file

@ -0,0 +1 @@
475:7f02:be33:59d5:aeeb:5fb1:1201:67ba

View file

@ -0,0 +1 @@
../../../../../../sops/machines/beagle

View file

@ -0,0 +1,23 @@
{
"data": "ENC[AES256_GCM,data:6OftKlER99aaD6h6Kvv6OdIKnXi/Hm1lZ8m8/l8F/cE=,iv:ynUzED7AUqlLTbhJPUj29A9ubs8sSN/2t13bCyxUbKg=,tag:gVNjwoftZ0m8SdscH3baew==,type:str]",
"sops": {
"age": [
{
"recipient": "age1hcamqavws9xv6lda9wcv3vmtd47wg8nc3w6zmum9a9e42g0044nq3lp298",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4ZEFWVC9xTDNjellDTUdS\nTHpUK21VK29vQUZ3a05pU2JoRlRwY3ovcmxNCmFkVlZ3RGlxZ0JKdHN3VnpDU0Y0\nZ2JlOWk3eXZKbVp5S0lUS3I5K2hZOVEKLS0tIEdMa1ZKTDdCd3JHNjhYQld1STZ0\naVRSRkRicXRlSytDaVZRUWZxY1J5QTgKqX+dygTB3UveCVfUJy2NfygGzF4XKvYl\noVnB7W30GY5Ltj/ruATDTE9dK99FAGC9K/GXrGuszJs6jZQbli/y7g==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1lrg2j5a90yy4ccj4c8yrmkk4rx029t5hfh6n5a2nte77pwlspp8qvgmtmg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvS2lPdVp2L05hSnJxK1RH\ndGxENnl1TzZqWS9DaDV2YnBpSlVzQXRKSTFFCm5rRGl1RXVUWCtmbFFFUXFYNy9j\nY3R1ZXcyaFc1Tm15c2RrMDNseS8yZXcKLS0tIE45bFphTHZjVndQdE0rQlhRUDlU\nWmJPRmlGdmZFSVNTUTJOWW81UnRXSncK69PAAVvsiUvOU2JyXL1XYFlkqhF5+ig0\nulrrTVIRA01KI+ia0a/Tk8ptKidqik/KQyJCi1H03NXmK8ilY1puNw==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1r2sw9uncvkqtklypw4rttufhw86lhhqrghed8l2kda6hdrd9ypyqm7y863",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvL2E1K09CTjFra05leVBh\nTFFYbjJpc0Z6WlVzbXM5aHBPcERjbkhjTlg0Cm04Y3c3eVRBZ2pOTjRvQVRVT2pq\nQ1A1WXZLMWp1ZTVqalV6bzdlcUFsRnMKLS0tIEtVUU1ISjltZkUyWFhURmZjTHA3\nYjJsL2ZjWFU5NGZIMXdVMnZvQ0FpQzgKz5Tzu/auNwRlFKitfLKYeJWzvQZYN05c\nlB2pZlShT5q4KdwruWhFNy84yNOfc8x7rZNKYyKkZ7AjIL7tnboJ/w==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-10-16T20:40:10Z",
"mac": "ENC[AES256_GCM,data:iEYZ0oiFF9aptq6hstJyVgskdeJ3pkk07WJm/ZYQ6CME4IksPR+dGrjKjYY9tC9L7VPHL6Bt+oiwpdsZNnF73E4Xuafi9NMFqviF3hPi2oHJlIR21hYr3IF/VnFf22txOdHC00TwOkmtQjcSfiWzlGPuQ4pkuuVzzoAzgm05nSg=,iv:6FLAyPvzx8mHQCE00JSNluT0GFrYM78gKdgs2Jphb2g=,tag:owredr0rXt8fT81wnVUgNQ==,type:str]",
"unencrypted_suffix": "_unencrypted",
"version": "3.10.2"
}
}

View file

@ -0,0 +1 @@
../../../../../../sops/users/pedro

View file

@ -0,0 +1 @@
e8a9a02c34b9c1413513267e8f1061de453f919472838b2c08e772236425907b

View file

@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHWP3/YtY/sRkCKiiV0ueEmOXQklURggHZEkfUapgjyZ

View file

@ -0,0 +1 @@
../../../../../../sops/machines/beagle

View file

@ -0,0 +1,23 @@
{
"data": "ENC[AES256_GCM,data:rNXSwzKT/ZDlHFjZi4GrQC4kU8YiS5KlrbcYGAFf5dBAeFiPRRn2WgesN5O6YQQ9noAp/W58Bt7whA3xBPr9Nv8A8OVYAX2lUo6dfuCj7hgCNcuM8uRySOrYHPicHtDy7G4LLzRG11csIQxN5oz43aPjotaUbnpXleGyu+ASfVLxDfwXda+ze8SscYi5sE7LTnucnXBXo1h6pUhy/DzjqhQx1chnY+vTZtpDGz9/XdNUShQelW/Qkt5xzskiFOM6T6xaI4Yc6quthi+DBviXuz8Slqrt2brfHoohzKT303CFVNazcoklhyQvN2SyFA8YO+lj8unWS1xj/W3x7/cVeLQA5GwN43apkY4pEwsoh3LkHYhXZ+nquM9l4m8ieU5BGdBk8NdyW1Pyb4dKaOlyNd5CnTFj8t74JmupFeMwnX73GjwrEDBA52ie3vBO5SgefA/AVvi5QBtwIkvKsbK/sAVP2cyyIIS8dG3ShC45RlC3rvgIVYWLOKovlaj9HaVRdBsp,iv:psgKlm0oNtWDgMXRxUOopS8X2iCCzIdSTxVfHFk1of4=,tag:Nf+NuT7sKbiKTyY2LZgxqw==,type:str]",
"sops": {
"age": [
{
"recipient": "age1hcamqavws9xv6lda9wcv3vmtd47wg8nc3w6zmum9a9e42g0044nq3lp298",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlbGk0T0liVkt1UXVYT2dw\nTlJaMW9jbVZ1WGRpV2w3ZEJXQWZSU2cxZ0dRClA5aXI3d2JBSnIrUm52SkdDcjhZ\ncnV5R29WOGsrdHpSSzJoSko4UzVWRlUKLS0tIDBIOFpUTzF1VU1TZHQxVlVMZnVM\nOFIvNWRLUWU4cjhwT1AxVmg5ZG9ydVEKqCf2AERcPJ6iKZqEFmm8Ue2RhvcYC5/V\n8Dy3t4MTnVsX2TJYc/sTokX00BONOm4ciQHyW3F+IcoPErlvCTYlnA==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1lrg2j5a90yy4ccj4c8yrmkk4rx029t5hfh6n5a2nte77pwlspp8qvgmtmg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEaWJQaUxSNXRadkpZOTBt\nY0RBdGVmU2M1WFNRK0tpWEN0c1UyUXlNZ2tZCnBBS01rVlN3bzhpMWpTNlBJYmMy\nb0pBSk9GWk5idmdDNE5sbnFjUFA0UWMKLS0tIHY2RFB4WlViQlRCL0ZNZisxR1dz\nWGF0ckYwUklIVFNUQzMxQWwyR3k2ME0K956FEnTAwmqwjhpoB7oE6dtuQMboitD7\n6hOqMAnnBerViBChB89DEzS1yKXU4+EIoWGXvIdeaYYkFv/Bu2mqGw==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1r2sw9uncvkqtklypw4rttufhw86lhhqrghed8l2kda6hdrd9ypyqm7y863",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkWTVjYXhHMmRXbTMrVmR0\nTXA1RThCUlZxYXRVTzN3elVlNHc4Qk12bFNjClZpT2xWbkNSOGRQVUtuYXREZnV5\nbElnQ2UzZzBNd3NLK2lQZ3dxVGNLOWsKLS0tIGJzS1paTzRYT2d0U0dVVndKWlk1\nU0RQVjJrSVRmaHE5akNvREw0VTAvZVkKzx01+HAdRsC7se1Qb1EBex/1myT2mKvY\n/hWFlzPyh6wfK6tB8uwRjUrX2763vCS7TcPfLIF4hfuPii24K3KP+g==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-10-16T15:32:39Z",
"mac": "ENC[AES256_GCM,data:Q5yBjYSRA+JFPwqlwfksmI5jlElu/EsmbutvpSqlFKY8EBcbkNbUi1bWdj8IGvndQ2NLhuf7DdHFQQ8Emlonm5pzo7KAjQlbYzWHe1/bBs6xi02qcgkMsEFTCHj8EqsyXVFrNhl8tx7X5ZQQ3tqV6k+H6ylhxe19hhaA5PgwKsg=,iv:XPg5in4DQF9N1+XvA9kzqZCa2/sWkZ6TYHV27gkqdcA=,tag:60VXpyNgU7hG/St1GYPOgg==,type:str]",
"unencrypted_suffix": "_unencrypted",
"version": "3.10.2"
}
}

View file

@ -0,0 +1 @@
../../../../../../sops/users/pedro

View file

@ -0,0 +1 @@
../../../../../../sops/machines/beagle

View file

@ -0,0 +1,23 @@
{
"data": "ENC[AES256_GCM,data:753ovNm4lPBFM2dhPY5KFw3GE0cZ8LUuPPwL1WX/sxHVJd7mn+AfYgsrxJVeOfYqvs05ZDBxkFPTCnMDy3Vn+CJOOZbK6aSVgUKJyVafVI9dxyd7etmvhDHwHEE6eebEkmg4g25pGoJXLg==,iv:5/Sg8FkPNP7+GBXaXpsPScqwEF4+4CKXA15cSQSdJ8w=,tag:zJXDd0psEFZmTfizJ6ALKg==,type:str]",
"sops": {
"age": [
{
"recipient": "age1hcamqavws9xv6lda9wcv3vmtd47wg8nc3w6zmum9a9e42g0044nq3lp298",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzY1pvSXdyTzc2cVFzM2RV\nd1dhWEp4QmNDcURaWGtuS2dIcGhTM2doREJ3Cm1kR29UdWJPWHpOUlpQTjRiUHZm\neGRKNFJqd0ZUbUJWZm82U2lQRDRCZjAKLS0tIHg0MXdTUmNYSGduZDZ0a0JSdjFq\ncjZmSy9BbXd6Zm5tMzlhOUVucllDOW8KH1JKi3Xe1+nAulwJ9BqKAAjvc03po5ag\nwg4Sp1SuCKn9HqmeShMdda9WYrrRu/GBUGCsBUNTSF9bf5LcmLhjAw==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1lrg2j5a90yy4ccj4c8yrmkk4rx029t5hfh6n5a2nte77pwlspp8qvgmtmg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBob2tSNFJpSVFmcTlaeFRo\nWnZhY05naEt3akRDTWl0elovSDdzcEt5UmlVCllFWUswbEtmVXlGdGZlNTU3YmZx\na0c2bkp3ZXFSVmZ3WVNxdnlONUhlWVEKLS0tIGd3NkswekR6a01ibk5UcUpKY0hX\nN092cTlTV0x5cWZJc0J1L1cycTFqUmcKgnjQviZfBfKRAJGMwDSGLR7ME77vdIuu\ntV3UZWCULFn3eljb6UFRLnRXPCKH20BzhA6usMYCPNAaTQEHL8eTEA==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1r2sw9uncvkqtklypw4rttufhw86lhhqrghed8l2kda6hdrd9ypyqm7y863",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHMkhlUFR1enZ4RkRjZFJ3\nSk5tNkxkY1JEVG1xb0Y5NWpoTGt5alBSUlJrCjFYdSs1RnhCL1o3RnZEa25HQk1U\nb25KNHlocUtqMld0Y2w2SFhsSnQvVnMKLS0tIFVvSHZpYzYyYTJXRDhzcEc4L251\nV1ZjZm1OT05jZGdtTUJZUWs4cWppbDQKoQpXFPXacJ0IaJ+XugNG1LIt1FBPDS6Y\nAYDquZnocNfQ+ZStnZ2uOQvvaUKJU8okvmlLJpiBbgN8Fa30WObkxw==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-10-16T15:32:51Z",
"mac": "ENC[AES256_GCM,data:M1CmmPn+HqeHGeNey6cR8ZCRH9zEhAPN338r6y3KN61GKf6EjsBOTUHWunEpB9T9D6E65EkqR8PfVxie2F8EETGFVI1dJyto7RVFW7PPWDG/r/hBtnTGerCt53Yo0XknprkKTqvLRPKuzYGF2eLoKwhLDGiQPj0+2zx7sXqLp60=,iv:FLPXFHor8L7I3gJ7My0nPsrsoxSPYi7gsK5bvNL6eRc=,tag:I9DvoFC1y7yZtKabACXtzA==,type:str]",
"unencrypted_suffix": "_unencrypted",
"version": "3.10.2"
}
}

View file

@ -0,0 +1 @@
../../../../../../sops/users/pedro

View file

@ -0,0 +1,19 @@
{
"data": "ENC[AES256_GCM,data:pQ5GLFFVxAEyjDPh3wjaMA==,iv:tlAXUEjXITYD7Ml/TUPyiygkLceEiEg/TFWXv6Uo6lY=,tag:J3DqeH737/qFCzEml8AW1w==,type:str]",
"sops": {
"age": [
{
"recipient": "age1lrg2j5a90yy4ccj4c8yrmkk4rx029t5hfh6n5a2nte77pwlspp8qvgmtmg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmNFhXbFR4ZG9lSXMrSFRW\nbHd0VEM5QXRZeDliK3dLV0pqbTZhQTVwNm04CnVjc3huZXdMZWhyOWUrdm9IQkRB\nc3pPSnZ0aTdkUm82bkJITzhGMzdvVEUKLS0tIHhCdXFBZUthT1d1T2IzWHBBN2Js\nMFlPNk1CTEtneWZGdko4LzFpZFRwL3MKTxg2TImtl2xHOGOPxXrM053lFSPlb4Tu\nyP+fsz0d2fBK7pC2/8KPoasw2RPgtCNKN3Bk162iov6HSC5wlApHCg==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1r2sw9uncvkqtklypw4rttufhw86lhhqrghed8l2kda6hdrd9ypyqm7y863",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrT3RLOEh3SXRaUGpDSHp2\nRlc4Wks0UDhMTkJ0QmJqOXNWcDY3WUJhTG1FCmgrS3NJTFRQKzZqOGFmVEJ1amtV\nNlMxd1hzVVJUdFh1anVHSkxUVWVnOXcKLS0tIEZxRmEyU1RkRy9za0NFRVI4ZTFZ\nN1J6dXVHaGdaNm5haVdvU2hZT0M1WG8KiWuIBP0sI81wSfo4/l909gt5RAoYz24f\n4IQhe8lmRvdGbH2tzDdYoaPWTR6Mv43G1pVQVZTESTpkRAKGNuDUow==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-10-16T15:32:51Z",
"mac": "ENC[AES256_GCM,data:rh1brArm0IJzvtFXrpiPizWQjecJZvrhgkGoeN3UcZbsazg+NZT+SBuBb+K20iEAUdcWwe7cor8CTIi9cpBlWTAH+/txzXIzvWwKZUDKp3yuy7PO2m1FwnEhG6UjWOqMwnb/gf4Z7HKLIuEMpV8jo6noAnLzErddo1cXWuaK8qE=,iv:SPUEXcsNxYn2xyhvgndyr80RrJtoxbGYIoccVbRNyP0=,tag:UT/O44oQCn6jiJuFyDaulQ==,type:str]",
"unencrypted_suffix": "_unencrypted",
"version": "3.10.2"
}
}

View file

@ -0,0 +1 @@
../../../../../../sops/users/pedro

View file

@ -0,0 +1 @@
25.05

View file

@ -0,0 +1 @@
../../../../../../sops/machines/beagle

View file

@ -0,0 +1,23 @@
{
"data": "ENC[AES256_GCM,data:yqL6TlV1h3BPMpci/mz6NoukMZD/yJ8vDfREQMsJMajvsKWERQwfJgUQc/63HRU3LMsAgv4PrNOsnyU4jplN,iv:up3vfLFK6M/jR8DsoaVjtJdr2x04b1nL4HhD9/NXXC0=,tag:G7Uj5lb5RgndrajA+7sl6g==,type:str]",
"sops": {
"age": [
{
"recipient": "age1hcamqavws9xv6lda9wcv3vmtd47wg8nc3w6zmum9a9e42g0044nq3lp298",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaYXhYWVdCQ05SNXQ0aEta\nTzNGZmFIKzVYNHJTbmZnS1RoZmdyZ3FQbURZCndwRnplNjhTOGVPM1BXajhHMUZF\ndnd2cFJ4Yyt1Ujg2bTVwT2Z2YlY4eFUKLS0tIG40RVpKMUN4VHR6dzV6eEdONFZr\nRVpLd040SlFDMFcvdGF2L250SHpwTjQK/ccR9TMLEDVsvhi34RrNOVbmxK4I4+wA\n/EoUL76bYug9JfotRWc2Bbljxg8JzgY7jzKrD4TR8OPDF7sKATi9jQ==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1lrg2j5a90yy4ccj4c8yrmkk4rx029t5hfh6n5a2nte77pwlspp8qvgmtmg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuTkRRVitaS1oxVDZ4dmh5\nZGJXNFcweElzTFovSC9HeHRyTFJFbHFvVGtzCkp1UTBnbWdNZ0JTVUNlZ1BPWGpW\namx0SmFMWXlBTlpvbmMxdXVqTmVUdDQKLS0tIEZuRjZaT1M2VnR1ODAyS25neWwy\nVmNyM3dPWTZqSVQreE1YZEpzTE5yS2sK++a6QtVA4B9mj4PSoPQjgMpDavk5mxT7\nX9bJ8BNJcmOOkqVWRJO+I8WENk2WZI9kLPODrnXcHg8YM2Se1V1G9Q==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1r2sw9uncvkqtklypw4rttufhw86lhhqrghed8l2kda6hdrd9ypyqm7y863",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwbnl5c0d2eTd5UnI5ZFhk\nNjVQZzNqVCt4UWpjd2FMenEvOVZ4QWpVUXo4CmR4WWIwaXhjbUVpZ2NhNVpaWURh\nUWJvaGFQeS95ZmNKZjZVOEhOaU5zSVEKLS0tIGhORWR5bWJaYTJpRnZFSi9GaUdn\nMGFHelhtUlR5Y214RmZkSUlQTHNmd28KNoVRmnMi9JfVdXp7P7RUph17PvvzqU/A\nWm7lL9NOp2ar4zUxbFgIBI94Yhq9xaYJXFG2Il+IKRCpB60NWY2XOA==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-10-16T20:40:51Z",
"mac": "ENC[AES256_GCM,data:1aZKGZPYJBy/VpF9kYjn6QE+tJx+9/9TdFWUPuRj7zuIioLqh920/y91WSVnTL0QPNAl3BHV5YnR7GBYzPWZ7MF+RJikZA9HeG40h3Q6SHt2sI4jqlOPKijDmmEe34Vlpoo/RlQbQyG5XGwNtrYtXTHRzv4MiqRpjyaV4Ynr2NM=,iv:36d0640Z3jPk64JmAyS0NuA5FCnxTW9sPoOyLWNnFTQ=,tag:FlBVdIrkPBI1je5OrwjCxg==,type:str]",
"unencrypted_suffix": "_unencrypted",
"version": "3.10.2"
}
}

View file

@ -0,0 +1 @@
../../../../../../sops/users/pedro

View file

@ -0,0 +1 @@
../../../../../../sops/machines/beagle

View file

@ -0,0 +1,23 @@
{
"data": "ENC[AES256_GCM,data:aMFjrlgqdzWY1k3Tuhzel/vl9nosNa85tftuwmoE8CG1ZarhpMoJt5Hx4F+9TVP18iEpGhgi0AnP7apybXY31r4LK29WCo15aAfDciDtcRFo55fxMdNrhtPSMyg0hcUO,iv:SmBY9hXP4nv+goFBdJ0K2mgpPzRqQoH8BJLASGEUQGI=,tag:gsuwfsAnyi4P1hz9nNdyOg==,type:str]",
"sops": {
"age": [
{
"recipient": "age1hcamqavws9xv6lda9wcv3vmtd47wg8nc3w6zmum9a9e42g0044nq3lp298",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQRWExeWNyV2lvQ3FwQndU\ndGU5WUxRa0hIOWNNMldoSGtucWVxeGpVWXhJClE1ZmJUSnZ6UlFHSzJIWWVySEtE\ncU0rSEc1RmhYaWxRTWdtT1FuendQdTgKLS0tIG9FMTZNL005UkdrYnlXbU4xWTNW\ncm1Yc0FSanl5YUNDZENqTnU1UFA4ZWsKxPN/1C190FokJWD5/DQvw0iKxNo/pif+\nOWEBUDyiAVYkbWfARLJRkFM0qiRZxAQ3mGZpFLuD9IbhZBc6lkp31w==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1lrg2j5a90yy4ccj4c8yrmkk4rx029t5hfh6n5a2nte77pwlspp8qvgmtmg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMa0s0d2t3aHczcWE3bFQy\ndzVIQnJSTUprKzhWdEd0STJsSzdmUkFJNWpZCktQRTNlWFFvMUttRk1tNGhYUTlO\nMVRZT0hDaysxTjN3Qk9ucDRPLzY2ZXcKLS0tIG9WZ3RVQkY1bVhaZkZiUEpkaDBj\nY1ZqT2FTRkxjSzZGWEc4VDIvS0F1bGcKPM/YlC6E7z0c1/niCrzvCo7d9yir1ZJP\navVmRCkRXBs9d0ebpMhB3gIRs2K2NEDZtpzoZ7MM8mY7GJkeSJXnhA==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1r2sw9uncvkqtklypw4rttufhw86lhhqrghed8l2kda6hdrd9ypyqm7y863",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUWWoyVFhmZ0ZqOEdsSjdK\nbjhRSjQ3YmU1a2NBK1JpL3FjUVFEa1JycUJrCmJtQWFBN2tnQWV4NVVTNHlYVUgw\ndHVLaVBDNWYvb0xsZXJtSU43S3BoMXMKLS0tIEVlR0xyamozeUFJV1MzQ0M3U0No\nOVJ1eXJlMTYxR05qVlNQSkhmWWVOT0kKx/wlYDty5rY4YiQpk6J/8b5AIuusVjD/\nzJvV+molZNzu/HsdP1H0rguEWn7zA86G3fv+2KqwGBOKr/4AXtO+ig==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-10-16T20:40:52Z",
"mac": "ENC[AES256_GCM,data:MOdSzRN2bGRaoo4Y5PzW0u0iFV3HCFcVmWrpufyskvshy8FxweoeLTQ4TidLOopQgzMz8SesCVGC0SYMWM0M81Y4/21/1c5wvdZeikmvTSJZsSI5ap0HOAEgpLEuhqbgt0msCSriKHOO/DDQnQOcVCwHCDK5f+idz1A4R3SdYbo=,iv:95nSBFfEak+yXHrBAh712LIKgptBdbyWtNSja60yppk=,tag:ZljlWB3tLvAey4pzp9yetw==,type:str]",
"unencrypted_suffix": "_unencrypted",
"version": "3.10.2"
}
}

View file

@ -0,0 +1 @@
../../../../../../sops/users/pedro

View file

@ -0,0 +1 @@
../../../../../../sops/machines/beagle

View file

@ -0,0 +1,23 @@
{
"data": "ENC[AES256_GCM,data:0y8CBAybq4z684vvj3FzfMxxzbVkb70TY6d8yEv2ddLbxsoob8lHz4a0WPfG00ggWlikKZOPCJ/HrtqQ/42GtWE7OQr2KTJqzGUQBm0jaWn3P9xtwjLp/5pdNL19WvcCZfiIXhWohdOjrA==,iv:416hIE4LsCjyMajZVidVa9qjtqqKXpTNkdHEKPcqpOA=,tag:pYQiyHwBWpiWl/8OpC2nwg==,type:str]",
"sops": {
"age": [
{
"recipient": "age1hcamqavws9xv6lda9wcv3vmtd47wg8nc3w6zmum9a9e42g0044nq3lp298",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvMGJkODRuVE01SVlHUHl0\nWlFvWndWNWlPZEw0U01pWExaWHpiSVBYMVVrCk5Wc3dzTWpuWVhyQUZWS1FFYnF3\nZTRoSlhzK1g0Nml5aVhlNVF6Umtmb2sKLS0tIG9ncklmbGIwRmxxMXcxQUcrTnVl\nblgyK3ozZHdacThPYVFiOTJlU1cyc28Ke7W9HR/3lAKpQiwmVEr2mq52pJc2HSlK\nLECcuS7SWKuCGxGCp6lDeL2yjqMfjua/s/zuLaxYnT3G6zQTnN/Cgg==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1lrg2j5a90yy4ccj4c8yrmkk4rx029t5hfh6n5a2nte77pwlspp8qvgmtmg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLZWxPR2hVN3J0cm5BaXln\nNXpWR0VDMTk5Z1puTk5XcWVtbGpzdzZHMTFnCjBCR0RLUzdhMEFSbUFLNGE3am9X\nSldhbFVzc1lsRTJuYTl1KzJ4YXVMRWcKLS0tIGZZd0NhQ0JxKzZ2MzdJN0N4RDJM\nVkN2eU1uM2YrSlpCYVZqZ2FQWUJOdVEKOcG612EGwmZSMJGEmg9PUTFiLZQBFvtm\nqXqD/nDGcbThVyLr8dp1w/4UGMeSo1iHLotF6ztMdzYeXH1eKnbEOA==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1r2sw9uncvkqtklypw4rttufhw86lhhqrghed8l2kda6hdrd9ypyqm7y863",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnWFZ1RDNoRWMvNVFxYXR1\nalhZaVpmSFRHRjZkN1FWK0pTNi95UlZ3T3owCjExSWxzNzBjNXhWcDhBbnY0QmxW\nWmFxd0VnNEFDMlZJVHVWZlRQamJ6eW8KLS0tIEFVMXlNZnNLVFBpLy9pcldmU2da\nUGJ5ZGRGM3UzT2taZnNoTzZtaWtoYmsKf3DeM3r57qszDnTdm0EKRukIHVaxOZ7U\nMs9I4C3rFCZEx8+MoyHlMl8a6UMwEA4u/LmEJdLiUuSVIhxpcH6GLA==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-10-16T15:33:01Z",
"mac": "ENC[AES256_GCM,data:To0b9O+8PLq+K8fq2mXZvUdqRrxLk1f5//6KwvrgG/2gIMiH3DZmIBtHUhfOyk5Shs68uyaIeLrW/yRJZpY8YJM/rkIBEN6YgA7q/0wAkZ6E3xwpsiCpX7tciFBExSi6ZMVlat07nLKy2J9dDeaSUs6lNN+aHBoTYdvvWY1vAyY=,iv:chCXsG3Xxpv3ECIHRKynlb7QIniyw3MiyKr++4D1gVc=,tag:7pngG9W2p6I9VFC6YeP9Ww==,type:str]",
"unencrypted_suffix": "_unencrypted",
"version": "3.10.2"
}
}

View file

@ -0,0 +1 @@
../../../../../../sops/users/pedro

View file

@ -0,0 +1,19 @@
{
"data": "ENC[AES256_GCM,data:YCSH5omWHLG9MSfMMVkQAw==,iv:UFKGq0rF4GBGXUFJ3AtdRmGo54IGCPIXZ2uqO3uIp98=,tag:UW11W0GiXJDNADgEIRrqkw==,type:str]",
"sops": {
"age": [
{
"recipient": "age1lrg2j5a90yy4ccj4c8yrmkk4rx029t5hfh6n5a2nte77pwlspp8qvgmtmg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkdENkd3piaXdqVVFlNU4z\neUFuWXhJVU9seER6RkswOHlHdXpscVJDemw4ClBTQjR0NUNONXVPQWhOWjVmbVRn\nYTI4N2FtMGZveEFpVTVNczZ2N2krN2sKLS0tIHlHV2gxOVgrK3VLUVBjQWRtMEdI\nSWVRZTFkYi95Tk9ZenphaUJTdlZBV3MKHE4vm9ccPVO1cwE5vOCpvEgtjC6S7pcP\n2HlemqSFoHaYOcRons7VpuuweroSt9v/E1fM/UMgxDeA0dFj1sw8YA==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1r2sw9uncvkqtklypw4rttufhw86lhhqrghed8l2kda6hdrd9ypyqm7y863",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzdkFyaWNEZnlVcjEzaVQy\nR1Ftc1ZwWXFNUmFPdWhLejRhMkc3Y1h3a0VZCmpqYXE5OUdwK0VYdnY1cFVWMFZ1\nMDAvaXFhbUQ2V3Urcmp3SC9VMldOZlkKLS0tIGdXSmFZWFhESWo0YnR2Nlg5bjJ2\neGdrNlZqbkpWME5sMEtsQmZsMXZKeEEKM2WGbk/0D7iHTWKR1QRkT8FoU25ReRP2\nFQdYWwYT80ew0pC0lnp5cy/xftV6MmUyv+6LXcSU8ygNLqjcNmuq7Q==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-10-16T15:33:00Z",
"mac": "ENC[AES256_GCM,data:rcLvxiaWqvoPDnEqlbJlfDObgNHNqH+Yooe4VsF6+zGSmR5A7Zwm7day4eGpzDFxtr/sin/bOqwAelnmyRrgd+N7JsCaiz9z5n7mxR5f3kjVObSfSCV36gwdzppvTCXHW5hY7MdVo2ZzZ7AuYSXCRCmgHaKqVRnRkCLMeqb0ZOM=,iv:9I4pcfkCjU0zmKEVnD303/fHm2uii6C3DD2hwedHQn4=,tag:hFouDnvgoclmfwP8jyC+iQ==,type:str]",
"unencrypted_suffix": "_unencrypted",
"version": "3.10.2"
}
}

View file

@ -0,0 +1 @@
../../../../../../sops/users/pedro