update: fixed issues and update flake inputs

This commit is contained in:
danny 2025-12-29 16:03:31 +08:00
parent 4b6183f0ec
commit b3c5ad2880
80 changed files with 3307 additions and 2059 deletions

View file

@ -8,18 +8,7 @@ in
{
systemConf = {
inherit hostname username;
face = ../../../home/config/.face;
domain = "net.dn";
hyprland = {
enable = true;
monitors = [
{
desc = "LG Display 0x0665";
output = "eDP-1";
props = "preferred, 0x0, 1.25";
}
];
};
niri.enable = true;
};
imports = [

View file

@ -5,78 +5,88 @@
}:
let
inherit (lib) mkForce;
inherit (config.networking) hostName;
inherit (config.systemConf) username;
in
{
home-manager = {
users."${username}" = {
home.sessionVariables = {
BROWSER = mkForce "chromium";
};
home-manager.users."${username}" = {
home.sessionVariables = {
BROWSER = mkForce "chromium";
};
programs.chromium = {
enable = true;
extensions = [
# Bitwarden
services.kanshi.settings = [
{
profile.name = hostName;
profile.outputs = [
{
id = "nngceckbapebfimnlniiiahkandclblb";
}
# Vimium
{
id = "dbepggeogbaibhgnhhndojpepiihcmeb";
}
# Dark Reader
{
id = "eimadpbcbfnmbkopoojfekhnkhdbieeh";
}
# Vertical Tabs
{
id = "efobhjmgoddhfdhaflheioeagkcknoji";
criteria = "LG Display 0x0665";
position = "0,0";
scale = 1.25;
}
];
};
}
];
imports = [
../../../../home/presets/basic.nix
(import ../../../../home/user/bitwarden.nix {
email = "danny@net.dn";
baseUrl = "https://bitwarden.net.dn";
})
programs.hyprlock.monitors = [
"LG Display"
];
# waybar
(import ../../../../home/user/waybar.nix {
settings = [
{
output = "eDP-1";
height = 46;
modules-left = [
"custom/os"
"hyprland/workspaces"
"clock"
"mpris"
];
modules-right = [
"wlr/taskbar"
"temperature"
"custom/wallRand"
"custom/wireguard"
"custom/recording"
"idle_inhibitor"
"network"
"pulseaudio"
"battery"
"custom/swaync"
];
}
];
})
# Git
(import ../../../../home/user/git.nix {
inherit username;
email = "danny10132024@gmail.com";
})
programs.chromium = {
enable = true;
extensions = [
# Bitwarden
{
id = "nngceckbapebfimnlniiiahkandclblb";
}
# Vimium
{
id = "dbepggeogbaibhgnhhndojpepiihcmeb";
}
# Dark Reader
{
id = "eimadpbcbfnmbkopoojfekhnkhdbieeh";
}
# Vertical Tabs
{
id = "efobhjmgoddhfdhaflheioeagkcknoji";
}
];
};
imports = [
../../../../home/presets/basic.nix
(import ../../../../home/user/bitwarden.nix {
email = "danny@net.dn";
baseUrl = "https://bitwarden.net.dn";
})
# waybar
(import ../../../../home/user/waybar.nix {
settings = [
{
output = "eDP-1";
height = 46;
modules-left = [
"custom/os"
"hyprland/workspaces"
"clock"
"mpris"
];
modules-right = [
"wlr/taskbar"
"temperature"
"custom/wallRand"
"custom/wireguard"
"custom/recording"
"idle_inhibitor"
"network"
"pulseaudio"
"battery"
"custom/swaync"
];
}
];
})
];
};
}

View file

@ -1,5 +1,5 @@
wireguard:
wg0.conf: ENC[AES256_GCM,data:drqs+CkZVZH4K87jWZLy33NuqPeqLkyTp6mDoxcOsEYGaIR38pommv4TSynAOvrUC3dCw9O+qLHEiSwlJGoZOQKFzHxUefKrCtkRMCE3ytDKFmJbLoKT/GPxnOOenIm8JxKX6nsLaqCk36ODXzTA8iU8ICN2zqoCiodjx72Ge2KckQzSak04v28B6viuzfl8zipD1Fetm72sOBTX0I0WwoziDBBL77x1hX/8POob3ISrTejhik18dxAPLB9H3iVl1aOHhszsrAYB26IfujY/FxRqIrn8v+H2aFen3oowRjd/wTPtc/rLZj/7n6/Sl3NDzOE+jIYYG7yym7lkUM9Z,iv:oS01iUSG0ufUzIsfPD/jF3/TPEDDBp+CnnLQnyze8dM=,tag:mtmY3OVz3k7eu5Lxe14KLg==,type:str]
wg0.conf: ENC[AES256_GCM,data:9wegrw4ZbY+T/gNYi0gt4n6Db1/rRpsiqVbQr8QoYTwOiWBjKO2PGTTM5aK3khk5t2pYOTSqEBn5+5J/JYZpQ6nvJMcqn0+31KMuMT9/0akxOm112Tj31vOdBwRvSQVLBzmQtPABgMlV36lRtpVU71lwiNO4M33ygzL/tm7EMt0e75Nr9CZkGI7BGtnATBzbj3ysftsbFPF2iIgZ9fej4I78rJ1HavAsAgcrxksWAJjFZyFGWinkW4eiwDKlqBvRUW0tE8TF897ZmX90UnwXwjtyJcyJH6nzwrRDJgxR7uyRL/HIusmVZHCNSlo8dSaxAROXOw5ULjmQpXzzPAVUxw==,iv:FCv2ADYZXflBYuI9B9xvUSAYX8+v2Qf9EJjZ/TX27sA=,tag:caR4HS3yYrjNP1IzxgoOXA==,type:str]
sops:
age:
- recipient: age1uvsvf5ljaezh5wze32p685kfentyle0l2mvysc67yvgct2h4850qqph9lv
@ -20,7 +20,7 @@ sops:
V09NYXpBYXBtYWdBajJubmVFL2loY0EKJdYKQHPriOT0eouvRUiCyqLSTzugUZxl
BFTwfCez1/K2ERKQkKsMfIARbHaI2SRyDxM2O1IJ+DOIJ2383K6Gvw==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-11-21T12:34:30Z"
mac: ENC[AES256_GCM,data:LUqoXWMhmQQgqq1AX7I2v7z58ywstjWzsVTav9iu0RrkCxeB1u5V90E4tcnfjtquLwjiabpLSRpkUXE33DhqcgxLIklX0Cpld5TK1Bsdn8DXyKk1Lhfdf3OL7cn14kb4CqXTNlDyqwM+BBsYmdFQzPjb8IPiD9y+mTO5yHuAta0=,iv:mbHhZdv+0lDI9cNUsI3oatwbItQ6Xfvgm0UMQdu9FKA=,tag:aPFWPwahvMjBojzthZZ6vQ==,type:str]
lastmodified: "2025-12-19T12:39:58Z"
mac: ENC[AES256_GCM,data:tTvNyD6Lekc0RUIr9CpCjhWl2Gb9pHRubeoTrwceUCkm074EjYIzvqwiX5fzt6Cc5/H/k8NWJZBAoI3tOeCrXpo1Lbb0fCjGqxTldGN44pLR/5q9bdAxLom3EEqKiBBryVxqAkkm1a98UXPtnh+oDyaFsqTbS65LolEtFEbV/3U=,iv:J0gMlpWc9TVSCRxcdUnlXtNnmahvbc12EsLeFB4BJlY=,tag:h0EaNQ/sl+3sU9+g4ohjtw==,type:str]
unencrypted_suffix: _unencrypted
version: 3.11.0

View file

@ -3,7 +3,7 @@
...
}:
{
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelPackages = pkgs.linuxPackages_6_17;
fileSystems."/mnt/ssd" = {
device = "/dev/disk/by-label/DN-SSD";

View file

@ -1,28 +1,46 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
config,
lib,
pkgs,
modulesPath,
...
}:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "vmd" "xhci_pci" "thunderbolt" "nvme" "usb_storage" "usbhid" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.availableKernelModules = [
"vmd"
"xhci_pci"
"thunderbolt"
"nvme"
"usb_storage"
"usbhid"
"sd_mod"
"rtsx_pci_sdmmc"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-label/NIXROOT";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/disk/by-label/NIXROOT";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-label/NIXBOOT";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
fileSystems."/boot" = {
device = "/dev/disk/by-label/NIXBOOT";
fsType = "vfat";
options = [
"fmask=0022"
"dmask=0022"
];
};
swapDevices = [ ];

View file

@ -1,3 +1,7 @@
{ config, lib, ... }:
let
inherit (lib) mkForce;
in
{
imports = [
(import ../../../modules/nvidia.nix {
@ -6,4 +10,6 @@
nvidia-bus-id = "PCI:1:0:0";
})
];
hardware.nvidia.package = mkForce config.boot.kernelPackages.nvidiaPackages.beta;
}

View file

@ -11,24 +11,10 @@ in
{
systemConf = {
inherit hostname username;
domain = "net.dn";
enableHomeManager = true;
nvidia.enable = true;
hyprland = {
enable = true;
monitors = [
{
desc = "ASUSTek COMPUTER INC ASUS VG32VQ1B 0x00002271";
output = "DP-2";
props = "2560x1440@165, 0x0, 1";
}
{
desc = "Acer Technologies XV272U V3 1322131231233";
output = "DP-3";
props = "2560x1440@180, -1440x-600, 1, transform, 1";
}
];
};
hyprland.enable = false;
niri.enable = true;
sddm.package = (
pkgs.sddm-astronaut.override {
embeddedTheme = "purple_leaves";
@ -65,6 +51,8 @@ in
./sops
./utility
./virtualisation
../../modules/shells/noctalia
../../modules/sunshine.nix
];
# Live Sync D

View file

@ -1,6 +1,6 @@
{
imports = [
# ./netbird.nix
./osx-kvm.nix
# ./osx-kvm.nix
];
}

View file

@ -1,6 +1,5 @@
{
pkgs,
pkgs-stable,
config,
...
}:
@ -18,8 +17,8 @@ let
});
in
{
environment.systemPackages = [
pkgs-stable.shadps4
environment.systemPackages = with pkgs; [
shadps4
];
home-manager = {

View file

@ -1,81 +1,187 @@
{
config,
lib,
helper,
...
}:
let
inherit (lib) optionalString;
inherit (helper) getMonitors;
inherit (builtins) elemAt;
inherit (config.networking) hostName;
inherit (config.systemConf) username;
inherit (config.systemConf.hyprland) monitors;
inherit (lib) optionalString mkForce;
wmName = if config.programs.hyprland.enable then "hyprland" else "niri";
in
{
home-manager.users."${username}" = {
imports = [
../../../../home/presets/basic.nix
../../../../home/user/zellij.nix
./expr
./wm
home-manager.users."${username}" =
{
osConfig,
config,
pkgs,
...
}:
let
monitors = getMonitors hostName config;
mainMonitor = (elemAt monitors 0).criteria;
secondMonitor = (elemAt monitors 1).criteria;
mainMonitorSwayFormat = "desc:ASUSTek COMPUTER INC - ASUS VG32VQ1B";
in
{
home.packages = with pkgs; [
mattermost-desktop
];
# Bitwarden client
(import ../../../../home/user/bitwarden.nix {
email = "danny@net.dn";
baseUrl = "https://bitwarden.net.dn";
})
# NOTE: Disable idle
services.hypridle.enable = mkForce false;
# waybar
(import ../../../../home/user/waybar.nix {
settings = [
# monitor 1
# hyprlock shows on main monitor
programs.hyprlock.monitors = [
mainMonitorSwayFormat
];
services.kanshi.settings = [
{
profile.name = "${hostName}";
profile.outputs = [
{
criteria = "ASUSTek COMPUTER INC ASUS VG32VQ1B 0x00002271";
mode = "2560x1440@164.554001Hz";
position = "0,0";
scale = 1.0;
}
{
criteria = "Acer Technologies XV272U V3 1322131231233";
mode = "2560x1440@179.876999Hz";
position = "-1440,-600";
transform = "90";
}
];
}
];
programs.ghostty.settings = {
background-opacity = 0.9;
};
# ==== Shells ==== #
# Caelestia
programs.caelestia.settings = {
osd = {
enableBrightness = false;
enableMicrophone = true;
};
};
# Noctalia
programs.noctalia-shell.filteredIds = [
"Brightness"
];
# ==== WM ==== #
programs.niri.settings = {
binds = with config.lib.niri.actions; {
"Mod+G".action = focus-workspace "game";
"Mod+Shift+G".action.move-column-to-workspace = [ "game" ];
# Overrides
"Mod+B".action = mkForce (focus-workspace "browser");
"Mod+Shift+B".action.move-column-to-workspace = [ "browser" ];
};
hotkey-overlay = {
hide-not-bound = true;
skip-at-startup = true;
};
workspaces."browser" = {
open-on-output = secondMonitor;
};
# Other settings are located in `public/dn/common.nix`
workspaces."game" = {
open-on-output = mainMonitor;
};
window-rules = [
# Second Monitor App
{
output = "${(builtins.elemAt monitors 0).output}";
height = 48;
modules-left = [
"custom/os"
"hyprland/workspaces"
"clock"
"custom/cava"
"mpris"
];
modules-right = [
"wlr/taskbar"
(optionalString config.programs.gamemode.enable "custom/gamemode")
"custom/bitwarden"
"custom/airplay"
"custom/wallRand"
"custom/wireguard"
"custom/recording"
"idle_inhibitor"
"network"
"cpu"
"memory"
"pulseaudio"
"custom/swaync"
];
}
# monitor 2
{
output = "${(builtins.elemAt monitors 1).output}";
height = 54;
modules-left = [
"clock"
"mpris"
];
modules-right = [
"wlr/taskbar"
"temperature"
"cpu"
"memory"
"pulseaudio"
matches = [
{
app-id = "^discord$";
}
{
app-id = "^thunderbird$";
}
];
open-on-output = secondMonitor;
}
];
})
};
# Git
(import ../../../../home/user/git.nix {
inherit username;
email = "danny10132024@gmail.com";
})
];
};
imports = [
../../../../home/presets/basic.nix
../../../../home/user/zellij.nix
./expr
./wm
# Bitwarden client
(import ../../../../home/user/bitwarden.nix {
email = "danny@net.dn";
baseUrl = "https://bitwarden.net.dn";
})
# waybar
(import ../../../../home/user/waybar.nix {
matchByDesc = true;
settings = [
# monitor 1
{
output = "${(builtins.elemAt monitors 0).criteria}";
height = 48;
modules-left = [
"custom/os"
"${wmName}/workspaces"
"clock"
"custom/cava"
"mpris"
];
modules-right = [
"wlr/taskbar"
(optionalString osConfig.programs.gamemode.enable "custom/gamemode")
"custom/bitwarden"
"custom/airplay"
"custom/wallRand"
"custom/wireguard"
"custom/recording"
"idle_inhibitor"
"network"
"cpu"
"memory"
"pulseaudio"
"custom/swaync"
];
}
# monitor 2
{
output = "${(builtins.elemAt monitors 1).criteria}";
height = 54;
modules-left = [
"clock"
"mpris"
];
modules-right = [
"wlr/taskbar"
"temperature"
"cpu"
"memory"
"pulseaudio"
];
}
];
})
];
};
}

View file

@ -4,7 +4,7 @@
./mail.nix
./nginx.nix
./wireguard.nix
./nextcloud.nix
# ./nextcloud.nix
# ./netbird.nix
];
}

View file

@ -5,10 +5,26 @@
...
}:
let
inherit (lib) mkIf mkForce;
hostname = "drive.dnywe.com";
port = 31007;
in
{
sops.secrets = {
"nextcloud/adminPassword" = mkIf config.services.nextcloud.enable {
owner = "nextcloud";
group = "nextcloud";
};
"nextcloud/signaling.conf" = mkIf config.services.nextcloud.enable {
owner = "signaling";
group = "signaling";
mode = "0640";
};
"nextcloud/whiteboard" = mkIf config.services.nextcloud.enable {
owner = "nextcloud";
};
};
imports = [
(import ../../../modules/nextcloud.nix {
configureACME = false;
@ -25,10 +41,10 @@ in
];
services.nextcloud = {
https = lib.mkForce false;
# enable = mkForce false;
https = mkForce false;
extraApps = {
inherit (config.services.nextcloud.package.packages.apps) spreed;
twofactor_totp = pkgs.fetchNextcloudApp {
url = "https://github.com/nextcloud-releases/twofactor_totp/releases/download/v6.4.1/twofactor_totp-v6.4.1.tar.gz";
sha256 = "sha256-Wa2P6tpp75IxCsTG4B5DQ8+iTzR7yjKBi4ZDBcv+AOI=";
@ -49,15 +65,15 @@ in
};
};
users.groups.signaling = {
users.groups.signaling = mkIf config.services.nextcloud.enable {
};
users.users.signaling = {
users.users.signaling = mkIf config.services.nextcloud.enable {
isSystemUser = true;
group = "signaling";
};
systemd.services.nextcloud-spreed-signaling = {
systemd.services.nextcloud-spreed-signaling = mkIf config.services.nextcloud.enable {
requiredBy = [
"multi-users.target"
"phpfpm-nextcloud.service"
@ -71,7 +87,7 @@ in
};
};
services.nats = {
services.nats = mkIf config.services.nextcloud.enable {
enable = true;
settings = {
host = "127.0.0.1";

View file

@ -1,5 +1,5 @@
wireguard:
wg0.conf: ENC[AES256_GCM,data:AL5GVljm3Ta9Deb2SiUNEvtTSL1L9E5lcMhE6szjXCCfBnOpK8RiVe/b6JGC9RzE6DFiiQdZoKBWLy7rcrIjrDA09bCaQO5Gjjl2YtEkI0FULcMI8PuIQ8j2sYgjk0FAXRsmNy5U/v6afIum5wN2iTsYL1y3DObeRoNrsQNhBYDQBE0ZmcJxgtQYihUuGuEYcDLhzhFXfYKZrG1Grwqpcn0KK8K5A3qPgtq8fn86KuMZ6i4MHAiG7OJgXMpgTHjmWpJ819qsswjkpF1RgjgpET28IiNza9FIbxiflIXXagSZeigtLIJ6dOZwBgt0f5dgfr41dN/hT5SEHFADdXIa,iv:OsB8mf+WB9C/kvGzTs/LxqjimPISDGhU2P2GjbkYEbc=,tag:lCxtFVViYejQhZUfmdkGrg==,type:str]
wg0.conf: ENC[AES256_GCM,data:ozySeNEvkiLt9TGrZCrlJWKT5gcSlZ9T8AeXGO97SPgxI394eCQ/LOkVFl7AykhZvs7YkxMpZzAZxc0oNdTYuDlqfrNr0pqTUJmpX+5PVRmDb5z2MJvERktVkJ4LSvVodoYznDwT/y9q199AFKf3t4EoWuRyR/il6P8HuGVHXrKRYUrwuB4nuq1SIByY+8D2gzohFB/s6pSOPYy6/xCt0Nm+x0wmcdrlyOb0S+4WXlcou2ll98o9q2YDdVBKeW4jyUjFqXM2XzD0JXpAi9ZFlyzxyYNwa4oMYATyCBCH4BNHqe850QHEoCaOovioEdDH/tluB2X/891ixqzURypzbg==,iv:3Q5xOgGcg8/DIwHt4fHsQGtN8f2hGpVDtf47PcwW62I=,tag:SbJqhWi3+h1O5ZIOayDrUw==,type:str]
dovecot:
openldap: ENC[AES256_GCM,data:U3YYreEqoh+F0Mrli52jgQowrUqIUPmdQps=,iv:vTjHBFsue+89GOCDigVIktgGSZNZv8A2e3GM80o6TXc=,tag:GGh+hsT+yV/I12meXxflbQ==,type:str]
nextcloud:
@ -38,7 +38,7 @@ sops:
MEdmWkFwNXZoR1ZVRnQ0aWlkYzZwSmsK0EFecUIdqlDKX08oRCoDQQ3QCX1wzb8w
lghDJhWlfuKr+X24GoE4UK04aJVLqVMRRI4BJW+LQXeHS+dWKu3mQA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-11-22T10:29:33Z"
mac: ENC[AES256_GCM,data:hcqqPP7EEDrFWwKU3Yl0XM6h17pLXBsmISMd94qYzaxmT/nKnF5bn8dq6M1C9t0Q0vvLjrPm94Gv2HPPJOX960whYMfwuXv/RkORJGb4qXdkXsGJaCrR9M51HArrd7Ba3pjoEyp3Jz9xTNrqg8kCDphBs0oZRV6dQDJUTdLbR50=,iv:eH5T27fthAad/dM5NxXyQawiVmTGgwJbeRXAiut9kL4=,tag:3lGkJMZKo8O1Zm1fB3DJ9Q==,type:str]
lastmodified: "2025-12-19T12:39:37Z"
mac: ENC[AES256_GCM,data:JSwphdjAfZcLSuctzruwVjBQXhbQKnEda93KlrH8eoSJcFXBRCMz0v+HY2nBlrC9lwp9vgT3HnGmR6hIPi48UtyxYcGOJy33OY4M1it0WGE2r8Ikg++5cBUtacK4QdwuMCADhNT5ZHs5T7UUX0GMLeqAtrcJ3FKt+4+catsOvnE=,iv:7ZTi86IkbScizZlOCk+uXDyWzrFDsLRuLuzjUFsMFR0=,tag:3/i7BZ8XYALj7RYj4dIUgA==,type:str]
unencrypted_suffix: _unencrypted
version: 3.11.0

View file

@ -6,18 +6,6 @@ in
sops = {
secrets = {
"wireguard/wg0.conf" = { };
"nextcloud/adminPassword" = mkIf config.services.nextcloud.enable {
owner = "nextcloud";
group = "nextcloud";
};
"nextcloud/signaling.conf" = mkIf config.services.nextcloud.enable {
owner = "signaling";
group = "signaling";
mode = "0640";
};
"nextcloud/whiteboard" = mkIf config.services.nextcloud.enable {
owner = "nextcloud";
};
"lam/env" = { };

View file

@ -2,5 +2,6 @@
imports = [
../../../modules/virtualization.nix
../../../modules/wine.nix
./kvm.nix
];
}

View file

@ -0,0 +1,24 @@
{ config, pkgs, ... }:
let
inherit (config.systemConf) username;
in
{
programs.virt-manager.enable = true;
users.groups.libvirtd.members = [ username ];
virtualisation = {
libvirtd = {
enable = true;
qemu.swtpm.enable = true;
qemu.vhostUserPackages = with pkgs; [ virtiofsd ];
};
spiceUSBRedirection.enable = true;
};
environment.systemPackages = with pkgs; [
# dnsmasq
qemu
quickemu
];
}

View file

@ -61,6 +61,12 @@ in
"nextcloud"
"vaultwarden"
"paperless"
"keycloak"
"pdns"
"powerdnsadmin"
"roundcube"
"grafana"
"crowdsec"
];
location = "${backupPath}/postgresql";
};

View file

@ -9,8 +9,6 @@ in
{
systemConf = {
inherit hostname username;
domain = "net.dn";
hyprland.enable = false;
security = {
allowedDomains = [
"github.com"
@ -25,6 +23,9 @@ in
allowedIPs = [
"10.0.0.0/24"
"127.0.0.1"
# CrowdSec
"52.51.161.146"
"34.250.8.127"
];
allowedIPv6 = [
"ff02::/16"
@ -45,7 +46,7 @@ in
'';
imports = [
../public/dn/default.nix
../public/dn
./common
./home
./network

View file

@ -1,34 +1,20 @@
{
inputs,
config,
pkgs,
...
}:
let
inherit (config.systemConf) username;
in
{
home-manager = {
users."${username}" = {
imports = [
../../../../home/user/config.nix
../../../../home/user/direnv.nix
../../../../home/user/environment.nix
../../../../home/user/nvf
../../../../home/user/shell.nix
../../../../home/user/yazi.nix
{
home.packages = with pkgs; [
inputs.ghostty.packages.${system}.default
];
}
# Git
(import ../../../../home/user/git.nix {
inherit username;
email = "danny10132024@gmail.com";
})
];
};
home-manager.users."${username}" = {
imports = [
../../../../home/user/config.nix
../../../../home/user/direnv.nix
../../../../home/user/environment.nix
../../../../home/user/nvf
../../../../home/user/shell.nix
../../../../home/user/yazi.nix
../../../../home/user/ghostty.nix
];
};
}

View file

@ -159,6 +159,12 @@ let
publicKey = "5th0G9c7vHrhcByvPJAbrn2LXjLPqDEMsHzda0FGUTQ=";
allowedIPs = [ "10.0.0.148/32" ];
}
# DN Win
{
dns = "win";
publicKey = "LuKw1w879a3kRaBK+faToVmb9uLhbj6tf/DstgMMJzQ=";
allowedIPs = [ "10.0.0.149/32" ];
}
];
in
{
@ -424,7 +430,8 @@ in
# python
''
import cachelib
BIND_ADDRESS = "127.0.0.1"
PORT = 8081
SESSION_TYPE = 'cachelib'
SESSION_CACHELIB = cachelib.simple.SimpleCache()
SQLALCHEMY_DATABASE_URI = 'postgresql://powerdnsadmin@/powerdnsadmin?host=localhost'

View file

@ -1,5 +1,5 @@
{
imports = [
./atticd.nix
# ./atticd.nix
];
}

View file

@ -1,6 +1,6 @@
{
imports = [
./fail2ban.nix
./crowdsec.nix
# ./crowdsec.nix
];
}

View file

@ -7,7 +7,7 @@
}:
let
inherit (helper.grafana) mkDashboard;
inherit (lib) optionalAttrs;
inherit (lib) optionalAttrs optional;
inherit (config.networking) hostName;
datasourceTemplate = [
@ -78,28 +78,33 @@ in
}
];
})
(optionalAttrs config.services.crowdsec.settings.general.prometheus.enabled {
job_name = "crowdsec";
static_configs = [
{
targets = [
"localhost:${toString config.services.crowdsec.settings.general.prometheus.listen_port}"
];
labels = {
machine = "${hostName}";
};
}
];
relabel_configs = [
{
source_labels = [ "__address__" ];
target_label = "instance";
regex = "(.*):[0-9]+";
replacement = "CrowdSec - \${1}";
}
];
})
];
]
++ (optional
(config.services.crowdsec.enable && config.services.crowdsec.settings.general.prometheus.enabled)
[
{
job_name = "crowdsec";
static_configs = [
{
targets = [
"localhost:${toString config.services.crowdsec.settings.general.prometheus.listen_port}"
];
labels = {
machine = "${hostName}";
};
}
];
relabel_configs = [
{
source_labels = [ "__address__" ];
target_label = "instance";
regex = "(.*):[0-9]+";
replacement = "CrowdSec - \${1}";
}
];
}
]
);
})
(import ../../../modules/grafana.nix {

View file

@ -11,15 +11,15 @@ ldap:
env: ENC[AES256_GCM,data:XmIz9JEswvK1jVmTsTgdDZJXeK7j8E/b6nF+uuZpvpoe5/IogjMrzcWi3EB1i44z1Dxgoim8QM8ZtczY,iv:1jK/J2qfKODrbrNpSHl110jPvbNLl0zI//laowerJOc=,tag:tkBVxDC8Ebn3Aac+LATQFA==,type:str]
oauth:
password: ENC[AES256_GCM,data:lzS/OtqHb/24IJnOKxMBQA==,iv:BI1n7Jjklye6WM2ss7jpaGgokrJpAG2Ipil7VrY30XM=,tag:i3OByJ6LDwvAsS5CTrEQig==,type:str]
adminEnv: ENC[AES256_GCM,data:LECZ1/KtaEB7kUN6zNDUr08g2SVtGhWEvy2QA9jzU3vJ1U8NDnPXjfDkkH1bIw==,iv:pPz7J+DdF7zkqzFlevoeYQGZnA2PQDoRYcpOaOeHN3A=,tag:e0iVPSZQ1V3aWYtKpGnBGg==,type:str]
adminEnv: ENC[AES256_GCM,data:tF7ECUxG5QeNIvx3IFpTtY7NnSXROGHi48jGXZNgJVX5cABNIYBUqYW9/p2KbA==,iv:7oNmOBEs0b9mB6Ay7IULH2AumQOdIyQ+hDHm5kV6lTY=,tag:jkfA6D8CKg1jC21dS7Sumw==,type:str]
powerdns-admin:
secret: ENC[AES256_GCM,data:M5hD8B7kikseQJZCWUIlc7OJcQn0nwnx0QOSQe+Mf8TaztvyFfSfxv0vowNsx0MyGef4teuK+DW9/UTbRFEHeg==,iv:xaSgzhqMU9+ud1xfXLVkg3v2xcmIo35BOhml5VfHKBI=,tag:L1v95+HsIqNjVA1LGNbEJQ==,type:str]
salt: ENC[AES256_GCM,data:Vtn3/gJlElrFkPwoa05wlxVL/Sk4lNLghp1gi6o4V5A=,iv:/lRVfNOpERS963+9JNf8wATIY9FcicT8xQ9Cbw2by/s=,tag:x5WiNa56l7y3CKwbaamLLA==,type:str]
salt: ENC[AES256_GCM,data:rs4tZrVF4kb6/97wjQA2Npb2QeS6vjN3L1zRgmM=,iv:c0VTEtnahMSfs/PqeFQxYpDstLxPKaW1RyXMc6SQJu8=,tag:dXHUO2KJvP5Sz22Gv6ws/w==,type:str]
powerdns: ENC[AES256_GCM,data:d4qzUAjyHUxLynvP6vSxCzrihfb/X3KYHeRA/w+CButld7ulxL9W6PerhvNcJytgfJDQINvcgnMKjijJ/vC7VeO9p7ZyArh4/PWZwgiJ,iv:orfh5F4uCYq2IplG0Y7Q/RcSqIm5Xyzn3ejzPsm+/0k=,tag:YqfvBlJRpkmMy29z3wyJ1g==,type:str]
rspamd-trainer: ENC[AES256_GCM,data:EqWVADi7zr6AUZL5mlN1/xbpjuRIS3Zn,iv:M/xk7LywcRiKQM9LrnTnCKu3OS/YBf23CRkxh4ll1+c=,tag:4lH3hhMxWIzEUExJOt/41Q==,type:str]
rspamd: ENC[AES256_GCM,data:qEXHXdcvk24pAHEl6MI=,iv:L5tmoTu5Qk5sxDj3EmWfc39AHwRTT4T4gB1O2EsTQkY=,tag:vIhAOnEpWxtP0eU4stkQww==,type:str]
acme:
env: ENC[AES256_GCM,data:gHoAyc6+LK7jrTfrIlPJx+RNe90xTpVVykDEfor3+ifRDRCPfxLmfj1nWylRp7r3N/Ha8AlElvNPmn4mVMsM2OsXmZoYoO+YOVq1zShXHI3A2dHgzJGxaCu/zuf2AWefEsBDWhjbGxWUpjjcEh6mOgvuh0HHGdW0uq6EL5LqDZiPMGdYNdJLEuy6s9pdQt69mVWAwGVA9eTvbnG0W91/35SUeOSs+la+YRCSPQ==,iv:QebJyJ1+6dYQulVkDdkFx34KkiH9xzsX+C3TYDdIMkw=,tag:h7Oxt04PqkFDdb7ZuyVnlQ==,type:str]
env: ENC[AES256_GCM,data:DQaHr13K3faeyQk/05sVmmZRNvEbjmMP8y3nES1vyFO+oNX9nyyWcy5YEAO5tjRTxi/yM1ISlhbXWct4iRwAkvnhtoFRK/jpAfDv+W3J1LotaRxiPWSXUs5lS7uS0DpveRwQVv6qEl3Cs8vitHAJfRCKJoYv5HTJyvOnoWqHbnk=,iv:co3V0vu2c26NKHuoNoRv7td8qu6m0NTlvkr3EJBQGvM=,tag:leTY/DGg85Pm8gsAHah29Q==,type:str]
postsrsd:
secret: ENC[AES256_GCM,data:JZNwSymEjIFb8h3gnvFajxSaNYRxjA/NUruA4WX+uSqX0ufVcbVWgxQTr7U=,iv:ydGnCESCLbwyGKc+5witXDkT3OgW27LKen7PkqUL6mU=,tag:M3RGI6LgU5n2e6ZiXxTFfQ==,type:str]
grafana:
@ -70,7 +70,7 @@ sops:
OFloWEFuTC9GTXJsMG5NNktmdmIrY1kK0yN0ae0xNaydujV5lt2FiwXdyursG0DK
9i/B3TTAm9csDMMSTSFbiAUJDzG7kIqn++JU/cxvsGScSnhMqjEK/g==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-11-24T10:30:46Z"
mac: ENC[AES256_GCM,data:yBegCnXXKimHlZ5UcPL6O9VbhdpASMd09t7m2fxLFGYgHXYFsuRda8puVpe9EiukNRJzhkWZRjJUHI+nE2cdibx5Ewaom8lbe8pKB1A7qrVSXjU+f5HTMjUdB+ACAcGlErc0wniekwSQj2LfIYknYm2nVz2M5VeDbYxz7F5PAO0=,iv:vMdsGEe1ZPQdNtSXhtwC0StiuhBVViCuBGTURep37UM=,tag:mB2kZZcrGnmChQQRc4wvTA==,type:str]
lastmodified: "2025-12-29T05:31:41Z"
mac: ENC[AES256_GCM,data:7vRB92qX6NPYafjpTY0wS23bq5Jn57xkWamJZ2ZgD4/2rW+qRilmO6sqaZEktWr7q2jQzgSvdgZsgbuhkxoqQXrTVP7osjr8qQ20jL9OXLxSgPQry2QqNBqlSdjEUov/bygJA0oI46K8pdk6OrT07Few/nXMrvUixFAGGUsKmJc=,iv:Gd5X70COnDL4Ntps/bedF92uUH6hCosDj2dsbF0KQHw=,tag:O3vq/kFnay5le7F1Q2heJQ==,type:str]
unencrypted_suffix: _unencrypted
version: 3.11.0

View file

@ -0,0 +1,72 @@
{ config, ... }:
let
inherit (config.systemConf) username;
in
{
systemConf = {
face = ../../../../home/config/.face;
domain = "net.dn";
};
home-manager.users."${username}" =
{ ... }:
{
imports = [
# Git
(import ../../../../home/user/git.nix {
inherit username;
email = "Danny01161013@gmail.com";
})
];
# ==== Niri ==== #
programs.niri.settings = {
input.keyboard.xkb = {
layout = "us";
options = "caps:escape";
};
workspaces."game" = { };
window-rules = [
# Steam Game Fullscreen
{
matches = [
{
app-id = "^steam_app_(.*)$";
is-floating = false;
}
];
open-fullscreen = true;
}
# Steam & Steam Game
{
matches = [
{ app-id = "^steam_app_*"; }
{ app-id = "^pioneergame.exe$"; }
{
app-id = "^steam$";
title = "^Steam$";
}
];
open-on-workspace = "game";
}
# Steam Dialog float
{
matches = [
{ app-id = "^steam$"; }
{ title = "(.*)(EasyAntiCheat_EOS_Setup)(.*)"; }
{
app-id = "^pioneergame.exe$";
title = "^$";
}
];
excludes = [
{
title = "^Steam$";
}
];
open-floating = true;
}
];
};
};
}

View file

@ -1,5 +1,6 @@
{
imports = [
./yubikey.nix
./common.nix
];
}

View file

@ -1,5 +1,5 @@
ntfy: ENC[AES256_GCM,data:7m7hwmDWu6qP/mX7QujXPiDAmRC542CKyWzFaOL5sHza,iv:nn1F44LSFmrV2USRDD0z8CNfUhi40LZnvoU3j0nklcU=,tag:WhqQpThDaG10kNTk1tZxOQ==,type:str]
u2f_keys: ENC[AES256_GCM,data:boiKENOBo4hBWx9d+KVweCQrmFasDVUejuWrw60oPybPEW0pqTWz5GhQjfG6J0PWNFr/ObABT5eofKiSoy/pZ9uBQQGFO1nAA41axhI1Y9nuyBkkrNPYRnZsojdOcahNGMz1hplXTMzSdKgwutzA4/dsGG1ki/EOiuYRUgzQ/IzjEfqWGeBDlHoq9ohhTFFpsdNgZqgu23m3+Z0hcpquJdY3bhBi0L1nU3B88wJ7MiLyp2mVM3GA7i8jeIUmwqJCEuA3OkG3r3oUHO/l61N+0qtss8bmghf6bsJYtvkhCjXOiEE9R8dpCzjwXEhgAGcYiqiPWzLCl3WyYaytNlVJF/MHC+R0S1ruBV0RLrzCnvxaav8iqa4l3y2ErRB0qUgvO386suGNh2cEYTEEKF4GcQM6mzXbLzUqK4H+nGBC3SdArdphTIgWXP7C+romXzwgGVBLWW/4atRkj0ZF,iv:Rxke3HDAvcLv9sks5jDhNsfxXwSD4TgfGoN7v9HDntk=,tag:IkCsaFVPdgobd9+EX3CwIw==,type:str]
u2f_keys: ENC[AES256_GCM,data:0EofFtgar18YzbzXiT6NdC9nwMTQoYkeU8snRTwhUX2Hz+k4B46839xZet4Df5a8xpaB2CuoPvRkEMSxknBWGKkK+gZr2m+zogbpMTGQVTYqmqlnunywrhe9u9FQ5D1hwU4PYcOgDqox5dw4QMg/AUontu5BYTG3WKCCTDVIL+i6PejwXKcfoKHd9G1K2QHV33S40EM4/jjijgxW+NoO6vkEWIwxih/DxQ4YZYTHHBZXhKRD7Hwhikd6G3Vs3/xD/UOVVJKtkyn1wKNQf+O30Q2LNOhDQ8/weNfN9IAMpVtRqvEtFXA2rfp9zI7TY1iuSN9nN9hYuZJeCktvK1WiRvspU5wYn2jDtM83zCA8Udnq1XJbsGEv2aA3SYyxoldtkjFcjlupGa1lJiaANxhmpOfJp0IIkeXqnIkLE/FzRFiced58H1UV6InlH5S/Lz42854ec/jDlgvzCnDoWIsgfgQf+KmwRHznzeepPW7S3tyB/jbJETEfCJfZ3E6YmeAMWd85drTKsySjBGiM7mueb4thGstfgnAEO/Y3PuVc/qGS1j95lUc0w0zbr3VzwibxCsS02PgMIUE5gZPEllknbhh6QiqbS2AtTAb9pIwrpYfEmcZU2blofQ8WzkLEjqNnRGaDXzgIEw4OirM0tSaFGmT9Vy1XN4yvSVssjsW/wXg19U4S/6FS+zOvyg+lIkT3NOfu5dKQecz8cH0czEN5MoVj3fm5LBhFmDOawP5AAA8dLafMEepxbBIGr/9nzDP17trMfzFf78hymHTgQk/qFb6oWl9Ai1dFZRwHO7HcXpBveTpPMCaeNOjcvRrvKsm2HSzsWPCVsfX6nrmNjqyFJXpPuuNaPezclL/ApPdEXpi9Q+aVHAgjllBLAH/R8UJu71cJAo+x7TCWykG31xLO0xodtJ5Lwk3O1lMnznnQXT/fCVaFYV24OT/nS7hQOtDvlJOCfmSpZTmZxX31xF4Gt0Auok+0uPJzDfbFQH9WwifXn6F8ixdsLK/VJMEk8EZbHpkNSV6hzWJkiOeJCDl7SBKEcQ+FizYSfZuOcVEt83ScJuVa7IScVLdatnTTTpR4c5GASYLr3lahqYwhuZGcQEUIwjDXu8Oymo0Sbvnmev60wY5Q3BEMSX1iwt3QWdCe5Kzq2vEUQHP9s6lg7DgOeIA2xQRK5siqwOhw9i1qaHbPG+1yTFOx7gRu0+yBy2Qzkwsc9naD8Ce0hpwQmu4Nvpd5TjMnS51ljDMWBok5evdOtGeWL9mDz6VdxtuHbcBShmEOk+lfKKjpDeK5319veBX5ugCm8WXeDmIIhG12gI07xRVzPaeYEhnRG2pHy/+JdjlyGeh0oHCJOYPhxtwVbqXwmH83BGn3H05bdIWEjXs=,iv:pAdO+Uja/Zyf5uLMa9zbKvEMoOOjQgkqHYnEH+Bxd5k=,tag:mYngzcv0bGwVJBHOR6D4uw==,type:str]
sops:
age:
- recipient: age1uvsvf5ljaezh5wze32p685kfentyle0l2mvysc67yvgct2h4850qqph9lv
@ -29,7 +29,7 @@ sops:
QWV3VjRjNC9RaXNwbDdLWmVQNS94UzAKeLZSqcXRwkVoUUKd4PuRusbJwFlubdJy
kcxGMzvfT0BMYDp61vV+F5Vh4TkgddCzp6Lphbb/6orkWWpjmE9I4g==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-11-21T12:34:46Z"
mac: ENC[AES256_GCM,data:jec/S+h3feoez+1OaWkZHAlSNhsLv8R4yXPIFjVUaYionJKMUAAizLtVsmpVHNRn8OCBhb7zi+Yk4GClZQqg/I8iTY3tzDTIJJsHoj+KsxuQohRASDikaYLTfdad44vin8ayxSKjSScK3JpwX5B12Rffx8DCPqUtXY0TGa0ULoQ=,iv:R1YiVCx3WDZO4b2d9TbdTnWmVmG4MQye4TUWWdIa4Yk=,tag:ACZoECWIqDRITghc8KwUsA==,type:str]
lastmodified: "2025-12-09T08:03:16Z"
mac: ENC[AES256_GCM,data:6njhvipu8iUze0mmgFIWT6Neqy2xvNPB/4fW7OObHknXAh3VGAveBnigxAJmULua6HdQx4hZ2UkUrVBG8oStjCihFYJA0eBA9j9mM3rF7Piq2U98oGtw4A9Qj2PVC7Y8pOOuX25VRmDn78cw1PpwSEZL3zZ+8cqS5btHywJackY=,iv:AeRcrhhxl5v5YLNWUPx9qvGcMKHFQD/m87PJAGWa9iE=,tag:TN1KCUNa7lVWgxQ16WRijg==,type:str]
unencrypted_suffix: _unencrypted
version: 3.11.0

View file

@ -1,7 +1,5 @@
{ hostname }:
{
config,
lib,
pkgs,
...
}:
@ -12,20 +10,11 @@ in
systemConf = {
inherit hostname username;
domain = "net.dn";
hyprland = {
enable = true;
monitors = [
{
desc = "AU Optronics 0x82ED";
props = "prefered, 0x0, 1";
output = "eDP-1";
}
{
desc = "AOC 24B30HM2 27ZQ4HA00101";
props = "prefered, 1920x540, 1";
output = "HDMI-A-2";
}
];
hyprland.enable = true;
face = pkgs.fetchurl {
url = "https://files.net.dn/skydrive.jpg";
hash = "sha256-aMjl6VL1Zy+r3ElfFyhFOlJKWn42JOnAFfBXF+GPB/Q=";
curlOpts = "-k";
};
};

View file

@ -5,96 +5,96 @@
...
}:
let
inherit (config.networking) hostName;
inherit (config.systemConf) username;
inherit (lib) mkForce optionalString;
inherit (lib) optionalString;
memeSelector = pkgs.callPackage ../../../../home/scripts/memeSelector.nix {
url = "https://nextcloud.net.dn/public.php/dav/files/pygHoPB5LxDZbeY/";
};
faceIcon = pkgs.fetchurl {
url = "https://files.net.dn/skydrive.jpg";
hash = "sha256-aMjl6VL1Zy+r3ElfFyhFOlJKWn42JOnAFfBXF+GPB/Q=";
curlOpts = "-k";
};
in
{
environment.systemPackages = map lib.lowPrio [
pkgs.curl
pkgs.gitMinimal
memeSelector
];
home-manager = {
users."${username}" = {
imports = [
../../../../home/presets/basic.nix
home-manager.users."${username}" = {
services.kanshi.settings = [
{
profile.name = hostName;
profile.outputs = [
{
criteria = "AU Optronics 0x82ED";
}
{
criteria = "AOC 24B30HM2 27ZQ4HA00101";
position = "1920,540";
}
];
}
];
{
home.file.".face" = {
source = mkForce faceIcon;
};
}
programs.hyprlock.monitors = [
"desc:AU Optronics"
"desc:AOC 24B30HM2"
];
{
wayland.windowManager.hyprland = {
settings = {
input = {
kb_options = lib.mkForce [ ];
};
bind = [
"$mainMod ctrl, M, exec, ${memeSelector}/bin/memeSelector"
];
};
};
}
(import ../../../../home/user/waybar.nix {
settings = [
# monitor 1
{
output = "eDP-1";
modules-left = [
"custom/os"
"hyprland/workspaces"
"clock"
"custom/cava"
"mpris"
];
modules-right = [
"wlr/taskbar"
(optionalString config.programs.gamemode.enable "custom/gamemode")
"custom/airplay"
"custom/wallRand"
"custom/wireguard"
"custom/recording"
"idle_inhibitor"
"network"
"cpu"
"memory"
"pulseaudio"
"custom/swaync"
];
}
{
output = "HDMI-A-2";
modules-left = [
"clock"
"mpris"
];
modules-right = [
"wlr/taskbar"
"temperature"
"cpu"
"memory"
"pulseaudio"
];
}
];
})
];
wayland.windowManager.hyprland = {
settings = {
input.kb_options = lib.mkForce [ ];
bind = [
"$mainMod ctrl, M, exec, ${memeSelector}/bin/memeSelector"
];
};
};
imports = [
../../../../home/presets/basic.nix
(import ../../../../home/user/waybar.nix {
settings = [
# monitor 1
{
output = "eDP-1";
modules-left = [
"custom/os"
"hyprland/workspaces"
"clock"
"custom/cava"
"mpris"
];
modules-right = [
"wlr/taskbar"
(optionalString config.programs.gamemode.enable "custom/gamemode")
"custom/airplay"
"custom/wallRand"
"custom/wireguard"
"custom/recording"
"idle_inhibitor"
"network"
"cpu"
"memory"
"pulseaudio"
"custom/swaync"
];
}
{
output = "HDMI-A-2";
modules-left = [
"clock"
"mpris"
];
modules-right = [
"wlr/taskbar"
"temperature"
"cpu"
"memory"
"pulseaudio"
];
}
];
})
];
};
}

View file

@ -1,5 +1,5 @@
wireguard:
wg0.conf: ENC[AES256_GCM,data:6+FDJQiL+h0lOk74oBmE4yhav9fYMHxetTGkl8B9guqt1qe0l+K2xPzO4QETVCQl/AVs7Y8lnM1ucGCP6JScaiQONq0+cl5Am4+HJr6VhxEooPkt33qYtm6yzPqj/skyAMTsBE8NSmQ0W0nC6JSfl4IWiyksEkybotfClnFA7M5HCVm7pJ+/OXXM/UdiHHD2SanEfU1klA1pQrbxTOUHV/OUpt+d/upP21SGKBgvvm7P67qDeI+3bj9b+Og+Oz2P9YF1K1lcsC+xcdT50NOQ83p9UpUMYMaUGoPh6DcCVrDD2yr5CG01CbnP0SYqiY3vY5YfRDCEIeHFEk3clog3,iv:xQLcrm7Bj2Yoij8PkLIaWH7n81lF2IUGvhKmG3PGCAQ=,tag:YGCasXRmkv8QRgMGgfteiA==,type:str]
wg0.conf: ENC[AES256_GCM,data:AAxGzCQIk+fq97R48lmeNwjx6z5MGc01F+vAg8MAyFSoc2x7txXT2d6CVD8/IHH/OWqHqEXRZq/T6Gd7WakSW0QxnV/+TJiezBfQwEXjHn7JZWeL9FAQ/ki+81ORkEyxi+Qy7vSVYaZ/LwzsHk9SdPDyDcTOHKzvL83p9RifgEqQEm4a6Bcvf3s7g1VtH3eDOTC2biHY3LCck08OsagMdrndRK2FjWdsPo+MuimqvIQb+eUhJ63p7/XrVcudypJWVhWU4EmY00VBN+stURJMFAuvUcEhwhmJBBRufiadzfjqXQtCCS04MXgpQyv1eufo89d1LzvQiseTQCejlsyF4Q==,iv:A1iJ1C7oCQqRhaDZxEPr8N9cyViTMZRttwLZ4PWhqiU=,tag:A6Or7u2A3HgDcv6e3SXpEg==,type:str]
sops:
age:
- recipient: age1ar5h06qv72pduau043r04kschwcq0x0lm33wqvxzdh9grmp3cq3sy0ngnz
@ -20,7 +20,7 @@ sops:
SFlTZ1BoanoyRTB2ZkJWSHRpcnZwZDQKZ+KF6Jh3zRPr+bDmpeVqdo0qW7vnyFtv
V5K8QYFEq9ZEz2u2DEZtyzBYBtTvF3TZz+DL63NHGH7vUVU4cpzxYg==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-10-01T05:33:09Z"
mac: ENC[AES256_GCM,data:DJzfOk3BSHFdhVbW1WUOfHVw0qt1VlLKAkavtwcerd4Mb6HmY3IE9XSAapmcgDjeAdonDlOOTZCArcymkjT8q1lvqkhNsCbR2BYyZTzOcbI52pqoKGfaYE9kUtg2i1bNnQAuNF6oTqJEoJv3zVUUP0NgdUMtOa9QJio+mJyJ3F0=,iv:KaBis+WF8AuQV7wThQ3OrhFZUl+CF4OZ8D5otSIJRrg=,tag:EjjGdYisgWztKK8yfdXBcg==,type:str]
lastmodified: "2025-12-19T12:40:34Z"
mac: ENC[AES256_GCM,data:pm8Fx9jFzk4ybdUEzA5IKA6iZdEswq6w1eNGWT9bir/YVK5rQz2x6ZLbmj3gY6C2QiEgWZGzA9XtHajDWNi+8tpefBfEwEuVztqjXTFM+toKTQcGKIJ5F3uOboE3zsbd9qe2n6zpECzUAeQulwlq2qQqPVSBGOZFUhI9hT23oVY=,iv:hi1sqP6PHz2J6f7lnMnhJd5Sk82aDIeyHqF9R81ofFw=,tag:0SLvYRjbAQ4iIoPNcyqfsg==,type:str]
unencrypted_suffix: _unencrypted
version: 3.10.2
version: 3.11.0