From c7ec1a542352fe2abe855cc52c3e7e3bf0b3ce94 Mon Sep 17 00:00:00 2001 From: Romain Paquet Date: Thu, 26 Mar 2026 21:16:42 +0000 Subject: [PATCH 01/19] backups: refactor and add renoir --- clan/backups.nix | 41 +++++++++++++++++++++++++++++++++++++ clan/flake-module.nix | 27 +----------------------- nixosModules/storagebox.nix | 12 ----------- 3 files changed, 42 insertions(+), 38 deletions(-) create mode 100644 clan/backups.nix delete mode 100644 nixosModules/storagebox.nix diff --git a/clan/backups.nix b/clan/backups.nix new file mode 100644 index 0000000..dc0a8c6 --- /dev/null +++ b/clan/backups.nix @@ -0,0 +1,41 @@ +{ lib, self, ... }: +{ + clan.inventory.instances."borgbackup-storagebox" = { + module.input = "clan-core"; + module.name = "borgbackup"; + + roles.client.machines = lib.genAttrs [ "crocus" "genepi" "renoir" "verbena" ] ( + machine: + let + config = self.nixosConfigurations.${machine}.config; + user = "u422292"; + host = "${user}.your-storagebox.de"; + in + { + settings.destinations."storagebox-${config.networking.hostName}" = { + repo = "${user}@${host}:./borgbackup/${config.networking.hostName}"; + rsh = "ssh -oPort=23 -i ${ + config.clan.core.vars.generators.borgbackup.files."borgbackup.ssh".path + } -oStrictHostKeyChecking=accept-new"; + }; + } + ); + roles.client.extraModules = [ + { + programs.ssh.knownHosts = + let + user = "u422292"; + host = "${user}.your-storagebox.de"; + in + { + storagebox-ed25519 = { + hostNames = [ "[${host}]:23" ]; + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIICf9svRenC/PLKIL9nk6K/pxQgoiFC41wTNvoIncOxs"; + }; + }; + } + + ]; + roles.server.machines = { }; + }; +} diff --git a/clan/flake-module.nix b/clan/flake-module.nix index de97fbb..9ab6fd9 100644 --- a/clan/flake-module.nix +++ b/clan/flake-module.nix @@ -1,6 +1,7 @@ { self, lib, ... }: { imports = [ + ./backups.nix ./machines.nix ./monitoring.nix ./network.nix @@ -89,32 +90,6 @@ roles.default.tags.all = { }; }; - clan.inventory.instances."borgbackup-storagebox" = { - module.input = "clan-core"; - module.name = "borgbackup"; - - roles.client.machines = lib.genAttrs [ "crocus" "genepi" "verbena" ] ( - machine: - let - config = self.nixosConfigurations.${machine}.config; - user = "u422292"; - host = "${user}.your-storagebox.de"; - in - { - settings.destinations."storagebox-${config.networking.hostName}" = { - repo = "${user}@${host}:./borgbackup/${config.networking.hostName}"; - rsh = "ssh -oPort=23 -i ${ - config.clan.core.vars.generators.borgbackup.files."borgbackup.ssh".path - } -oStrictHostKeyChecking=accept-new"; - }; - } - ); - roles.client.extraModules = [ - self.nixosModules.storagebox - ]; - roles.server.machines = { }; - }; - clan.inventory.instances.syncthing = { roles.peer.tags.syncthing = { }; roles.peer.settings.folders = { diff --git a/nixosModules/storagebox.nix b/nixosModules/storagebox.nix deleted file mode 100644 index bee2255..0000000 --- a/nixosModules/storagebox.nix +++ /dev/null @@ -1,12 +0,0 @@ -let - user = "u422292"; - host = "${user}.your-storagebox.de"; -in -{ - programs.ssh.knownHosts = { - storagebox-ed25519 = { - hostNames = [ "[${host}]:23" ]; - publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIICf9svRenC/PLKIL9nk6K/pxQgoiFC41wTNvoIncOxs"; - }; - }; -} From 4b22702ed6cb1e9584a548a6430f04f5e8b3932e Mon Sep 17 00:00:00 2001 From: Romain Paquet Date: Thu, 26 Mar 2026 21:16:42 +0000 Subject: [PATCH 02/19] add networkmanager on desktops Also adds my user to the group to control it --- nixosModules/desktop.nix | 4 ++++ nixosModules/user-rpqt.nix | 12 ++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/nixosModules/desktop.nix b/nixosModules/desktop.nix index ab10a8b..75037e5 100644 --- a/nixosModules/desktop.nix +++ b/nixosModules/desktop.nix @@ -52,4 +52,8 @@ }; programs.kdeconnect.enable = true; + + networking.networkmanager = { + enable = true; + }; } diff --git a/nixosModules/user-rpqt.nix b/nixosModules/user-rpqt.nix index 4c1d0bb..b9d9aed 100644 --- a/nixosModules/user-rpqt.nix +++ b/nixosModules/user-rpqt.nix @@ -1,4 +1,9 @@ -{ lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { users.users.rpqt = { isNormalUser = true; @@ -14,7 +19,10 @@ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGa8R8obgptefcp27Cdp9bc2fiyc9x0oTfMsTPFp2ktE rpqt@haze" ]; - extraGroups = [ "wheel" ]; + extraGroups = [ + "wheel" + ] + ++ lib.mkIf config.networking.networkmanager.enabled [ "networkmanager" ]; }; programs.fish.enable = true; From 1b031c18de0f7df4aab1c6c588a22f82a6fce13d Mon Sep 17 00:00:00 2001 From: Romain Paquet Date: Thu, 26 Mar 2026 20:11:39 +0100 Subject: [PATCH 03/19] nextcloud32 -> nextcloud33 --- nixosModules/nextcloud.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixosModules/nextcloud.nix b/nixosModules/nextcloud.nix index 5695204..c2a550a 100644 --- a/nixosModules/nextcloud.nix +++ b/nixosModules/nextcloud.nix @@ -11,7 +11,7 @@ in enable = true; hostName = fqdn; https = true; - package = pkgs.nextcloud32; + package = pkgs.nextcloud33; config = { dbtype = "pgsql"; dbuser = "nextcloud"; From 4f03920d94dfef5328a417ee282cf75ed315bc41 Mon Sep 17 00:00:00 2001 From: Romain Paquet Date: Thu, 26 Mar 2026 20:11:39 +0100 Subject: [PATCH 04/19] chore(git): ignore niri dms config --- home/.config/niri/.gitignore | 1 + home/.config/niri/dms/alttab.kdl | 5 --- home/.config/niri/dms/binds.kdl | 55 -------------------------------- home/.config/niri/dms/colors.kdl | 36 --------------------- home/.config/niri/dms/layout.kdl | 17 ---------- home/.config/niri/dms/wpblur.kdl | 4 --- 6 files changed, 1 insertion(+), 117 deletions(-) create mode 100644 home/.config/niri/.gitignore delete mode 100644 home/.config/niri/dms/alttab.kdl delete mode 100644 home/.config/niri/dms/binds.kdl delete mode 100644 home/.config/niri/dms/colors.kdl delete mode 100644 home/.config/niri/dms/layout.kdl delete mode 100644 home/.config/niri/dms/wpblur.kdl diff --git a/home/.config/niri/.gitignore b/home/.config/niri/.gitignore new file mode 100644 index 0000000..6d4140c --- /dev/null +++ b/home/.config/niri/.gitignore @@ -0,0 +1 @@ +dms diff --git a/home/.config/niri/dms/alttab.kdl b/home/.config/niri/dms/alttab.kdl deleted file mode 100644 index 91d8337..0000000 --- a/home/.config/niri/dms/alttab.kdl +++ /dev/null @@ -1,5 +0,0 @@ -recent-windows { - highlight { - corner-radius 12 - } -} diff --git a/home/.config/niri/dms/binds.kdl b/home/.config/niri/dms/binds.kdl deleted file mode 100644 index 5f116ed..0000000 --- a/home/.config/niri/dms/binds.kdl +++ /dev/null @@ -1,55 +0,0 @@ -binds { - Mod+Shift+D hotkey-overlay-title="Application Launcher" { - spawn "dms" "ipc" "call" "spotlight" "toggle"; - } - - Mod+V hotkey-overlay-title="Clipboard Manager" { - spawn "dms" "ipc" "call" "clipboard" "toggle"; - } - - Mod+M hotkey-overlay-title="Task Manager" { - spawn "dms" "ipc" "call" "processlist" "toggle"; - } - - Mod+Comma hotkey-overlay-title="Settings" { - spawn "dms" "ipc" "call" "settings" "toggle"; - } - - Mod+N hotkey-overlay-title="Notification Center" { - spawn "dms" "ipc" "call" "notifications" "toggle"; - } - - Mod+Shift+N hotkey-overlay-title="Notepad" { - spawn "dms" "ipc" "call" "notepad" "toggle"; - } - - Mod+Alt+L hotkey-overlay-title="Lock Screen" { - spawn "dms" "ipc" "call" "lock" "lock"; - } - - Ctrl+Alt+Delete hotkey-overlay-title="Task Manager" { - spawn "dms" "ipc" "call" "processlist" "toggle"; - } - - // Audio - XF86AudioRaiseVolume allow-when-locked=true { - spawn "dms" "ipc" "call" "audio" "increment" "3"; - } - XF86AudioLowerVolume allow-when-locked=true { - spawn "dms" "ipc" "call" "audio" "decrement" "3"; - } - XF86AudioMute allow-when-locked=true { - spawn "dms" "ipc" "call" "audio" "mute"; - } - XF86AudioMicMute allow-when-locked=true { - spawn "dms" "ipc" "call" "audio" "micmute"; - } - - // BL - XF86MonBrightnessUp allow-when-locked=true { - spawn "dms" "ipc" "call" "brightness" "increment" "5" ""; - } - XF86MonBrightnessDown allow-when-locked=true { - spawn "dms" "ipc" "call" "brightness" "decrement" "5" ""; - } -} \ No newline at end of file diff --git a/home/.config/niri/dms/colors.kdl b/home/.config/niri/dms/colors.kdl deleted file mode 100644 index 2c7487f..0000000 --- a/home/.config/niri/dms/colors.kdl +++ /dev/null @@ -1,36 +0,0 @@ -layout { - background-color "transparent" - - focus-ring { - active-color "#5c5891" - inactive-color "#787680" - urgent-color "#ba1a1a" - } - - border { - active-color "#5c5891" - inactive-color "#787680" - urgent-color "#ba1a1a" - } - - shadow { - color "#00000070" - } - - tab-indicator { - active-color "#5c5891" - inactive-color "#787680" - urgent-color "#ba1a1a" - } - - insert-hint { - color "#5c589180" - } -} - -recent-windows { - highlight { - active-color "#444078" - urgent-color "#ba1a1a" - } -} diff --git a/home/.config/niri/dms/layout.kdl b/home/.config/niri/dms/layout.kdl deleted file mode 100644 index 36c08f3..0000000 --- a/home/.config/niri/dms/layout.kdl +++ /dev/null @@ -1,17 +0,0 @@ -layout { - gaps 4 - - border { - width 2 - } - - focus-ring { - width 2 - } -} -window-rule { - geometry-corner-radius 12 - clip-to-geometry true - tiled-state true - draw-border-with-background false -} diff --git a/home/.config/niri/dms/wpblur.kdl b/home/.config/niri/dms/wpblur.kdl deleted file mode 100644 index 667042f..0000000 --- a/home/.config/niri/dms/wpblur.kdl +++ /dev/null @@ -1,4 +0,0 @@ -layer-rule { - match namespace="dms:blurwallpaper" - place-within-backdrop true -} From af4a2e6e22321b72639ca3eec55e967eac36d29c Mon Sep 17 00:00:00 2001 From: Romain Paquet Date: Thu, 26 Mar 2026 20:11:39 +0100 Subject: [PATCH 05/19] dns: remove public DNS server It was subject to DoS --- clan/machines.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/clan/machines.nix b/clan/machines.nix index 22e1e36..47d0370 100644 --- a/clan/machines.nix +++ b/clan/machines.nix @@ -27,7 +27,8 @@ tags = [ "garage" "server" - "dns" + # FIXME: find a way to protect the public DNS against DoS + # "dns" ]; }; }; From e6f46a5f5995bfd2ac20c3195f23fe23a7ac0073 Mon Sep 17 00:00:00 2001 From: Romain Paquet Date: Thu, 26 Mar 2026 20:11:39 +0100 Subject: [PATCH 06/19] machines/renoir: add garage --- clan/machines.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/clan/machines.nix b/clan/machines.nix index 47d0370..ac85ba4 100644 --- a/clan/machines.nix +++ b/clan/machines.nix @@ -20,6 +20,7 @@ }; renoir = { tags = [ + "garage" "syncthing" ]; }; From 28bf818b6e0bf86f201f633f20b94e4115ee7786 Mon Sep 17 00:00:00 2001 From: Romain Paquet Date: Mon, 30 Mar 2026 19:35:08 +0200 Subject: [PATCH 07/19] Update vars via generator borgbackup (machine: renoir) --- .../borgbackup.repokey/machines/renoir | 1 + .../borgbackup/borgbackup.repokey/secret | 26 +++++++++++++++++++ .../borgbackup/borgbackup.repokey/users/rpqt | 1 + .../borgbackup/borgbackup.ssh.pub/value | 1 + .../borgbackup/borgbackup.ssh/machines/renoir | 1 + .../renoir/borgbackup/borgbackup.ssh/secret | 26 +++++++++++++++++++ .../borgbackup/borgbackup.ssh/users/rpqt | 1 + 7 files changed, 57 insertions(+) create mode 120000 vars/per-machine/renoir/borgbackup/borgbackup.repokey/machines/renoir create mode 100644 vars/per-machine/renoir/borgbackup/borgbackup.repokey/secret create mode 120000 vars/per-machine/renoir/borgbackup/borgbackup.repokey/users/rpqt create mode 100644 vars/per-machine/renoir/borgbackup/borgbackup.ssh.pub/value create mode 120000 vars/per-machine/renoir/borgbackup/borgbackup.ssh/machines/renoir create mode 100644 vars/per-machine/renoir/borgbackup/borgbackup.ssh/secret create mode 120000 vars/per-machine/renoir/borgbackup/borgbackup.ssh/users/rpqt diff --git a/vars/per-machine/renoir/borgbackup/borgbackup.repokey/machines/renoir b/vars/per-machine/renoir/borgbackup/borgbackup.repokey/machines/renoir new file mode 120000 index 0000000..d755df7 --- /dev/null +++ b/vars/per-machine/renoir/borgbackup/borgbackup.repokey/machines/renoir @@ -0,0 +1 @@ +../../../../../../sops/machines/renoir \ No newline at end of file diff --git a/vars/per-machine/renoir/borgbackup/borgbackup.repokey/secret b/vars/per-machine/renoir/borgbackup/borgbackup.repokey/secret new file mode 100644 index 0000000..36b7db1 --- /dev/null +++ b/vars/per-machine/renoir/borgbackup/borgbackup.repokey/secret @@ -0,0 +1,26 @@ +{ + "data": "ENC[AES256_GCM,data:dvCw/d+3dlAE0gtFVRnNIT81XEA1muUuBcWHYkqNOVGfrw==,iv:njAExKy3LhxxTZxFHUoj4TMN8Pq2ZgJhQ9pwcrDcYS4=,tag:JzOpMwhJth/g+X38Yazb5w==,type:str]", + "sops": { + "age": [ + { + "recipient": "age1gmnfmze2teqtaquxczjahvfltzzlrgcza5w4cej64tw0qzke5ftqh8c9ry", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQV24vTXVnTmhXWFJJN2F2\nK1FhRisvaG5oZCt4SjVkazFSYzFRQUk4TTA4CklvbHhNemxURzlUUXJIUjhGVUNj\nbHVmV0dNRldYUE82QmgrenpnRnZtdlkKLS0tIEFFTFVUZG9OZVEwcWV0YzB1RmRn\nT1U0ajhxQXJqRnA3cXpqNW5CS1JERGMKfY8w9Bm33y/1PYw8sca8u6muzFQONFEP\nK60wlnS2c91wsWdt0lC1wmAYAf7PGh0Q8TBBEiCE8VTgpdQLvu9YiQ==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mqnmzn203hyj200psc982ehcedjmcdz8s0ncc50fm9jszjx7rgmqqmppw5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6NnBUOWprTWZ2S05GUDVr\ncHJ1SGVnVExBaGxZL1RJcXlyZGFzL0JHbDFZCjNtNGltVDBwVjNhZDE0Y3pGa052\nblVhT3BkOUl1bDFic3JSZFhGZWg2akEKLS0tIEN2UE1rVExTbDZoZ0hDa21URWJI\nWHN3Nmg3SWtGZDFHSHFzQWx5L0ZPblkKfoIjSbep8gv+KNqYWmmdDQShm/qarQc4\n1xvZNXYIYNxQXl7OesnaHqB34TK1dXiZi5B5pwXN63kE5yhMZp6Bdw==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1yubikey1qd2d7qpxlw9lj9l573f34vdkrazdq6yk4mvnlug46m979dl6p2p5xlzr0wt", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IHU2Nm1JdyBBcW9STHJo\nMW85RXd0ZmdzWkdlWUpGWlc0MEZDcU5zNnA1T3Y3aStWaW0rbQpLbkxLY0xUUWY5\nSWtvRXZWYVlNY2lKKzlXNWoxYkNrdnFiNUJZU2k5R1hJCi0tLSBVaU9PYUhaZUJH\ndEJrN2l0TUtDL25ncFpBYStQd3ZXRTNaeHJ5Y0hhc3NJCr39d4ldPG+anf7H4+iV\n6l8dTDovIgOhFgnXiahvpHAluXjqeUGUvs4lycl6k4lqQNFtnbRxDvf896m3+uX+\no/U=\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1yubikey1qwnawsag6k3lq7aklc92uq72vqx3r68ylg0x8fphn0qm8d7e00eq5ynu3wk", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IDJlWGZKZyBBeXdCcXR3\ndzVjTk5HbTVDTFRqMGtRL2Vvd005RHQwNlJCbHF3NmRKWCt5dwpBK2RDZkgrb3RY\nbnpYUUUvdUZPYzU0dnkwSW5vYmk3ck03WFhRalViY2dRCi0tLSBBSjdSbnUvcXdh\nNjJDUW9kajhDNC84U0V2a3UyMDBwN3NlcG41enJzS0JVCt0yfNoZefVpqie3WdvV\nZupTH+KFavA+1BroKupYY59hwH659+8J9+PokhvjK2V6N+CTl0m+KyZeJ419Xvsf\nvTg=\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2026-03-30T17:35:08Z", + "mac": "ENC[AES256_GCM,data:FSyZsgere8PbdJBpFa4Mjlxqp25Fr+7AQHgrYDz5aKEmQzowrQXlM9OLoeCstz1zQeTBw9quskg3YN9aGTeP90h6KFmduXK42dN2hvI0AgOMAIONGcm2kq5IXYew8B9/p58WnQlVwWd+cvqPpNwAuBa80Dtc5jogor/syrzGA8s=,iv:71lQrcaoQ0VkSTGVBJtMTjBec4uobhUQQ/j51et2zCA=,tag:fUc73982WayLt4MSNF8yHA==,type:str]", + "version": "3.12.1" + } +} diff --git a/vars/per-machine/renoir/borgbackup/borgbackup.repokey/users/rpqt b/vars/per-machine/renoir/borgbackup/borgbackup.repokey/users/rpqt new file mode 120000 index 0000000..c6af5c7 --- /dev/null +++ b/vars/per-machine/renoir/borgbackup/borgbackup.repokey/users/rpqt @@ -0,0 +1 @@ +../../../../../../sops/users/rpqt \ No newline at end of file diff --git a/vars/per-machine/renoir/borgbackup/borgbackup.ssh.pub/value b/vars/per-machine/renoir/borgbackup/borgbackup.ssh.pub/value new file mode 100644 index 0000000..aec7133 --- /dev/null +++ b/vars/per-machine/renoir/borgbackup/borgbackup.ssh.pub/value @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAvZKO6z3kqIWyY/Le6Jur5e6heggkkrziya3NEVMzrl diff --git a/vars/per-machine/renoir/borgbackup/borgbackup.ssh/machines/renoir b/vars/per-machine/renoir/borgbackup/borgbackup.ssh/machines/renoir new file mode 120000 index 0000000..d755df7 --- /dev/null +++ b/vars/per-machine/renoir/borgbackup/borgbackup.ssh/machines/renoir @@ -0,0 +1 @@ +../../../../../../sops/machines/renoir \ No newline at end of file diff --git a/vars/per-machine/renoir/borgbackup/borgbackup.ssh/secret b/vars/per-machine/renoir/borgbackup/borgbackup.ssh/secret new file mode 100644 index 0000000..747da30 --- /dev/null +++ b/vars/per-machine/renoir/borgbackup/borgbackup.ssh/secret @@ -0,0 +1,26 @@ +{ + "data": "ENC[AES256_GCM,data:JUctRvBdCo+7v0bhdhqJrCZFmlcdxM/y2DFwAZg6e21Xb2mowcT8AK78ZetS21EQe3B6w6sMFo8hTqYxCBANmK1+rwgPHTtFDSRp5HPRH2QgQ3sTxbXcIIzjZTPqlgVGiEap1hYFIjG3RfI7SpWpaSNWE9RJ25X8+NMvmliXb2LXpeA8rhQKvL52v4i4WTi5WZpl5cyKj7dunpvWMsFpD0NiMpn90rI6CZxGLzDIeE3tQhemVRRCHZHGj54ORoflPLPNRKDSyZjuz97kfOcjAwy/otIkW5PoCr7AYxp66IdA4wfm1mUtybeCFxL10m16GMl6kLo+SMbnF8f8CswsCYO2dQy+mig+CtL1r07YGndl98vv6ArEx/9QMvCKEwlhnrCJsyC88nPb0HE13ywa+/fyGJNwbKCEbOqhh3mQlR5Tb7jit4KQT4TJCW/2jxs0EJLOtN543BaU8bas0hTlD9KeAYgksfdRdE8ECo9+JJrkDn62/ixZqEwWQrHyL/VutvmP,iv:mGJL8aKTaNPJnhaxg1oUeeMX00AxwBq/1LcE0vXxfYo=,tag:oGMtl3FP4Z2ME2981ckuCg==,type:str]", + "sops": { + "age": [ + { + "recipient": "age1gmnfmze2teqtaquxczjahvfltzzlrgcza5w4cej64tw0qzke5ftqh8c9ry", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzS0lMem41S2J5Tk1HUnpU\nb05ZRFAyTWNoQUk2bjJrdXBrUXZLUTFCOVUwCjU1UTVZYTkxblNsdEhETGd1MUhQ\nODQvY3ZwNlZhWmczZEpwdFNZYUg1WHMKLS0tIGJlQ1ZYc1pxMUpxQXBQTTJ2K0hF\nWFJVQS82R2xvbzNCZEpnTHVJbGg2OTgKK3NxW390uiMeR2x7tscloXZtZ0B86cF/\nU434o/PynFGtWSHxae85C/0+1BZD7hwd2OAJ6XJ0Y8upRQEqcjAQqg==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mqnmzn203hyj200psc982ehcedjmcdz8s0ncc50fm9jszjx7rgmqqmppw5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4L2tubkUxU3BtbytpN0M3\nalhqYXQ4UUxtdTU1UjZzN2JuRFExajFESlgwCjNzRk90ZlZCNDRHUDdZQWFNZXQ1\nNTJHemd5Z0VuVkE2UXZKVk1kZ1JkOXMKLS0tIDVGRDVUYU5VdU9RL0pzNnE1N1N5\nbmU3WnRyWCtnQVNrNk5KWXY2WmlLZWsKsG9I9emeYQt30SwD7JPXTeoaWHHLpCTB\nQY7OLsx9g7T0ydlD2MT+VD+rODFsmSmyW9eaSYuGD2bfyq8eKw5+ZQ==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1yubikey1qd2d7qpxlw9lj9l573f34vdkrazdq6yk4mvnlug46m979dl6p2p5xlzr0wt", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IHU2Nm1JdyBBOGpZR3lq\nTXlpVDJhbVZhVVE4bW5ITU1YN1FoTm1ERFo2TEJXSHpKVE1BbgpPMWcvNDN5MkpZ\nRm5ySVpTckRaWXVGWHRnSHloYWg1UVpEbUNncUEya09ZCi0tLSBYUUJ5dGZYWGZO\ncTNROVRjOVZPS3VsVThxU3hpK2VMcm5LWFhoNE8rbEkwChIIJ94CH1B/WKte2jpF\naR1UJdDlIFsLd2ehuyNTUjurQd+bm8co+qig5RjzoyXfXBbygAu2CjxA2bRcdAQr\neGU=\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1yubikey1qwnawsag6k3lq7aklc92uq72vqx3r68ylg0x8fphn0qm8d7e00eq5ynu3wk", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IDJlWGZKZyBBczFzaXNv\ndUpSVnNhMG1GMWc1WVpVbmRJSHE0R1dkd3g2YnlIdi84Qld2TgpjSEhuUzFLc3Zs\nSXQxUGhVandXVWtvZmNuZzJKZ2ZpQk5KZS9OeWZ4b2JNCi0tLSBlYUxQUWQ4SlI3\nMjhTQVc3QkFsZmxMSEg4UEFEQ1o5WUFVN0NZTi8xZVcwCu7MEKkugHBgceeqS31v\n4iYhcZgBQw/3zXCNZZ+qYdX7QYjzKpvdy6NRPMUxLUSZAigsSdDNDRPg2VDH36sc\nhWQ=\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2026-03-30T17:35:08Z", + "mac": "ENC[AES256_GCM,data:BeOMaK0d5BSu9PBUKYiP5TB+7St6oRAt1+hMM7GjZGpPr6N93QEeyTZA7f5JPyvRIoTXg4qWXgRGL+IjDRFbveMEDtNlWEwYR9rSZKPQlzYP5Indg5R4eR2oB7b7eSb6daL4eb+7HkuLnrsbDlZxQy/Z0UoBl6vBSgLB9DeZ7sY=,iv:NhfdabWRbXP77xBDNUmBxnjkmGnR1PKg59CgHu60JlE=,tag:PnZhP4550IkzqUUxJ4WdwA==,type:str]", + "version": "3.12.1" + } +} diff --git a/vars/per-machine/renoir/borgbackup/borgbackup.ssh/users/rpqt b/vars/per-machine/renoir/borgbackup/borgbackup.ssh/users/rpqt new file mode 120000 index 0000000..c6af5c7 --- /dev/null +++ b/vars/per-machine/renoir/borgbackup/borgbackup.ssh/users/rpqt @@ -0,0 +1 @@ +../../../../../../sops/users/rpqt \ No newline at end of file From 45b246d6a3f60030742f3c373c68b55e6f6173ef Mon Sep 17 00:00:00 2001 From: Romain Paquet Date: Mon, 30 Mar 2026 20:05:23 +0200 Subject: [PATCH 08/19] Update vars via generator loki-auth (shared) --- .../shared/loki-auth/htpasswd/machines/crocus | 1 + .../shared/loki-auth/htpasswd/machines/genepi | 1 + vars/shared/loki-auth/htpasswd/machines/haze | 1 + .../shared/loki-auth/htpasswd/machines/renoir | 1 + .../loki-auth/htpasswd/machines/verbena | 1 + vars/shared/loki-auth/htpasswd/secret | 42 +++++++++++++++++++ vars/shared/loki-auth/htpasswd/users/rpqt | 1 + .../shared/loki-auth/password/machines/crocus | 1 + .../shared/loki-auth/password/machines/genepi | 1 + vars/shared/loki-auth/password/machines/haze | 1 + .../shared/loki-auth/password/machines/renoir | 1 + .../loki-auth/password/machines/verbena | 1 + vars/shared/loki-auth/password/secret | 42 +++++++++++++++++++ vars/shared/loki-auth/password/users/rpqt | 1 + vars/shared/loki-auth/username/value | 1 + 15 files changed, 97 insertions(+) create mode 120000 vars/shared/loki-auth/htpasswd/machines/crocus create mode 120000 vars/shared/loki-auth/htpasswd/machines/genepi create mode 120000 vars/shared/loki-auth/htpasswd/machines/haze create mode 120000 vars/shared/loki-auth/htpasswd/machines/renoir create mode 120000 vars/shared/loki-auth/htpasswd/machines/verbena create mode 100644 vars/shared/loki-auth/htpasswd/secret create mode 120000 vars/shared/loki-auth/htpasswd/users/rpqt create mode 120000 vars/shared/loki-auth/password/machines/crocus create mode 120000 vars/shared/loki-auth/password/machines/genepi create mode 120000 vars/shared/loki-auth/password/machines/haze create mode 120000 vars/shared/loki-auth/password/machines/renoir create mode 120000 vars/shared/loki-auth/password/machines/verbena create mode 100644 vars/shared/loki-auth/password/secret create mode 120000 vars/shared/loki-auth/password/users/rpqt create mode 100644 vars/shared/loki-auth/username/value diff --git a/vars/shared/loki-auth/htpasswd/machines/crocus b/vars/shared/loki-auth/htpasswd/machines/crocus new file mode 120000 index 0000000..1ca5db3 --- /dev/null +++ b/vars/shared/loki-auth/htpasswd/machines/crocus @@ -0,0 +1 @@ +../../../../../sops/machines/crocus \ No newline at end of file diff --git a/vars/shared/loki-auth/htpasswd/machines/genepi b/vars/shared/loki-auth/htpasswd/machines/genepi new file mode 120000 index 0000000..be44d39 --- /dev/null +++ b/vars/shared/loki-auth/htpasswd/machines/genepi @@ -0,0 +1 @@ +../../../../../sops/machines/genepi \ No newline at end of file diff --git a/vars/shared/loki-auth/htpasswd/machines/haze b/vars/shared/loki-auth/htpasswd/machines/haze new file mode 120000 index 0000000..0bcd94e --- /dev/null +++ b/vars/shared/loki-auth/htpasswd/machines/haze @@ -0,0 +1 @@ +../../../../../sops/machines/haze \ No newline at end of file diff --git a/vars/shared/loki-auth/htpasswd/machines/renoir b/vars/shared/loki-auth/htpasswd/machines/renoir new file mode 120000 index 0000000..01feee6 --- /dev/null +++ b/vars/shared/loki-auth/htpasswd/machines/renoir @@ -0,0 +1 @@ +../../../../../sops/machines/renoir \ No newline at end of file diff --git a/vars/shared/loki-auth/htpasswd/machines/verbena b/vars/shared/loki-auth/htpasswd/machines/verbena new file mode 120000 index 0000000..de62703 --- /dev/null +++ b/vars/shared/loki-auth/htpasswd/machines/verbena @@ -0,0 +1 @@ +../../../../../sops/machines/verbena \ No newline at end of file diff --git a/vars/shared/loki-auth/htpasswd/secret b/vars/shared/loki-auth/htpasswd/secret new file mode 100644 index 0000000..4f395a6 --- /dev/null +++ b/vars/shared/loki-auth/htpasswd/secret @@ -0,0 +1,42 @@ +{ + "data": "ENC[AES256_GCM,data:XH2+qfgRwjZTxH6Dlt/e+FslsyU8H5x9wHJP6+9nvGK12v86uVf9nCOK52NCFnikgyhB2gIjfv+ZFiMMh6AMLNMj5s0=,iv:Py5APYumQ4UMPcRBQbl5YYdRNMUxyyOeKMzHJDUm0Mc=,tag:V5UMmoBKcp2xoPKL8+NTpQ==,type:str]", + "sops": { + "age": [ + { + "recipient": "age10lf2vjmlkff25qyft9d3c0274gvkxsf255fw0ea60cuqc7703ajqu3yxx9", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkN1BFRGlFU1lLT21tNjMx\ndjh2SHQ4ZVpDVGVkYWQrSlhPN2tEYTNGdWhJCktoclhSajE4MDY3UXlINXpWcVFR\nZFpyUW1QdVNiWjA0SnVFSE5XYUlWTXcKLS0tIEo4MTVVU3pnK0RnS2Z5M21UMVA1\nN2xwbXJmVzFoU3BLdDRTNGtQRkdVZUUKbYMrwIZ/ijREiEPkdoDyWq2IyU/OHRro\nqcIXEz+IebnjipyITloxApJRjy6LwRCqXmHtAm3USFpUJbXT9G8iJA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1gmnfmze2teqtaquxczjahvfltzzlrgcza5w4cej64tw0qzke5ftqh8c9ry", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiTk9SdXpaYXRybWhjbXVG\nZzJ1Qk83S21yeHFNQ1c2RmlYZmNITy9UOERNCks2NHdYRTJDMHROWEcybWNUWTd4\nL3JRVWcyNVZsUERkQjNqa0IzQXZEOGcKLS0tICtJek0yYzUyd1pjQ0VudDcwYU8z\ndXRmR3F0NDl5TmtPbVZMTk5BRU5vcEUKsB7jcdXwsa5EConwLI7cyW2deoUcrpwm\n5mTgmcdSW8yQtzJBENJRMkcyOKCfXPDg1muXqOZd0EdzI1caN+JtEg==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1h0vx6w4d89amt90j3u0vm96gvjt9lwczsjamaakyew524x9u8a8qu5qvg5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNa09OZlpVRzFES29lTlpG\nT2lPQU5jM2JlaXUvOHlBKzRjZmsvQzN5L1FvCmwzMWRxMGtpUFZQRFNlcE1HTUFj\nTzUrdnN4SU1CNGlOVzJ2WWxyd0xrLzQKLS0tIHovQ1N6ZGlTaEpZc2F3dFJISU5u\nSUZvVHZsbzlwcC91MjJRMnFkSzd4OFEKKG1DT+c9zYNSYmGMQNAMEKaoVaEqgoOs\ntVjfH2Y8jzkrS8RjeD2UsQnPubcylBkOG+yH5NSBmfckYnf0M4ci9A==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mqnmzn203hyj200psc982ehcedjmcdz8s0ncc50fm9jszjx7rgmqqmppw5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNSDk3MStPMVM4eWJjVG1I\nMmJtU3V5d0h2VFlCWTRZYkpQR3diRDZLNVNFCmZaSzBjZ1ZyQmhocHlIVVZvREdo\nclIyb1JQcW8yUmpLVnhJSVNvK0lVb1EKLS0tIEdXZWpUZGZRVE45MmdXcXIvbnhJ\nNVlxbXJXSTRVcXB5ejJMa0lUOWhKOGcKwB/Q7wmiNkA/SB1CNHTgHvX0utNXvMPu\nwq6UgvEfKaEXDfaBTOqC+3/jgj2aPj/MsvndeLnFYLW+4e31UTjPsA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teege0n8gf9qcheuxtpy7cltf8aczt9ugh8ztp9v4fftn3wwd4jsz0lpeh", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1U3NscjY5WnYyT1E5UVl5\nYWRLd0lraGxkSlZ6M2VsQVZHNm9YY2FpcW1RCkZPNHh0emI0M3ZTMTNvc3ZTQ01U\nVWRMb013ek5YdFJmcVRocm8rVjNMK1EKLS0tIHF2Rlo5emJ4QjJaeUVsSVhzT2Mw\nTi83SWZEYmNDOGhwUHVqRnFxMHEwNTQKzlazmLtjjhZORdSKmOiXLjNMt1sAIIgq\n21/5GYM+u+fnnoGko84v/eqtacxNof3mvuRAe96nUQprR6b/NjRozQ==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1xkp0rmm5xwxurdxq3a0lxc77pjh5z4dylddvnf6ktrghyfhcxq4sdk3ysn", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhNmtkaFdOVGRzM2ZMOHMw\nRHY5N3MzZlZoeHFoUmxzNFJZQnlXOWM4MkFjCjRlc0JqTEJ5TlBEU3NIR21ObEtZ\nODhOUStFOVo0NnhIcGk5NEp3RHU2MGMKLS0tIGY4blBvOVFvdHVPTkl3aS9jR1Vp\nZmhyalQ3M21ZbnFkQkhjZkFUSVNXU1UK0gFYvIAs125FvA+EM8wO3H96Dej3mp8e\nZCbZneU7CmnRCkSU/zK9pQWodtMaZd+o9t414w4pNItKwpyX7yWbag==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1yubikey1qd2d7qpxlw9lj9l573f34vdkrazdq6yk4mvnlug46m979dl6p2p5xlzr0wt", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IHU2Nm1JdyBBdUlTbXJY\nTkNkQWRxM2lTTURkOXhzZVFKR21WeTZIaVVNV2tVZnJsR2ZOMwppbENVS1h5bDFo\nMzhiTnE1VDlBNGtFOWlRejlJdDJ3bFVnc1lYd0huY3MwCi0tLSBxZ2ZJOEU4UDQw\nVEZCZm9kWDIrendYOEpSQjhPSmpFRjdsZGhoYmQzdDFBCnUJ6wOHOvsPEaEHs6nP\nbo6SmQfyL+FFDaMnMnbrdo5xsM63Tzpx0VEldOL5VOrkTFREhHQxLOFiFZ7v0Rcb\nl/4=\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1yubikey1qwnawsag6k3lq7aklc92uq72vqx3r68ylg0x8fphn0qm8d7e00eq5ynu3wk", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IDJlWGZKZyBBeEZzR3dJ\nR3l0NStrTHBZcTh1Wk4rNEI3aFBITTVvcy9lMWFXdkVMMDhWOAo4YWpHT3M2blRs\nMzlBQUVCVFBnYmk0VmRFOEcyYWN3NEZ2TkZZZ2JWWDhrCi0tLSB2NkV1M1FPMUo0\na2t1RVNPTFVpdlVsKytiZThabXlaai9BZkdpUlhBSTB3CijaqbepLuJKRiTVSllc\nxzprIv4Ke4Iwydl81BhPnTDx5WP4P72H/rZ1VxHnwuTJMjKYiZDItcJIKciRlDmd\nttg=\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2026-03-30T18:05:23Z", + "mac": "ENC[AES256_GCM,data:FqXbq39m43taPhFQaRk7/vceS2WD//R2pem81NBDj9qIeHJyq52ZKzbj6wy4sw98qhZfLjlUYP6pBgvnK8SNOuqf3QAHKAU3QREPUaEs564gsVxM6MCYstXwmLM1o02qv+rEnPUM6sOvSTR8JQq/ddZAWwxJmWJIIieXQu6bBEg=,iv:C/EJYneE7ir5anWe/rdjdYLnDRAgNSGXLbiLn3uIr40=,tag:jiW/0e+/Pta9X1/yKTt2Dg==,type:str]", + "version": "3.12.1" + } +} diff --git a/vars/shared/loki-auth/htpasswd/users/rpqt b/vars/shared/loki-auth/htpasswd/users/rpqt new file mode 120000 index 0000000..825a187 --- /dev/null +++ b/vars/shared/loki-auth/htpasswd/users/rpqt @@ -0,0 +1 @@ +../../../../../sops/users/rpqt \ No newline at end of file diff --git a/vars/shared/loki-auth/password/machines/crocus b/vars/shared/loki-auth/password/machines/crocus new file mode 120000 index 0000000..1ca5db3 --- /dev/null +++ b/vars/shared/loki-auth/password/machines/crocus @@ -0,0 +1 @@ +../../../../../sops/machines/crocus \ No newline at end of file diff --git a/vars/shared/loki-auth/password/machines/genepi b/vars/shared/loki-auth/password/machines/genepi new file mode 120000 index 0000000..be44d39 --- /dev/null +++ b/vars/shared/loki-auth/password/machines/genepi @@ -0,0 +1 @@ +../../../../../sops/machines/genepi \ No newline at end of file diff --git a/vars/shared/loki-auth/password/machines/haze b/vars/shared/loki-auth/password/machines/haze new file mode 120000 index 0000000..0bcd94e --- /dev/null +++ b/vars/shared/loki-auth/password/machines/haze @@ -0,0 +1 @@ +../../../../../sops/machines/haze \ No newline at end of file diff --git a/vars/shared/loki-auth/password/machines/renoir b/vars/shared/loki-auth/password/machines/renoir new file mode 120000 index 0000000..01feee6 --- /dev/null +++ b/vars/shared/loki-auth/password/machines/renoir @@ -0,0 +1 @@ +../../../../../sops/machines/renoir \ No newline at end of file diff --git a/vars/shared/loki-auth/password/machines/verbena b/vars/shared/loki-auth/password/machines/verbena new file mode 120000 index 0000000..de62703 --- /dev/null +++ b/vars/shared/loki-auth/password/machines/verbena @@ -0,0 +1 @@ +../../../../../sops/machines/verbena \ No newline at end of file diff --git a/vars/shared/loki-auth/password/secret b/vars/shared/loki-auth/password/secret new file mode 100644 index 0000000..c74d319 --- /dev/null +++ b/vars/shared/loki-auth/password/secret @@ -0,0 +1,42 @@ +{ + "data": "ENC[AES256_GCM,data:gNQ/wv+1di6DdKdXtSP+5t/++NnOkGCt5yJtsfC0Sq8vE44RU0oNzuJuxFyMjrQGK7OJTGs8oIx2SxeuA8uuJx4=,iv:DZtEAFl9gdqi53TVsFWtMmSJpqP+2hUsfEgVmBiPpE8=,tag:G1H1+ew/Ef0pev0etrJ/pA==,type:str]", + "sops": { + "age": [ + { + "recipient": "age10lf2vjmlkff25qyft9d3c0274gvkxsf255fw0ea60cuqc7703ajqu3yxx9", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxRVZzMzdWSm9Zd1pBRkJr\naFQzRGtScm1CL0lKZ2VMbng2ZGc4QjVWREY0CmFQVmJ6amg5K2gySGVLRGZZVzFW\nbVBZWmJQWFJoYzZUZGx5a2I0K0haVHcKLS0tIEZSYXI3RVRlUnkrTjdwZ3BYWTNT\nNnVnQ3BtbkF6RkVJNmdrWDJoSXhXaWcKLpLups8jUuH2kkzV3T+x16pYZ+dBnPeB\nmFUUMkl3emcf5SZfs8Fq5n5pEPxzhR4AA64lF5lQHLLRu6/+ZKedrg==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1gmnfmze2teqtaquxczjahvfltzzlrgcza5w4cej64tw0qzke5ftqh8c9ry", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXeW9JRng1TWZGM2VKbmRX\ncXdOeXdpSitHU2w2TjBIUW8xOVBRYmFEMDJzCmovV1o4MUpqZFFacnFoS1ZISjda\nY2t1Q3JKVit3QkVZNzlhOUg1clNHdncKLS0tIHhiOE50eVJScHlZZnR6ek5RTndz\nTTN1NGZxSHJNVjJ3M0dyZFVGT24ycHMKGXs1in3Yr7JDQWoaeJIMvvqCw9nL7i5/\neeJWJvc1gZPDM7CfaR2oeKTE85JVLmMm1s2/xpObTVQ+nVx6fPRwdw==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1h0vx6w4d89amt90j3u0vm96gvjt9lwczsjamaakyew524x9u8a8qu5qvg5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOa3FjWUQvWkkzY1E2NVQ4\nb3hBRjhmSHVBREFTczVyOGJ6U1VVK2xTTUJZCmh2eHliVE5vdGhQeVRuQjBtcFIw\nZFQ4eG0yUDJwUFBtbGt2RnBYRVQ2ZXcKLS0tIHRkaEZBamxMZnp3VDdkTitjMkw0\nY3lYQU1jTEVIZnBOS2NSSi91WTNvak0Kh7iJIOHKNtWE1NlbKyCnV/NRA4AuGmJw\nb+aMidvowQWB8SGNP1NJz/BJ+aGlsL4BRhuULIp/Dl7ISqMnKNf4pw==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mqnmzn203hyj200psc982ehcedjmcdz8s0ncc50fm9jszjx7rgmqqmppw5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxVFB1WGpOZ2pZS1puN1ho\neVBkbngrSXFIcWtpVHFkRWtndW93Y1dBNFVNCmxYbTYwOG02RXZFdFBqUTQyQloy\nVlZTcC8wc1VmUjRWZndhTjJWTmdxeGMKLS0tIFVRYVRZV2lMQmJ1ZTBhTFhOMGFy\nSU1INVRRRWg5RHVDMEI5Z2M0WnQ4UVUK7OGaAJXHGloGRmBHAaL/yE5JkKv3MY9h\nyVwaZ46QIfhXDNv8Hxud18aELiI20u6njMh+Km4yVFIl1pJMkAFc7Q==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teege0n8gf9qcheuxtpy7cltf8aczt9ugh8ztp9v4fftn3wwd4jsz0lpeh", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2WFhNYWcrV1dNTktJVExV\nMTgrdlNvRHU1RTRJUTcvbjJyTUl4VnZkeFhBCmJUSnlNa1lwMnlqVm4wUW16UlBP\nRUVVbUVPL3ZPQXNBNCtFWVIxQk5KRUEKLS0tIFh1UkhiSk5TRUJtbWc2WlUyNHBh\nV3VySlBxUWw2NHRHeVJEbzVObG1jYVUKLnltBu8/zGuB6H8LBbVaSOn3nnGSn1UE\n/9id05notsBOMUEZ3rWuioBgaHu5nz+ABRxk9OMqx3wrg83GcE3DQw==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1xkp0rmm5xwxurdxq3a0lxc77pjh5z4dylddvnf6ktrghyfhcxq4sdk3ysn", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyVTJsT2dIUTkxVDlqanF4\naEJ6R2xBaGFLQjAxU1luOGI1RE9Dc0ZzenhVCmVZWStzbyt6T1NYRlhSeWFVZzY4\nK24vbHJqWWFVdzdsTXBINHZUTEdZa2cKLS0tIEM3cTIxV2luUEN0ZXk3Qk52OWNz\nZUNEUVExTWNmSm93cjJ4MHFTU2FOcG8Kxqk0FjILOepB2Kgsx2xH/4midJ8isedg\nK2VXzyCSYnWfNE6wiVd1hf7KCQ7vYHkW3pq03XWAySWaHgc9JzdaAg==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1yubikey1qd2d7qpxlw9lj9l573f34vdkrazdq6yk4mvnlug46m979dl6p2p5xlzr0wt", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IHU2Nm1JdyBBajMrRDdG\nZ3prNnF6blkyUis4RDhDdmxWSEI2MFdMVTAvdUdjNml5amZpMApMdWFWTmhMc2JZ\nQmgrbzhYd0NBeVFJSW4wd1lGdER6ZlVMekk2WDJaM1dzCi0tLSA5MURpVkMvMlFK\nQjcxWjZVV0p6UVo2dE5HcG1teHBEZG8zV3NRYXp1ekNBCu3YwbgAwbKOO9suzgMh\nEP3CQWifK4DGo1bQkSaOcTkK90o2gnGh1ZV2OYXLXmxtBeXaQ+7zA21SiMXK9yS4\ni5g=\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1yubikey1qwnawsag6k3lq7aklc92uq72vqx3r68ylg0x8fphn0qm8d7e00eq5ynu3wk", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IDJlWGZKZyBBcjRMeVFN\nZWpZWko4YlpvOUJWYXVtNWc0dWhVL0JVdTFwS25YQk5jSXh1RAowU1dhT1lONXht\nRFYrMUtwVSs1NEptNVVZS3l4OEl6VHFlelZadktMVXprCi0tLSB0N2taN0hUVWlh\nekVET29MTGhYU0U2MFFpYzZIb2x1dWlyWEc4Q3AwZXVjCt88EPAqLfGABtBIUzpl\nKHx11TKuje2wtE7J2HlQt47HyXL1AK6m6i90G39r7EmasrH5O/Y9ALjHOWo64mMI\npwQ=\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2026-03-30T18:05:23Z", + "mac": "ENC[AES256_GCM,data:/4fhAWgW0QrleFMHwWEt5d9tE7os34PzUZp2vH8gHswgoVnyOOK3choXlbOjQ8VKB6Ia+sngl1PO6GmKE2wlrBjKHX+DNlRuCn4ys8eya82RHLspN8j+iD3aB6FO+gmf4GUNvLf1yYTVcc9ybaSbKbdcZFjejj4usM37S7bFWYg=,iv:LuMG4WgUNMy3dVVdCZfflwx41MAkwZpKp8Pcv1XiS0M=,tag:i5MCT6G3MepyGvTNJpOflQ==,type:str]", + "version": "3.12.1" + } +} diff --git a/vars/shared/loki-auth/password/users/rpqt b/vars/shared/loki-auth/password/users/rpqt new file mode 120000 index 0000000..825a187 --- /dev/null +++ b/vars/shared/loki-auth/password/users/rpqt @@ -0,0 +1 @@ +../../../../../sops/users/rpqt \ No newline at end of file diff --git a/vars/shared/loki-auth/username/value b/vars/shared/loki-auth/username/value new file mode 100644 index 0000000..100e79f --- /dev/null +++ b/vars/shared/loki-auth/username/value @@ -0,0 +1 @@ +alloy \ No newline at end of file From 1968a08f7ae7fe92f013c9fe5fa3aa50f309bdc1 Mon Sep 17 00:00:00 2001 From: Romain Paquet Date: Mon, 30 Mar 2026 20:05:24 +0200 Subject: [PATCH 09/19] Update vars via generator mimir-auth (shared) --- .../mimir-auth/htpasswd/machines/crocus | 1 + .../mimir-auth/htpasswd/machines/genepi | 1 + vars/shared/mimir-auth/htpasswd/machines/haze | 1 + .../mimir-auth/htpasswd/machines/renoir | 1 + .../mimir-auth/htpasswd/machines/verbena | 1 + vars/shared/mimir-auth/htpasswd/secret | 42 +++++++++++++++++++ vars/shared/mimir-auth/htpasswd/users/rpqt | 1 + .../mimir-auth/password/machines/crocus | 1 + .../mimir-auth/password/machines/genepi | 1 + vars/shared/mimir-auth/password/machines/haze | 1 + .../mimir-auth/password/machines/renoir | 1 + .../mimir-auth/password/machines/verbena | 1 + vars/shared/mimir-auth/password/secret | 42 +++++++++++++++++++ vars/shared/mimir-auth/password/users/rpqt | 1 + vars/shared/mimir-auth/username/value | 1 + 15 files changed, 97 insertions(+) create mode 120000 vars/shared/mimir-auth/htpasswd/machines/crocus create mode 120000 vars/shared/mimir-auth/htpasswd/machines/genepi create mode 120000 vars/shared/mimir-auth/htpasswd/machines/haze create mode 120000 vars/shared/mimir-auth/htpasswd/machines/renoir create mode 120000 vars/shared/mimir-auth/htpasswd/machines/verbena create mode 100644 vars/shared/mimir-auth/htpasswd/secret create mode 120000 vars/shared/mimir-auth/htpasswd/users/rpqt create mode 120000 vars/shared/mimir-auth/password/machines/crocus create mode 120000 vars/shared/mimir-auth/password/machines/genepi create mode 120000 vars/shared/mimir-auth/password/machines/haze create mode 120000 vars/shared/mimir-auth/password/machines/renoir create mode 120000 vars/shared/mimir-auth/password/machines/verbena create mode 100644 vars/shared/mimir-auth/password/secret create mode 120000 vars/shared/mimir-auth/password/users/rpqt create mode 100644 vars/shared/mimir-auth/username/value diff --git a/vars/shared/mimir-auth/htpasswd/machines/crocus b/vars/shared/mimir-auth/htpasswd/machines/crocus new file mode 120000 index 0000000..1ca5db3 --- /dev/null +++ b/vars/shared/mimir-auth/htpasswd/machines/crocus @@ -0,0 +1 @@ +../../../../../sops/machines/crocus \ No newline at end of file diff --git a/vars/shared/mimir-auth/htpasswd/machines/genepi b/vars/shared/mimir-auth/htpasswd/machines/genepi new file mode 120000 index 0000000..be44d39 --- /dev/null +++ b/vars/shared/mimir-auth/htpasswd/machines/genepi @@ -0,0 +1 @@ +../../../../../sops/machines/genepi \ No newline at end of file diff --git a/vars/shared/mimir-auth/htpasswd/machines/haze b/vars/shared/mimir-auth/htpasswd/machines/haze new file mode 120000 index 0000000..0bcd94e --- /dev/null +++ b/vars/shared/mimir-auth/htpasswd/machines/haze @@ -0,0 +1 @@ +../../../../../sops/machines/haze \ No newline at end of file diff --git a/vars/shared/mimir-auth/htpasswd/machines/renoir b/vars/shared/mimir-auth/htpasswd/machines/renoir new file mode 120000 index 0000000..01feee6 --- /dev/null +++ b/vars/shared/mimir-auth/htpasswd/machines/renoir @@ -0,0 +1 @@ +../../../../../sops/machines/renoir \ No newline at end of file diff --git a/vars/shared/mimir-auth/htpasswd/machines/verbena b/vars/shared/mimir-auth/htpasswd/machines/verbena new file mode 120000 index 0000000..de62703 --- /dev/null +++ b/vars/shared/mimir-auth/htpasswd/machines/verbena @@ -0,0 +1 @@ +../../../../../sops/machines/verbena \ No newline at end of file diff --git a/vars/shared/mimir-auth/htpasswd/secret b/vars/shared/mimir-auth/htpasswd/secret new file mode 100644 index 0000000..d849b97 --- /dev/null +++ b/vars/shared/mimir-auth/htpasswd/secret @@ -0,0 +1,42 @@ +{ + "data": "ENC[AES256_GCM,data:2ZRBeIvvGMuvziayXY0C/7PpIyTBdloACDfRTH6e/ReQ93eciB2tDDNA44nD81cVdcfe6zBQKZOPunJPYCxYh/ZcM78=,iv:P4r0j399lqG+9iQ9HvjgNKW0YvcLcQ+EruEYoQuXRd4=,tag:ywsp0XaO1Zg4sky5Zhx7kw==,type:str]", + "sops": { + "age": [ + { + "recipient": "age10lf2vjmlkff25qyft9d3c0274gvkxsf255fw0ea60cuqc7703ajqu3yxx9", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBTTVVcFNmY0Vuc0IwbmJO\neXNZb0x0MkhGYzJLOXRnZEtQcjkrRkdncUZZCmtwZ2dLNEpVU0wvakkzS1ZwdDZP\nMHVBNTRqRTdvNHBISDFlRHBFTjVlaEkKLS0tIHhJbWNaOXdxUXhSdkNwV3BSRkZs\nZFArYXZBQ05JM0xJMGlaL3lINlVLQmsKvSOMkIJ4HQkNFV0uoe4VrOgeejQ+nP1M\n4ADVPOh1pUQM78Uxigk3O+xeZWpbkikRyhG12pefcO4BsqiiFS+V6A==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1gmnfmze2teqtaquxczjahvfltzzlrgcza5w4cej64tw0qzke5ftqh8c9ry", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMTzB3TVhNdml0eWw0NFFL\nSWVNWVRPZUpkb1hkRzRBaUszUVJrYkJ6RkhZCjQzYkEwbU9TdS85VUc3azFZeDBJ\nNUZERUltWnBwcEhGUzlxTVZKQ3R5a1kKLS0tIFd3VVNuVzVraGUzZmFtY254Qmxh\nemJkZmZ2emR5djE3VjFzcGg0c1dZZDAKkKvKmqXMS4QlL0y1BpgUZA62LTMJ77yq\na3ttRqd46lviXwVsziQ3GhXIw6YI1UWPFGg5rHBjhxi2zBfdfP5mIA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1h0vx6w4d89amt90j3u0vm96gvjt9lwczsjamaakyew524x9u8a8qu5qvg5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkT25qYk5tQ3pKSjlNSjhP\nd21SekdCNElkUWdLcEJzMjdqYkJvNE05eFQ0CjhITFRsNDNMRTFLZUxwRHpRNWx1\ncERwWmJYNU5YenZYdEpUZk5sQnEvVlkKLS0tIEhLeTFaREJNSDlwSGJWeTFwSEcx\naEhwYjNaWVZwTDJabGZ1OHM4OXRmZHMK0uOwHz4l0PMLBpTOp+ZwyEqqbTwiaDHD\nnQYoqaNTjIESfH0m0D/b6/iSDo6ljZxoa2UYgTfvfEvYyyiwV4qAww==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mqnmzn203hyj200psc982ehcedjmcdz8s0ncc50fm9jszjx7rgmqqmppw5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMb2JLdTh6ZHBtZWEwd3lp\nWDB0MGpUTkpCT0hMaFV0bWlkdzhQaVdjYVZRCmdOSFpKcXZaTHBma2t4anBudFl0\ndXN4SHYwVFRGQlFlaTYxMWlXWW83cGMKLS0tIHJDWEw5RDVlSzN4VVlxQTN6Z240\nRHNFdGFIRkg4N2h3RjkxRXU1K3B1c1EKMINTYoHtgKeMtpXm3RStFb67zwYRJ+yM\n2QSoGMkilagWmYAThrp0z/QpgnVkrPku1DKgyRsH63WO50d0HL3Y5w==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teege0n8gf9qcheuxtpy7cltf8aczt9ugh8ztp9v4fftn3wwd4jsz0lpeh", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBWkFaTVBibkdraU1LbHVE\nenZjL0ZIWUFRL1NjUFVyTUlwVkZNakl3TjJnClhrcmQzdi8zMUYxMkhZZ25JV2tZ\nbkR0SzE3TzVMSzZPc21DNm5Ra2xOcnMKLS0tIFZ6dFk1cm1LS21HYW9tdEJtOVhw\nNEE2TXBhMjVwTTdnaXZCdmVvKzc3VWcKnr3hdYE06xeKgp1IbdpTtHLS8RpGGkeL\nNNueLp+dm5kkaH9SHzu3I7uRdTFvtqpNF/ePTBKnoGucVN4WL/IptA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1xkp0rmm5xwxurdxq3a0lxc77pjh5z4dylddvnf6ktrghyfhcxq4sdk3ysn", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpSGJrNFdtUFdjM1UvVFU1\nZnBIRzNUWnI1TkJ1ZDVSbmJiUnlwOERzYTBvCnFRMkRkcWthdHR6VjFNZHo5TWt3\nNVVkcTlVWjNDTFRxaFJXWjg5THZXdHcKLS0tIFhnZ09NSFFSUFBXb3FxWnROLzdF\nNk9VeHRpMms2SEo0OVVYOG56d3FvTjAKgQiRNYTENFAk4HjRJA3TYOPDqWBK8b+Z\nVf46M59QShw4zUBXZA5qRn7kEDRfL27rIXTYhBeMhdntML+dwlVHEQ==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1yubikey1qd2d7qpxlw9lj9l573f34vdkrazdq6yk4mvnlug46m979dl6p2p5xlzr0wt", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IHU2Nm1JdyBBNlBwUWZ2\nUHZwVU96MTJrUW1WMWZmYU9mVlVDcUpSQndXelpkdjlIZXVESQpMWG42Wm5wNnBp\nalE2TnJuWm8yOFBYTEFmZm9TZ1VVZkdOdytZQzBHUGNjCi0tLSBZUlRXcHZpNndm\nTnZJOXdaeXRmUUMrTE9NY1c2RU1wT0p0cGpNalpDd3U4CtBLp+fI1y+ooTz4AgzC\nr6xVlk8GYOcrX9a6WK8rv5ohJ+Kn0ZP9+vPtfOlG3o8wDyJDt6KKNHyTJOIPQ+b8\nF3Q=\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1yubikey1qwnawsag6k3lq7aklc92uq72vqx3r68ylg0x8fphn0qm8d7e00eq5ynu3wk", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IDJlWGZKZyBBdHQ3M1I3\nalJnYURSTGpXNitPMDkzbTlvWWlhLzBFMjNwNTcwWExDNEZ3RApxbzdocDZ5T01K\nUWRrUkpIRm8zc1hpVG81RzQ0MjBQR3RnS2lmVi9TQkNvCi0tLSBDM0RqTXdKdlVh\nMWE3Rk8rZGNTd2VDSHJUdFRzMFF4K0dYcDRFdWZaNEJnCpf8raNbWkALrWgwKvmK\nWSBEB8PYdWcDVQooBrdymjwEjhOvov4S39KNQVk+n3fgjMxjWkjqmmOCqMQKULmO\nxpA=\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2026-03-30T18:05:23Z", + "mac": "ENC[AES256_GCM,data:qbH5pwAbLIIaWfodoytU86IIsifw6LtaEt8LQUqvDUsv6oFnVZS3/aItls801/U4HOi7fWRVwTlOCa8L0EZXo6N48SrtrN1BxO/rZu1/+9yxJLE1VWWYOprGsU+F6nF/mCOvgKOCiILBZuCtH77Bhhk14yn6yBHBgjus8Wx2UtU=,iv:aaTsrCDIdIk8FWX/jJv1+SHN7VTtF7HtnNoqpKMqzRE=,tag:ogrHrNaJM1YaczhRFo/Aow==,type:str]", + "version": "3.12.1" + } +} diff --git a/vars/shared/mimir-auth/htpasswd/users/rpqt b/vars/shared/mimir-auth/htpasswd/users/rpqt new file mode 120000 index 0000000..825a187 --- /dev/null +++ b/vars/shared/mimir-auth/htpasswd/users/rpqt @@ -0,0 +1 @@ +../../../../../sops/users/rpqt \ No newline at end of file diff --git a/vars/shared/mimir-auth/password/machines/crocus b/vars/shared/mimir-auth/password/machines/crocus new file mode 120000 index 0000000..1ca5db3 --- /dev/null +++ b/vars/shared/mimir-auth/password/machines/crocus @@ -0,0 +1 @@ +../../../../../sops/machines/crocus \ No newline at end of file diff --git a/vars/shared/mimir-auth/password/machines/genepi b/vars/shared/mimir-auth/password/machines/genepi new file mode 120000 index 0000000..be44d39 --- /dev/null +++ b/vars/shared/mimir-auth/password/machines/genepi @@ -0,0 +1 @@ +../../../../../sops/machines/genepi \ No newline at end of file diff --git a/vars/shared/mimir-auth/password/machines/haze b/vars/shared/mimir-auth/password/machines/haze new file mode 120000 index 0000000..0bcd94e --- /dev/null +++ b/vars/shared/mimir-auth/password/machines/haze @@ -0,0 +1 @@ +../../../../../sops/machines/haze \ No newline at end of file diff --git a/vars/shared/mimir-auth/password/machines/renoir b/vars/shared/mimir-auth/password/machines/renoir new file mode 120000 index 0000000..01feee6 --- /dev/null +++ b/vars/shared/mimir-auth/password/machines/renoir @@ -0,0 +1 @@ +../../../../../sops/machines/renoir \ No newline at end of file diff --git a/vars/shared/mimir-auth/password/machines/verbena b/vars/shared/mimir-auth/password/machines/verbena new file mode 120000 index 0000000..de62703 --- /dev/null +++ b/vars/shared/mimir-auth/password/machines/verbena @@ -0,0 +1 @@ +../../../../../sops/machines/verbena \ No newline at end of file diff --git a/vars/shared/mimir-auth/password/secret b/vars/shared/mimir-auth/password/secret new file mode 100644 index 0000000..2137f78 --- /dev/null +++ b/vars/shared/mimir-auth/password/secret @@ -0,0 +1,42 @@ +{ + "data": "ENC[AES256_GCM,data:TnU3ellLTsdKXN4SQj4Nsc9Wtb6ItzEAmYZm9JYNO8RFN96MnTXACk1DhYQLlbboKjMuVFfEReE90SRM+jbOXCg=,iv:fb/T49yU6hosfGJB7fFPNKzsEE1mlxtsA9OdTN25VT4=,tag:+2OxaNBAzPVryoe8NSFe3g==,type:str]", + "sops": { + "age": [ + { + "recipient": "age10lf2vjmlkff25qyft9d3c0274gvkxsf255fw0ea60cuqc7703ajqu3yxx9", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrc0c2YzJRVERvRjZZWWRW\neVgvTTZtSzE5bzdDVjVUMmZiTzFjMXBsdVRNCkpnbVdLMUJnV2k2NFhGaDBuN0Yy\nekFYNEk4ZDAreTFNejkvT2dRRWpibEEKLS0tIHdldnBqQ294R3hkU3BNaldpbi83\nV0J5YklPS1pTakx3VTU1YzI4YWQ0T1EKb71F+jGUTZMtAmd44zCO4v0MTYF4Hyri\nMs9LcEVQ3wE5PZSVxIuGKezgrlNZ8ER6PbloLUTzlwbV2v8Swp9R4g==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1gmnfmze2teqtaquxczjahvfltzzlrgcza5w4cej64tw0qzke5ftqh8c9ry", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMTDIzYlNRK2Z1OFRMUno3\nSithTTQxYUsxdGhsNVRwRFhHbEVtWXFtRjM0CkVoNTM1a3BpNmFjL2xqaDhVS1RG\ndU9PY0xjbVNpemxSQXBPYXBGZjhHMFUKLS0tIFEzdk1DUmJ6RHMzVDVvL1RSYTJN\nemJXN3VEKzhINUc2bHNwMU9wVzVJY0kK1h5iTnxNz8obDp1Z8/uZSYFrgauQfK3u\nJ+AqGUidk8vC0s+j6Du2EN6R0JEhIgwzgngb0ejO3lRLzSQiih6Zhw==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1h0vx6w4d89amt90j3u0vm96gvjt9lwczsjamaakyew524x9u8a8qu5qvg5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2QWsxcHZFbnZ1UnY4S0J3\nUXVwZ0xBMUwyalpJZ0xJM0RaNVNmdko5cGlRCmtGZDJ1bzlxeXUwcnkvdHF5cngv\nTWRxQy9tUnFEQVZCUTJWMG5YaWVVTDQKLS0tIGIrTG8zUTlndXQ4NUQrVXRwVEFv\nRmM3Y3VpN1Q4dWJucHpOc2N4WVBjQlkKFaezuoNtievvkpUsCwGN39BRgq2PiJnX\nvXvQM8uZdO6GYtqtRvn7Roy3VF63TMKQtSQmERBLozLkFHYixFL1FA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mqnmzn203hyj200psc982ehcedjmcdz8s0ncc50fm9jszjx7rgmqqmppw5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYcHR4N29YbW9kaGNmc1po\nN3dLTHR2ZlVXdVlDR1JpSGpCTnlKRVIwN21VCjdTQm02QjVsM2Fva2xtanhZU2hZ\naE9OeVM1cHNOVXc5anRBQVVqMng1UmMKLS0tIFo0Q0N5c1o0SlN0OEhWT3pwSjVB\naGNzUVk5R1dZM1RYZlBBVDduQ3RNajQKe/AgZ+B4O+CKCpx20ii824EmXws4ar8j\npZmEWEZ12XvOl4S8daxJTccGdzGsljqNdZywpRQvztzF5oGh0Uy2Lg==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teege0n8gf9qcheuxtpy7cltf8aczt9ugh8ztp9v4fftn3wwd4jsz0lpeh", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMWU9GTDh3d080VXVaaWhk\nU1ozaEFYVUM3NnhneGNKeWJ3ZlcvcXhrZ25VCjBONHJDZDhUZndvSWx5SkRTMks0\nR1ppT3pmNklQVjYvb0dGSC9hVmNTbHMKLS0tIFp2c2ROQ2RsMTROYUhoSjh3cVBF\nZFBBWkhobWpIcEI4QVFBMVI5WkdheEkK0NButhHLR8e2kJrplp34ly/S94nLSo3x\nKXGJIy/3lQhCWNz2fjc1rnnzjOzfLn1Om6yT3CjDeNyZKQqFz08g9g==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1xkp0rmm5xwxurdxq3a0lxc77pjh5z4dylddvnf6ktrghyfhcxq4sdk3ysn", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxQ3pxZXI2eWQwSWFQcm4x\neU9FUTlBOC9OaS94eGZGUUM0MEdXVUxZVm0wClZ2ZE4xcHhmQ2VTQk5FRVNEY09x\nZWMvN09DNUs4WW85cDVqVUZ4Znk1SUEKLS0tIHJ0MGVBdWM2Z3BNU1EyTUZ1Z3Za\nVExCRHZoV3BKNDRXdSt1MzlnM3VvRUkKf3VI1sqk2Z3IJ7f51R8G8HEKCM+JJcIJ\n+RMXBwi/KDB0595GHhB0z19BMLip/NhCBM23SanHPrYnCF4L0t01kQ==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1yubikey1qd2d7qpxlw9lj9l573f34vdkrazdq6yk4mvnlug46m979dl6p2p5xlzr0wt", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IHU2Nm1JdyBBcDBhZG0y\nRGFhenJibnRvMXRXQU9mZUxLN3lqVXlacmJ1TTYxM3lMdmpiZgpIRllxSGJhZlJS\nKzRBQ00xL3lneHJLL2t2MVMwNGI1SmNnNkVCZWlrMTNZCi0tLSA0bzFWY3pqSUVw\nZk80Vi96TkYyNzdVUXVYMlJ3aTlMSkxTOVl1cnBjdHJRCi+W6gzVi2hwA9NzCwjz\nKuqZKlHGcm7+n3D+lrN8zO4c21D1X5K3SZ2gKH9HOmyZiV+pDU7sQZ5eKAMbhkxe\nw5I=\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1yubikey1qwnawsag6k3lq7aklc92uq72vqx3r68ylg0x8fphn0qm8d7e00eq5ynu3wk", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IDJlWGZKZyBBbWdMOTlp\nNklxNURnb3ptQWp4eEV4Wm5SVkc5QXJEK2dEcWJPUVkxMlh5YQo3RXB0Q2QwRE5s\nS0llSnNzMzRiWU9odUVUYjBlRlZXU2NXUGRxdVFYbFk0Ci0tLSBlQUFndnZEWERm\nUHhuZnpaWXRQckV5c0grcG13bUdXdG5FTWNtNEsxaHFZCu9S7EbSC4NXCijgh4+G\nCsuOXMlMsdSJZwCfi5bQ8BFbHCEJYAKpBCTsqhT4sX9aEblA8ujEv/TAhbDWR/+p\npqQ=\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2026-03-30T18:05:24Z", + "mac": "ENC[AES256_GCM,data:KwhVsbHik1qS0HDw57S0z51e9P7duNXNRqB0MhY+7wh8FcH1b13SM8aMkao0QZnntlJ8smqKJBSObeG+czfY5E3xgc6Ljw2O0j1EOga/xnPXv591W7/IVLIbG4IuFKMzm0mSIoDBkaipkYhwvp12Rnmqdzch/mfrDwyFTghBTiM=,iv:A6raTJEasdhdQsHErtnmc9wqgSLauFh0T69ye5CZN0o=,tag:Gh6Vcd1DrbRgcFTWfMUFHg==,type:str]", + "version": "3.12.1" + } +} diff --git a/vars/shared/mimir-auth/password/users/rpqt b/vars/shared/mimir-auth/password/users/rpqt new file mode 120000 index 0000000..825a187 --- /dev/null +++ b/vars/shared/mimir-auth/password/users/rpqt @@ -0,0 +1 @@ +../../../../../sops/users/rpqt \ No newline at end of file diff --git a/vars/shared/mimir-auth/username/value b/vars/shared/mimir-auth/username/value new file mode 100644 index 0000000..100e79f --- /dev/null +++ b/vars/shared/mimir-auth/username/value @@ -0,0 +1 @@ +alloy \ No newline at end of file From b3f735d55c4f5e585ffa802a6ea46d45938a7123 Mon Sep 17 00:00:00 2001 From: Romain Paquet Date: Mon, 30 Mar 2026 20:05:24 +0200 Subject: [PATCH 10/19] Update vars via generator grafana-admin (machine: renoir) --- .../grafana-admin/password/machines/renoir | 1 + .../renoir/grafana-admin/password/secret | 26 +++++++++++++++++++ .../renoir/grafana-admin/password/users/rpqt | 1 + .../renoir/grafana-admin/username/value | 1 + 4 files changed, 29 insertions(+) create mode 120000 vars/per-machine/renoir/grafana-admin/password/machines/renoir create mode 100644 vars/per-machine/renoir/grafana-admin/password/secret create mode 120000 vars/per-machine/renoir/grafana-admin/password/users/rpqt create mode 100644 vars/per-machine/renoir/grafana-admin/username/value diff --git a/vars/per-machine/renoir/grafana-admin/password/machines/renoir b/vars/per-machine/renoir/grafana-admin/password/machines/renoir new file mode 120000 index 0000000..d755df7 --- /dev/null +++ b/vars/per-machine/renoir/grafana-admin/password/machines/renoir @@ -0,0 +1 @@ +../../../../../../sops/machines/renoir \ No newline at end of file diff --git a/vars/per-machine/renoir/grafana-admin/password/secret b/vars/per-machine/renoir/grafana-admin/password/secret new file mode 100644 index 0000000..96510ea --- /dev/null +++ b/vars/per-machine/renoir/grafana-admin/password/secret @@ -0,0 +1,26 @@ +{ + "data": "ENC[AES256_GCM,data:1inPvP3XQhtzPCtfSandn24ck7Vmi24s779rYbFsEFr5PT1HEinM2OtziTPRBc5ZhdKABenQjXD/6ZpTKgZXHcs=,iv:69zuMtuc9fcs+kmVn3nVvpSfgNWrFUIBh95xlUdjL4U=,tag:Fi1Gwaq8HswP9TAYUWf2sQ==,type:str]", + "sops": { + "age": [ + { + "recipient": "age1gmnfmze2teqtaquxczjahvfltzzlrgcza5w4cej64tw0qzke5ftqh8c9ry", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3SzNkMXJnREJXZFliRXJE\nMnp0K0o4VEpicU9rMytQSWNMNUorZm5tSGhzCmh6eDdHZFBTd0VIampyR0VhWnN1\nd29xclFrMjhCNWd2NVc1bHZDYkJVd1EKLS0tIHliQlhYbzlGZ1N0d0k2a1JSME5O\nRStjNytPbXpJTVFxZnJNZ0MyK0Ruc2MK2UMmeDTo/yzAM9EjvvAisL9u7MreK3/S\nN8i2fnzvLi1sP+ogovlgDnX2P8w8IHpo9L2laiYVTooXZ6zUMuZhSQ==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mqnmzn203hyj200psc982ehcedjmcdz8s0ncc50fm9jszjx7rgmqqmppw5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4MnlzTkxObUswcTFqb051\nUGtSRmN0ZzYzdEd0enRLUFpaQXJXV3FMV1hvCkhCUzdyYVFLclliMERINWJJV0Ra\nOHIrcVc5K3VMY0MwRlQvTDVTNHJBVTAKLS0tIHc0YTM5MHlwaURwQU54QkQrRk9t\nQjBoUWg2c1g5VGw5RjRUZzdVaGQ5WkUKnoqqat0UOSvxxWSWMRZTcMmF23Z5o9tu\nqy6HKqRCK/Ts1Eunbbr1mIgJazY+gzE7ssKr0iz41TVGZi6KEuEmzQ==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1yubikey1qd2d7qpxlw9lj9l573f34vdkrazdq6yk4mvnlug46m979dl6p2p5xlzr0wt", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IHU2Nm1JdyBBOXhQVFZV\ndjJ6dkpRSExuVVNhQjJRTWMrQWJyajNWSlUzT0Mva1FYcUo4ZQo5L3lYTmNLN1Ni\nSEFlTW9CZ1ZEOCtoWDQ0aWdCOGpua0d2cVF4Z2xyODR3Ci0tLSBZb3lsRFdkRGYy\nUDNPa3R6bmJ0NGFsMERhRXljY3krekZDWnFVUXZ4ZmJjCswz61XO0CsmOT8fFWq/\nJHmTVgfOEK0PbdDCMs+vkWLwzciKkulfDN/IUmuULoA0o8ISo+0dzXSFxjmlFyjV\nfVE=\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1yubikey1qwnawsag6k3lq7aklc92uq72vqx3r68ylg0x8fphn0qm8d7e00eq5ynu3wk", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IDJlWGZKZyBBK2Naeklm\neHFUbkZGbmE5UjdDLzZrU2QwYmlEUGJ5WVByMHVNbW5uSU9oYQpkZWRZM052cVZz\naUI1SlFiWEZuT2UzQW0zZ0F5cmQ0WlFQWE16d3YwSnNjCi0tLSA4SWcybWRselNJ\nQWVXbmdXTnBiUmc4cjhxTWNTVXZ3T3FYbFdnTFVqeXQ0CgLAmh2twr5rJ7SL0SwA\nM0wfWq5EOM9sKRqKBxDhg7f0YEo1qDOvXmkzppYCPxUp0D3KabO30lz+Vytm0R5b\nH6Q=\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2026-03-30T18:05:24Z", + "mac": "ENC[AES256_GCM,data:nq3VC0KQ9GINdMhNeOwxLRV7qcCVfOmb9WaKmgHr9YAaUpBEKmd2Q5a3gxGxWNLDfgYRWbFEp2GGV8wYOduhFqDIyuAgKM2WPB6Hx1DXZnFDkZK2BKPEBiTCtGmAamm8ACK8I8hsAqra21kOImSBaVrApaq4FYy+9FKiVdhWDj0=,iv:vIjJAYm8861YoL0KW4Ac87CSy2bQGGfZGUcr1hNGKrY=,tag:4FIvCXkjJ7qvoPkltVqNVg==,type:str]", + "version": "3.12.1" + } +} diff --git a/vars/per-machine/renoir/grafana-admin/password/users/rpqt b/vars/per-machine/renoir/grafana-admin/password/users/rpqt new file mode 120000 index 0000000..c6af5c7 --- /dev/null +++ b/vars/per-machine/renoir/grafana-admin/password/users/rpqt @@ -0,0 +1 @@ +../../../../../../sops/users/rpqt \ No newline at end of file diff --git a/vars/per-machine/renoir/grafana-admin/username/value b/vars/per-machine/renoir/grafana-admin/username/value new file mode 100644 index 0000000..ca17f45 --- /dev/null +++ b/vars/per-machine/renoir/grafana-admin/username/value @@ -0,0 +1 @@ +rpqt \ No newline at end of file From 4ef5efb1e3710f1af889fb2266bbf67e995b7dc2 Mon Sep 17 00:00:00 2001 From: Romain Paquet Date: Mon, 30 Mar 2026 20:18:55 +0200 Subject: [PATCH 11/19] vars: update via generator grafana-secret (machine: renoir) --- .../renoir/grafana-secret/key/machines/renoir | 1 + .../renoir/grafana-secret/key/secret | 26 +++++++++++++++++++ .../renoir/grafana-secret/key/users/rpqt | 1 + 3 files changed, 28 insertions(+) create mode 120000 vars/per-machine/renoir/grafana-secret/key/machines/renoir create mode 100644 vars/per-machine/renoir/grafana-secret/key/secret create mode 120000 vars/per-machine/renoir/grafana-secret/key/users/rpqt diff --git a/vars/per-machine/renoir/grafana-secret/key/machines/renoir b/vars/per-machine/renoir/grafana-secret/key/machines/renoir new file mode 120000 index 0000000..d755df7 --- /dev/null +++ b/vars/per-machine/renoir/grafana-secret/key/machines/renoir @@ -0,0 +1 @@ +../../../../../../sops/machines/renoir \ No newline at end of file diff --git a/vars/per-machine/renoir/grafana-secret/key/secret b/vars/per-machine/renoir/grafana-secret/key/secret new file mode 100644 index 0000000..d18652c --- /dev/null +++ b/vars/per-machine/renoir/grafana-secret/key/secret @@ -0,0 +1,26 @@ +{ + "data": "ENC[AES256_GCM,data:3U/qK3O8lVXq03BVJ1eeqAv60ypSf9eRoA6kYufh+XagbGxhZQMFTpEy5rEZ3NwtqFGrq119FlddpJmFtkxHyfI=,iv:lju6xTX9VFF5dNmcR6l3f9ulfg3BEfsmxqrlxKrErC4=,tag:5CAfisXVeIyr3qhoYqYlgQ==,type:str]", + "sops": { + "age": [ + { + "recipient": "age1gmnfmze2teqtaquxczjahvfltzzlrgcza5w4cej64tw0qzke5ftqh8c9ry", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwT21PQVhqNGk3UnVIVzlz\nTlI2SzFLQVRteCtiTzE4aTQ5YWdYWk55bFJrCk5zeC9jVSs2a1B6N0hkemxFL1Vr\nZVllRE9ETGlaeU5iK3NGK2RKU1FjT2cKLS0tIG8zSDlrU0dBUWRibHl2U0dkcTNp\nOFJkejJmVmVMVXg0N2VFREtYYUk0cTQKOFfGF0xd1tkFvB/7er5GsBjnXnnCBdC1\nVY+piOkE8kodSqPjq15aFdMdBV+HEAuYVtiGywPyPNuSVO7W/oMAhA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mqnmzn203hyj200psc982ehcedjmcdz8s0ncc50fm9jszjx7rgmqqmppw5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJdkY1TVFFOVR3cEhrcUFF\nNVBkV0tkYW5NSU5vSzVEUTdsMjJxS1NwaEJBCnIwSmVVbGlCZmRmRVlVZW5ScFc5\nMm9sbFAvbU5VTlBTdSttYkgzVHFQOUEKLS0tIFlBWit4Rzl3QkJzWkt6MzZSYU9O\naUZKZkNLT05iVkhOcERscys0alpnUXMKCSzzZMKkuoqGKI+87a9jFdqO3oKFaIqM\ncoLBrdTzFjUXlMSiegseYJCA77DRONWd9n+iPSQGm0Wy0gXThLBXfA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1yubikey1qd2d7qpxlw9lj9l573f34vdkrazdq6yk4mvnlug46m979dl6p2p5xlzr0wt", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IHU2Nm1JdyBBdUJ0OEJw\nUjl1YnE5K1pneE10RkxlbDkzS3l6a1RRMnlDYnJ3b25TSW5MeQpVTGdOTW5FdG80\nR1BHVG1qK2tyYVJheVRFMWNOSVR5QUEvOHA1OXRLTlVjCi0tLSAzM0w1eVZZcUZ4\nbHBSNlg1S1N0dm5CWmwzVG5NZHR4WThaRVJrS2t3OFo0ClC/9CLIDwFCuiFVOQDd\nBeCvjwFHZq5pmB7iroPDKGsxpwwMGUsWsBipg3sEPIpOwP0MN92PNepB7C7Wj2a+\nkX8=\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1yubikey1qwnawsag6k3lq7aklc92uq72vqx3r68ylg0x8fphn0qm8d7e00eq5ynu3wk", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IDJlWGZKZyBBaGliRHhC\nYUhpeWVTV2NOZCtVeUdURGEzUytEWjR1OWllVGxwaHFvREQvYQo3NUQvSGE5QkI4\nNnZLL0pvUDBxWTR2ejlJQ3YzaUVLZkM0NThFQlJ3dFpjCi0tLSBWR1dkbHN6TmVE\nc0UralZRWjd0NVRKR2MxMXBHM3RwYzR3TXVLTlo5V0RFCqe0iYleR9QhPV71VYBM\nrdrazkTCb2wFwFEIM3wr/NUyZeYnx0V5XF1wFvEoyv2k8eN2cJl+CIe6oznQpp/3\nd0A=\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2026-03-30T18:18:55Z", + "mac": "ENC[AES256_GCM,data:utbiDgNY5y/1VM8QYejkMqcZvp/EmWpi9G9BnxhOXvFc5HntPIcRGyn8SUcSxSy2TiLaZMBEp9eR0KwZNWE4enFEKnOI1fjtng7tkid24dNB5pM/MxVW9q+s0Tn5is10kSclzdAuSlrBrk1BluPwCRfUyWhV8tNRriW1EmEsOmA=,iv:7eJnbb1fS6ACevw0MyBBo780izpRPORyVzyTrtAmWAI=,tag:6ID486JosoK20gE680VX6w==,type:str]", + "version": "3.12.2" + } +} diff --git a/vars/per-machine/renoir/grafana-secret/key/users/rpqt b/vars/per-machine/renoir/grafana-secret/key/users/rpqt new file mode 120000 index 0000000..c6af5c7 --- /dev/null +++ b/vars/per-machine/renoir/grafana-secret/key/users/rpqt @@ -0,0 +1 @@ +../../../../../../sops/users/rpqt \ No newline at end of file From 3e650e550d34e375cb46d994ac1b1e83b2158725 Mon Sep 17 00:00:00 2001 From: Romain Paquet Date: Mon, 30 Mar 2026 20:49:06 +0200 Subject: [PATCH 12/19] update flake inputs --- flake.lock | 94 +++++++++++++++++++++++++++--------------------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/flake.lock b/flake.lock index 2051480..e6ff6e8 100644 --- a/flake.lock +++ b/flake.lock @@ -10,11 +10,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1772943039, - "narHash": "sha256-NzcHFEl1+yXwZfpRmwXyAkvsajPZgLffygUcDsf00hE=", + "lastModified": 1774759126, + "narHash": "sha256-85Ds/QjrWIqoCMWwetYsDB82QukQUQHzswjQKOo6WZ8=", "owner": "nix-community", "repo": "buildbot-nix", - "rev": "d8dd88a717560304b659743e204901dd4c0e434c", + "rev": "1865dc8516575d09188f30934d944b57aa3cb3d4", "type": "github" }, "original": { @@ -40,11 +40,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1773332673, - "narHash": "sha256-p14NeXAqKJjW7/YlXmUFRdv5lY6DgdNHHFnH3ddTJ6s=", + "lastModified": 1774883558, + "narHash": "sha256-+TRbT0ohdEN/UYWPRfmbEJTyX76DqEMw5nFbPMBOpqs=", "ref": "refs/heads/main", - "rev": "4bc7d0ca824a63c9f99be0716827ba8d8a026216", - "revCount": 13563, + "rev": "7ebcd07aefc5ce37a4f50f8324e194128c5b0cbe", + "revCount": 13808, "type": "git", "url": "https://git.clan.lol/clan/clan-core" }, @@ -84,11 +84,11 @@ ] }, "locked": { - "lastModified": 1773259940, - "narHash": "sha256-zPr98JtgmA6FOEz1CysYfYod6lR5guHy2DsOtma/p/o=", - "rev": "83fe63ab625d6213e91dcd27b186847ccd0fbf06", + "lastModified": 1774796937, + "narHash": "sha256-uDcgnNHK1D2oTHOQKsqQUPdDGMuG94dp3Nv8LsnqkEM=", + "rev": "04e10e10c7b4bbf2930f24d139326707a43cbb54", "type": "tarball", - "url": "https://git.clan.lol/api/v1/repos/clan/data-mesher/archive/83fe63ab625d6213e91dcd27b186847ccd0fbf06.tar.gz" + "url": "https://git.clan.lol/api/v1/repos/clan/data-mesher/archive/04e10e10c7b4bbf2930f24d139326707a43cbb54.tar.gz" }, "original": { "type": "tarball", @@ -106,11 +106,11 @@ "treefmt-nix": "treefmt-nix_3" }, "locked": { - "lastModified": 1773155153, - "narHash": "sha256-Ufnl7F9RLoFkWpcNY72jUH+K3p9FUfnlyJXeABFholw=", + "lastModified": 1774854806, + "narHash": "sha256-+rzf2iLaPj/HrI9xFDtJBtaFD0GKjOruK1HzGkBrmj8=", "owner": "Mic92", "repo": "direnv-instant", - "rev": "fc2eb8e6ac541d24266ad0016fdbd306c8420660", + "rev": "c9514d66d1982c5c4d3abd847a709de88a3e50cd", "type": "github" }, "original": { @@ -127,11 +127,11 @@ ] }, "locked": { - "lastModified": 1773025010, - "narHash": "sha256-khlHllTsovXgT2GZ0WxT4+RvuMjNeR5OW0UYeEHPYQo=", + "lastModified": 1773889306, + "narHash": "sha256-PAqwnsBSI9SVC2QugvQ3xeYCB0otOwCacB1ueQj2tgw=", "owner": "nix-community", "repo": "disko", - "rev": "7b9f7f88ab3b339f8142dc246445abb3c370d3d3", + "rev": "5ad85c82cc52264f4beddc934ba57f3789f28347", "type": "github" }, "original": { @@ -147,11 +147,11 @@ ] }, "locked": { - "lastModified": 1773025010, - "narHash": "sha256-khlHllTsovXgT2GZ0WxT4+RvuMjNeR5OW0UYeEHPYQo=", + "lastModified": 1773889306, + "narHash": "sha256-PAqwnsBSI9SVC2QugvQ3xeYCB0otOwCacB1ueQj2tgw=", "owner": "nix-community", "repo": "disko", - "rev": "7b9f7f88ab3b339f8142dc246445abb3c370d3d3", + "rev": "5ad85c82cc52264f4beddc934ba57f3789f28347", "type": "github" }, "original": { @@ -251,11 +251,11 @@ ] }, "locked": { - "lastModified": 1771131391, - "narHash": "sha256-HPBNYf7HiKtBVy7/69vKpLYHX6wTcUxndxmybzDlXP8=", + "lastModified": 1773550609, + "narHash": "sha256-neu7ixXHjV3LobVjOndkL97u+6UF6Yoh+CUnzX7kUBQ=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "0b152e0f7c5cc265a529cd63374b80e2771b207b", + "rev": "554f6ed448ca74c00aa2371cde901ae1e73005b9", "type": "github" }, "original": { @@ -271,11 +271,11 @@ ] }, "locked": { - "lastModified": 1773332277, - "narHash": "sha256-1V+wRrZD9Sw12AQBUWk9CR+XhDZQ8q6yBE0S3Wjbd1M=", + "lastModified": 1774875815, + "narHash": "sha256-PzqwM4njoB3aznqwPZUawD4uOcJeu7N6GBTJKg81EQ4=", "owner": "nix-community", "repo": "home-manager", - "rev": "4aeef1941f862fe3a70d1b8264b4e289358c2325", + "rev": "9340f51314713c83360bf72d75c8b404778ab5b1", "type": "github" }, "original": { @@ -380,11 +380,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1772972630, - "narHash": "sha256-mUJxsNOrBMNOUJzN0pfdVJ1r2pxeqm9gI/yIKXzVVbk=", + "lastModified": 1774777275, + "narHash": "sha256-qogBiYFq8hZusDPeeKRqzelBAhZvREc7Cl+qlewGUCg=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "3966ce987e1a9a164205ac8259a5fe8a64528f72", + "rev": "b8f81636927f1af0cca812d22c876bad0a883ccd", "type": "github" }, "original": { @@ -396,11 +396,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1773122722, - "narHash": "sha256-FIqHByVqxCprNjor1NqF80F2QQoiiyqanNNefdlvOg4=", + "lastModified": 1774709303, + "narHash": "sha256-D3Q07BbIA2KnTcSXIqqu9P586uWxN74zNoCH3h2ESHg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "62dc67aa6a52b4364dd75994ec00b51fbf474e50", + "rev": "8110df5ad7abf5d4c0f6fb0f8f978390e77f9685", "type": "github" }, "original": { @@ -478,11 +478,11 @@ ] }, "locked": { - "lastModified": 1773096132, - "narHash": "sha256-M3zEnq9OElB7zqc+mjgPlByPm1O5t2fbUrH3t/Hm5Ag=", + "lastModified": 1774760784, + "narHash": "sha256-D+tgywBHldTc0klWCIC49+6Zlp57Y4GGwxP1CqfxZrY=", "owner": "Mic92", "repo": "sops-nix", - "rev": "d1ff3b1034d5bab5d7d8086a7803c5a5968cd784", + "rev": "8adb84861fe70e131d44e1e33c426a51e2e0bfa5", "type": "github" }, "original": { @@ -498,11 +498,11 @@ ] }, "locked": { - "lastModified": 1773021923, - "narHash": "sha256-ro+i3wNoD2p5FloGGlkCzdmzgBDeq2LJwaIpaI9Dk7Q=", + "lastModified": 1774517972, + "narHash": "sha256-oPIVzGlMmfWuJlRbr87yU3cnV8NxtwTG92GqpQczlkw=", "owner": "nix-community", "repo": "srvos", - "rev": "7f92c2bcbeb42ce87770a7565f0e6f92c8134354", + "rev": "0ddba2fbd72bb60f8b35b7de1ad67590f454d402", "type": "github" }, "original": { @@ -552,11 +552,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1772491825, - "narHash": "sha256-XD65bXPDbl1BVryeapZAbzi+GNKj3nUTRYhe64MdaEY=", + "lastModified": 1773700838, + "narHash": "sha256-6KFxpxyXjcqhOexc7ZeaXVWdDtGb6zO8HtjBEci9DfU=", "owner": "terranix", "repo": "terranix", - "rev": "39fce702d8f2e4b076ba8e83ef93bd29db560dd5", + "rev": "306ce146bf0324dc3b3c45c095036b6f0e26bf35", "type": "github" }, "original": { @@ -573,11 +573,11 @@ ] }, "locked": { - "lastModified": 1772660329, - "narHash": "sha256-IjU1FxYqm+VDe5qIOxoW+pISBlGvVApRjiw/Y/ttJzY=", + "lastModified": 1773297127, + "narHash": "sha256-6E/yhXP7Oy/NbXtf1ktzmU8SdVqJQ09HC/48ebEGBpk=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "3710e0e1218041bbad640352a0440114b1e10428", + "rev": "71b125cd05fbfd78cab3e070b73544abe24c5016", "type": "github" }, "original": { @@ -615,11 +615,11 @@ ] }, "locked": { - "lastModified": 1772660329, - "narHash": "sha256-IjU1FxYqm+VDe5qIOxoW+pISBlGvVApRjiw/Y/ttJzY=", + "lastModified": 1773297127, + "narHash": "sha256-6E/yhXP7Oy/NbXtf1ktzmU8SdVqJQ09HC/48ebEGBpk=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "3710e0e1218041bbad640352a0440114b1e10428", + "rev": "71b125cd05fbfd78cab3e070b73544abe24c5016", "type": "github" }, "original": { From a63b3080c968fa78854da7d011992b9a080423be Mon Sep 17 00:00:00 2001 From: Romain Paquet Date: Mon, 30 Mar 2026 20:49:06 +0200 Subject: [PATCH 13/19] garage: use yggdrasil interface --- nixosModules/garage.nix | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/nixosModules/garage.nix b/nixosModules/garage.nix index 3740110..ae40e67 100644 --- a/nixosModules/garage.nix +++ b/nixosModules/garage.nix @@ -6,9 +6,6 @@ ... }: let - zerotier_interface = "zts7mq7onf"; - zerotier_ip = - self.nixosConfigurations.${config.networking.hostName}.config.clan.core.vars.generators.zerotier.files.zerotier-ip.value; s3_port = 3900; rpc_port = 3901; web_port = 3902; @@ -45,16 +42,9 @@ in }; }; - networking.firewall.interfaces = - let - allowedTCPPorts = [ - s3_port - rpc_port - admin_port - ]; - in - { - ${zerotier_interface} = { inherit allowedTCPPorts; }; - wireguard = { inherit allowedTCPPorts; }; - }; + networking.firewall.interfaces.ygg.allowedTCPPorts = [ + s3_port + rpc_port + admin_port + ]; } From 8fe5050d7e3a91e455e1915d34ae00f65c46b345 Mon Sep 17 00:00:00 2001 From: Romain Paquet Date: Mon, 30 Mar 2026 20:49:06 +0200 Subject: [PATCH 14/19] radicle: update renamed option --- nixosModules/radicle.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixosModules/radicle.nix b/nixosModules/radicle.nix index ea2f2db..591ea48 100644 --- a/nixosModules/radicle.nix +++ b/nixosModules/radicle.nix @@ -6,7 +6,7 @@ { services.radicle = { enable = true; - privateKeyFile = config.clan.core.vars.generators.radicle.files."id_ed25519".path; + privateKey = config.clan.core.vars.generators.radicle.files."id_ed25519".path; publicKey = config.clan.core.vars.generators.radicle.files."id_ed25519.pub".value; node = { openFirewall = true; From fad3233a17a4e181f5f4c636d095c2eca2cc33ad Mon Sep 17 00:00:00 2001 From: Romain Paquet Date: Tue, 31 Mar 2026 20:18:51 +0200 Subject: [PATCH 15/19] machines/genepi/facter.json: update hardware configuration --- machines/genepi/facter.json | 1961 +++++++++++++++++++++++++++++++++++ 1 file changed, 1961 insertions(+) create mode 100644 machines/genepi/facter.json diff --git a/machines/genepi/facter.json b/machines/genepi/facter.json new file mode 100644 index 0000000..8f04cd5 --- /dev/null +++ b/machines/genepi/facter.json @@ -0,0 +1,1961 @@ +{ + "version": 1, + "system": "aarch64-linux", + "virtualisation": "none", + "hardware": { + "bridge": [ + { + "index": 8, + "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": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "14e4", + "name": "Broadcom", + "value": 5348 + }, + "device": { + "hex": "2711", + "value": 10001 + }, + "revision": { + "hex": "0020", + "value": 32 + }, + "model": "Broadcom PCI bridge", + "sysfs_id": "/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0", + "sysfs_bus_id": "0000:00:00.0", + "resources": [ + { + "type": "irq", + "base": 26, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 0, + "command": 6, + "header_type": 1, + "secondary_bus": 1, + "irq": 26, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": [ + "pcieport" + ], + "module_alias": "pci:v000014E4d00002711sv00000000sd00000000bc06sc04i00" + } + ], + "cpu": [ + { + "architecture": "aarch64", + "vendor_name": "ARM Limited", + "family": 0, + "model": 3, + "stepping": 0, + "features": [ + "fp", + "asimd", + "evtstrm", + "crc32", + "cpuid" + ], + "bogo": 108, + "physical_id": 0, + "fpu": false, + "fpu_exception": false, + "write_protect": false, + "address_sizes": {} + } + ], + "disk": [ + { + "index": 16, + "attached_to": 0, + "class_list": [ + "disk", + "block_device" + ], + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "model": "Disk", + "sysfs_id": "/class/block/ram2", + "unix_device_name": "/dev/ram2", + "unix_device_number": { + "type": 98, + "major": 1, + "minor": 2, + "range": 1 + }, + "unix_device_names": [ + "/dev/ram2" + ], + "resources": [ + { + "type": "size", + "unit": "sectors", + "value_1": 8192, + "value_2": 512 + } + ] + }, + { + "index": 17, + "attached_to": 0, + "class_list": [ + "disk", + "block_device" + ], + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "model": "Disk", + "sysfs_id": "/class/block/ram0", + "unix_device_name": "/dev/ram0", + "unix_device_number": { + "type": 98, + "major": 1, + "minor": 0, + "range": 1 + }, + "unix_device_names": [ + "/dev/ram0" + ], + "resources": [ + { + "type": "size", + "unit": "sectors", + "value_1": 8192, + "value_2": 512 + } + ] + }, + { + "index": 18, + "attached_to": 0, + "class_list": [ + "disk", + "block_device" + ], + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "model": "Disk", + "sysfs_id": "/class/block/ram9", + "unix_device_name": "/dev/ram9", + "unix_device_number": { + "type": 98, + "major": 1, + "minor": 9, + "range": 1 + }, + "unix_device_names": [ + "/dev/ram9" + ], + "resources": [ + { + "type": "size", + "unit": "sectors", + "value_1": 8192, + "value_2": 512 + } + ] + }, + { + "index": 19, + "attached_to": 12, + "class_list": [ + "disk", + "block_device" + ], + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "serial": "0xf8b106a0", + "model": "Disk", + "sysfs_id": "/class/block/mmcblk0", + "sysfs_bus_id": "mmc0:0001", + "sysfs_device_link": "/devices/platform/emmc2bus/fe340000.mmc/mmc_host/mmc0/mmc0:0001", + "unix_device_name": "/dev/mmcblk0", + "unix_device_number": { + "type": 98, + "major": 179, + "minor": 0, + "range": 32 + }, + "unix_device_names": [ + "/dev/disk/by-diskseq/25", + "/dev/disk/by-id/mmc-00000_0xf8b106a0", + "/dev/disk/by-path/platform-fe340000.mmc", + "/dev/mmcblk0" + ], + "resources": [ + { + "type": "disk_geo", + "cylinders": 1953792, + "heads": 4, + "sectors": 16, + "size": 0, + "geo_type": "logical" + }, + { + "type": "size", + "unit": "sectors", + "value_1": 125042688, + "value_2": 512 + } + ], + "driver": "sdhci-iproc", + "drivers": [ + "mmcblk", + "sdhci-iproc" + ] + }, + { + "index": 20, + "attached_to": 0, + "class_list": [ + "disk", + "block_device" + ], + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "model": "Disk", + "sysfs_id": "/class/block/ram14", + "unix_device_name": "/dev/ram14", + "unix_device_number": { + "type": 98, + "major": 1, + "minor": 14, + "range": 1 + }, + "unix_device_names": [ + "/dev/ram14" + ], + "resources": [ + { + "type": "size", + "unit": "sectors", + "value_1": 8192, + "value_2": 512 + } + ] + }, + { + "index": 21, + "attached_to": 0, + "class_list": [ + "disk", + "block_device" + ], + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "model": "Disk", + "sysfs_id": "/class/block/ram7", + "unix_device_name": "/dev/ram7", + "unix_device_number": { + "type": 98, + "major": 1, + "minor": 7, + "range": 1 + }, + "unix_device_names": [ + "/dev/ram7" + ], + "resources": [ + { + "type": "size", + "unit": "sectors", + "value_1": 8192, + "value_2": 512 + } + ] + }, + { + "index": 22, + "attached_to": 0, + "class_list": [ + "disk", + "block_device" + ], + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "model": "Disk", + "sysfs_id": "/class/block/ram12", + "unix_device_name": "/dev/ram12", + "unix_device_number": { + "type": 98, + "major": 1, + "minor": 12, + "range": 1 + }, + "unix_device_names": [ + "/dev/ram12" + ], + "resources": [ + { + "type": "size", + "unit": "sectors", + "value_1": 8192, + "value_2": 512 + } + ] + }, + { + "index": 23, + "attached_to": 0, + "class_list": [ + "disk", + "block_device" + ], + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "model": "Disk", + "sysfs_id": "/class/block/ram5", + "unix_device_name": "/dev/ram5", + "unix_device_number": { + "type": 98, + "major": 1, + "minor": 5, + "range": 1 + }, + "unix_device_names": [ + "/dev/ram5" + ], + "resources": [ + { + "type": "size", + "unit": "sectors", + "value_1": 8192, + "value_2": 512 + } + ] + }, + { + "index": 24, + "attached_to": 0, + "class_list": [ + "disk", + "block_device" + ], + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "model": "Disk", + "sysfs_id": "/class/block/ram10", + "unix_device_name": "/dev/ram10", + "unix_device_number": { + "type": 98, + "major": 1, + "minor": 10, + "range": 1 + }, + "unix_device_names": [ + "/dev/ram10" + ], + "resources": [ + { + "type": "size", + "unit": "sectors", + "value_1": 8192, + "value_2": 512 + } + ] + }, + { + "index": 25, + "attached_to": 0, + "class_list": [ + "disk", + "block_device" + ], + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "model": "Disk", + "sysfs_id": "/class/block/ram3", + "unix_device_name": "/dev/ram3", + "unix_device_number": { + "type": 98, + "major": 1, + "minor": 3, + "range": 1 + }, + "unix_device_names": [ + "/dev/ram3" + ], + "resources": [ + { + "type": "size", + "unit": "sectors", + "value_1": 8192, + "value_2": 512 + } + ] + }, + { + "index": 26, + "attached_to": 0, + "class_list": [ + "disk", + "block_device" + ], + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "model": "Disk", + "sysfs_id": "/class/block/ram1", + "unix_device_name": "/dev/ram1", + "unix_device_number": { + "type": 98, + "major": 1, + "minor": 1, + "range": 1 + }, + "unix_device_names": [ + "/dev/ram1" + ], + "resources": [ + { + "type": "size", + "unit": "sectors", + "value_1": 8192, + "value_2": 512 + } + ] + }, + { + "index": 27, + "attached_to": 0, + "class_list": [ + "disk", + "block_device" + ], + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "model": "Disk", + "sysfs_id": "/class/block/ram15", + "unix_device_name": "/dev/ram15", + "unix_device_number": { + "type": 98, + "major": 1, + "minor": 15, + "range": 1 + }, + "unix_device_names": [ + "/dev/ram15" + ], + "resources": [ + { + "type": "size", + "unit": "sectors", + "value_1": 8192, + "value_2": 512 + } + ] + }, + { + "index": 28, + "attached_to": 0, + "class_list": [ + "disk", + "block_device" + ], + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "model": "Disk", + "sysfs_id": "/class/block/ram8", + "unix_device_name": "/dev/ram8", + "unix_device_number": { + "type": 98, + "major": 1, + "minor": 8, + "range": 1 + }, + "unix_device_names": [ + "/dev/ram8" + ], + "resources": [ + { + "type": "size", + "unit": "sectors", + "value_1": 8192, + "value_2": 512 + } + ] + }, + { + "index": 29, + "attached_to": 0, + "class_list": [ + "disk", + "block_device" + ], + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "model": "Disk", + "sysfs_id": "/class/block/ram13", + "unix_device_name": "/dev/ram13", + "unix_device_number": { + "type": 98, + "major": 1, + "minor": 13, + "range": 1 + }, + "unix_device_names": [ + "/dev/ram13" + ], + "resources": [ + { + "type": "size", + "unit": "sectors", + "value_1": 8192, + "value_2": 512 + } + ] + }, + { + "index": 30, + "attached_to": 0, + "class_list": [ + "disk", + "block_device" + ], + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "model": "Disk", + "sysfs_id": "/class/block/ram6", + "unix_device_name": "/dev/ram6", + "unix_device_number": { + "type": 98, + "major": 1, + "minor": 6, + "range": 1 + }, + "unix_device_names": [ + "/dev/ram6" + ], + "resources": [ + { + "type": "size", + "unit": "sectors", + "value_1": 8192, + "value_2": 512 + } + ] + }, + { + "index": 31, + "attached_to": 0, + "class_list": [ + "disk", + "block_device" + ], + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "model": "Disk", + "sysfs_id": "/class/block/ram11", + "unix_device_name": "/dev/ram11", + "unix_device_number": { + "type": 98, + "major": 1, + "minor": 11, + "range": 1 + }, + "unix_device_names": [ + "/dev/ram11" + ], + "resources": [ + { + "type": "size", + "unit": "sectors", + "value_1": 8192, + "value_2": 512 + } + ] + }, + { + "index": 32, + "attached_to": 0, + "class_list": [ + "disk", + "block_device" + ], + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "model": "Disk", + "sysfs_id": "/class/block/ram4", + "unix_device_name": "/dev/ram4", + "unix_device_number": { + "type": 98, + "major": 1, + "minor": 4, + "range": 1 + }, + "unix_device_names": [ + "/dev/ram4" + ], + "resources": [ + { + "type": "size", + "unit": "sectors", + "value_1": 8192, + "value_2": 512 + } + ] + } + ], + "hub": [ + { + "index": 35, + "attached_to": 7, + "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.6.51 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0002", + "name": "xHCI Host Controller", + "value": 2 + }, + "revision": { + "hex": "0000", + "name": "6.06", + "value": 0 + }, + "serial": "0000:01:00.0", + "model": "Linux 6.6.51 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-0:1.0", + "sysfs_bus_id": "1-0:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "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": 1, + "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", + "drivers": [ + "hub" + ], + "module_alias": "usb:v1D6Bp0002d0606dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 37, + "attached_to": 35, + "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": "2109", + "value": 8457 + }, + "device": { + "hex": "3431", + "name": "USB2.0 Hub", + "value": 13361 + }, + "revision": { + "hex": "0000", + "name": "4.21", + "value": 0 + }, + "model": "USB2.0 Hub", + "sysfs_id": "/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1:1.0", + "sysfs_bus_id": "1-1:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "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": 1, + "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", + "drivers": [ + "hub" + ], + "module_alias": "usb:v2109p3431d0421dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 38, + "attached_to": 7, + "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.6.51 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0003", + "name": "xHCI Host Controller", + "value": 3 + }, + "revision": { + "hex": "0000", + "name": "6.06", + "value": 0 + }, + "serial": "0000:01:00.0", + "model": "Linux 6.6.51 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb2/2-0:1.0", + "sysfs_bus_id": "2-0:1.0", + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 3, + "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", + "drivers": [ + "hub" + ], + "module_alias": "usb:v1D6Bp0003d0606dc09dsc00dp03ic09isc00ip00in00" + } + ], + "keyboard": [ + { + "index": 36, + "attached_to": 37, + "class_list": [ + "keyboard", + "usb" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0108", + "name": "Keyboard", + "value": 264 + }, + "sub_class": { + "hex": "0000", + "name": "Keyboard", + "value": 0 + }, + "vendor": { + "hex": "062a", + "name": "MOSART Semi.", + "value": 1578 + }, + "device": { + "hex": "4101", + "name": "2.4G Keyboard Mouse", + "value": 16641 + }, + "revision": { + "hex": "0000", + "name": "1.08", + "value": 0 + }, + "model": "MOSART Semi 2.4G Keyboard Mouse", + "sysfs_id": "/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0", + "sysfs_bus_id": "1-1.3:1.0", + "unix_device_name": "/dev/input/event0", + "unix_device_number": { + "type": 99, + "major": 13, + "minor": 64, + "range": 1 + }, + "unix_device_names": [ + "/dev/input/by-id/usb-MOSART_Semi._2.4G_Keyboard_Mouse-event-kbd", + "/dev/input/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.3:1.0-event-kbd", + "/dev/input/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usbv2-0:1.3:1.0-event-kbd", + "/dev/input/event0" + ], + "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": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_info": { + "type": "keyboard", + "xkb_rules": "xfree86" + }, + "module_alias": "usb:v062Ap4101d0108dc00dsc00dp00ic03isc01ip01in00" + } + ], + "memory": [ + { + "index": 6, + "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": 3961319424, + "enabled": true, + "access": "read_write", + "prefetch": "unknown" + }, + { + "type": "phys_mem", + "range": 4026531840 + } + ] + } + ], + "mmc_controller": [ + { + "index": 11, + "attached_to": 0, + "class_list": [ + "mmc_controller" + ], + "bus_type": { + "hex": "0093", + "name": "MMC", + "value": 147 + }, + "slot": { + "bus": 0, + "number": 1 + }, + "base_class": { + "hex": "0117", + "name": "MMC Controller", + "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" + }, + { + "index": 12, + "attached_to": 0, + "class_list": [ + "mmc_controller" + ], + "bus_type": { + "hex": "0093", + "name": "MMC", + "value": 147 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0117", + "name": "MMC Controller", + "value": 279 + }, + "vendor": "", + "device": "SD Controller 0", + "model": "SD Controller 0", + "sysfs_id": "/devices/platform/emmc2bus/fe340000.mmc/mmc_host/mmc0/mmc0:0001", + "sysfs_bus_id": "mmc0:0001", + "driver": "mmcblk", + "drivers": [ + "mmcblk" + ] + } + ], + "mouse": [ + { + "index": 33, + "attached_to": 37, + "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": "062a", + "name": "MOSART Semi.", + "value": 1578 + }, + "device": { + "hex": "4101", + "name": "2.4G Keyboard Mouse", + "value": 16641 + }, + "revision": { + "hex": "0000", + "name": "1.08", + "value": 0 + }, + "compat_vendor": "Unknown", + "compat_device": "Generic USB Mouse", + "model": "MOSART Semi 2.4G Keyboard Mouse", + "sysfs_id": "/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.1", + "sysfs_bus_id": "1-1.3:1.1", + "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": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 2, + "interface_number": 1, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_info": { + "type": "mouse", + "db_entry_0": [ + "explorerps/2", + "exps2" + ], + "xf86": "explorerps/2", + "gpm": "exps2", + "buttons": -1, + "wheels": -1 + }, + "module_alias": "usb:v062Ap4101d0108dc00dsc00dp00ic03isc01ip02in01" + } + ], + "network_controller": [ + { + "index": 9, + "attached_to": 0, + "class_list": [ + "network_controller", + "wlan_card" + ], + "base_class": { + "hex": "0002", + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "hex": "0082", + "name": "WLAN controller", + "value": 130 + }, + "device": { + "hex": "0000", + "name": "ARM Ethernet controller", + "value": 0 + }, + "model": "ARM Ethernet controller", + "sysfs_id": "/devices/platform/soc/fe300000.mmcnr/mmc_host/mmc1/mmc1:0001/mmc1:0001:1", + "sysfs_bus_id": "mmc1:0001:1", + "unix_device_name": "wlan0", + "unix_device_names": [ + "wlan0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 100 + }, + { + "type": "phwaddr", + "address": 100 + }, + { + "type": "wlan", + "channels": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "36", + "40", + "44", + "48", + "52", + "56", + "60", + "64", + "100", + "104", + "108", + "112", + "116", + "120", + "124", + "128", + "132", + "136", + "140", + "144", + "149" + ], + "frequencies": [ + "2.412", + "2.417", + "2.422", + "2.427", + "2.432", + "2.437", + "2.442", + "2.447", + "2.452", + "2.457", + "2.462", + "5.18", + "5.2", + "5.22", + "5.24", + "5.26", + "5.28", + "5.3", + "5.32", + "5.5", + "5.52", + "5.54", + "5.56", + "5.58", + "5.6", + "5.62", + "5.64", + "5.66", + "5.68", + "5.7", + "5.72", + "5.745" + ], + "auth_modes": [ + "open", + "sharedkey", + "wpa-psk", + "wpa-eap" + ], + "enc_modes": [ + "WEP40", + "WEP104", + "TKIP", + "CCMP" + ] + } + ], + "driver": "brcmfmac", + "driver_module": "brcmfmac", + "drivers": [ + "brcmfmac" + ], + "driver_modules": [ + "brcmfmac", + "brcmfmac", + "brcmfmac" + ], + "module_alias": "of:NmmcnrT(null)Cbrcm,bcm2835-mmcCbrcm,bcm2835-sdhci" + }, + { + "index": 10, + "attached_to": 0, + "class_list": [ + "network_controller" + ], + "base_class": { + "hex": "0002", + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "hex": "0000", + "name": "Ethernet controller", + "value": 0 + }, + "device": { + "hex": "0000", + "name": "ARM Ethernet controller", + "value": 0 + }, + "model": "ARM Ethernet controller", + "sysfs_id": "/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb2/2-2/2-2:1.0", + "sysfs_bus_id": "2-2:1.0", + "unix_device_name": "enp1s0u2", + "unix_device_names": [ + "enp1s0u2" + ], + "resources": [ + { + "type": "hwaddr", + "address": 48 + }, + { + "type": "phwaddr", + "address": 48 + } + ], + "driver": "r8152", + "drivers": [ + "r8152" + ], + "module_alias": "of:NpcieTpciCbrcm,bcm2711-pcie" + }, + { + "index": 14, + "attached_to": 11, + "class_list": [ + "network_controller" + ], + "bus_type": { + "hex": "0094", + "name": "SDIO", + "value": 148 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0002", + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "hex": "0080", + "name": "Network controller", + "value": 128 + }, + "vendor": { + "hex": "02d0", + "name": "Broadcom Corp.", + "value": 720 + }, + "device": { + "hex": "a9a6", + "name": "BCM43430 WLAN card", + "value": 43430 + }, + "model": "Broadcom BCM43430 WLAN card", + "sysfs_id": "/devices/platform/soc/fe300000.mmcnr/mmc_host/mmc1/mmc1:0001/mmc1:0001:1", + "sysfs_bus_id": "mmc1:0001:1", + "driver": "brcmfmac", + "driver_module": "brcmfmac", + "drivers": [ + "brcmfmac" + ], + "driver_modules": [ + "brcmfmac", + "brcmfmac", + "brcmfmac" + ], + "module_alias": "sdio:c00v02D0dA9A6" + } + ], + "network_interface": [ + { + "index": 39, + "attached_to": 9, + "class_list": [ + "network_interface" + ], + "base_class": { + "hex": "0107", + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "hex": "000a", + "name": "WLAN", + "value": 10 + }, + "model": "WLAN network interface", + "sysfs_id": "/class/net/wlan0", + "sysfs_device_link": "/devices/platform/soc/fe300000.mmcnr/mmc_host/mmc1/mmc1:0001/mmc1:0001:1", + "unix_device_name": "wlan0", + "unix_device_names": [ + "wlan0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 100 + }, + { + "type": "phwaddr", + "address": 100 + } + ], + "driver": "brcmfmac", + "driver_module": "brcmfmac", + "drivers": [ + "brcmfmac" + ], + "driver_modules": [ + "brcmfmac", + "brcmfmac", + "brcmfmac" + ] + }, + { + "index": 40, + "attached_to": 10, + "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/enp1s0u2", + "sysfs_device_link": "/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb2/2-2/2-2:1.0", + "unix_device_name": "enp1s0u2", + "unix_device_names": [ + "enp1s0u2" + ], + "resources": [ + { + "type": "hwaddr", + "address": 48 + }, + { + "type": "phwaddr", + "address": 48 + } + ], + "driver": "r8152", + "drivers": [ + "r8152" + ] + }, + { + "index": 41, + "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" + ] + }, + { + "index": 42, + "attached_to": 0, + "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/end0", + "sysfs_device_link": "/devices/platform/scb/fd580000.ethernet", + "unix_device_name": "end0", + "unix_device_names": [ + "end0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 100 + }, + { + "type": "phwaddr", + "address": 100 + } + ], + "driver": "bcmgenet", + "drivers": [ + "bcmgenet" + ] + } + ], + "system": {}, + "unknown": [ + { + "index": 13, + "attached_to": 11, + "class_list": [ + "unknown" + ], + "bus_type": { + "hex": "0094", + "name": "SDIO", + "value": 148 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0000", + "name": "Unclassified device", + "value": 0 + }, + "sub_class": { + "hex": "0000", + "name": "Unclassified device", + "value": 0 + }, + "vendor": { + "hex": "02d0", + "name": "Broadcom Corp.", + "value": 720 + }, + "device": { + "hex": "a9a6", + "name": "BCM43430 WLAN card", + "value": 43430 + }, + "model": "Broadcom BCM43430 WLAN card", + "sysfs_id": "/devices/platform/soc/fe300000.mmcnr/mmc_host/mmc1/mmc1:0001/mmc1:0001:3", + "sysfs_bus_id": "mmc1:0001:3", + "module_alias": "sdio:c02v02D0dA9A6" + }, + { + "index": 15, + "attached_to": 11, + "class_list": [ + "unknown" + ], + "bus_type": { + "hex": "0094", + "name": "SDIO", + "value": 148 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0000", + "name": "Unclassified device", + "value": 0 + }, + "sub_class": { + "hex": "0000", + "name": "Unclassified device", + "value": 0 + }, + "vendor": { + "hex": "02d0", + "name": "Broadcom Corp.", + "value": 720 + }, + "device": { + "hex": "a9a6", + "name": "BCM43430 WLAN card", + "value": 43430 + }, + "model": "Broadcom BCM43430 WLAN card", + "sysfs_id": "/devices/platform/soc/fe300000.mmcnr/mmc_host/mmc1/mmc1:0001/mmc1:0001:2", + "sysfs_bus_id": "mmc1:0001:2", + "driver": "brcmfmac", + "driver_module": "brcmfmac", + "drivers": [ + "brcmfmac" + ], + "driver_modules": [ + "brcmfmac", + "brcmfmac", + "brcmfmac" + ], + "module_alias": "sdio:c00v02D0dA9A6" + } + ], + "usb": [ + { + "index": 34, + "attached_to": 38, + "class_list": [ + "usb", + "unknown" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0000", + "name": "Unclassified device", + "value": 0 + }, + "sub_class": { + "hex": "0000", + "name": "Unclassified device", + "value": 0 + }, + "vendor": { + "hex": "0bda", + "name": "Realtek", + "value": 3034 + }, + "device": { + "hex": "8153", + "name": "USB 10/100/1000 LAN", + "value": 33107 + }, + "revision": { + "hex": "0000", + "name": "31.fd", + "value": 0 + }, + "serial": "DF1300E04C242EB8", + "model": "Realtek USB 10/100/1000 LAN", + "sysfs_id": "/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb2/2-2/2-2:1.0", + "sysfs_bus_id": "2-2:1.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": "00ff", + "name": "vendor_spec", + "value": 255 + }, + "interface_subclass": { + "hex": "00ff", + "name": "vendor_spec", + "value": 255 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "r8152", + "drivers": [ + "r8152" + ], + "module_alias": "usb:v0BDAp8153d31FDdc00dsc00dp00icFFiscFFip00in00" + } + ], + "usb_controller": [ + { + "index": 7, + "attached_to": 8, + "class_list": [ + "usb_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 1, + "number": 0 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0030", + "value": 48 + }, + "vendor": { + "hex": "1106", + "value": 4358 + }, + "sub_vendor": { + "hex": "1106", + "value": 4358 + }, + "device": { + "hex": "3483", + "value": 13443 + }, + "sub_device": { + "hex": "3483", + "value": 13443 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "USB Controller", + "sysfs_id": "/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0", + "sysfs_bus_id": "0000:01:00.0", + "resources": [ + { + "type": "irq", + "base": 38, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 25769803776, + "range": 4096, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1350, + "header_type": 0, + "secondary_bus": 0, + "irq": 38, + "prog_if": 48 + }, + "driver": "xhci_hcd", + "driver_module": "xhci_pci", + "drivers": [ + "xhci_hcd" + ], + "driver_modules": [ + "xhci_pci" + ], + "module_alias": "pci:v00001106d00003483sv00001106sd00003483bc0Csc03i30" + } + ] + }, + "smbios": {} +} From 6f4719d5f5f66e954509dd2795fd69674538f2ea Mon Sep 17 00:00:00 2001 From: Romain Paquet Date: Tue, 31 Mar 2026 21:04:35 +0200 Subject: [PATCH 16/19] machines/genepi: set disk schema to ext4-single-disk --- machines/genepi/disko.nix | 73 +++++++++++++++++++++++---------------- 1 file changed, 44 insertions(+), 29 deletions(-) diff --git a/machines/genepi/disko.nix b/machines/genepi/disko.nix index 908efe6..9903508 100644 --- a/machines/genepi/disko.nix +++ b/machines/genepi/disko.nix @@ -1,33 +1,48 @@ +# --- +# schema = "ext4-single-disk" +# [placeholders] +# mainDisk = "/dev/disk/by-id/mmc-00000_0xf8b106a0" +# --- +# This file was automatically generated! +# CHANGING this configuration requires wiping and reinstalling the machine { - disko.devices.disk.main = { - name = "main-72b27bb5253045f38a07b6bc368ab85c"; - type = "disk"; - device = "/dev/disk/by-id/ata-WD_Green_M.2_2280_480GB_2251E6411147"; - content = { - type = "gpt"; - partitions = { - ESP = { - type = "EF00"; - size = "512M"; - priority = 1; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - }; - }; - root = { - end = "-4G"; - content = { - type = "filesystem"; - format = "ext4"; - mountpoint = "/"; - }; - }; - swap = { - size = "100%"; - content = { - type = "swap"; + boot.loader.grub = { + efiInstallAsRemovable = true; + efiSupport = true; + }; + + disko.devices = { + disk = { + main = { + name = "main-31b577a67ed04e7d807a267e6ecdee75"; + device = "/dev/disk/by-id/mmc-00000_0xf8b106a0"; + 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 = "/"; + }; + }; }; }; }; From 1ab18ad904426775757130da64238507183c6180 Mon Sep 17 00:00:00 2001 From: Romain Paquet Date: Sat, 4 Apr 2026 14:31:55 +0200 Subject: [PATCH 17/19] helix: remove djot grammar (added upstream) --- home/.config/helix/languages.toml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/home/.config/helix/languages.toml b/home/.config/helix/languages.toml index 81c2631..adacea9 100644 --- a/home/.config/helix/languages.toml +++ b/home/.config/helix/languages.toml @@ -32,15 +32,6 @@ name = "typescript" file-types = ["ts"] language-servers = ["deno-lsp"] -[[language]] -name = "djot" -scope = "source.djot" -file-types = ["dj"] - -[[grammar]] -name = "djot" -source = { git = "https://github.com/treeman/tree-sitter-djot", rev = "master" } - [[language]] name = "nix" formatter = { command = "nixfmt" } From 714bf33680a2ef91d5d6119ad9d9cb9f5b941a6b Mon Sep 17 00:00:00 2001 From: Romain Paquet Date: Sat, 4 Apr 2026 14:31:55 +0200 Subject: [PATCH 18/19] git: add "unstage" alias --- home/.config/git/common.gitconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.config/git/common.gitconfig b/home/.config/git/common.gitconfig index 2be5a41..7396a68 100644 --- a/home/.config/git/common.gitconfig +++ b/home/.config/git/common.gitconfig @@ -31,6 +31,7 @@ lg1 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(auto)%d%C(reset)' --all lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(auto)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' root = rev-parse --show-toplevel + unstage = restore --staged [column] ui = auto [branch] From d51fa8824a3f11bfbc13a287a442c16a7c65233f Mon Sep 17 00:00:00 2001 From: Romain Paquet Date: Sat, 4 Apr 2026 14:31:55 +0200 Subject: [PATCH 19/19] user: fix nix conditionnal --- nixosModules/user-rpqt.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixosModules/user-rpqt.nix b/nixosModules/user-rpqt.nix index b9d9aed..6536f3f 100644 --- a/nixosModules/user-rpqt.nix +++ b/nixosModules/user-rpqt.nix @@ -22,7 +22,7 @@ extraGroups = [ "wheel" ] - ++ lib.mkIf config.networking.networkmanager.enabled [ "networkmanager" ]; + ++ (if config.networking.networkmanager ? enabled then [ "networkmanager" ] else [ ]); }; programs.fish.enable = true;