diff --git a/flake.lock b/flake.lock index 8f308cc..9d8ad16 100644 --- a/flake.lock +++ b/flake.lock @@ -190,24 +190,6 @@ "type": "github" } }, - "flake-utils_2": { - "inputs": { - "systems": "systems_5" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "flakeCompat": { "flake": false, "locked": { @@ -253,11 +235,11 @@ ] }, "locked": { - "lastModified": 1757578556, - "narHash": "sha256-w1PGkTGow5XzsjccV364No46rkuGxTqo7m/4cfhnkIk=", + "lastModified": 1758593331, + "narHash": "sha256-p+904PfmINyekyA/LieX3IYGsiFtExC00v5gSYfJtpM=", "owner": "nix-community", "repo": "home-manager", - "rev": "b7112b12ea5b8c3aa6af344498ed9ca27dd03ba3", + "rev": "9a2dc0efbc569ce9352a6ffb8e8ec8dbc098e142", "type": "github" }, "original": { @@ -271,11 +253,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1755680610, - "narHash": "sha256-g7/g5o0spemkZCzPa8I21RgCmN0Kv41B5z9Z5HQWraY=", + "lastModified": 1758531979, + "narHash": "sha256-iRv5afKzuu6SkwztqMwZ33161CzBJsyeRHp0uviN9TI=", "owner": "hyprwm", "repo": "contrib", - "rev": "04721247f417256ca96acf28cdfe946cf1006263", + "rev": "de79078fd59140067e53cd00ebdf17f96ce27846", "type": "github" }, "original": { @@ -329,11 +311,11 @@ ] }, "locked": { - "lastModified": 1756891319, - "narHash": "sha256-/e6OXxzbAj/o97Z1dZgHre4bNaVjapDGscAujSCQSbI=", + "lastModified": 1758192433, + "narHash": "sha256-CR6RnqEJSTiFgA6KQY4TTLUWbZ8RBnb+hxQqesuQNzQ=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "621e2e00f1736aa18c68f7dfbf2b9cff94b8cc4d", + "rev": "c44e749dd611521dee940d00f7c444ee0ae4cfb7", "type": "github" }, "original": { @@ -360,11 +342,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1757508065, - "narHash": "sha256-aZCTbfKkxsEinY5V7R0NYuuitKLYc8ig8T91+yDMGJ0=", + "lastModified": 1758542519, + "narHash": "sha256-NHEzK6MN8Tv9YrnJb2A9KxcOI2cCsKRqZOC5kUeG8Aw=", "ref": "refs/heads/main", - "rev": "46174f78b374b6cea669c48880877a8bdcf7802f", - "revCount": 6418, + "rev": "70a7047ee175d2e7fca1575d50a3738ac40fd2c6", + "revCount": 6446, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -480,11 +462,11 @@ ] }, "locked": { - "lastModified": 1753819801, - "narHash": "sha256-tHe6XeNeVeKapkNM3tcjW4RuD+tB2iwwoogWJOtsqTI=", + "lastModified": 1757694755, + "narHash": "sha256-j+w5QUUr2QT/jkxgVKecGYV8J7fpzXCMgzEEr6LG9ug=", "owner": "hyprwm", "repo": "hyprland-qtutils", - "rev": "b308a818b9dcaa7ab8ccab891c1b84ebde2152bc", + "rev": "5ffdfc13ed03df1dae5084468d935f0a3f2c9a4c", "type": "github" }, "original": { @@ -559,11 +541,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1750371999, - "narHash": "sha256-de87tFOEhJiXTHNzG3LcwxGR1a/D6v+nC+9+V1GW1Zs=", + "lastModified": 1757972732, + "narHash": "sha256-V2lQfZyVMzlyQNtY7VZbJhh+fg9KsNztJynXBs3OgUc=", "owner": "hyprwm", "repo": "hyprpicker", - "rev": "d6a1363a86cd99460f0020134e455d921e8bacd8", + "rev": "6f32582d2282fd97f18e54db0f45f53f18edde4f", "type": "github" }, "original": { @@ -582,11 +564,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1756066004, - "narHash": "sha256-L5AX14cRzCikpSkL4jgC7WKdVzZ9K4c3dWe445ogZ+o=", + "lastModified": 1757678186, + "narHash": "sha256-YuvkWCVZKiUoUC2tx/N5KkPXWmje2UbeENYkOc2C31Y=", "owner": "hyprwm", "repo": "hyprsunset", - "rev": "fa2f7dde11eba8a6835ecedbbd144c48017156af", + "rev": "72071709f58bc2fed8546288af295aa9153a287f", "type": "github" }, "original": { @@ -745,26 +727,6 @@ "type": "github" } }, - "iamb": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs_6", - "rust-overlay": "rust-overlay" - }, - "locked": { - "lastModified": 1756876216, - "narHash": "sha256-ZVRwUbMrGeH3XZrFt/YoCOxXR6TWwkXcqWwWAA+F+Rs=", - "owner": "ulyssa", - "repo": "iamb", - "rev": "7b1dc93f3a01f4e8b138922a27bb3ce60d7be1f9", - "type": "github" - }, - "original": { - "owner": "ulyssa", - "repo": "iamb", - "type": "github" - } - }, "ixx": { "inputs": { "flake-utils": [ @@ -797,11 +759,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1757103352, - "narHash": "sha256-PtT7ix43ss8PONJ1VJw3f6t2yAoGH+q462Sn8lrmWmk=", + "lastModified": 1757943327, + "narHash": "sha256-w6cDExPBqbq7fTLo4dZ1ozDGeq3yV6dSN4n/sAaS6OM=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "11b2a10c7be726321bb854403fdeec391e798bf0", + "rev": "67a709cfe5d0643dafd798b0b613ed579de8be05", "type": "github" }, "original": { @@ -843,43 +805,11 @@ }, "nixpkgs_10": { "locked": { - "lastModified": 1742800061, - "narHash": "sha256-oDJGK1UMArK52vcW9S5S2apeec4rbfNELgc50LqiPNs=", + "lastModified": 1758262103, + "narHash": "sha256-aBGl3XEOsjWw6W3AHiKibN7FeoG73dutQQEqnd/etR8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1750f3c1c89488e2ffdd47cab9d05454dddfb734", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_11": { - "locked": { - "lastModified": 1757487488, - "narHash": "sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/+G0lKfv4kk/5Izdg=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "ab0f3607a6c7486ea22229b92ed2d355f1482ee0", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_12": { - "locked": { - "lastModified": 1757034884, - "narHash": "sha256-PgLSZDBEWUHpfTRfFyklmiiLBE1i1aGCtz4eRA3POao=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "ca77296380960cd497a765102eeb1356eb80fed0", + "rev": "12bd230118a1901a4a5d393f9f56b6ad7e571d01", "type": "github" }, "original": { @@ -955,53 +885,21 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", - "owner": "nixos", + "lastModified": 1758427187, + "narHash": "sha256-pHpxZ/IyCwoTQPtFIAG2QaxuSm8jWzrzBGjwQZIttJc=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "rev": "554be6495561ff07b6c724047bdd7e0716aa7b46", "type": "github" }, "original": { - "owner": "nixos", + "owner": "NixOS", "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_7": { - "locked": { - "lastModified": 1744536153, - "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_8": { - "locked": { - "lastModified": 1757487488, - "narHash": "sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/+G0lKfv4kk/5Izdg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "ab0f3607a6c7486ea22229b92ed2d355f1482ee0", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_9": { "locked": { "lastModified": 1743315132, "narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=", @@ -1017,10 +915,42 @@ "type": "github" } }, + "nixpkgs_8": { + "locked": { + "lastModified": 1742800061, + "narHash": "sha256-oDJGK1UMArK52vcW9S5S2apeec4rbfNELgc50LqiPNs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1750f3c1c89488e2ffdd47cab9d05454dddfb734", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_9": { + "locked": { + "lastModified": 1758427187, + "narHash": "sha256-pHpxZ/IyCwoTQPtFIAG2QaxuSm8jWzrzBGjwQZIttJc=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "554be6495561ff07b6c724047bdd7e0716aa7b46", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixvim": { "inputs": { "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs_9", + "nixpkgs": "nixpkgs_7", "nixvim": "nixvim_2" }, "locked": { @@ -1040,7 +970,7 @@ "nixvim_2": { "inputs": { "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_10", + "nixpkgs": "nixpkgs_8", "nuschtosSearch": "nuschtosSearch" }, "locked": { @@ -1060,14 +990,14 @@ "nur": { "inputs": { "flake-parts": "flake-parts_3", - "nixpkgs": "nixpkgs_11" + "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1757591071, - "narHash": "sha256-u5Xr/Tx5mYIcrVz7zwx9YvOWQJEei0T8mRJsr3/aBoA=", + "lastModified": 1758640565, + "narHash": "sha256-ElrlkD9NTp27BR+K8RO6KYF/5gHURj6b9Vpan/bf8wk=", "owner": "nix-community", "repo": "NUR", - "rev": "a625a24a40e4a4c21fcb7bbaa5869b0766fc0eab", + "rev": "af2e804a55892665adfd0b30c75088b1ad1b462c", "type": "github" }, "original": { @@ -1078,7 +1008,7 @@ }, "nuschtosSearch": { "inputs": { - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils", "ixx": "ixx", "nixpkgs": [ "nixvim", @@ -1110,11 +1040,11 @@ ] }, "locked": { - "lastModified": 1757239681, - "narHash": "sha256-E9spYi9lxm2f1zWQLQ7xQt8Xs2nWgr1T4QM7ZjLFphM=", + "lastModified": 1758108966, + "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "ab82ab08d6bf74085bd328de2a8722c12d97bd9d", + "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b", "type": "github" }, "original": { @@ -1132,9 +1062,8 @@ "hyprland": "hyprland", "hyprpicker": "hyprpicker", "hyprsunset": "hyprsunset", - "iamb": "iamb", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_8", + "nixpkgs": "nixpkgs_6", "nixvim": "nixvim", "nur": "nur", "sops-nix": "sops-nix" @@ -1157,34 +1086,16 @@ "type": "github" } }, - "rust-overlay": { - "inputs": { - "nixpkgs": "nixpkgs_7" - }, - "locked": { - "lastModified": 1756694554, - "narHash": "sha256-z/Iy4qvcMqzhA2IAAg71Sw4BrMwbBHvCS90ZoPLsnIk=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "b29e5365120f344fe7161f14fc9e272fcc41ee56", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_12" + "nixpkgs": "nixpkgs_10" }, "locked": { - "lastModified": 1757503115, - "narHash": "sha256-S9F6bHUBh+CFEUalv/qxNImRapCxvSnOzWBUZgK1zDU=", + "lastModified": 1758425756, + "narHash": "sha256-L3N8zV6wsViXiD8i3WFyrvjDdz76g3tXKEdZ4FkgQ+Y=", "owner": "Mic92", "repo": "sops-nix", - "rev": "0bf793823386187dff101ee2a9d4ed26de8bbf8c", + "rev": "e0fdaea3c31646e252a60b42d0ed8eafdb289762", "type": "github" }, "original": { @@ -1253,21 +1164,6 @@ "type": "github" } }, - "systems_5": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "xdph": { "inputs": { "hyprland-protocols": [ diff --git a/flake.nix b/flake.nix index c8cd3d1..74cece5 100644 --- a/flake.nix +++ b/flake.nix @@ -16,7 +16,6 @@ nixvim.url = "github:ahwxorg/nixvim-config"; sops-nix.url = "github:Mic92/sops-nix"; disko.url = "github:nix-community/disko/latest"; - iamb.url = "github:ulyssa/iamb"; }; outputs = @@ -25,7 +24,6 @@ nixpkgs, sops-nix, disko, - iamb, ... }@inputs: let diff --git a/hosts/dandelion/default.nix b/hosts/dandelion/default.nix index 7349609..f950bc8 100644 --- a/hosts/dandelion/default.nix +++ b/hosts/dandelion/default.nix @@ -35,20 +35,20 @@ allowedUDPPorts = [ 5201 ]; - interfaces."ens4s1".allowedTCPPorts = [ - # allow everything for local link - { - from = 1; - to = 65354; - } - ]; - interfaces."ens4s1".allowedUDPPorts = [ - # allow everything for local link - { - from = 1; - to = 65354; - } - ]; + #interfaces."ens4s1".allowedTCPPorts = [ + # # allow everything for local link + # { + # from = 0; + # to = 60000; + # } + #]; + #interfaces."ens4s1".allowedUDPPorts = [ + # # allow everything for local link + # { + # from = 0; + # to = 65536; + # } + #]; }; }; @@ -82,6 +82,7 @@ services.zfs = { autoScrub.enable = true; + autoScrub.interval = "weekly"; trim.enable = true; }; diff --git a/hosts/iris/default.nix b/hosts/iris/default.nix index 56df25e..3dec566 100644 --- a/hosts/iris/default.nix +++ b/hosts/iris/default.nix @@ -9,7 +9,7 @@ imports = [ ./hardware-configuration.nix ./../../modules/core - # ./../../modules/home/nfs.nix + ./../../modules/home/steam.nix ./../../modules/core/virtualization.nix ./../../modules/services/tailscale.nix ./../../modules/services/mpd.nix @@ -27,17 +27,15 @@ networkmanager.enable = true; }; - systemd.network.networks."99-local" = { - matchConfig.name = "enp68s0"; - address = [ - "192.168.1.100/24" - ]; - routes = [ - { - Gateway = "172.16.10.1"; - GatewayOnLink = false; - } - ]; + networking = { + interfaces.ens4d1 = { + ipv4.addresses = [ + { + address = "192.168.1.101"; + prefixLength = 24; + } + ]; + }; }; liv = { diff --git a/modules/core/default.nix b/modules/core/default.nix index f4d87d3..96f0236 100644 --- a/modules/core/default.nix +++ b/modules/core/default.nix @@ -3,7 +3,7 @@ imports = [ (import ./docker.nix) ] ++ [ (import ./hardware.nix) ] - ++ [ (import ./displaylink.nix) ] + # ++ [ (import ./displaylink.nix) ] # ++ [(import ./printing.nix)] ++ [ (import ./xserver.nix) ] ++ [ (import ./network.nix) ] diff --git a/modules/core/default.server.nix b/modules/core/default.server.nix index 118f8a3..850882f 100644 --- a/modules/core/default.server.nix +++ b/modules/core/default.server.nix @@ -1,12 +1,13 @@ { ... }: { imports = - [(import ./hardware.nix)] - ++ [(import ./network.nix)] - ++ [(import ./program.nix)] - ++ [(import ./sshd.nix)] - ++ [(import ./security.nix)] - ++ [(import ./services.nix)] - ++ [(import ./system.nix)] - ++ [(import ./user.nix)]; + [ (import ./hardware.nix) ] + ++ [ (import ./network.nix) ] + ++ [ (import ./program.nix) ] + ++ [ (import ./sshd.nix) ] + ++ [ (import ./security.nix) ] + ++ [ (import ./services.nix) ] + ++ [ (import ./system.nix) ] + ++ [ (import ./user.nix) ] + ++ [ (import ./virtualization.nix) ]; } diff --git a/modules/core/program.nix b/modules/core/program.nix index 7739cd0..a0acdd6 100644 --- a/modules/core/program.nix +++ b/modules/core/program.nix @@ -15,6 +15,5 @@ git dig traceroute - inputs.iamb.packages.${pkgs.stdenv.targetPlatform.system}.default ]; } diff --git a/modules/core/sops.nix b/modules/core/sops.nix index 27b1c10..91bd2f0 100644 --- a/modules/core/sops.nix +++ b/modules/core/sops.nix @@ -23,6 +23,7 @@ owner = "matrix-synapse"; }; "smbLoginDetails" = { }; + "syncplay" = { }; } else if (host == "sakura") then { diff --git a/modules/core/virtualization.nix b/modules/core/virtualization.nix index 94c40a7..601680b 100644 --- a/modules/core/virtualization.nix +++ b/modules/core/virtualization.nix @@ -12,6 +12,8 @@ libvirtd.enable = if (host == "violet") then true + else if (host == "dandelion") then + true else if (host == "sakura") then true else if (host == "yoshino") then @@ -36,7 +38,7 @@ # { }; users.groups.libvirtd.members = - if (config.virtualisation.waydroid.enable == true) then [ username ] else [ ]; + if (config.virtualisation.libvirtd.enable == true) then [ username ] else [ ]; # Enable qemu etc environment.systemPackages = with pkgs; [ diff --git a/modules/core/yubikey.nix b/modules/core/yubikey.nix index cb26b94..1fdad61 100644 --- a/modules/core/yubikey.nix +++ b/modules/core/yubikey.nix @@ -18,8 +18,8 @@ }; services = { - login.u2fAuth = true; - greetd.u2fAuth = true; + login.u2fAuth = false; + greetd.u2fAuth = false; sudo.u2fAuth = true; swaylock.fprintAuth = if (host == "sakura") then @@ -29,7 +29,7 @@ else false; # No longer using Hyprlock, might stay here for if I ever switch to it again. - hyprlock.u2fAuth = true; + hyprlock.u2fAuth = false; hyprlock.fprintAuth = if (host == "sakura") then true diff --git a/modules/home/hyprland/config.nix b/modules/home/hyprland/config.nix index b8966c2..8ed7e97 100644 --- a/modules/home/hyprland/config.nix +++ b/modules/home/hyprland/config.nix @@ -23,12 +23,12 @@ size = 14; }; theme = { - name = "Gruvbox-Green-Dark"; - package = pkgs.gruvbox-gtk-theme.override { - colorVariants = [ "dark" ]; - themeVariants = [ "green" ]; - tweakVariants = [ "macos" ]; - }; + name = "Juno"; + package = pkgs.juno-theme; # .override { + # colorVariants = [ "dark" ]; + # themeVariants = [ "green" ]; + # tweakVariants = [ "macos" ]; + # }; }; iconTheme = { name = "Papirus-Dark"; diff --git a/modules/home/steam.nix b/modules/home/steam.nix new file mode 100644 index 0000000..05f296d --- /dev/null +++ b/modules/home/steam.nix @@ -0,0 +1,3 @@ +{ + programs.steam.enable = true; +} diff --git a/modules/home/waybar/default.nix b/modules/home/waybar/default.nix index dfe464a..905cbf1 100644 --- a/modules/home/waybar/default.nix +++ b/modules/home/waybar/default.nix @@ -22,347 +22,349 @@ home.file = { "/home/${username}/.config/waybar/config" = { text = '' - [{ - "layer": "bottom", - "position": "bottom", + [{ + "layer": "top", + "position": "top", - "modules-left": [ - "privacy", - "network", - "custom/vpn", - "custom/devices", - "custom/spotify", - "tray", - ], + "modules-left": [ + "privacy", + "network", + "custom/vpn", + "custom/devices", + "custom/spotify", + "tray", + ], - "modules-center": [ - "hyprland/workspaces", - ], + "modules-center": [ + "hyprland/workspaces", + ], - "modules-right": [ - "custom/yubikey#icon", - "custom/yubikey#data", - "group/hardware", - "group/resources", - "bluetooth", - // "wireplumber", - "group/audio", - "group/battery", - "group/clock" - ], + "modules-right": [ + "custom/yubikey#icon", + "custom/yubikey#data", + "group/hardware", + "group/resources", + "bluetooth", + // "wireplumber", + "group/audio", + "group/battery", + "group/clock" + ], - "hyprland/window": { - "format": "{}", - "rewrite": { - "(.*) - zsh": "> [$1]" - }, - "separate-outputs": true - }, + "hyprland/window": { + "format": "{}", + "rewrite": { + "(.*) - zsh": "> [$1]" + }, + "separate-outputs": true + }, - "sway/workspaces": { - "all-outputs": true, - "disable-scroll": true, - "format": "{name}" - }, + "sway/workspaces": { + "all-outputs": true, + "disable-scroll": true, + "format": "{name}" + }, - "hyprland/workspaces": { - "all-outputs": true, - "disable-scroll": true, - "format": "{name}" - }, + "hyprland/workspaces": { + "all-outputs": true, + "disable-scroll": true, + "format": "{name}" + }, - // "group/network": { - // "orientation": "horizontal", - // "modules": [ - // "network", - // "custom/vpn", - // ], - // "drawer": { - // "transition-left-to-right": true, - // "transition-duration": 500 - // } - // }, - - "network": { - "format": "󰈀 {ifname}", - "format-wifi": " {essid} - {ipaddr}/{cidr} {signalStrength}%", - "format-ethernet": "󰈀 {ipaddr}/{cidr}", - "format-disconnected": "󰈂", - "tooltip-format": "{ifname} via {gwaddr}", - "tooltip-format-wifi": "{essid} ({signalStrength}%)", - "tooltip-format-ethernet": "{ifname}", - "tooltip-format-disconnected": "Disconnected" - }, + // "group/network": { + // "orientation": "horizontal", + // "modules": [ + // "network", + // "custom/vpn", + // ], + // "drawer": { + // "transition-left-to-right": true, + // "transition-duration": 500 + // } + // }, + + "network": { + "format": "󰈀 {ifname}", + // "format-wifi": "WLAN: {essid} - {ipaddr}/{cidr} {signalStrength}%", + "format-wifi": "WLAN: {ipaddr}/{cidr} {signalStrength}%", + "format-ethernet": "LAN: {ipaddr}/{cidr}", + "format-disconnected": "WLAN: down", + "tooltip-format": "{ifname} via {gwaddr}", + "tooltip-format-wifi": "{essid} ({signalStrength}%)", + "tooltip-format-ethernet": "{ifname}", + "tooltip-format-disconnected": "Disconnected" + }, - "custom/vpn": { - "format": "{icon}", - "tooltip-format": "{text}", - "format-icons": [ "","" ], - "return-type": "json", - "exec": "~/.local/bin/waybar-vpn", - "interval": 30 - }, + "custom/vpn": { + "format": "{icon}", + "tooltip-format": "{text}", + "format-icons": [ "","" ], + "return-type": "json", + "exec": "~/.local/bin/waybar-vpn", + "interval": 30 + }, - "custom/spotify": { - "interval": 5, - "return-type": "json", - "exec": "~/.local/bin/waybar-music", - "on-click": "playerctl play-pause", - "escape": true - }, + "custom/spotify": { + "interval": 5, + "return-type": "json", + "exec": "~/.local/bin/waybar-music", + "on-click": "playerctl play-pause", + "escape": true + }, - "custom/devices": { - "interval": 60, - "font-size": 14, - // "return-type": "json", - "exec": "~/.local/bin/waybar-devices", - }, + "custom/devices": { + "interval": 60, + "font-size": 14, + // "return-type": "json", + "exec": "~/.local/bin/waybar-devices", + }, - "privacy": { - "icon-spacing": 8, - "icon-size": 14, - "transition-duration": 250, - "modules": [ - { - "type": "screenshare", - "tooltip": true, - "tooltip-icon-size": 24 - }, - { - "type": "audio-out", - "tooltip": true, - "tooltip-icon-size": 24 - }, - { - "type": "audio-in", - "tooltip": true, - "tooltip-icon-size": 24 - } - ] - }, + "privacy": { + "icon-spacing": 8, + "icon-size": 14, + "transition-duration": 250, + "modules": [ + { + "type": "screenshare", + "tooltip": true, + "tooltip-icon-size": 24 + }, + { + "type": "audio-out", + "tooltip": true, + "tooltip-icon-size": 24 + }, + { + "type": "audio-in", + "tooltip": true, + "tooltip-icon-size": 24 + } + ] + }, - "tray": { - "icon-size": 12, - "spacing": 0 - }, + "tray": { + "icon-size": 12, + "spacing": 0 + }, - "sway/mode": { - "format": " {}", - "tooltip": false - }, + "sway/mode": { + "format": " {}", + "tooltip": false + }, - "custom/yubikey#icon": { - "exec": "~/.local/bin/waybar-yubikey 0", - "return-type": "json" - }, + "custom/yubikey#icon": { + "exec": "~/.local/bin/waybar-yubikey 0", + "return-type": "json" + }, - "custom/yubikey#data": { - "exec": "~/.local/bin/waybar-yubikey 1", - "return-type": "json" - }, + "custom/yubikey#data": { + "exec": "~/.local/bin/waybar-yubikey 1", + "return-type": "json" + }, - "group/hardware": { - "orientation": "horizontal", - "modules": [ - "cpu", - "temperature#cpu", - "temperature#gpu", - "temperature#nvme", - "temperature#wifi" - ], - "drawer": { - "transition-left-to-right": false, - "transition-duration": 500 - } - }, + "group/hardware": { + "orientation": "horizontal", + "modules": [ + "cpu", + "temperature#cpu", + "temperature#gpu", + "temperature#nvme", + "temperature#wifi" + ], + "drawer": { + "transition-left-to-right": false, + "transition-duration": 500 + } + }, - "cpu": { - "interval": 30, - "format": " {avg_frequency:3.2f}GHz {usage}%", - "states": { - "warning": 70, - "critical": 90 - }, - }, + "cpu": { + "interval": 30, + "format": "FREQ: {avg_frequency:3.2f}GHz {usage}% ", + "states": { + "warning": 70, + "critical": 90 + }, + }, - "temperature#cpu": { - "hwmon-path": "/sys/class/hwmon/hwmon5/temp1_input", - "critical-threshold": 80, - "format": " CPU {temperatureC}°C" - }, + "temperature#cpu": { + "hwmon-path": "/sys/class/hwmon/hwmon5/temp1_input", + "critical-threshold": 80, + "format": "CPU {temperatureC}°C" + }, - "temperature#gpu": { - "hwmon-path": "/sys/class/hwmon/hwmon0/temp1_input", - "critical-threshold": 80, - "format": "· GPU {temperatureC}°C" - }, + "temperature#gpu": { + "hwmon-path": "/sys/class/hwmon/hwmon0/temp1_input", + "critical-threshold": 80, + "format": "GPU {temperatureC}°C" + }, - "temperature#nvme": { - "hwmon-path": "/sys/class/hwmon/hwmon1/temp1_input", - "critical-threshold": 80, - "format": "· NVMe {temperatureC}°C" - }, + "temperature#nvme": { + "hwmon-path": "/sys/class/hwmon/hwmon1/temp1_input", + "critical-threshold": 80, + "format": "NVMe {temperatureC}°C" + }, - "temperature#wifi": { - "hwmon-path": "/sys/class/hwmon/hwmon11/temp1_input", - "critical-threshold": 80, - "format": "· WiFi {temperatureC}°C" - }, + "temperature#wifi": { + "hwmon-path": "/sys/class/hwmon/hwmon11/temp1_input", + "critical-threshold": 80, + "format": "WiFi {temperatureC}°C" + }, - "group/resources": { - "orientation": "horizontal", - "modules": [ "memory", "disk#root" ], - "drawer": { - "transition-left-to-right": false, - "transition-duration": 500 - } - }, + "group/resources": { + "orientation": "horizontal", + "modules": [ "memory", "disk#root" ], + "drawer": { + "transition-left-to-right": false, + "transition-duration": 500 + } + }, - "memory": { - "interval": 60, - "format": "󰘚 {used:3.1f}GiB/{total:3.1f}GiB" - }, + "memory": { + "interval": 60, + "format": "RAM: {used:3.1f}GiB/{total:3.1f}GiB " + }, - "disk#root": { - "interval": 360, - "format": " {used}/{total}", - "path": "/" - }, + "disk#root": { + "interval": 360, + "format": "DISK: {used}/{total}", + "path": "/" + }, - "bluetooth": { - // "controller": "controller1", - "on-click": "~/.local/bin/waybar-bluetooth toggle", - "format": "󰂲", - "format-disabled": "", - "format-connected": "", - "format-connected-battery": " {device_battery_percentage}%", - "tooltip-format": "{controller_alias}\t\t[{controller_address}]", - "tooltip-format-connected": "{controller_alias}\t\t[{controller_address}]\n\n{device_enumerate}", - "tooltip-format-connected-battery": "{controller_alias}\t\t[{controller_address}]\n\n{device_enumerate}", - "tooltip-format-enumerate-connected": "{device_alias}\t\t[{device_address}]", - "tooltip-format-enumerate-connected-battery": "{device_alias} ({device_battery_percentage})\t\t[{device_address}]" - }, + "bluetooth": { + // "controller": "controller1", + "on-click": "~/.local/bin/waybar-bluetooth toggle", + "format": "󰂲", + "format-disabled": "", + "format-connected": "", + "format-connected-battery": " {device_battery_percentage}%", + "tooltip-format": "{controller_alias}\t\t[{controller_address}]", + "tooltip-format-connected": "{controller_alias}\t\t[{controller_address}]\n\n{device_enumerate}", + "tooltip-format-connected-battery": "{controller_alias}\t\t[{controller_address}]\n\n{device_enumerate}", + "tooltip-format-enumerate-connected": "{device_alias}\t\t[{device_address}]", + "tooltip-format-enumerate-connected-battery": "{device_alias} ({device_battery_percentage})\t\t[{device_address}]" + }, - "group/audio": { - "orientation": "horizontal", - "modules": [ - "wireplumber", - "custom/audio-internal", - "custom/audio-headphones", - "custom/audio-hdmi" - ], - "drawer": { - "transition-left-to-right": false, - "transition-duration": 500 - } - }, + "group/audio": { + "orientation": "horizontal", + "modules": [ + "wireplumber", + "custom/audio-internal", + "custom/audio-headphones", + "custom/audio-hdmi" + ], + "drawer": { + "transition-left-to-right": false, + "transition-duration": 500 + } + }, - "wireplumber": { - "format": "{icon} {node_name}/{volume}", - "format-muted": "", - "on-click": "pavucontrol-qt", - "on-click-right": "helvum", - "format-icons": ["", "", ""] - }, + "wireplumber": { + "format": "{icon} {node_name}/{volume}", + "format-muted": "", + "on-click": "pavucontrol-qt", + "on-click-right": "helvum", + "format-icons": ["", "", ""] + }, - "custom/audio-internal": { - "format": "󱡬 ", - "tooltip-format": "Internal", - "on-click": "audio-router analog", - "interval": "once" - }, + "custom/audio-internal": { + "format": "󱡬 ", + "tooltip-format": "Internal", + "on-click": "audio-router analog", + "interval": "once" + }, - "custom/audio-hdmi": { - "format": "󰡁 ", - "tooltip-format": "HDMI", - "on-click": "audio-router hdmi", - "interval": "once" - }, + "custom/audio-hdmi": { + "format": "󰡁 ", + "tooltip-format": "HDMI", + "on-click": "audio-router hdmi", + "interval": "once" + }, - "group/battery": { - "orientation": "horizontal", - "modules": [ - "battery", - "custom/powerdraw" - ], - "drawer": { - "transition-left-to-right": false, - "transition-duration": 500 - } - }, + "group/battery": { + "orientation": "horizontal", + "modules": [ + "battery", + "custom/powerdraw" + ], + "drawer": { + "transition-left-to-right": false, + "transition-duration": 500 + } + }, - "battery": { - "bat": "BAT1", - "interval": 30, - "states": { - "warning": 20, - "critical": 10 - }, - "format-time": "{H}:{m}", - "format": "{icon} {time} {capacity}%", - "format-discharging": "{icon} {capacity}%", - "format-discharging-warning": "{icon} {capacity}%", - "format-discharging-critical": "{icon} {capacity}%", - "format-charging": "{icon} {capacity}% @ {power:2.0f}W", - "format-full": "󱐥 {capacity}%", - "format-not-charging": "󱐤 {capacity}%", - "format-icons": [" ", " ", " ", " ", " "], - }, + "battery": { + "bat": "BAT1", + "interval": 20, + "states": { + "warning": 20, + "critical": 10 + }, + "format-time": "{H}:{m}", + "format": "BATT: {time} {capacity}%", + "format-alt": "BATT: {time} ", + "format-discharging": "BATT: {capacity}%", + "format-discharging-warning": "BATT: {capacity}%", + "format-discharging-critical": "BATT: {capacity}%", + "format-charging": "BATT: {capacity}% @ {power:2.0f}W", + "format-full": "BATT: 󱐥 {capacity}%", + "format-not-charging": "BATT: 󱐤 {capacity}%", + // "format-icons": [" ", " ", " ", " ", " "], // use {icon} + }, - "custom/powerdraw": { - "interval": 60, - "exec": "~/.local/bin/waybar-powerdraw", - }, + "custom/powerdraw": { + "interval": 60, + "exec": "~/.local/bin/waybar-powerdraw", + }, - "group/clock": { - "orientation": "horizontal", - "modules": [ "clock#time", "custom/clock#minutes", "clock#date" ], - "drawer": { - "transition-left-to-right": false, - "transition-duration": 500 - } - }, + "group/clock": { + "orientation": "horizontal", + "modules": [ "clock#time", "custom/clock#minutes", "clock#date" ], + "drawer": { + "transition-left-to-right": false, + "transition-duration": 500 + } + }, - "clock#date": { - "interval": 60, - "format": " {:%a %e %b %Y}", - "tooltip-format": "{:%B %Y}\n{calendar}", - "calendar": { - "mode" : "year", - "mode-mon-col" : 2, - "weeks-pos" : "right", - "on-scroll" : 1, - "format": { - "months": "{}", - "days": "{}", - "weeks": "W{}", - "weekdays": "{}", - "today": "{}" - } - }, - "actions": { - "on-click-right": "mode", - "on-scroll-up": "shift_up", - "on-scroll-down": "shift_down" - } - }, + "clock#date": { + "interval": 60, + "format": " {:%a %e %b %Y}", + "tooltip-format": "{:%B %Y}\n{calendar}", + "calendar": { + "mode" : "year", + "mode-mon-col" : 2, + "weeks-pos" : "right", + "on-scroll" : 1, + "format": { + "months": "{}", + "days": "{}", + "weeks": "W{}", + "weekdays": "{}", + "today": "{}" + } + }, + "actions": { + "on-click-right": "mode", + "on-scroll-up": "shift_up", + "on-scroll-down": "shift_down" + } + }, - "clock#time": { - "interval": 60, - "format": " {:%I:%M %p}", - "actions": { - "on-scroll-up": "tz_up", - "on-scroll-down": "tz_down" - } - }, + "clock#time": { + "interval": 60, + "format": "CEST: {:%I:%M %p}", + "actions": { + "on-scroll-up": "tz_up", + "on-scroll-down": "tz_down" + } + }, - "custom/clock#minutes": { - "interval": 60, - "format": " {} ", - "exec": "~/.local/bin/waybar-minutes" - } - } - ] + "custom/clock#minutes": { + "interval": 60, + "format": "CEST: {} ", + "exec": "~/.local/bin/waybar-minutes" + } + } + ] ''; }; "/home/${username}/.config/waybar/style.css" = { @@ -377,17 +379,18 @@ /* margin: 0 0px; */ } - window#waybar.bottom { + window#waybar.top { /* background-color: rgba(115, 116, 116, 0.22); */ background-color: rgba(0, 0, 0, 0.25); - border-bottom: none; + border-top: none; color: #eeeeee; transition-property: background-color; transition-duration: .5s; } window#waybar.hidden { - opacity: 0.25; + /* opacity: 0.25; */ + opacity: 0.00; } label#window { @@ -439,7 +442,7 @@ #workspaces button { /*padding: 4px 6px;*/ padding: 4px 6px; - color: #555555; + color: #aaaaaa; border-radius: 0px; /*min-width: 32px;*/ } diff --git a/modules/home/waybar/scripts.nix b/modules/home/waybar/scripts.nix index a4a7bb7..3c9b2e3 100644 --- a/modules/home/waybar/scripts.nix +++ b/modules/home/waybar/scripts.nix @@ -181,12 +181,6 @@ #!/usr/bin/env bash if [[ "$(hostname)" == "sakura" ]]; then - if [[ $(cat /proc/acpi/button/lid/LID0/state | grep "open") ]]; then - LTEXT="󰌢 " - else - LTEXT="󰛧 " - fi - MICROPHONE_STATE="$(sudo framework_tool --privacy | tail -n2 | head -n1)" CAMERA_STATE="$(sudo framework_tool --privacy | tail -n1)" @@ -206,7 +200,7 @@ CTEXT="󰗟 " fi - echo "$LTEXT $CTEXT $MTEXT" + echo "$CTEXT $MTEXT" fi ''; }; diff --git a/modules/services/librey-proxy.nix b/modules/services/librey-proxy.nix index 2bd3e7d..09e95b4 100644 --- a/modules/services/librey-proxy.nix +++ b/modules/services/librey-proxy.nix @@ -3,7 +3,7 @@ services = { anubis.instances.librey = { settings = { - TARGET = "http://localhost:8080"; + TARGET = "http://localhost:8078"; BIND = ":8079"; BIND_NETWORK = "tcp"; }; diff --git a/modules/services/mumble.nix b/modules/services/mumble.nix index eaa0836..febfefc 100644 --- a/modules/services/mumble.nix +++ b/modules/services/mumble.nix @@ -2,6 +2,7 @@ { services.murmur = { enable = true; - openFirewall = false; + openFirewall = true; + bandwidth = 192000; }; } diff --git a/modules/services/nfs.nix b/modules/services/nfs.nix index 2f9d3c4..40e4aa5 100644 --- a/modules/services/nfs.nix +++ b/modules/services/nfs.nix @@ -9,7 +9,7 @@ # Network shares samba = { package = pkgs.samba; - # ^^ `samba4Full` is compiled with avahi, ldap, AD etc support (compared to the default package, `samba` + # ^^ `samba4Full` is compiled with avahi, ldap, AD etc support (compared to the default package, `samba`. samba4Full gives issue, however) # Required for samba to register mDNS records for auto discovery # See https://github.com/NixOS/nixpkgs/blob/592047fc9e4f7b74a4dc85d1b9f5243dfe4899e3/pkgs/top-level/all-packages.nix#L27268 enable = true; @@ -19,6 +19,16 @@ writable = "true"; comment = "Hello world!"; }; + shares.violet = { + path = "/spinners/violet"; + writable = "true"; + comment = "Hello world!"; + }; + shares.ahwx = { + path = "/spinners/ahwx"; + writable = "true"; + comment = "Hello world!"; + }; }; avahi = { publish.enable = true; diff --git a/modules/services/ollama.nix b/modules/services/ollama.nix index 95b7c8d..8676727 100644 --- a/modules/services/ollama.nix +++ b/modules/services/ollama.nix @@ -5,5 +5,5 @@ # loadModels = [ "llama3.2:3b" "deepseek-r1:1.5b"]; # acceleration = "rocm"; # nope, 5700XT is too old for this }; - services.open-webui.enable = true; + services.open-webui.enable = false; } diff --git a/modules/services/syncplay.nix b/modules/services/syncplay.nix new file mode 100644 index 0000000..ca4551b --- /dev/null +++ b/modules/services/syncplay.nix @@ -0,0 +1,8 @@ +{ config, ... }: +{ + services.syncplay = { + enable = true; + passwordFile = config.sops.secrets.syncplay.path; + }; + networking.firewall.allowedTCPPorts = [ 8999 ]; +} diff --git a/modules/services/violet.nix b/modules/services/violet.nix index ae3d19a..53c8b39 100644 --- a/modules/services/violet.nix +++ b/modules/services/violet.nix @@ -13,6 +13,7 @@ ++ [ (import ./guacamole.nix) ] ++ [ (import ./gokapi.nix) ] ++ [ (import ./jellyfin.nix) ] + # ++ [ (import ./jitsi-meet.nix) ] ++ [ (import ./librey-proxy.nix) ] ++ [ (import ./lidarr.nix) ] ++ [ (import ./matrix/default.nix) ] @@ -34,5 +35,4 @@ ++ [ (import ./tailscale.nix) ] ++ [ (import ./vaultwarden.nix) ]; # ++ [ (import ./smart-monitoring.nix) ] - # ++ [ (import ./jitsi-meet.nix) ] } diff --git a/roles/desktop.nix b/roles/desktop.nix index fc6fcdb..23c75df 100644 --- a/roles/desktop.nix +++ b/roles/desktop.nix @@ -16,6 +16,7 @@ in }; config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ cifs-utils ]; home-manager = { users.${username} = { home.packages = with pkgs; [ diff --git a/roles/gui.nix b/roles/gui.nix index c5c39f7..acc939d 100644 --- a/roles/gui.nix +++ b/roles/gui.nix @@ -27,7 +27,7 @@ in home-manager.users.${username}.home.packages = with pkgs; [ element-desktop - gajim + dino signal-desktop mumble anki-bin diff --git a/roles/laptop.nix b/roles/laptop.nix index 4a61e0d..76cb8f8 100644 --- a/roles/laptop.nix +++ b/roles/laptop.nix @@ -1,13 +1,25 @@ -{ lib, pkgs, config, username, home-manager, ... }: +{ + lib, + pkgs, + config, + username, + home-manager, + ... +}: with lib; let cfg = config.liv.laptop; -in { +in +{ options.liv.laptop = { enable = mkEnableOption "Enable laptop"; }; config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + cifs-utils + powertop + ]; home-manager = { users.${username} = { home.packages = with pkgs; [ @@ -17,22 +29,25 @@ in { }; }; + # DisplayLink + services.xserver.videoDrivers = [ + "displaylink" + "modesetting" + ]; + systemd.services.dlm.wantedBy = [ "multi-user.target" ]; + networking.networkmanager.enable = true; - environment.systemPackages = with pkgs; [ - # powertop - ]; boot = { - kernelModules = ["acpi_call"]; - extraModulePackages = with config.boot.kernelPackages; - [ - acpi_call - ]; - }; - services = { + kernelModules = [ "acpi_call" ]; + extraModulePackages = with config.boot.kernelPackages; [ + acpi_call + ]; + }; + services = { thermald.enable = true; power-profiles-daemon.enable = true; - + upower = { enable = true; percentageLow = 20; @@ -41,6 +56,6 @@ in { criticalPowerAction = "Hibernate"; }; }; - # powerManagement.powertop.enable = true; + powerManagement.powertop.enable = true; }; } diff --git a/secrets/violet/secrets.yaml b/secrets/violet/secrets.yaml index f8d5015..57aabc9 100644 --- a/secrets/violet/secrets.yaml +++ b/secrets/violet/secrets.yaml @@ -3,6 +3,7 @@ forgejoWorkerSecret: ENC[AES256_GCM,data:kmUjukTJ9SP6nJvfhIMFVTu5vAc9TIfZidUgejC matrixRegistrationSecret: ENC[AES256_GCM,data:xDFYVpBJa+FHWjmLlZspJAzJcoav53nWPoctQ5+gAnDYMurtSCkmoQn8r5j6fOmiy56KQyk8AD2/kT1HeFFNKA==,iv:82eIoh1ePc0VxfTbBPxpwGhYrcdRMI6WjFhlUJhxuHk=,tag:FAYUXUy0lEQU56ni2dxvbg==,type:str] minioRootCredentials: ENC[AES256_GCM,data:/IrpspB6Puy+6scHheBSBp6zQVh8uwpu4nFPLSkueuohSUESPHbRb0w1XAp4V5HraMtOThFqlm0JeBW0XbhY4E8L1P+S3/aMLKjp2voA928l9AjF6sTaSKsO7qh6LEmo90qm9Jo0nDo=,iv:M5NOGfSsl+LggLyEjV49vcWCaYmbG0eJcgwI2v7AKcI=,tag:A+CrDTL+TkEayOqBUII4aQ==,type:str] smbLoginDetails: ENC[AES256_GCM,data:Puv+Vewv0TDpiYM+Uym180CLT+vXKoeSW/uNxAX7f9y0NvG2Uqqglj/HcCMhyQn9GpCIQyb+xidlLWn3Ywdg6ybaf4WN5EdAEXMK/FRQyVIvvOcCcwG+IeUc1Wc5NmM2qEbxLqLNDWxiH8/QsrT9rWWxxx4c4eD1HOpIv9LCuavXXLmKy6JvtxYwtOv4u8ukp+e0uP7pLN7d,iv:XH+6soi7lZiGz9ZGlQb49f44API715ib/Y7Zh3hFnDM=,tag:iz8RYRSwNxrMxy+rqeM07Q==,type:str] +syncplay: ENC[AES256_GCM,data:Vrn1GmmUnIikiTKIQtP3qBfZIZRW2Za2Xhhegp7PAulujxumLGMAz9lBnTPBy3uofpayP8NJuU9v8cpU4a4w5A==,iv:s4RFaZwftqmI3BhpO1msvpfO2u3AGlPik7nMX2hjnyE=,tag:13zft7dmd85udoi7CnfWYg==,type:str] sops: age: - recipient: age1yzapmznelujajfyrpw5mxmy86ckg377494w5ap4yej39jatewursfxls9w @@ -23,7 +24,7 @@ sops: S3pjSjlhZjZiSDBNakhLVzNKMjd3bWsKC2geLVXFp190lkjxtmZKq8aLN0XMNeAI VqbwIY3a30iuWAaxqf8h1ZuCGJvbAZZBevFZraj9yktRHc54JV3Aww== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-08-19T12:23:05Z" - mac: ENC[AES256_GCM,data:hH3cTyHeFMTH5zYpCWyM1uqLta/uzQcLc5HPSdsR52Skh89/5h51vC666g0JuVm/sXh3gv6XQ1AGidPMAmx60qmHjiWE/LRli7xDwKk3p4mldC7RC2FrR0JPmfhDzXIo7VL60PCq4CPWevyRpAWMEMgnc3Z/IzmfDObUsvU+rg0=,iv:CrL4uqV8keGMw+tuqvkNrpKoM0qqr1vsdhESPUb+Hig=,tag:O2NKejf2dpkrkTzX1IfQcA==,type:str] + lastmodified: "2025-09-19T10:22:44Z" + mac: ENC[AES256_GCM,data:aJcXcdCR9nKbiaGEcGIQxr0kW7D8p2OzC2YDh18AFinWhdUSUDh6B8vkHR3ScIgUOYWc70/vSVsn3+M5JmtH3+mKMwMwSKF2plhicSBGdRELkeeowy6tCZGOVUvRsBhUpynd86qxxvWbJO4Q6mCSNbBQ/cr8493OZWenzB/fedQ=,iv:UqgIWA4ZK3cVn0iepeBPF8KuNREuGKNnijo/oGd4/q0=,tag:CT2uFz+flsZyNAM6SnhveA==,type:str] unencrypted_suffix: _unencrypted version: 3.10.2