diff --git a/clan.nix b/clan.nix index 48c13ca..a46eb09 100644 --- a/clan.nix +++ b/clan.nix @@ -17,6 +17,9 @@ terrier = { tags = ["server" "headless" "raspberry"]; }; + beagle = { + tags = ["server" "headless" "vm"]; + }; }; # Docs: See https://docs.clan.lol/reference/clanServices @@ -49,6 +52,18 @@ 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 = { module.name = "importer"; roles.default.tags.desktop = {}; diff --git a/flake.lock b/flake.lock index 781ac6b..21bfe6f 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,17 @@ "base16-fish": { "flake": false, "locked": { - "lastModified": 1622559957, - "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", + "lastModified": 1754405784, + "narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=", "owner": "tomyun", "repo": "base16-fish", - "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", + "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", "type": "github" }, "original": { "owner": "tomyun", "repo": "base16-fish", + "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", "type": "github" } }, @@ -75,17 +76,19 @@ "nix-darwin": "nix-darwin", "nix-select": "nix-select", "nixos-facter-modules": "nixos-facter-modules", - "nixpkgs": "nixpkgs", + "nixpkgs": [ + "nixpkgs" + ], "sops-nix": "sops-nix", "systems": "systems", "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1758171905, - "narHash": "sha256-b7kdqdIGp3/S0GLxV7QZaKq0cX2PvYXiVsHh7rNybJg=", - "rev": "92e2c841e339665571876307aed738eaf7d331bc", + "lastModified": 1761933458, + "narHash": "sha256-brrT6rPI/CSpk+xt2wSwfti7xWdeWeWeTqhogRsbVus=", + "rev": "6ffe8ea5f65de28ca05455384cf8bddce4cbfe16", "type": "tarball", - "url": "https://git.clan.lol/api/v1/repos/clan/clan-core/archive/92e2c841e339665571876307aed738eaf7d331bc.tar.gz" + "url": "https://git.clan.lol/api/v1/repos/clan/clan-core/archive/6ffe8ea5f65de28ca05455384cf8bddce4cbfe16.tar.gz" }, "original": { "type": "tarball", @@ -108,11 +111,11 @@ ] }, "locked": { - "lastModified": 1757905600, - "narHash": "sha256-Yd7buL9N7N7IaDVViItqP9HsECfnlDFykxvvNgMYcKk=", - "rev": "c10c4002bdc5aef040fcbb814d5f482e82dc8345", + "lastModified": 1760612273, + "narHash": "sha256-pP/bSqUHubxAOTI7IHD5ZBQ2Qm11Nb4pXXTPv334UEM=", + "rev": "0099739c78be750b215cbdefafc9ba1533609393", "type": "tarball", - "url": "https://git.clan.lol/api/v1/repos/clan/data-mesher/archive/c10c4002bdc5aef040fcbb814d5f482e82dc8345.tar.gz" + "url": "https://git.clan.lol/api/v1/repos/clan/data-mesher/archive/0099739c78be750b215cbdefafc9ba1533609393.tar.gz" }, "original": { "type": "tarball", @@ -127,11 +130,11 @@ ] }, "locked": { - "lastModified": 1758160037, - "narHash": "sha256-fXelTdjdILspZ1IUU9aICB1+PXwSFiF8j+7ujwo1VpQ=", + "lastModified": 1761899396, + "narHash": "sha256-XOpKBp6HLzzMCbzW50TEuXN35zN5WGQREC7n34DcNMM=", "owner": "nix-community", "repo": "disko", - "rev": "4f554162fff88e77655073d352eec0cea71103a2", + "rev": "6f4cf5abbe318e4cd1e879506f6eeafd83f7b998", "type": "github" }, "original": { @@ -148,11 +151,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1758168230, - "narHash": "sha256-Fsb3Tpo3QRlRAKvDCoMvWD99y+ioY62kgU/cjMr203U=", + "lastModified": 1761969823, + "narHash": "sha256-YqUB0AYD4KbeqvSZqPhXhHBj3mLKTyuYrofyRgG3+Xc=", "owner": "rycee", "repo": "nur-expressions", - "rev": "285da329ed3e03565cba6f92b7f21350831266e3", + "rev": "aecae658b04384b2f87249c6b93fdbfd97ef249d", "type": "gitlab" }, "original": { @@ -186,11 +189,11 @@ ] }, "locked": { - "lastModified": 1756770412, - "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", + "lastModified": 1760948891, + "narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "4524271976b625a4a605beefd893f270620fd751", + "rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04", "type": "github" }, "original": { @@ -320,11 +323,11 @@ ] }, "locked": { - "lastModified": 1757808926, - "narHash": "sha256-K6PEI5PYY94TVMH0mX3MbZNYFme7oNRKml/85BpRRAo=", + "lastModified": 1758463745, + "narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=", "owner": "nix-community", "repo": "home-manager", - "rev": "f21d9167782c086a33ad53e2311854a8f13c281e", + "rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3", "type": "github" }, "original": { @@ -370,11 +373,11 @@ ] }, "locked": { - "lastModified": 1758102940, - "narHash": "sha256-wwqf3+A8EiqwWpcAaPN20QXJLlpGPpwtLTrzgnngI2o=", + "lastModified": 1761339987, + "narHash": "sha256-IUaawVwItZKi64IA6kF6wQCLCzpXbk2R46dHn8sHkig=", "owner": "nix-darwin", "repo": "nix-darwin", - "rev": "ebd0bfc11fc2b5cff37401e9b3703881ad5fabbd", + "rev": "7cd9aac79ee2924a85c211d21fafd394b06a38de", "type": "github" }, "original": { @@ -398,11 +401,11 @@ }, "nixos-facter-modules": { "locked": { - "lastModified": 1756491981, - "narHash": "sha256-lXyDAWPw/UngVtQfgQ8/nrubs2r+waGEYIba5UX62+k=", + "lastModified": 1761137276, + "narHash": "sha256-4lDjGnWRBLwqKQ4UWSUq6Mvxu9r8DSqCCydodW/Jsi8=", "owner": "nix-community", "repo": "nixos-facter-modules", - "rev": "c1b29520945d3e148cd96618c8a0d1f850965d8c", + "rev": "70bcd64225d167c7af9b475c4df7b5abba5c7de8", "type": "github" }, "original": { @@ -413,15 +416,18 @@ }, "nixpkgs": { "locked": { - "lastModified": 315532800, - "narHash": "sha256-1tUpklZsKzMGI3gjo/dWD+hS8cf+5Jji8TF5Cfz7i3I=", - "rev": "08b8f92ac6354983f5382124fef6006cade4a1c1", - "type": "tarball", - "url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.11pre862603.08b8f92ac635/nixexprs.tar.xz" + "lastModified": 1761597516, + "narHash": "sha256-wxX7u6D2rpkJLWkZ2E932SIvDJW8+ON/0Yy8+a5vsDU=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "daf6dc47aa4b44791372d6139ab7b25269184d55", + "type": "github" }, "original": { - "type": "tarball", - "url": "https://nixos.org/channels/nixpkgs-unstable/nixexprs.tar.xz" + "owner": "nixos", + "ref": "nixos-25.05", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs-lib": { @@ -436,22 +442,6 @@ "url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz" } }, - "nixpkgs_2": { - "locked": { - "lastModified": 1758070117, - "narHash": "sha256-uLwwHFCZnT1c3N3biVe/0hCkag2GSrf9+M56+Okf+WY=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "e9b7f2ff62b35f711568b1f0866243c7c302028d", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-25.05", - "repo": "nixpkgs", - "type": "github" - } - }, "nur": { "inputs": { "flake-parts": [ @@ -483,7 +473,7 @@ "clan-core": "clan-core", "firefox-addons": "firefox-addons", "home-manager": "home-manager", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", "stylix": "stylix", "tg-ha-door": "tg-ha-door" } @@ -519,11 +509,11 @@ ] }, "locked": { - "lastModified": 1758007585, - "narHash": "sha256-HYnwlbY6RE5xVd5rh0bYw77pnD8lOgbT4mlrfjgNZ0c=", + "lastModified": 1760998189, + "narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=", "owner": "Mic92", "repo": "sops-nix", - "rev": "f77d4cfa075c3de66fc9976b80e0c4fc69e2c139", + "rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3", "type": "github" }, "original": { @@ -553,11 +543,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1757957798, - "narHash": "sha256-FT4O5imFJ+FUIGhYj/aFwEEgyvLhuyJ2my8f6mCLtTY=", + "lastModified": 1761668239, + "narHash": "sha256-b0+7/5hBUsLjd/gMY9/LSEsvuWFFolHdpUAOlG73zmw=", "owner": "nix-community", "repo": "stylix", - "rev": "e6fc25cd12e8f461e402cf34649cc73ad93c7bdd", + "rev": "a149a557dc306e76d53e7dd488826e61ef9c6289", "type": "github" }, "original": { @@ -738,11 +728,11 @@ ] }, "locked": { - "lastModified": 1756662192, - "narHash": "sha256-F1oFfV51AE259I85av+MAia221XwMHCOtZCMcZLK2Jk=", + "lastModified": 1761311587, + "narHash": "sha256-Msq86cR5SjozQGCnC6H8C+0cD4rnx91BPltZ9KK613Y=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "1aabc6c05ccbcbf4a635fb7a90400e44282f61c4", + "rev": "2eddae033e4e74bf581c2d1dfa101f9033dbd2dc", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 286c5f6..b166960 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,10 @@ inputs = { 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 = { url = "github:nix-community/home-manager/release-25.05"; @@ -25,36 +28,39 @@ }; }; - outputs = { - self, - clan-core, - nixpkgs, - ... - } @ inputs: let - # Usage see: https://docs.clan.lol - clan = clan-core.lib.clan { - inherit self; - imports = [./clan.nix]; - specialArgs = {inherit inputs;}; - }; - in { - inherit (clan.config) nixosConfigurations nixosModules clanInternals; - # Add the Clan cli tool to the dev shell. - # Use "nix develop" to enter the dev shell. - devShells = - nixpkgs.lib.genAttrs - [ - "x86_64-linux" - "aarch64-linux" - "aarch64-darwin" - "x86_64-darwin" - ] - (system: { - default = clan-core.inputs.nixpkgs.legacyPackages.${system}.mkShell { - packages = [clan-core.packages.${system}.clan-cli]; - }; - }); + outputs = + { + self, + clan-core, + nixpkgs, + ... + }@inputs: + let + # Usage see: https://docs.clan.lol + clan = clan-core.lib.clan { + inherit self; + imports = [ ./clan.nix ]; + specialArgs = { inherit inputs; }; + }; + in + { + inherit (clan.config) nixosConfigurations nixosModules clanInternals; + # Add the Clan cli tool to the dev shell. + # Use "nix develop" to enter the dev shell. + devShells = + nixpkgs.lib.genAttrs + [ + "x86_64-linux" + "aarch64-linux" + "aarch64-darwin" + "x86_64-darwin" + ] + (system: { + default = clan-core.inputs.nixpkgs.legacyPackages.${system}.mkShell { + packages = [ clan-core.packages.${system}.clan-cli ]; + }; + }); - clan = clan.config; - }; + clan = clan.config; + }; } diff --git a/inventory.json b/inventory.json index 0126dea..fe7ff4c 100644 --- a/inventory.json +++ b/inventory.json @@ -2,6 +2,9 @@ "machines": { "frues-surface3": { "installedAt": 1759406633 + }, + "beagle": { + "installedAt": 1760646881 } } } \ No newline at end of file diff --git a/machines/aresix/modules/home-assistant/default.nix b/machines/aresix/modules/home-assistant/default.nix index 4d89b7f..ad9c95d 100644 --- a/machines/aresix/modules/home-assistant/default.nix +++ b/machines/aresix/modules/home-assistant/default.nix @@ -73,6 +73,11 @@ ]; customComponents = [(pkgs.callPackage ./custom_components/panel_proxy.nix {})]; config = { + homeassistant = { + name = "Campares"; + external_url = "https://ha.campares.duckdns.org"; + }; + panel_proxy = { esphome = { title = "ESPHome Dashboard"; diff --git a/machines/aresix/modules/reverse-proxy.nix b/machines/aresix/modules/reverse-proxy.nix index 3cd7334..a9e023d 100644 --- a/machines/aresix/modules/reverse-proxy.nix +++ b/machines/aresix/modules/reverse-proxy.nix @@ -54,6 +54,19 @@ "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; + + "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; + ''; + }; + }; }; }; } diff --git a/machines/beagle/configuration.nix b/machines/beagle/configuration.nix new file mode 100644 index 0000000..d144a3c --- /dev/null +++ b/machines/beagle/configuration.nix @@ -0,0 +1,7 @@ +{ + imports = [ + ./modules/kanidm.nix + ./modules/matrix.nix + ./modules/reverse-proxy.nix + ]; +} diff --git a/machines/beagle/disko.nix b/machines/beagle/disko.nix new file mode 100644 index 0000000..2ca7fe4 --- /dev/null +++ b/machines/beagle/disko.nix @@ -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 = "/"; + }; + }; + }; + }; + }; + }; + }; +} diff --git a/machines/beagle/facter.json b/machines/beagle/facter.json new file mode 100644 index 0000000..c88e5d5 --- /dev/null +++ b/machines/beagle/facter.json @@ -0,0 +1,2022 @@ +{ + "version": 1, + "system": "x86_64-linux", + "virtualisation": "kvm", + "hardware": { + "bios": { + "apm_info": { + "supported": false, + "enabled": false, + "version": 0, + "sub_version": 0, + "bios_flags": 0 + }, + "vbe_info": { + "version": 0, + "video_memory": 0 + }, + "pnp": true, + "pnp_id": 0, + "lba_support": false, + "low_memory_size": 654336, + "smbios_version": 768 + }, + "bridge": [ + { + "index": 10, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 31 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "1b36", + "value": 6966 + }, + "device": { + "hex": "0001", + "value": 1 + }, + "model": "PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.0", + "sysfs_bus_id": "0000:00:1f.0", + "resources": [ + { + "type": "irq", + "base": 11, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4272242688, + "range": 256, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 259, + "header_type": 1, + "secondary_bus": 3, + "irq": 11, + "prog_if": 0 + }, + "module_alias": "pci:v00001B36d00000001sv00000000sd00000000bc06sc04i00" + }, + { + "index": 11, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 1 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0001", + "name": "ISA bridge", + "value": 1 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1af4", + "value": 6900 + }, + "device": { + "hex": "7000", + "value": 28672 + }, + "sub_device": { + "hex": "1100", + "value": 4352 + }, + "model": "Intel ISA bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:01.0", + "sysfs_bus_id": "0000:00:01.0", + "detail": { + "function": 0, + "command": 259, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00008086d00007000sv00001AF4sd00001100bc06sc01i00" + }, + { + "index": 12, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 30 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "1b36", + "value": 6966 + }, + "device": { + "hex": "0001", + "value": 1 + }, + "model": "PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:1e.0", + "sysfs_bus_id": "0000:00:1e.0", + "resources": [ + { + "type": "irq", + "base": 10, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4272238592, + "range": 256, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 259, + "header_type": 1, + "secondary_bus": 2, + "irq": 10, + "prog_if": 0 + }, + "module_alias": "pci:v00001B36d00000001sv00000000sd00000000bc06sc04i00" + }, + { + "index": 13, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1af4", + "value": 6900 + }, + "device": { + "hex": "1237", + "value": 4663 + }, + "sub_device": { + "hex": "1100", + "value": 4352 + }, + "revision": { + "hex": "0002", + "value": 2 + }, + "model": "Intel Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:00.0", + "sysfs_bus_id": "0000:00:00.0", + "detail": { + "function": 0, + "command": 259, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00008086d00001237sv00001AF4sd00001100bc06sc00i00" + }, + { + "index": 14, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 1 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0080", + "name": "Bridge", + "value": 128 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1af4", + "value": 6900 + }, + "device": { + "hex": "7113", + "value": 28947 + }, + "sub_device": { + "hex": "1100", + "value": 4352 + }, + "revision": { + "hex": "0003", + "value": 3 + }, + "model": "Intel Bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:01.3", + "sysfs_bus_id": "0000:00:01.3", + "resources": [ + { + "type": "irq", + "base": 9, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 3, + "command": 259, + "header_type": 0, + "secondary_bus": 0, + "irq": 9, + "prog_if": 0 + }, + "driver": "piix4_smbus", + "driver_module": "i2c_piix4", + "drivers": [ + "piix4_smbus" + ], + "driver_modules": [ + "i2c_piix4" + ], + "module_alias": "pci:v00008086d00007113sv00001AF4sd00001100bc06sc80i00" + }, + { + "index": 19, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 5 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "1b36", + "value": 6966 + }, + "device": { + "hex": "0001", + "value": 1 + }, + "model": "PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:05.0", + "sysfs_bus_id": "0000:00:05.0", + "resources": [ + { + "type": "irq", + "base": 11, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4272230400, + "range": 256, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 263, + "header_type": 1, + "secondary_bus": 1, + "irq": 11, + "prog_if": 0 + }, + "module_alias": "pci:v00001B36d00000001sv00000000sd00000000bc06sc04i00" + } + ], + "cdrom": [ + { + "index": 24, + "attached_to": 17, + "class_list": [ + "cdrom", + "scsi", + "block_device" + ], + "bus_type": { + "hex": "0084", + "name": "SCSI", + "value": 132 + }, + "slot": { + "bus": 1, + "number": 0 + }, + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0002", + "name": "CD-ROM", + "value": 2 + }, + "pci_interface": { + "hex": "0003", + "name": "DVD", + "value": 3 + }, + "vendor": { + "hex": "0000", + "name": "QEMU", + "value": 0 + }, + "device": { + "hex": "0000", + "name": "QEMU DVD-ROM", + "value": 0 + }, + "revision": { + "hex": "0000", + "name": "2.5+", + "value": 0 + }, + "model": "QEMU DVD-ROM", + "sysfs_id": "/class/block/sr0", + "sysfs_bus_id": "1:0:0:0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:01.1/ata2/host1/target1:0:0/1:0:0:0", + "unix_device_name": "/dev/sr0", + "unix_device_number": { + "type": 98, + "major": 11, + "minor": 0, + "range": 1 + }, + "unix_device_names": [ + "/dev/cdrom", + "/dev/disk/by-id/ata-QEMU_DVD-ROM_QM00003", + "/dev/disk/by-label/nixos-25.05-x86_64", + "/dev/disk/by-path/pci-0000:00:01.1-ata-2", + "/dev/disk/by-path/pci-0000:00:01.1-ata-2.0", + "/dev/disk/by-uuid/1980-01-01-00-00-00-00", + "/dev/root", + "/dev/sr0" + ], + "unix_device_name2": "/dev/sg0", + "unix_device_number2": { + "type": 99, + "major": 21, + "minor": 0, + "range": 1 + }, + "driver": "ata_piix", + "driver_module": "ata_piix", + "drivers": [ + "ata_piix", + "sr" + ], + "driver_modules": [ + "ata_piix", + "sr_mod" + ] + } + ], + "cpu": [ + { + "architecture": "x86_64", + "vendor_name": "GenuineIntel", + "family": 15, + "model": 107, + "stepping": 1, + "features": [ + "fpu", + "de", + "pse", + "tsc", + "msr", + "pae", + "mce", + "cx8", + "apic", + "sep", + "mtrr", + "pge", + "mca", + "cmov", + "pat", + "pse36", + "clflush", + "mmx", + "fxsr", + "sse", + "sse2", + "ht", + "syscall", + "nx", + "lm", + "constant_tsc", + "nopl", + "xtopology", + "cpuid", + "tsc_known_freq", + "pni", + "ssse3", + "cx16", + "sse4_1", + "sse4_2", + "x2apic", + "popcnt", + "aes", + "hypervisor", + "lahf_lm", + "cpuid_fault", + "pti" + ], + "bugs": [ + "cpu_meltdown", + "spectre_v1", + "spectre_v2", + "spec_store_bypass", + "l1tf", + "mds", + "swapgs", + "itlb_multihit", + "mmio_unknown", + "bhi", + "its" + ], + "bogo": 4787.99, + "cache": 16384, + "units": 4, + "physical_id": 0, + "siblings": 4, + "cores": 4, + "fpu": true, + "fpu_exception": true, + "cpuid_level": 13, + "write_protect": false, + "clflush_size": 64, + "cache_alignment": 128, + "address_sizes": { + "physical": "0x28", + "virtual": "0x30" + } + } + ], + "disk": [ + { + "index": 25, + "attached_to": 21, + "class_list": [ + "disk", + "scsi", + "block_device" + ], + "bus_type": { + "hex": "0084", + "name": "SCSI", + "value": 132 + }, + "slot": { + "bus": 2, + "number": 0 + }, + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "vendor": { + "hex": "0000", + "name": "QEMU", + "value": 0 + }, + "device": { + "hex": "0000", + "name": "QEMU HARDDISK", + "value": 0 + }, + "revision": { + "hex": "0000", + "name": "2.5+", + "value": 0 + }, + "model": "QEMU HARDDISK", + "sysfs_id": "/class/block/sda", + "sysfs_bus_id": "2:0:0:0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:05.0/0000:01:01.0/virtio2/host2/target2:0:0/2:0:0:0", + "unix_device_name": "/dev/sda", + "unix_device_number": { + "type": 98, + "major": 8, + "minor": 0, + "range": 16 + }, + "unix_device_names": [ + "/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0", + "/dev/disk/by-path/pci-0000:01:01.0-scsi-0:0:0:0", + "/dev/sda" + ], + "unix_device_name2": "/dev/sg1", + "unix_device_number2": { + "type": 99, + "major": 21, + "minor": 1, + "range": 1 + }, + "rom_id": "0x80", + "resources": [ + { + "type": "disk_geo", + "cylinders": 33418, + "heads": 255, + "sectors": 63, + "size": "0x0", + "geo_type": "logical" + }, + { + "type": "size", + "unit": "sectors", + "value_1": 536870912, + "value_2": 512 + } + ], + "driver": "virtio_scsi", + "driver_module": "virtio_scsi", + "drivers": [ + "sd", + "virtio_scsi" + ], + "driver_modules": [ + "sd_mod", + "virtio_scsi" + ] + } + ], + "graphics_card": [ + { + "index": 18, + "attached_to": 0, + "class_list": [ + "graphics_card", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 2 + }, + "base_class": { + "hex": "0003", + "name": "Display controller", + "value": 3 + }, + "sub_class": { + "hex": "0000", + "name": "VGA compatible controller", + "value": 0 + }, + "pci_interface": { + "hex": "0000", + "name": "VGA", + "value": 0 + }, + "vendor": { + "hex": "1234", + "value": 4660 + }, + "sub_vendor": { + "hex": "1af4", + "value": 6900 + }, + "device": { + "hex": "1111", + "value": 4369 + }, + "sub_device": { + "hex": "1100", + "value": 4352 + }, + "revision": { + "hex": "0002", + "value": 2 + }, + "model": "VGA compatible controller", + "sysfs_id": "/devices/pci0000:00/0000:00:02.0", + "sysfs_bus_id": "0000:00:02.0", + "resources": [ + { + "type": "mem", + "base": 4227858432, + "range": 16777216, + "enabled": true, + "access": "read_only", + "prefetch": "no" + }, + { + "type": "mem", + "base": 4272226304, + "range": 4096, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "mem", + "base": 786432, + "range": 131072, + "enabled": false, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 259, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "driver": "bochs-drm", + "driver_module": "bochs", + "drivers": [ + "bochs-drm" + ], + "driver_modules": [ + "bochs" + ], + "module_alias": "pci:v00001234d00001111sv00001AF4sd00001100bc03sc00i00" + } + ], + "hub": [ + { + "index": 26, + "attached_to": 9, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1d6b", + "name": "Linux 6.14.10 uhci_hcd", + "value": 7531 + }, + "device": { + "hex": "0001", + "name": "UHCI Host Controller", + "value": 1 + }, + "revision": { + "hex": "0000", + "name": "6.14", + "value": 0 + }, + "serial": "0000:00:01.2", + "model": "Linux 6.14.10 uhci_hcd UHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/usb1/1-0:1.0", + "sysfs_bus_id": "1-0:1.0", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0001d0614dc09dsc00dp00ic09isc00ip00in00" + } + ], + "memory": [ + { + "index": 7, + "attached_to": 0, + "class_list": [ + "memory" + ], + "base_class": { + "hex": "0101", + "name": "Internally Used Class", + "value": 257 + }, + "sub_class": { + "hex": "0002", + "name": "Main Memory", + "value": 2 + }, + "model": "Main Memory", + "resources": [ + { + "type": "mem", + "base": 0, + "range": 8330162176, + "enabled": true, + "access": "read_write", + "prefetch": "unknown" + }, + { + "type": "phys_mem", + "range": 8589934592 + } + ] + } + ], + "monitor": [ + { + "index": 23, + "attached_to": 18, + "class_list": [ + "monitor" + ], + "base_class": { + "hex": "0100", + "name": "Monitor", + "value": 256 + }, + "sub_class": { + "hex": "0002", + "name": "LCD Monitor", + "value": 2 + }, + "vendor": { + "hex": "4914", + "value": 18708 + }, + "device": { + "hex": "1234", + "name": "QEMU Monitor", + "value": 4660 + }, + "serial": "0", + "model": "QEMU Monitor", + "resources": [ + { + "type": "monitor", + "width": 1024, + "height": 768, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 1280, + "height": 800, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 1600, + "height": 1200, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 1920, + "height": 1080, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 2048, + "height": 1152, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 640, + "height": 480, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 800, + "height": 600, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "size", + "unit": "mm", + "value_1": 325, + "value_2": 203 + } + ], + "detail": { + "manufacture_year": 2014, + "manufacture_week": 42, + "vertical_sync": { + "min": 50, + "max": 125 + }, + "horizontal_sync": { + "min": 30, + "max": 160 + }, + "horizontal_sync_timings": { + "disp": 1280, + "sync_start": 1600, + "sync_end": 1638, + "total": 1728 + }, + "vertical_sync_timings": { + "disp": 800, + "sync_start": 804, + "sync_end": 808, + "total": 828 + }, + "clock": 107300, + "width": 1280, + "height": 800, + "width_millimetres": 325, + "height_millimetres": 203, + "horizontal_flag": 45, + "vertical_flag": 45, + "vendor": "", + "name": "QEMU Monitor" + }, + "driver_info": { + "type": "display", + "width": 2048, + "height": 1152, + "vertical_sync": { + "min": 50, + "max": 125 + }, + "horizontal_sync": { + "min": 30, + "max": 160 + }, + "bandwidth": 0, + "horizontal_sync_timings": { + "disp": 1280, + "sync_start": 1600, + "sync_end": 1638, + "total": 1728 + }, + "vertical_sync_timings": { + "disp": 800, + "sync_start": 804, + "sync_end": 808, + "total": 828 + }, + "horizontal_flag": 45, + "vertical_flag": 45 + } + } + ], + "mouse": [ + { + "index": 27, + "attached_to": 26, + "class_list": [ + "mouse", + "usb" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0105", + "name": "Mouse", + "value": 261 + }, + "sub_class": { + "hex": "0003", + "name": "USB Mouse", + "value": 3 + }, + "vendor": { + "hex": "0627", + "name": "QEMU", + "value": 1575 + }, + "device": { + "hex": "0001", + "name": "QEMU USB Tablet", + "value": 1 + }, + "serial": "28754-0000:00:01.2-1", + "compat_vendor": "Unknown", + "compat_device": "Generic USB Mouse", + "model": "QEMU USB Tablet", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2/usb1/1-1/1-1:1.0", + "sysfs_bus_id": "1-1:1.0", + "unix_device_name": "/dev/input/mice", + "unix_device_number": { + "type": 99, + "major": 13, + "minor": 63, + "range": 1 + }, + "unix_device_names": [ + "/dev/input/mice" + ], + "unix_device_name2": "/dev/input/mouse0", + "unix_device_number2": { + "type": 99, + "major": 13, + "minor": 32, + "range": 1 + }, + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "driver_info": { + "type": "mouse", + "db_entry_0": [ + "explorerps/2", + "exps2" + ], + "xf86": "explorerps/2", + "gpm": "exps2", + "buttons": -1, + "wheels": -1 + }, + "module_alias": "usb:v0627p0001d0000dc00dsc00dp00ic03isc00ip00in00" + } + ], + "network_controller": [ + { + "index": 20, + "attached_to": 15, + "class_list": [ + "network_controller" + ], + "bus_type": { + "hex": "008f", + "name": "Virtio", + "value": 143 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0002", + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "hex": "0000", + "name": "Ethernet controller", + "value": 0 + }, + "vendor": "Virtio", + "device": "Ethernet Card 0", + "model": "Virtio Ethernet Card 0", + "sysfs_id": "/devices/pci0000:00/0000:00:12.0/virtio1", + "sysfs_bus_id": "virtio1", + "unix_device_name": "ens18", + "unix_device_names": [ + "ens18" + ], + "resources": [ + { + "type": "hwaddr", + "address": 98 + }, + { + "type": "phwaddr", + "address": 98 + } + ], + "driver": "virtio_net", + "driver_module": "virtio_net", + "drivers": [ + "virtio_net" + ], + "driver_modules": [ + "virtio_net" + ], + "module_alias": "virtio:d00000001v00001AF4" + } + ], + "network_interface": [ + { + "index": 28, + "attached_to": 20, + "class_list": [ + "network_interface" + ], + "base_class": { + "hex": "0107", + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "hex": "0001", + "name": "Ethernet", + "value": 1 + }, + "model": "Ethernet network interface", + "sysfs_id": "/class/net/ens18", + "sysfs_device_link": "/devices/pci0000:00/0000:00:12.0/virtio1", + "unix_device_name": "ens18", + "unix_device_names": [ + "ens18" + ], + "resources": [ + { + "type": "hwaddr", + "address": 98 + }, + { + "type": "phwaddr", + "address": 98 + } + ], + "driver": "virtio_net", + "driver_module": "virtio_net", + "drivers": [ + "virtio_net" + ], + "driver_modules": [ + "virtio_net" + ] + }, + { + "index": 29, + "attached_to": 0, + "class_list": [ + "network_interface" + ], + "base_class": { + "hex": "0107", + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "hex": "0000", + "name": "Loopback", + "value": 0 + }, + "model": "Loopback network interface", + "sysfs_id": "/class/net/lo", + "unix_device_name": "lo", + "unix_device_names": [ + "lo" + ] + } + ], + "pci": [ + { + "index": 15, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 18 + }, + "base_class": { + "hex": "0002", + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "hex": "0000", + "name": "Ethernet controller", + "value": 0 + }, + "vendor": { + "hex": "1af4", + "value": 6900 + }, + "sub_vendor": { + "hex": "1af4", + "value": 6900 + }, + "device": { + "hex": "1000", + "value": 4096 + }, + "sub_device": { + "hex": "0001", + "value": 1 + }, + "model": "Ethernet controller", + "sysfs_id": "/devices/pci0000:00/0000:00:12.0", + "sysfs_bus_id": "0000:00:12.0", + "resources": [ + { + "type": "io", + "base": 61536, + "range": 32, + "enabled": true, + "access": "read_write" + }, + { + "type": "irq", + "base": 10, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4250943488, + "range": 16384, + "enabled": true, + "access": "read_only", + "prefetch": "no" + }, + { + "type": "mem", + "base": 4271898624, + "range": 262144, + "enabled": false, + "access": "read_only", + "prefetch": "no" + }, + { + "type": "mem", + "base": 4272234496, + "range": 4096, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1287, + "header_type": 0, + "secondary_bus": 0, + "irq": 10, + "prog_if": 0 + }, + "driver": "virtio-pci", + "driver_module": "virtio_pci", + "drivers": [ + "virtio-pci" + ], + "driver_modules": [ + "virtio_pci" + ], + "module_alias": "pci:v00001AF4d00001000sv00001AF4sd00000001bc02sc00i00" + }, + { + "index": 16, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 3 + }, + "base_class": { + "hex": "0000", + "name": "Unclassified device", + "value": 0 + }, + "sub_class": { + "hex": "00ff", + "value": 255 + }, + "vendor": { + "hex": "1af4", + "value": 6900 + }, + "sub_vendor": { + "hex": "1af4", + "value": 6900 + }, + "device": { + "hex": "1002", + "value": 4098 + }, + "sub_device": { + "hex": "0005", + "value": 5 + }, + "model": "Unclassified device", + "sysfs_id": "/devices/pci0000:00/0000:00:03.0", + "sysfs_bus_id": "0000:00:03.0", + "resources": [ + { + "type": "io", + "base": 61440, + "range": 64, + "enabled": true, + "access": "read_write" + }, + { + "type": "irq", + "base": 10, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4250927104, + "range": 16384, + "enabled": true, + "access": "read_only", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 263, + "header_type": 0, + "secondary_bus": 0, + "irq": 10, + "prog_if": 0 + }, + "driver": "virtio-pci", + "driver_module": "virtio_pci", + "drivers": [ + "virtio-pci" + ], + "driver_modules": [ + "virtio_pci" + ], + "module_alias": "pci:v00001AF4d00001002sv00001AF4sd00000005bc00scFFi00" + } + ], + "storage_controller": [ + { + "index": 8, + "attached_to": 19, + "class_list": [ + "storage_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 1, + "number": 1 + }, + "base_class": { + "hex": "0001", + "name": "Mass storage controller", + "value": 1 + }, + "sub_class": { + "hex": "0000", + "name": "SCSI storage controller", + "value": 0 + }, + "vendor": { + "hex": "1af4", + "value": 6900 + }, + "sub_vendor": { + "hex": "1af4", + "value": 6900 + }, + "device": { + "hex": "1004", + "value": 4100 + }, + "sub_device": { + "hex": "0008", + "value": 8 + }, + "model": "SCSI storage controller", + "sysfs_id": "/devices/pci0000:00/0000:00:05.0/0000:01:01.0", + "sysfs_bus_id": "0000:01:01.0", + "resources": [ + { + "type": "io", + "base": 57344, + "range": 64, + "enabled": true, + "access": "read_write" + }, + { + "type": "irq", + "base": 10, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 4248829952, + "range": 16384, + "enabled": true, + "access": "read_only", + "prefetch": "no" + }, + { + "type": "mem", + "base": 4269801472, + "range": 4096, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1287, + "header_type": 0, + "secondary_bus": 0, + "irq": 10, + "prog_if": 0 + }, + "driver": "virtio-pci", + "driver_module": "virtio_pci", + "drivers": [ + "virtio-pci" + ], + "driver_modules": [ + "virtio_pci" + ], + "module_alias": "pci:v00001AF4d00001004sv00001AF4sd00000008bc01sc00i00" + }, + { + "index": 17, + "attached_to": 0, + "class_list": [ + "storage_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 1 + }, + "base_class": { + "hex": "0001", + "name": "Mass storage controller", + "value": 1 + }, + "sub_class": { + "hex": "0001", + "name": "IDE interface", + "value": 1 + }, + "pci_interface": { + "hex": "0080", + "value": 128 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1af4", + "value": 6900 + }, + "device": { + "hex": "7010", + "value": 28688 + }, + "sub_device": { + "hex": "1100", + "value": 4352 + }, + "model": "Intel IDE interface", + "sysfs_id": "/devices/pci0000:00/0000:00:01.1", + "sysfs_bus_id": "0000:00:01.1", + "resources": [ + { + "type": "io", + "base": 1014, + "range": 1, + "enabled": true, + "access": "read_write" + }, + { + "type": "io", + "base": 368, + "range": 8, + "enabled": true, + "access": "read_write" + }, + { + "type": "io", + "base": 496, + "range": 8, + "enabled": true, + "access": "read_write" + }, + { + "type": "io", + "base": 61568, + "range": 16, + "enabled": true, + "access": "read_write" + }, + { + "type": "io", + "base": 886, + "range": 1, + "enabled": true, + "access": "read_write" + } + ], + "detail": { + "function": 1, + "command": 263, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 128 + }, + "driver": "ata_piix", + "driver_module": "ata_piix", + "drivers": [ + "ata_piix" + ], + "driver_modules": [ + "ata_piix" + ], + "module_alias": "pci:v00008086d00007010sv00001AF4sd00001100bc01sc01i80" + } + ], + "system": { + "form_factor": "desktop" + }, + "unknown": [ + { + "index": 21, + "attached_to": 8, + "class_list": [ + "unknown" + ], + "base_class": { + "hex": "0000", + "name": "Unclassified device", + "value": 0 + }, + "sub_class": { + "hex": "0000", + "name": "Unclassified device", + "value": 0 + }, + "vendor": "Virtio", + "device": "", + "model": "Virtio Unclassified device", + "sysfs_id": "/devices/pci0000:00/0000:00:05.0/0000:01:01.0/virtio2", + "sysfs_bus_id": "virtio2", + "driver": "virtio_scsi", + "driver_module": "virtio_scsi", + "drivers": [ + "virtio_scsi" + ], + "driver_modules": [ + "virtio_scsi" + ], + "module_alias": "virtio:d00000008v00001AF4" + }, + { + "index": 22, + "attached_to": 16, + "class_list": [ + "unknown" + ], + "base_class": { + "hex": "0000", + "name": "Unclassified device", + "value": 0 + }, + "sub_class": { + "hex": "0000", + "name": "Unclassified device", + "value": 0 + }, + "vendor": "Virtio", + "device": "", + "model": "Virtio Unclassified device", + "sysfs_id": "/devices/pci0000:00/0000:00:03.0/virtio0", + "sysfs_bus_id": "virtio0", + "driver": "virtio_balloon", + "driver_module": "virtio_balloon", + "drivers": [ + "virtio_balloon" + ], + "driver_modules": [ + "virtio_balloon" + ], + "module_alias": "virtio:d00000005v00001AF4" + } + ], + "usb_controller": [ + { + "index": 9, + "attached_to": 0, + "class_list": [ + "usb_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 1 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0000", + "name": "UHCI", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1af4", + "value": 6900 + }, + "device": { + "hex": "7020", + "value": 28704 + }, + "sub_device": { + "hex": "1100", + "value": 4352 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2", + "sysfs_bus_id": "0000:00:01.2", + "resources": [ + { + "type": "io", + "base": 61504, + "range": 32, + "enabled": true, + "access": "read_write" + }, + { + "type": "irq", + "base": 11, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 2, + "command": 263, + "header_type": 0, + "secondary_bus": 0, + "irq": 11, + "prog_if": 0 + }, + "driver": "uhci_hcd", + "driver_module": "uhci_hcd", + "drivers": [ + "uhci_hcd" + ], + "driver_modules": [ + "uhci_hcd" + ], + "driver_info": { + "type": "module", + "db_entry_0": [ + "uhci-hcd" + ], + "active": true, + "modprobe": true, + "names": [ + "uhci-hcd" + ], + "module_args": [ + "" + ], + "conf": "" + }, + "module_alias": "pci:v00008086d00007020sv00001AF4sd00001100bc0Csc03i00" + } + ] + }, + "smbios": { + "bios": { + "handle": 0, + "vendor": "SeaBIOS", + "version": "rel-1.16.2-0-gea1b7a073390-prebuilt.qemu.org", + "date": "04/01/2014", + "features": null, + "start_address": "0xe8000", + "rom_size": 65536 + }, + "chassis": [ + { + "handle": 768, + "manufacturer": "QEMU", + "version": "pc-i440fx-8.1", + "chassis_type": { + "hex": "0001", + "name": "Other", + "value": 1 + }, + "lock_present": false, + "bootup_state": { + "hex": "0003", + "name": "Safe", + "value": 3 + }, + "power_state": { + "hex": "0003", + "name": "Safe", + "value": 3 + }, + "thermal_state": { + "hex": "0003", + "name": "Safe", + "value": 3 + }, + "security_state": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "oem": "0x0" + } + ], + "memory_array": [ + { + "handle": 4096, + "location": { + "hex": "0001", + "name": "Other", + "value": 1 + }, + "usage": { + "hex": "0003", + "name": "System memory", + "value": 3 + }, + "ecc": { + "hex": "0006", + "name": "Multi-bit", + "value": 6 + }, + "max_size": "0x800000", + "error_handle": 65534, + "slots": 1 + } + ], + "memory_array_mapped_address": [ + { + "handle": 4864, + "array_handle": 4096, + "start_address": "0x0", + "end_address": "0xc0000000", + "part_width": 1 + }, + { + "handle": 4865, + "array_handle": 4096, + "start_address": "0x100000000", + "end_address": "0x240000000", + "part_width": 1 + } + ], + "memory_device": [ + { + "handle": 4352, + "location": "DIMM 0", + "bank_location": "", + "manufacturer": "QEMU", + "part_number": "", + "array_handle": 4096, + "error_handle": 65534, + "width": 0, + "ecc_bits": 0, + "size": 8388608, + "form_factor": { + "hex": "0009", + "name": "DIMM", + "value": 9 + }, + "set": 0, + "memory_type": { + "hex": "0007", + "name": "RAM", + "value": 7 + }, + "memory_type_details": [ + "Other" + ], + "speed": 0 + } + ], + "processor": [ + { + "handle": 1024, + "socket": "CPU 0", + "socket_type": { + "hex": "0001", + "name": "Other", + "value": 1 + }, + "socket_populated": true, + "manufacturer": "QEMU", + "version": "pc-i440fx-8.1", + "part": "", + "processor_type": { + "hex": "0003", + "name": "CPU", + "value": 3 + }, + "processor_family": { + "hex": "0001", + "name": "Other", + "value": 1 + }, + "processor_status": { + "hex": "0001", + "name": "Enabled", + "value": 1 + }, + "clock_ext": 0, + "clock_max": 2000, + "cache_handle_l1": 0, + "cache_handle_l2": 0, + "cache_handle_l3": 0 + } + ], + "system": { + "handle": 256, + "manufacturer": "QEMU", + "product": "Standard PC (i440FX + PIIX, 1996)", + "version": "pc-i440fx-8.1", + "wake_up": { + "hex": "0006", + "name": "Power Switch", + "value": 6 + } + } + } +} diff --git a/machines/beagle/modules/kanidm.nix b/machines/beagle/modules/kanidm.nix new file mode 100644 index 0000000..12a5f3c --- /dev/null +++ b/machines/beagle/modules/kanidm.nix @@ -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"]; + }; +} diff --git a/machines/beagle/modules/matrix.nix b/machines/beagle/modules/matrix.nix new file mode 100644 index 0000000..016af62 --- /dev/null +++ b/machines/beagle/modules/matrix.nix @@ -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 < $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 < $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 < $out/environment-file + MAUTRIX_TELEGRAM_TELEGRAM_API_ID = $(<$prompts/telegram_api_id) + MAUTRIX_TELEGRAM_TELEGRAM_API_HASH = $(<$prompts/telegram_api_hash) + EOL + ''; + }; +} diff --git a/machines/beagle/modules/reverse-proxy.nix b/machines/beagle/modules/reverse-proxy.nix new file mode 100644 index 0000000..85521f6 --- /dev/null +++ b/machines/beagle/modules/reverse-proxy.nix @@ -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}; + ''; + }; + }; + }; + }; +} diff --git a/machines/terrier/configuration.nix b/machines/terrier/configuration.nix index e3f066a..27f6174 100644 --- a/machines/terrier/configuration.nix +++ b/machines/terrier/configuration.nix @@ -4,6 +4,10 @@ lib, ... }: { + imports = [ + ./modules/home-assistant.nix + ]; + nixpkgs.hostPlatform = "aarch64-linux"; boot.initrd.systemd.tpm2.enable = false; # https://github.com/NixOS/nixpkgs/issues/344963 diff --git a/machines/terrier/facter.json b/machines/terrier/facter.json index 7e21f75..376f473 100644 --- a/machines/terrier/facter.json +++ b/machines/terrier/facter.json @@ -216,7 +216,7 @@ }, { "index": 18, - "attached_to": 10, + "attached_to": 11, "class_list": [ "disk", "block_device" @@ -231,11 +231,11 @@ "name": "Disk", "value": 0 }, - "serial": "0xdab60614", + "serial": "0x25f1570b", "model": "Disk", "sysfs_id": "/class/block/mmcblk0", - "sysfs_bus_id": "mmc0:5048", - "sysfs_device_link": "/devices/platform/emmc2bus/fe340000.mmc/mmc_host/mmc0/mmc0:5048", + "sysfs_bus_id": "mmc0:59b4", + "sysfs_device_link": "/devices/platform/emmc2bus/fe340000.mmc/mmc_host/mmc0/mmc0:59b4", "unix_device_name": "/dev/mmcblk0", "unix_device_number": { "type": 98, @@ -244,14 +244,14 @@ "range": 32 }, "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/mmcblk0" ], "resources": [ { "type": "disk_geo", - "cylinders": 472576, + "cylinders": 1955840, "heads": 4, "sectors": 16, "size": "0x0", @@ -260,7 +260,7 @@ { "type": "size", "unit": "sectors", - "value_1": 30244864, + "value_1": 125173760, "value_2": 512 } ], @@ -1052,7 +1052,7 @@ }, "slot": { "bus": 0, - "number": 0 + "number": 1 }, "base_class": { "hex": "0117", @@ -1060,14 +1060,10 @@ "value": 279 }, "vendor": "", - "device": "SD Controller 0", - "model": "SD Controller 0", - "sysfs_id": "/devices/platform/emmc2bus/fe340000.mmc/mmc_host/mmc0/mmc0:5048", - "sysfs_bus_id": "mmc0:5048", - "driver": "mmcblk", - "drivers": [ - "mmcblk" - ] + "device": "SDIO Controller 1", + "model": "SDIO Controller 1", + "sysfs_id": "/devices/platform/soc/fe300000.mmcnr/mmc_host/mmc1/mmc1:0001", + "sysfs_bus_id": "mmc1:0001" }, { "index": 11, @@ -1082,7 +1078,7 @@ }, "slot": { "bus": 0, - "number": 1 + "number": 0 }, "base_class": { "hex": "0117", @@ -1090,10 +1086,14 @@ "value": 279 }, "vendor": "", - "device": "SDIO Controller 1", - "model": "SDIO Controller 1", - "sysfs_id": "/devices/platform/soc/fe300000.mmcnr/mmc_host/mmc1/mmc1:0001", - "sysfs_bus_id": "mmc1:0001" + "device": "SD Controller 0", + "model": "SD Controller 0", + "sysfs_id": "/devices/platform/emmc2bus/fe340000.mmc/mmc_host/mmc0/mmc0:59b4", + "sysfs_bus_id": "mmc0:59b4", + "driver": "mmcblk", + "drivers": [ + "mmcblk" + ] } ], "network_controller": [ @@ -1233,7 +1233,7 @@ }, { "index": 13, - "attached_to": 11, + "attached_to": 10, "class_list": [ "network_controller" ], @@ -1284,7 +1284,7 @@ ], "network_interface": [ { - "index": 36, + "index": 35, "attached_to": 0, "class_list": [ "network_interface" @@ -1307,7 +1307,7 @@ ] }, { - "index": 37, + "index": 36, "attached_to": 0, "class_list": [ "network_interface" @@ -1393,7 +1393,7 @@ "unknown": [ { "index": 12, - "attached_to": 11, + "attached_to": 10, "class_list": [ "unknown" ], @@ -1433,7 +1433,7 @@ }, { "index": 14, - "attached_to": 11, + "attached_to": 10, "class_list": [ "unknown" ], @@ -1539,7 +1539,7 @@ "resources": [ { "type": "irq", - "base": 37, + "base": 38, "triggered": 0, "enabled": true }, @@ -1557,7 +1557,7 @@ "command": 1030, "header_type": 0, "secondary_bus": 0, - "irq": 37, + "irq": 38, "prog_if": 48 }, "driver": "xhci_hcd", diff --git a/machines/terrier/modules/home-assistant.nix b/machines/terrier/modules/home-assistant.nix new file mode 100644 index 0000000..e2d29e5 --- /dev/null +++ b/machines/terrier/modules/home-assistant.nix @@ -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" + ]; +} diff --git a/modules/base.nix b/modules/base.nix new file mode 100644 index 0000000..b4e454d --- /dev/null +++ b/modules/base.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + # Must-have packages + environment.systemPackages = with pkgs; [ + vim + rsync + ]; +} diff --git a/modules/vm.nix b/modules/vm.nix new file mode 100644 index 0000000..f5f8313 --- /dev/null +++ b/modules/vm.nix @@ -0,0 +1,3 @@ +{...}: { + services.qemuGuest.enable = true; +} diff --git a/sops/machines/beagle/key.json b/sops/machines/beagle/key.json new file mode 100755 index 0000000..8c0f38d --- /dev/null +++ b/sops/machines/beagle/key.json @@ -0,0 +1,6 @@ +[ + { + "publickey": "age1hcamqavws9xv6lda9wcv3vmtd47wg8nc3w6zmum9a9e42g0044nq3lp298", + "type": "age" + } +] \ No newline at end of file diff --git a/sops/secrets/beagle-age.key/secret b/sops/secrets/beagle-age.key/secret new file mode 100644 index 0000000..aee292c --- /dev/null +++ b/sops/secrets/beagle-age.key/secret @@ -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" + } +} diff --git a/sops/secrets/tg-ha-door-creds/users/pedro b/sops/secrets/beagle-age.key/users/pedro similarity index 100% rename from sops/secrets/tg-ha-door-creds/users/pedro rename to sops/secrets/beagle-age.key/users/pedro diff --git a/sops/secrets/tg-ha-door-creds/machines/aresix b/sops/secrets/tg-ha-door-creds/machines/aresix deleted file mode 120000 index 04fbf0a..0000000 --- a/sops/secrets/tg-ha-door-creds/machines/aresix +++ /dev/null @@ -1 +0,0 @@ -../../../machines/aresix \ No newline at end of file diff --git a/sops/secrets/tg-ha-door-creds/secret b/sops/secrets/tg-ha-door-creds/secret deleted file mode 100644 index ca62580..0000000 --- a/sops/secrets/tg-ha-door-creds/secret +++ /dev/null @@ -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" - } -} diff --git a/users/pedro/home-configuration/default.nix b/users/pedro/home-configuration/default.nix index e1431bf..8c3ddc9 100644 --- a/users/pedro/home-configuration/default.nix +++ b/users/pedro/home-configuration/default.nix @@ -1,8 +1,13 @@ -{osConfig, ...}: { +{ + osConfig, + lib, + ... +}: { imports = [ ./programs ./distrobox.nix + ./helix.nix ./git.nix ./gpg.nix ./packages.nix @@ -11,8 +16,8 @@ ./zsh.nix ] ++ ( - if osConfig.hm-pedro.de != "none" - then [ + lib.lists.optionals (osConfig.hm-pedro.de != "none") + [ ./browsers ./gtk.nix ./kitty.nix @@ -22,16 +27,14 @@ ./spotify.nix ./vscodium.nix ] - else [] ) ++ ( - if osConfig.hm-pedro.de == "hyprland" - then [ + lib.lists.optionals (osConfig.hm-pedro.de == "hyprland") + [ ./hyprland ./scripts ./waybar ./mako.nix ] - else [] ); } diff --git a/users/pedro/home-configuration/helix.nix b/users/pedro/home-configuration/helix.nix new file mode 100644 index 0000000..db6dc2a --- /dev/null +++ b/users/pedro/home-configuration/helix.nix @@ -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"; + }; + }; + }; +} diff --git a/users/pedro/home-configuration/packages.nix b/users/pedro/home-configuration/packages.nix index e986ed7..d77be1c 100644 --- a/users/pedro/home-configuration/packages.nix +++ b/users/pedro/home-configuration/packages.nix @@ -1,24 +1,27 @@ { osConfig, pkgs, + lib, ... }: let hasDE = osConfig.hm-pedro.de != "none"; in { - xdg.mimeApps.enable = hasDE; - xdg.mimeApps.defaultApplications = - { - "application/pdf" = ["okularApplication_pdf.desktop" "org.gnome.Evince.desktop"]; - "text/plain" = ["org.gnome.TextEditor.desktop"]; - } - // builtins.listToAttrs (map (key: { - name = "image/${key}"; - value = ["vimiv.desktop"]; - }) ["png" "jpeg" "webp" "bmp" "gif"]) - // builtins.listToAttrs (map (key: { - name = "video/${key}"; - value = ["mpv.desktop"]; - }) ["mp4" "x-matroska" "webm"]); + xdg.mimeApps = lib.mkIf (osConfig.hm-pedro.de != "none") { + enable = true; + defaultApplications = + { + "application/pdf" = ["okularApplication_pdf.desktop" "org.gnome.Evince.desktop"]; + "text/plain" = ["org.gnome.TextEditor.desktop"]; + } + // builtins.listToAttrs (map (key: { + name = "image/${key}"; + value = ["vimiv.desktop"]; + }) ["png" "jpeg" "webp" "bmp" "gif"]) + // builtins.listToAttrs (map (key: { + name = "video/${key}"; + value = ["mpv.desktop"]; + }) ["mp4" "x-matroska" "webm"]); + }; home.packages = with pkgs; ([ # CLI utils @@ -33,24 +36,23 @@ in { todo # cli todo list yazi # terminal file manager yt-dlp - wtype # xdotool type for wayland caligula # TUI for disk imaging ffmpeg killall man-pages # extra man pages openssl - pamixer # pulseaudio command line mixer - playerctl # controller for media players - wl-clipboard # clipboard utils for wayland (wl-copy, wl-paste) unzip wget usbutils gotify-cli ] ++ ( - if hasDE - then [ - #GUI Utils + lib.lists.optionals (osConfig.hm-pedro.de != "none") [ + # CLI but only makes sense in DE + pamixer # pulseaudio command line mixer + playerctl # controller for media players + + # GUI Utils zenity # Create GTK dialog boxes from CLI file-roller # Archive manager wdisplays # Configuring displays in Wayland compositors @@ -87,6 +89,11 @@ in { 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 + ] )); } diff --git a/vars/per-machine/beagle/matrix-synapse/kanidm_oidc_client_secret/machines/beagle b/vars/per-machine/beagle/matrix-synapse/kanidm_oidc_client_secret/machines/beagle new file mode 120000 index 0000000..ad4f57d --- /dev/null +++ b/vars/per-machine/beagle/matrix-synapse/kanidm_oidc_client_secret/machines/beagle @@ -0,0 +1 @@ +../../../../../../sops/machines/beagle \ No newline at end of file diff --git a/vars/per-machine/beagle/matrix-synapse/kanidm_oidc_client_secret/secret b/vars/per-machine/beagle/matrix-synapse/kanidm_oidc_client_secret/secret new file mode 100644 index 0000000..b795ee1 --- /dev/null +++ b/vars/per-machine/beagle/matrix-synapse/kanidm_oidc_client_secret/secret @@ -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" + } +} diff --git a/vars/per-machine/beagle/matrix-synapse/kanidm_oidc_client_secret/users/pedro b/vars/per-machine/beagle/matrix-synapse/kanidm_oidc_client_secret/users/pedro new file mode 120000 index 0000000..ae0c694 --- /dev/null +++ b/vars/per-machine/beagle/matrix-synapse/kanidm_oidc_client_secret/users/pedro @@ -0,0 +1 @@ +../../../../../../sops/users/pedro \ No newline at end of file diff --git a/vars/per-machine/beagle/mautrix-signal/environment-file/machines/beagle b/vars/per-machine/beagle/mautrix-signal/environment-file/machines/beagle new file mode 120000 index 0000000..ad4f57d --- /dev/null +++ b/vars/per-machine/beagle/mautrix-signal/environment-file/machines/beagle @@ -0,0 +1 @@ +../../../../../../sops/machines/beagle \ No newline at end of file diff --git a/vars/per-machine/beagle/mautrix-signal/environment-file/secret b/vars/per-machine/beagle/mautrix-signal/environment-file/secret new file mode 100644 index 0000000..ffb7ff1 --- /dev/null +++ b/vars/per-machine/beagle/mautrix-signal/environment-file/secret @@ -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" + } +} diff --git a/vars/per-machine/beagle/mautrix-signal/environment-file/users/pedro b/vars/per-machine/beagle/mautrix-signal/environment-file/users/pedro new file mode 120000 index 0000000..ae0c694 --- /dev/null +++ b/vars/per-machine/beagle/mautrix-signal/environment-file/users/pedro @@ -0,0 +1 @@ +../../../../../../sops/users/pedro \ No newline at end of file diff --git a/vars/per-machine/beagle/mautrix-telegram/environment-file/machines/beagle b/vars/per-machine/beagle/mautrix-telegram/environment-file/machines/beagle new file mode 120000 index 0000000..ad4f57d --- /dev/null +++ b/vars/per-machine/beagle/mautrix-telegram/environment-file/machines/beagle @@ -0,0 +1 @@ +../../../../../../sops/machines/beagle \ No newline at end of file diff --git a/vars/per-machine/beagle/mautrix-telegram/environment-file/secret b/vars/per-machine/beagle/mautrix-telegram/environment-file/secret new file mode 100644 index 0000000..c96e060 --- /dev/null +++ b/vars/per-machine/beagle/mautrix-telegram/environment-file/secret @@ -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" + } +} diff --git a/vars/per-machine/beagle/mautrix-telegram/environment-file/users/pedro b/vars/per-machine/beagle/mautrix-telegram/environment-file/users/pedro new file mode 120000 index 0000000..ae0c694 --- /dev/null +++ b/vars/per-machine/beagle/mautrix-telegram/environment-file/users/pedro @@ -0,0 +1 @@ +../../../../../../sops/users/pedro \ No newline at end of file diff --git a/vars/per-machine/beagle/mautrix-whatsapp/environment-file/machines/beagle b/vars/per-machine/beagle/mautrix-whatsapp/environment-file/machines/beagle new file mode 120000 index 0000000..ad4f57d --- /dev/null +++ b/vars/per-machine/beagle/mautrix-whatsapp/environment-file/machines/beagle @@ -0,0 +1 @@ +../../../../../../sops/machines/beagle \ No newline at end of file diff --git a/vars/per-machine/beagle/mautrix-whatsapp/environment-file/secret b/vars/per-machine/beagle/mautrix-whatsapp/environment-file/secret new file mode 100644 index 0000000..87ec3be --- /dev/null +++ b/vars/per-machine/beagle/mautrix-whatsapp/environment-file/secret @@ -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" + } +} diff --git a/vars/per-machine/beagle/mautrix-whatsapp/environment-file/users/pedro b/vars/per-machine/beagle/mautrix-whatsapp/environment-file/users/pedro new file mode 120000 index 0000000..ae0c694 --- /dev/null +++ b/vars/per-machine/beagle/mautrix-whatsapp/environment-file/users/pedro @@ -0,0 +1 @@ +../../../../../../sops/users/pedro \ No newline at end of file diff --git a/vars/per-machine/beagle/mycelium/ip/value b/vars/per-machine/beagle/mycelium/ip/value new file mode 100644 index 0000000..e48a46e --- /dev/null +++ b/vars/per-machine/beagle/mycelium/ip/value @@ -0,0 +1 @@ +475:7f02:be33:59d5:aeeb:5fb1:1201:67ba diff --git a/vars/per-machine/beagle/mycelium/key/machines/beagle b/vars/per-machine/beagle/mycelium/key/machines/beagle new file mode 120000 index 0000000..ad4f57d --- /dev/null +++ b/vars/per-machine/beagle/mycelium/key/machines/beagle @@ -0,0 +1 @@ +../../../../../../sops/machines/beagle \ No newline at end of file diff --git a/vars/per-machine/beagle/mycelium/key/secret b/vars/per-machine/beagle/mycelium/key/secret new file mode 100644 index 0000000..c349c38 --- /dev/null +++ b/vars/per-machine/beagle/mycelium/key/secret @@ -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" + } +} diff --git a/vars/per-machine/beagle/mycelium/key/users/pedro b/vars/per-machine/beagle/mycelium/key/users/pedro new file mode 120000 index 0000000..ae0c694 --- /dev/null +++ b/vars/per-machine/beagle/mycelium/key/users/pedro @@ -0,0 +1 @@ +../../../../../../sops/users/pedro \ No newline at end of file diff --git a/vars/per-machine/beagle/mycelium/pubkey/value b/vars/per-machine/beagle/mycelium/pubkey/value new file mode 100644 index 0000000..950c134 --- /dev/null +++ b/vars/per-machine/beagle/mycelium/pubkey/value @@ -0,0 +1 @@ +e8a9a02c34b9c1413513267e8f1061de453f919472838b2c08e772236425907b diff --git a/vars/per-machine/beagle/openssh/ssh.id_ed25519.pub/value b/vars/per-machine/beagle/openssh/ssh.id_ed25519.pub/value new file mode 100644 index 0000000..108d2d3 --- /dev/null +++ b/vars/per-machine/beagle/openssh/ssh.id_ed25519.pub/value @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHWP3/YtY/sRkCKiiV0ueEmOXQklURggHZEkfUapgjyZ diff --git a/vars/per-machine/beagle/openssh/ssh.id_ed25519/machines/beagle b/vars/per-machine/beagle/openssh/ssh.id_ed25519/machines/beagle new file mode 120000 index 0000000..ad4f57d --- /dev/null +++ b/vars/per-machine/beagle/openssh/ssh.id_ed25519/machines/beagle @@ -0,0 +1 @@ +../../../../../../sops/machines/beagle \ No newline at end of file diff --git a/vars/per-machine/beagle/openssh/ssh.id_ed25519/secret b/vars/per-machine/beagle/openssh/ssh.id_ed25519/secret new file mode 100644 index 0000000..3227307 --- /dev/null +++ b/vars/per-machine/beagle/openssh/ssh.id_ed25519/secret @@ -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" + } +} diff --git a/vars/per-machine/beagle/openssh/ssh.id_ed25519/users/pedro b/vars/per-machine/beagle/openssh/ssh.id_ed25519/users/pedro new file mode 120000 index 0000000..ae0c694 --- /dev/null +++ b/vars/per-machine/beagle/openssh/ssh.id_ed25519/users/pedro @@ -0,0 +1 @@ +../../../../../../sops/users/pedro \ No newline at end of file diff --git a/vars/per-machine/beagle/root-password/password-hash/machines/beagle b/vars/per-machine/beagle/root-password/password-hash/machines/beagle new file mode 120000 index 0000000..ad4f57d --- /dev/null +++ b/vars/per-machine/beagle/root-password/password-hash/machines/beagle @@ -0,0 +1 @@ +../../../../../../sops/machines/beagle \ No newline at end of file diff --git a/vars/per-machine/beagle/root-password/password-hash/secret b/vars/per-machine/beagle/root-password/password-hash/secret new file mode 100644 index 0000000..9961ba6 --- /dev/null +++ b/vars/per-machine/beagle/root-password/password-hash/secret @@ -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" + } +} diff --git a/vars/per-machine/beagle/root-password/password-hash/users/pedro b/vars/per-machine/beagle/root-password/password-hash/users/pedro new file mode 120000 index 0000000..ae0c694 --- /dev/null +++ b/vars/per-machine/beagle/root-password/password-hash/users/pedro @@ -0,0 +1 @@ +../../../../../../sops/users/pedro \ No newline at end of file diff --git a/vars/per-machine/beagle/root-password/password/secret b/vars/per-machine/beagle/root-password/password/secret new file mode 100644 index 0000000..86be13e --- /dev/null +++ b/vars/per-machine/beagle/root-password/password/secret @@ -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" + } +} diff --git a/vars/per-machine/beagle/root-password/password/users/pedro b/vars/per-machine/beagle/root-password/password/users/pedro new file mode 120000 index 0000000..ae0c694 --- /dev/null +++ b/vars/per-machine/beagle/root-password/password/users/pedro @@ -0,0 +1 @@ +../../../../../../sops/users/pedro \ No newline at end of file diff --git a/vars/per-machine/beagle/state-version/version/value b/vars/per-machine/beagle/state-version/version/value new file mode 100644 index 0000000..5d54076 --- /dev/null +++ b/vars/per-machine/beagle/state-version/version/value @@ -0,0 +1 @@ +25.05 \ No newline at end of file diff --git a/vars/per-machine/beagle/tor_tor/hostname/machines/beagle b/vars/per-machine/beagle/tor_tor/hostname/machines/beagle new file mode 120000 index 0000000..ad4f57d --- /dev/null +++ b/vars/per-machine/beagle/tor_tor/hostname/machines/beagle @@ -0,0 +1 @@ +../../../../../../sops/machines/beagle \ No newline at end of file diff --git a/vars/per-machine/beagle/tor_tor/hostname/secret b/vars/per-machine/beagle/tor_tor/hostname/secret new file mode 100644 index 0000000..fecaadd --- /dev/null +++ b/vars/per-machine/beagle/tor_tor/hostname/secret @@ -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" + } +} diff --git a/vars/per-machine/beagle/tor_tor/hostname/users/pedro b/vars/per-machine/beagle/tor_tor/hostname/users/pedro new file mode 120000 index 0000000..ae0c694 --- /dev/null +++ b/vars/per-machine/beagle/tor_tor/hostname/users/pedro @@ -0,0 +1 @@ +../../../../../../sops/users/pedro \ No newline at end of file diff --git a/vars/per-machine/beagle/tor_tor/hs_ed25519_secret_key/machines/beagle b/vars/per-machine/beagle/tor_tor/hs_ed25519_secret_key/machines/beagle new file mode 120000 index 0000000..ad4f57d --- /dev/null +++ b/vars/per-machine/beagle/tor_tor/hs_ed25519_secret_key/machines/beagle @@ -0,0 +1 @@ +../../../../../../sops/machines/beagle \ No newline at end of file diff --git a/vars/per-machine/beagle/tor_tor/hs_ed25519_secret_key/secret b/vars/per-machine/beagle/tor_tor/hs_ed25519_secret_key/secret new file mode 100644 index 0000000..e48ed4b --- /dev/null +++ b/vars/per-machine/beagle/tor_tor/hs_ed25519_secret_key/secret @@ -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" + } +} diff --git a/vars/per-machine/beagle/tor_tor/hs_ed25519_secret_key/users/pedro b/vars/per-machine/beagle/tor_tor/hs_ed25519_secret_key/users/pedro new file mode 120000 index 0000000..ae0c694 --- /dev/null +++ b/vars/per-machine/beagle/tor_tor/hs_ed25519_secret_key/users/pedro @@ -0,0 +1 @@ +../../../../../../sops/users/pedro \ No newline at end of file diff --git a/vars/per-machine/beagle/user-password-pedro/user-password-hash/machines/beagle b/vars/per-machine/beagle/user-password-pedro/user-password-hash/machines/beagle new file mode 120000 index 0000000..ad4f57d --- /dev/null +++ b/vars/per-machine/beagle/user-password-pedro/user-password-hash/machines/beagle @@ -0,0 +1 @@ +../../../../../../sops/machines/beagle \ No newline at end of file diff --git a/vars/per-machine/beagle/user-password-pedro/user-password-hash/secret b/vars/per-machine/beagle/user-password-pedro/user-password-hash/secret new file mode 100644 index 0000000..1ddf95b --- /dev/null +++ b/vars/per-machine/beagle/user-password-pedro/user-password-hash/secret @@ -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" + } +} diff --git a/vars/per-machine/beagle/user-password-pedro/user-password-hash/users/pedro b/vars/per-machine/beagle/user-password-pedro/user-password-hash/users/pedro new file mode 120000 index 0000000..ae0c694 --- /dev/null +++ b/vars/per-machine/beagle/user-password-pedro/user-password-hash/users/pedro @@ -0,0 +1 @@ +../../../../../../sops/users/pedro \ No newline at end of file diff --git a/vars/per-machine/beagle/user-password-pedro/user-password/secret b/vars/per-machine/beagle/user-password-pedro/user-password/secret new file mode 100644 index 0000000..d3396f1 --- /dev/null +++ b/vars/per-machine/beagle/user-password-pedro/user-password/secret @@ -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" + } +} diff --git a/vars/per-machine/beagle/user-password-pedro/user-password/users/pedro b/vars/per-machine/beagle/user-password-pedro/user-password/users/pedro new file mode 120000 index 0000000..ae0c694 --- /dev/null +++ b/vars/per-machine/beagle/user-password-pedro/user-password/users/pedro @@ -0,0 +1 @@ +../../../../../../sops/users/pedro \ No newline at end of file