From 801594dd2168c6d99b34de0bc26ec037aa91ebee Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Thu, 24 Sep 2026 10:56:18 +0200 Subject: ... --- .sops.yaml | 9 ++++- accounts/gkleen@skadhi/default.nix | 5 +++ accounts/gkleen@skadhi/niri.nix | 8 +--- accounts/gkleen@skadhi/shell/default.nix | 22 +++++------ accounts/gkleen@skadhi/shell/quickshell/Bar.qml | 10 ++--- .../shell/quickshell/Services/Brightness.qml | 2 +- hosts/skadhi/fs.nix | 1 + hosts/skadhi/hw.nix | 2 +- hosts/skadhi/networking/default.nix | 8 ++++ modules/nix-access-tokens/default.nix | 2 +- modules/nix-access-tokens/nix.conf | 20 ++++++---- modules/yggdrasil-wg/default.nix | 23 +++++++++++ modules/yggdrasil-wg/hosts/4/skadhi.priv | 18 +++++++++ modules/yggdrasil-wg/hosts/4/skadhi.pub | 1 + modules/yggdrasil-wg/hosts/6/skadhi.priv | 18 +++++++++ modules/yggdrasil-wg/hosts/6/skadhi.pub | 1 + system-profiles/tmpfs-root.nix | 46 +++++++++++----------- 17 files changed, 137 insertions(+), 59 deletions(-) create mode 100644 modules/yggdrasil-wg/hosts/4/skadhi.priv create mode 100644 modules/yggdrasil-wg/hosts/4/skadhi.pub create mode 100644 modules/yggdrasil-wg/hosts/6/skadhi.priv create mode 100644 modules/yggdrasil-wg/hosts/6/skadhi.pub diff --git a/.sops.yaml b/.sops.yaml index a65dca8e..2bae76c1 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -3,6 +3,7 @@ keys: - &machine_surtr age19a7j77w267z04zls7m28a8hj4a0g5af6ltye2d5wypg33c3l89csd4r9zq - &machine_vidhar age1qffdqvy9arld9zd5a5cylt0n98xhcns5shxhrhwjq5g4qa844ejselaa4l - &machine_sif age1fj65apkhfkrwyv5tx6zcs9nkjg8267fy733qph30sc7zfn7vapjqkd5kne + - &machine_skadhi age1u6xegt79rarmyz8qy4pl7jh9lh90vx8fg0frmh4u2mzam7zydq4s4agz4e creation_rules: - path_regex: ^hosts/surtr/email/ca @@ -34,4 +35,10 @@ creation_rules: - age: [ *admin_gkleen, *machine_sif ] - path_regex: ^modules/nix-access-tokens/ key_groups: - - age: [ *admin_gkleen, *machine_sif, *machine_surtr, *machine_vidhar ] + - age: [ *admin_gkleen, *machine_sif, *machine_skadhi, *machine_surtr, *machine_vidhar ] + - path_regex: ^hosts/skadhi/ + key_groups: + - age: [ *admin_gkleen, *machine_skadhi ] + - path_regex: skadhi\/?[^\/]*$ + key_groups: + - age: [ *admin_gkleen, *machine_skadhi ] diff --git a/accounts/gkleen@skadhi/default.nix b/accounts/gkleen@skadhi/default.nix index 553eabd5..18e23131 100644 --- a/accounts/gkleen@skadhi/default.nix +++ b/accounts/gkleen@skadhi/default.nix @@ -42,6 +42,11 @@ in { security.pam.services.quickshell = {}; + services.upower.enable = true; + environment.persistence."/persistent".directories = [ + "/var/lib/upower" + ]; + home-manager.users.${userName} = { sysConfig, config, ... }: { imports = [ flakeInputs.nix-index-database.homeModules.nix-index diff --git a/accounts/gkleen@skadhi/niri.nix b/accounts/gkleen@skadhi/niri.nix index b30c5701..0ae76e5c 100644 --- a/accounts/gkleen@skadhi/niri.nix +++ b/accounts/gkleen@skadhi/niri.nix @@ -540,10 +540,6 @@ in { (flag "variable-refresh-rate") ]) - (plain "debug" [ - (sleaf "render-drm-device" "/dev/dri/by-path/pci-0000:00:02.0-render") - ]) - (plain "animations" [ (sleaf "slowdown" 0.5) (plain "workspace-switch" [(flag "off")]) @@ -552,8 +548,8 @@ in { (plain "layout" [ (sleaf "gaps" 8) (plain "struts" [ - (sleaf "left" 26) - (sleaf "right" 26) + (sleaf "left" 2) + (sleaf "right" 2) (sleaf "top" 0) (sleaf "bottom" 0) ]) diff --git a/accounts/gkleen@skadhi/shell/default.nix b/accounts/gkleen@skadhi/shell/default.nix index 09eb6863..d38356d3 100644 --- a/accounts/gkleen@skadhi/shell/default.nix +++ b/accounts/gkleen@skadhi/shell/default.nix @@ -79,17 +79,17 @@ typeset sources=($srcs) mkdir -p $out - magick ''${sources[0]} -crop 10000x5625+0+79 +repage -define webp:target-size=10000000 $out/carinanebula3.webp - magick ''${sources[1]} -crop 6716x3778+329+80 +repage -define webp:target-size=10000000 $out/pillarsofcreation_composite.webp - magick ''${sources[2]} -crop 10000x5625+0+79 +repage -define webp:target-size=10000000 $out/weic2212a.webp - magick ''${sources[3]} -crop 7650x4302+1166+389 +repage -define webp:target-size=10000000 $out/weic2415a.webp - magick ''${sources[4]} -crop 8732x4912+0+434 +repage -define webp:target-size=10000000 $out/weic2330a.webp - magick ''${sources[5]} -crop 5302x2982+636+0 +repage -define webp:target-size=10000000 $out/weic2426a.webp - magick ''${sources[6]} -crop 4328x2434+0+906 +repage -define webp:target-size=10000000 $out/weic2503a.webp - magick ''${sources[7]} -crop 4152x2335+0+666 +repage -define webp:target-size=10000000 $out/weic2506a.webp - magick ''${sources[8]} -crop 4320x2430+0+0 +repage -define webp:target-size=10000000 $out/weic2514a.webp - magick ''${sources[9]} -crop 5863x3298+0+477 +repage -define webp:target-size=10000000 $out/weic2425c.webp - magick ''${sources[10]} -crop 3990x2244+0+1379 +repage -define webp:target-size=10000000 $out/weic2605c.webp + magick ''${sources[0]} -crop 8702x5801+251+0 +repage -define webp:target-size=10000000 $out/carinanebula3.webp + magick ''${sources[1]} -crop 7131x4754+0+166 +repage -define webp:target-size=10000000 $out/pillarsofcreation_composite.webp + magick ''${sources[2]} -crop 8675x5783+497+0 +repage -define webp:target-size=10000000 $out/weic2212a.webp + magick ''${sources[3]} -crop 7657x5105+1158+618 +repage -define webp:target-size=10000000 $out/weic2415a.webp + magick ''${sources[4]} -crop 7582x5055+0+2253 +repage -define webp:target-size=10000000 $out/weic2330a.webp + magick ''${sources[5]} -crop 4473x2982+1018+0 +repage -define webp:target-size=10000000 $out/weic2426a.webp + magick ''${sources[6]} -crop 4073x2716+147+1709 +repage -define webp:target-size=10000000 $out/weic2503a.webp + magick ''${sources[7]} -crop 3626x2417+526+811 +repage -define webp:target-size=10000000 $out/weic2506a.webp + magick ''${sources[8]} -crop 4320x2880+0+965 +repage -define webp:target-size=10000000 $out/weic2514a.webp + magick ''${sources[9]} -crop 5863x3909+0+326 +repage -define webp:target-size=10000000 $out/weic2425c.webp + magick ''${sources[10]} -rotate 90 -crop 4536x3024+1+611 +repage -define webp:target-size=10000000 $out/weic2605c.webp runHook postBuild ''; diff --git a/accounts/gkleen@skadhi/shell/quickshell/Bar.qml b/accounts/gkleen@skadhi/shell/quickshell/Bar.qml index 33909884..fdaa8f56 100644 --- a/accounts/gkleen@skadhi/shell/quickshell/Bar.qml +++ b/accounts/gkleen@skadhi/shell/quickshell/Bar.qml @@ -25,8 +25,8 @@ PanelWindow { right: true } margins { - left: bar.haveMaximizedWindow ? 0 : 26 + 8 - right: bar.haveMaximizedWindow ? 0 : 26 + 8 + left: bar.haveMaximizedWindow ? 0 : 8 + 2 + right: bar.haveMaximizedWindow ? 0 : 8 + 2 } implicitHeight: 21 @@ -35,11 +35,7 @@ PanelWindow { property bool haveScreenshare: Array.from(NiriService.casts).some(cast => cast.target.Output?.name == bar.screen.name) Rectangle { - color: { - if (bar.haveScreenshare) - return bar.haveMaximizedWindow ? Qt.rgba(0.2, 0, 0, 1) : Qt.rgba(0.2, 0, 0, 0.75); - return bar.haveMaximizedWindow ? "black" : Qt.rgba(0, 0, 0, 0.75); - } + color: Qt.rgba(bar.haveScreenshare ? 0.2 : 0, 0, 0, bar.haveMaximizedWindow ? 1 : 0.75) anchors.fill: parent // bottomLeftRadius: 8 // bottomRightRadius: 8 diff --git a/accounts/gkleen@skadhi/shell/quickshell/Services/Brightness.qml b/accounts/gkleen@skadhi/shell/quickshell/Services/Brightness.qml index f3ae6804..76e8c08d 100644 --- a/accounts/gkleen@skadhi/shell/quickshell/Services/Brightness.qml +++ b/accounts/gkleen@skadhi/shell/quickshell/Services/Brightness.qml @@ -10,7 +10,7 @@ Singleton { id: root property string subsystem: "backlight" - property string device: "intel_backlight" + property string device: "amdgpu_bl1" property real currBrightness property real exponent: 4 diff --git a/hosts/skadhi/fs.nix b/hosts/skadhi/fs.nix index 64d49f7d..73191aa9 100644 --- a/hosts/skadhi/fs.nix +++ b/hosts/skadhi/fs.nix @@ -62,6 +62,7 @@ mkdir $out install -d ${lib.concatMapStringsSep " " (p: "$out/${p}") (dirs ++ subvols)} install -m 0700 -d ${lib.concatMapStringsSep " " (p: "$out/${p}") restricted} + ln -s /etc/zoneinfo/UTC /persistent/etc/localtime '')) ] ++ lib.concatMap (p: ["--subvol" p]) (subvols ++ restricted); subvolumes = { diff --git a/hosts/skadhi/hw.nix b/hosts/skadhi/hw.nix index ad353208..687f04d8 100644 --- a/hosts/skadhi/hw.nix +++ b/hosts/skadhi/hw.nix @@ -5,7 +5,7 @@ ]; config = { - hardware.framework.laptop13.audioEnhancement.enable = true; + hardware.framework.laptop13.audioEnhancement.enable = false; hardware.enableRedistributableFirmware = true; services.fstrim.enable = false; diff --git a/hosts/skadhi/networking/default.nix b/hosts/skadhi/networking/default.nix index ea5a62e2..4d6edd97 100644 --- a/hosts/skadhi/networking/default.nix +++ b/hosts/skadhi/networking/default.nix @@ -26,5 +26,13 @@ useDHCP = false; useNetworkd = true; }; + + environment.etc."NetworkManager/dnsmasq.d/yggdrasil.conf" = { + text = '' + server=/yggdrasil/2a03:4000:52:ada:1:1::@yggdrasil + server=/141.10.in-addr.arpa/2a03:4000:52:ada:1:1::@yggdrasil + server=/1.0.0.0.a.d.a.0.2.5.0.0.0.0.0.4.3.0.a.2.ip6.arpa/2a03:4000:52:ada:1:1::@yggdrasil + ''; + }; }; } diff --git a/modules/nix-access-tokens/default.nix b/modules/nix-access-tokens/default.nix index a3b7abfa..fbfb31fc 100644 --- a/modules/nix-access-tokens/default.nix +++ b/modules/nix-access-tokens/default.nix @@ -4,7 +4,7 @@ let cfg = config.nix.includeAccessTokens; in { options = { - nix.includeAccessTokens.enable = lib.mkEnableOption "including access tokens in nix.conf" // { default = lib.elem hostName ["sif" "surtr" "vidhar"]; }; + nix.includeAccessTokens.enable = lib.mkEnableOption "including access tokens in nix.conf" // { default = lib.elem hostName ["sif" "skadhi" "surtr" "vidhar"]; }; }; config = lib.mkIf cfg.enable { diff --git a/modules/nix-access-tokens/nix.conf b/modules/nix-access-tokens/nix.conf index 80d5641c..4d933eaa 100644 --- a/modules/nix-access-tokens/nix.conf +++ b/modules/nix-access-tokens/nix.conf @@ -3,20 +3,24 @@ "sops": { "age": [ { - "recipient": "age1rmmhetcmllq0ahl5qznlr0eya2zdxwl9h6y5wnl97d2wtyx5t99sm2u866", - "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5NkZUUGI3M2pQYWVXeFV6\na2h2czRTeUJFekJCS012YlBkL1FDdTd3ekZ3ClJsTVh0R2JQM0Jua1JjL285RVA1\nRHhlbjlLdmNBUXVLelFGY2NGYWpLejQKLS0tIDBUWUhJNm8zWGoyQ0pBYnV1ZjBh\ndktNRkNPS1lpWXFITC81aEZJbXlONk0Km2c1xVKwSankaVs7O/utGJwRRX395upz\ndPbsOElTnbGmkb0esGtvGSPboTvK+gjn9w/GhaPyTnNDoos7GaIfyg==\n-----END AGE ENCRYPTED FILE-----\n" + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiWDlPazhId0RvZHZKbU9C\nQmR4S293KytMOXI0MmYrc2xxcVBtY0NxL2xjClpJMmdUNE41SVIyeFA3czkwek0r\nckRwVGdWYkJkVWRtRVlxcDFkMmRDSGsKLS0tIGtyOHhMRUR5aVlBQzkrYkh4dVhE\nWHNCUnZCN0NhZ0trQmJaTUJDb3ROMlUKvH5z4Fj1P5zMcwD6UlLT531Ggrd4vEmo\ne2uOmolQ/jcStDd4IMniPEfjqcxfSEtkb7fpB1Rhby0mT6Gx68GtHw==\n-----END AGE ENCRYPTED FILE-----\n", + "recipient": "age1rmmhetcmllq0ahl5qznlr0eya2zdxwl9h6y5wnl97d2wtyx5t99sm2u866" }, { - "recipient": "age1fj65apkhfkrwyv5tx6zcs9nkjg8267fy733qph30sc7zfn7vapjqkd5kne", - "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6bS9iY2lua3U4U3lJa1pK\nSlZNMmFZMEU5M1V2bWRjaXIwajZJVDJPMlM4Cmd3TTNFWjVuSGdtbC9iODltTS91\nOE5XOEVEQkh0SFpVVW5jc3IzbzNpTmMKLS0tIEtrSU54QUVPa2tBZDhLYlRFWitR\nc2x6MFlxL0tobDJTek42dEcyZXpoWDgKXzQfU+o6FkbJBwmm6oaHu4sDPi822uUR\n5VY6gY/h3g2kM4cuS03Q4NJmeRxuh7cx0UqGU3j5Mf8muE1LHpYEPw==\n-----END AGE ENCRYPTED FILE-----\n" + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPNmowYmNTWVNwYk9UNzhI\neXllbWNCWEl4QXk1SUxLcjY5Vm5HdjBCdVRzClh2ZkY0bGUrNE9rUnhNTVdDT2tl\nTjFBYURMdGNWSjZZSDQzVXRBL2xRNXcKLS0tIEk0U05jSWQrUGoraVdxTU5QdEZ6\nQlprZlN5SjRTQzhycERsSVhiZDJmekUKUVzegV7zpd3woOeyDw+Ezpyd3D3xH0SV\nyt/UspleE/+sDRPuJTQKx6wA/k7e+hPJjGdjgMgzGnuCh+dfwNw2lw==\n-----END AGE ENCRYPTED FILE-----\n", + "recipient": "age1fj65apkhfkrwyv5tx6zcs9nkjg8267fy733qph30sc7zfn7vapjqkd5kne" }, { - "recipient": "age19a7j77w267z04zls7m28a8hj4a0g5af6ltye2d5wypg33c3l89csd4r9zq", - "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaOVpNZ2lVT0VwbHVZNzFl\nenJsMGpnbkRvU0xOSU5obk5yT2p5ZVNzdXhNCnVlQzZtRjZNVmJLSUpKc3UwVXZs\nWi9EZ3kxZkJNeFJDSjl1L1IweTFNMXcKLS0tIDJUOTBwTldCUmlnU0tWVkZkNzJL\nejM4ajJVbVhvSm1YM2Vxa2JldllYN0UKAzxy2wkzRvCSiTy417AulpCu41z668HG\nto92eGF2ZRFfEG5LGlCKWeDcP3gM8QwKiVlm6wndbOkhMMfc4Sp3wA==\n-----END AGE ENCRYPTED FILE-----\n" + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwZW51Q0RWdmtyZmdmNy9H\nMWJGSkxlbXRSc0U1eVhFSm1kZWlhaEl3UUVRCnNWWTVPWGJPaVJET1YrTXFHeGZk\na2ZYVWNQL1FwRStiSlE3ZDJmOVVHcFEKLS0tIEE1WHRsdEJPcWdiQ1lNenN2WDBE\nYW1FR0gyeENHWEpxWFB2a25RZjBOUW8KW2n77OFZXNZLH/HMWhUrwLZM4epFxheZ\nbeOSASmLVkmT4rJOOHoP1g9GxmC8UxSrM1q6uV80n69grExRfgYCig==\n-----END AGE ENCRYPTED FILE-----\n", + "recipient": "age1u6xegt79rarmyz8qy4pl7jh9lh90vx8fg0frmh4u2mzam7zydq4s4agz4e" }, { - "recipient": "age1qffdqvy9arld9zd5a5cylt0n98xhcns5shxhrhwjq5g4qa844ejselaa4l", - "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2ejRHcGttNUxYZnFzTU5J\nMTFvY3daQ1VMM2xxYTgvLzZwT1owazVNenhzCktaWFF6K2s5UjI2b20rSHFNSS9E\nMVlJSmZhQm15eUs3U0hGTGpSRndmSDgKLS0tIDVrcjl4eDhwak1pRithbnRWWEZy\nVE9EOEpKdEJoRTFrTXpQVDc1cmsrU1kK/goTdUmpZPeMRbY1QzLXAa6Qpg4YYYYo\n3v3GK1bzdey8szfgIr1dHTtQEzqE2WX1swzZizDXj/RiUWx01Ky3GA==\n-----END AGE ENCRYPTED FILE-----\n" + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBSUFhNWxNd3ZXMlkyU1pC\nUlNsdENaWU9WMGxJbHRqaHM0SEFVdnJ5ZHlrCkF5a0xBWXJpWGxDMEcveVhEVzJh\naFFOVmJtQkh1WlZxcUZVaWxJS1ZBUVEKLS0tIC90bTBUa09yNkhBVDRBa25STzZD\nSnNYa3JqWTBlcjZBMlhIOUdGOFVseEUKZ3El/3f+YWMZBl4Qhhz5qTB/V/zq+e/W\nCPJ7uOJ/2L6YNGx6jlh5EIE3BSHicAQktgi0ekGD4+PLSkGC7Egzlw==\n-----END AGE ENCRYPTED FILE-----\n", + "recipient": "age19a7j77w267z04zls7m28a8hj4a0g5af6ltye2d5wypg33c3l89csd4r9zq" + }, + { + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWUWM3c0R1cEV5LzBsb3pV\nM2NEU0ZFRWhoOE9IZlgyU0hsVUtZM2JCcm1NClBlVXFVVUNZUXJVbElGWm5BQkJy\nWHY2Sm1GUWl2L0NOSXZiNlFjNGFCT28KLS0tIDVCSGREN2tjQmhYbGRINVF4WTA0\nSWVzL3EyVzJZSzlCdjJ0cG1mYmZ0cHcKnMs0Sl76ZYPKeUwgiX5FT9uFEOK4F1H1\n/ieM9hQwhEZqHpslLWWdNYbGShwEhC4cs22SUNutBWrYfD/MsKv0qA==\n-----END AGE ENCRYPTED FILE-----\n", + "recipient": "age1qffdqvy9arld9zd5a5cylt0n98xhcns5shxhrhwjq5g4qa844ejselaa4l" } ], "lastmodified": "2026-01-07T09:18:20Z", diff --git a/modules/yggdrasil-wg/default.nix b/modules/yggdrasil-wg/default.nix index 8b190651..c17c8f08 100644 --- a/modules/yggdrasil-wg/default.nix +++ b/modules/yggdrasil-wg/default.nix @@ -48,33 +48,56 @@ let PersistentKeepalive = 25; family = "4"; } + { from = "skadhi"; + to = "surtr"; + endpointHost = "202.61.241.61"; + PersistentKeepalive = 25; + family = "4"; + } + { from = "skadhi"; + to = "surtr"; + endpointHost = "2a03:4000:52:ada::"; + PersistentKeepalive = 25; + family = "6"; + } + { from = "skadhi"; + to = "vidhar"; + endpointHost = "10.141.0.1"; + PersistentKeepalive = 25; + family = "4"; + } ]; wgHostIPs = mapAttrs (_family: wgSubnet: { surtr = "${wgSubnet}::/${toString wgHostLength}"; vidhar = "${wgSubnet}:1::/${toString wgHostLength}"; sif = "${wgSubnet}:2::/${toString wgHostLength}"; + skadhi = "${wgSubnet}:3::/${toString wgHostLength}"; }) wgSubnet; greHostMACPrefixes = { "4" = { surtr = "02:00:01:00:00"; vidhar = "02:00:01:00:01"; sif = "02:00:01:00:02"; + skadhi = "02:00:01:00:03"; }; "6" = { surtr = "02:00:02:00:00"; vidhar = "02:00:02:00:01"; sif = "02:00:02:00:02"; + skadhi = "02:00:02:00:03"; }; }; batHostMACs = { surtr = "02:00:00:00:00:00"; vidhar = "02:00:00:01:00:00"; sif = "02:00:00:02:00:00"; + skadhi = "02:00:00:03:00:00"; }; batHostIPs = { surtr = ["${batSubnet}::/${toString batHostLength}"]; vidhar = ["${batSubnet}:1::/${toString batHostLength}"]; sif = ["${batSubnet}:2::/${toString batHostLength}"]; + skadhi = ["${batSubnet}:3::/${toString batHostLength}"]; }; routers = [ "surtr" ]; diff --git a/modules/yggdrasil-wg/hosts/4/skadhi.priv b/modules/yggdrasil-wg/hosts/4/skadhi.priv new file mode 100644 index 00000000..dd66633f --- /dev/null +++ b/modules/yggdrasil-wg/hosts/4/skadhi.priv @@ -0,0 +1,18 @@ +{ + "data": "ENC[AES256_GCM,data:fXF8DV6vgpbJJWQvjIS3sFZ+yUEPtWwAZQrDLT8jueqDdn/IVaZGlq+DEnT0,iv:FU0ofu31RZlq2qMcMHlzYoRB61g+vwaG2JjPrKUgxYI=,tag:+dLvtiKmYdtk9NCXV8Yn9w==,type:str]", + "sops": { + "age": [ + { + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQR25od0g4MGhLY2d0Y1Fx\nS3RGVE1UbTFEc1Qzakx0VFdDbWNTdnU1MXowCkxNMXJycGlEVFEvV1dtQ3B3WXVX\nRm12ZmZTUTd6WGtvQkNJQzlsTVF1RHcKLS0tIE9tMzIzWFlWNHdINTkrSmcwYVNT\nVEVzSWFjMWJLSmRPRmZlQ1ZVMktLQ28KAUOrlZCuSZwF7QkOSz1dQ4Uj2f8gvjtM\n3c4sXQ3P77Rqluijsxo9KQx7Q0lRGBaRPMY4IrnHNPogd8iOHPeZuA==\n-----END AGE ENCRYPTED FILE-----\n", + "recipient": "age1rmmhetcmllq0ahl5qznlr0eya2zdxwl9h6y5wnl97d2wtyx5t99sm2u866" + }, + { + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArWmlPTWUrZ1QvYVBSckFL\nelZtcGdEMDBHeE5ROVdVdEJvWHpISzN3OVhjCkpSSTg2dDNqZjZYY0RyRlpuTi96\nS1l1dzJPV0NKbEJVdWpkTnZNZXJ0Qk0KLS0tIElBMmxJcmlxekVxRm1VdkgrSkNm\nZXhaMlhNdi9hVlNKaXU5MGVnK2NZWnMKjavFZczePCyYb2X4UsFNOaB5g+g1KZ52\npl+NTzRsUIXqPZnRDcCkGDjlQgLnZ+A22Enhbpj21ThiPV7bTyFh2g==\n-----END AGE ENCRYPTED FILE-----\n", + "recipient": "age1u6xegt79rarmyz8qy4pl7jh9lh90vx8fg0frmh4u2mzam7zydq4s4agz4e" + } + ], + "lastmodified": "2026-09-24T04:46:17Z", + "mac": "ENC[AES256_GCM,data:cubfKvUaDE6XNb9Y/1dbXpwayRXoZjiM9T3dN+YVeS6/5WX+hMC7We6mdge5VBnZ9CjA3XXNy+ZP1DEaPSg1OsBq1ubnFuVbaRKZlFl1B4I+6e4xpsZdQiyZT3SFZoM/LI1oM6kxD8e1n7KjFWNRx3yqAMaK3z1Ko1AlAmkmDx8=,iv:ME5EYC/MvuFxY7es250VcW0z2x1tCInCPrZnr4mBjrw=,tag:Jfd3uEVibe6Iw/3uNc+UTQ==,type:str]", + "version": "3.13.3" + } +} diff --git a/modules/yggdrasil-wg/hosts/4/skadhi.pub b/modules/yggdrasil-wg/hosts/4/skadhi.pub new file mode 100644 index 00000000..a722609e --- /dev/null +++ b/modules/yggdrasil-wg/hosts/4/skadhi.pub @@ -0,0 +1 @@ +x5c5441ah63QZRbj+IV711Xv3JZOQYQON8Zo7rzU6i4= diff --git a/modules/yggdrasil-wg/hosts/6/skadhi.priv b/modules/yggdrasil-wg/hosts/6/skadhi.priv new file mode 100644 index 00000000..848cd299 --- /dev/null +++ b/modules/yggdrasil-wg/hosts/6/skadhi.priv @@ -0,0 +1,18 @@ +{ + "data": "ENC[AES256_GCM,data:lOitSuIg4Xjr5xycgaXBWkA79zySQOy+ZPXUxRjbU3F3/YHbcyrKYatVygdf,iv:8QcEXehosL/zUYxbNE284GfQHjz6HzBIyscigtNiDw8=,tag:eRINZKIv4UwprovUq7016Q==,type:str]", + "sops": { + "age": [ + { + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLY2U0S2tUZHpXSjVoTk1m\nSWlXK0UyWm5SMGxBbUtHTFp1U3NadUliemlNCjArMHdJVk5BYzVSK0F5RGdMQU1E\nMEZuUkt3R29sdHZsRnFPaVhlUzVpaWcKLS0tIDFXOEpFOC94NlEzZnZqY2F6VERt\nc3lvZEt2b0tVU3pvMU5VR1dqYUtFbUEKcRVTIkz5bz47rAkihOTJLJPvA0mqabUM\nUr+zZjdrWTKqnWuEcJ93xsCKyo4kC1k/SkaXia65krhi9z4BVe5kgQ==\n-----END AGE ENCRYPTED FILE-----\n", + "recipient": "age1rmmhetcmllq0ahl5qznlr0eya2zdxwl9h6y5wnl97d2wtyx5t99sm2u866" + }, + { + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRWUxYNXNXODAzb2daTC9Y\nSmtHRHUwZmRoaXhpTmpDbXZSMkkwMjI0Q2pnCi92RFgrK2pSTFdIL29wT09lVGZM\nTWxXamlSOVpOdXoxcSttSDNkUDJ1K0UKLS0tIC9rVnNXZWxhd2J3NGd2NkdUOUVO\nbE9ha1RyS3dOczNXa3pjVkh3bm5RS1kK4APdzi4AKkI7z5S2zpFkipkldVzeYO0Q\nGck0KtHhM8ZRTqJ9Q7WID2JwbAV5og3924SAYFbQvYdSd2zGqkD+Aw==\n-----END AGE ENCRYPTED FILE-----\n", + "recipient": "age1u6xegt79rarmyz8qy4pl7jh9lh90vx8fg0frmh4u2mzam7zydq4s4agz4e" + } + ], + "lastmodified": "2026-09-24T04:46:30Z", + "mac": "ENC[AES256_GCM,data:5mgUxl7FQCgmCWL2SRtf7FOi5z64scb9Qt/rUwPMdenAuTG0ED3NVGOATTVoco7l0MBbs/D7OBKDMMvJ/Odgo0I9srRDyhXdrVbVKMphD1uXAwxPaK2iUeK3xz93Kzvr17UXzd7SwXTReokv/lIcFyDqUvlBXGWxZdYsc/rf4Us=,iv:50ByoxaHrl6qQbKoEEAgUIpYyhVhp47AYnagbH8n5kA=,tag:5KjE/A7EwiG/sSGpkkQBcg==,type:str]", + "version": "3.13.3" + } +} diff --git a/modules/yggdrasil-wg/hosts/6/skadhi.pub b/modules/yggdrasil-wg/hosts/6/skadhi.pub new file mode 100644 index 00000000..7a51045a --- /dev/null +++ b/modules/yggdrasil-wg/hosts/6/skadhi.pub @@ -0,0 +1 @@ +BtEGTPfLbtQJAAHfG/7jBissxcR/IfIRqeqhZG2dr0k= diff --git a/system-profiles/tmpfs-root.nix b/system-profiles/tmpfs-root.nix index 7840dadf..3b4eb9a7 100644 --- a/system-profiles/tmpfs-root.nix +++ b/system-profiles/tmpfs-root.nix @@ -1,25 +1,25 @@ { options, lib, ... }: { - config = lib.mkMerge - [ (lib.mkIf (options ? disko) { - disko.devices.nodev = { - "/" = { - fsType = "tmpfs"; - mountOptions = [ - "mode=0755" - ]; - }; - }; - }) - (lib.mkIf (!(options ? disko)) { - fileSystems."/" = { - fsType = "tmpfs"; - options = [ "mode=0755" ]; - }; - }) - { - security.sudo.extraConfig = '' - Defaults lecture = never - ''; - } - ]; + config = foldr recursiveUpdate {} ([ + { + security.sudo.extraConfig = '' + Defaults lecture = never + ''; + } + ] + ++ (lib.optional (options ? disko) { + disko.devices.nodev = { + "/" = { + fsType = "tmpfs"; + mountOptions = [ + "mode=0755" + ]; + }; + }; + }) + ++ (lib.optional (!(options ? disko)) { + fileSystems."/" = { + fsType = "tmpfs"; + options = [ "mode=0755" ]; + }; + })); } -- cgit v1.2.3