Merge branch 'master' of ssh://ssh.nx2.site:50022/nx2/dotfiles
This commit is contained in:
@@ -46,11 +46,12 @@
|
||||
|
||||
./system-modules/simple-postgres.nix
|
||||
] ++ (if hyper.isServer then [
|
||||
./system-modules/stay-up.nix
|
||||
|
||||
./system-modules/nx2site.nix
|
||||
./system-modules/hugo.nix
|
||||
./system-modules/postgres.nix
|
||||
./system-modules/nx2site/proxy.nix
|
||||
|
||||
# ./system-modules/nx2site/smtp.nix
|
||||
# ./system-modules/nx2site/imap.nix
|
||||
# ./system-modules/nx2site/vmail.nix
|
||||
|
||||
80
flake.lock
generated
80
flake.lock
generated
@@ -20,11 +20,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1777499565,
|
||||
"narHash": "sha256-nU55VWk99Pn1QzQDDjFISocC4SgDZ3Xp+zb6ji3JclM=",
|
||||
"lastModified": 1778857089,
|
||||
"narHash": "sha256-TclWRW2SdFeETLaiTG4BA8C8C4m/LppQEldncqyTzAQ=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"rev": "813c1e8981893c11e118b19c125d6bc282f51765",
|
||||
"rev": "ab2b0af63fbc9fb779d684f19149b790978be8a8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -39,11 +39,11 @@
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778198574,
|
||||
"narHash": "sha256-XzgYoibIH6diZoZ2GzoGeyV2xdXAwBtXdAze+Qu2kR0=",
|
||||
"lastModified": 1779740183,
|
||||
"narHash": "sha256-WgZFCa8mutaHzVVdS9QedtDWpVKsOGtqou8LNqHwvn4=",
|
||||
"owner": "9001",
|
||||
"repo": "copyparty",
|
||||
"rev": "139ef1851e5d698521a5c2078c56f951d6e54d00",
|
||||
"rev": "e32718303cd7560f60d3e0ddd473a8a69d7dfa81",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -220,11 +220,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778401693,
|
||||
"narHash": "sha256-OVHdCqXXUF5UdGkH+FF2ZL06OLZjj2kvP2dIUmzVWoo=",
|
||||
"lastModified": 1779506708,
|
||||
"narHash": "sha256-QOD/CNm196nCJRheux/URi4/HE66fthdOMqCJoPP1Y0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "389b83002efc26f1145e89a6a8e6edc5a6435948",
|
||||
"rev": "3ee51fbdac8c8bdfe1e7e1fcaba6520a563f394f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -330,11 +330,11 @@
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778504983,
|
||||
"narHash": "sha256-A4YUxIZ/w2KZOiIiI0xVPEoXexGei+R0Va6B+92zW6o=",
|
||||
"lastModified": 1779729308,
|
||||
"narHash": "sha256-tMt7oeAahwHGDgSIf5XKZoUXenOvlxjI0KBPku97tzM=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "5e441cae538c9396f2ee30338419bec12969608c",
|
||||
"revCount": 7302,
|
||||
"rev": "bb3353f864be97e9236cfafca68ce71d7cf590dc",
|
||||
"revCount": 7364,
|
||||
"submodules": true,
|
||||
"type": "git",
|
||||
"url": "https://github.com/hyprwm/Hyprland"
|
||||
@@ -509,11 +509,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778234770,
|
||||
"narHash": "sha256-jAcsogZwWMfXT9MfXxZzkwliAqIuZUV0p71h6Ba9ReE=",
|
||||
"lastModified": 1779475241,
|
||||
"narHash": "sha256-Nw4DN0A5krWNcPBvuWe5Gz2yuxsUUPiDgtu6SVPJQeU=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "a2dbd8a4cc51f7cbe4224732668392bb1aa79df2",
|
||||
"rev": "3cd3972b2ee658a14d2610d8494e09259e530124",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -563,11 +563,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1777388329,
|
||||
"narHash": "sha256-40YxVGF2rA9iH3D7am5fy4EOSBbMgpJtJ9yhl0Cx+qI=",
|
||||
"lastModified": 1778410714,
|
||||
"narHash": "sha256-o6RzFj4nJXaPRY7EM01siuCQeT41RfwwmcmFQqwFJJg=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwire",
|
||||
"rev": "04be2897e05f9b271d532b5ae56ca088d2eeac02",
|
||||
"rev": "85148a8e612808cf5ddb25d0b3c5840f3498a7dc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -720,11 +720,11 @@
|
||||
},
|
||||
"nixpkgs-latest": {
|
||||
"locked": {
|
||||
"lastModified": 1778583303,
|
||||
"narHash": "sha256-jn+drGpaYalIzR0TAsvo2Z2LtBw3b9eIjJtwb0wUPUw=",
|
||||
"lastModified": 1779791687,
|
||||
"narHash": "sha256-ynEmhfOI9cWkI8AUiFimNWutJ+RNibt1Ge4azZVbTQ8=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6093378e528c5fc6b6e44fb559daed68bc313733",
|
||||
"rev": "8d10ccfc5381d4129e7730b5bfbe67709f06777e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -752,11 +752,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1777954456,
|
||||
"narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=",
|
||||
"lastModified": 1779560665,
|
||||
"narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1",
|
||||
"rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -783,11 +783,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1777954456,
|
||||
"narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=",
|
||||
"lastModified": 1779357205,
|
||||
"narHash": "sha256-cCO8aTqss5x9Ky8GWkpY0Hy5fyTZEbtifSUV8QjSzic=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1",
|
||||
"rev": "f83fc3c307e74bc5fd5adb7eb6b8b13ffd2a36e1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -831,11 +831,11 @@
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1778430510,
|
||||
"narHash": "sha256-Ti+ZBvW6yrWWAg2szExVTwCd4qOJ3KlVr1tFHfyfi8Q=",
|
||||
"lastModified": 1779467186,
|
||||
"narHash": "sha256-nOesoDCiXcUftqbRBMz9tt4blI5PvljMWbm3kuCA+0s=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8fd9daa3db09ced9700431c5b7ad0e8ba199b575",
|
||||
"rev": "b77b3de8775677f84492abe84635f87b0e153f0f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -924,11 +924,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1776796298,
|
||||
"narHash": "sha256-PcRvlWayisPSjd0UcRQbhG8Oqw78AcPE6x872cPRHN8=",
|
||||
"lastModified": 1778507602,
|
||||
"narHash": "sha256-kTwur1wV+01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "3cfd774b0a530725a077e17354fbdb87ea1c4aad",
|
||||
"rev": "61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1117,11 +1117,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1777585783,
|
||||
"narHash": "sha256-JTeWRy42VElroJ0rVdZuVXSoTLsx+NzQfGPKMbtn3SU=",
|
||||
"lastModified": 1778265244,
|
||||
"narHash": "sha256-8jlPtGSsv/CQY6tVVyLF4Jjd0gnS+Zbn9yk/V13A9nM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "fa50d6fbaff8f42c61071b87b034a90d82a33558",
|
||||
"rev": "813ea5ca9a1702a9a2d1f5836bc00172ef698968",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1137,11 +1137,11 @@
|
||||
"rust-overlay": "rust-overlay_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778523128,
|
||||
"narHash": "sha256-eQp81Z0jSjD3wA8fFrmgxiS7Ahwf1M/mwaKWoI6iY5c=",
|
||||
"lastModified": 1779676204,
|
||||
"narHash": "sha256-/DLVKPqrU3WuY99jrHjYuIR0yGl98mGS6izK5rC1gZM=",
|
||||
"owner": "sxyazi",
|
||||
"repo": "yazi",
|
||||
"rev": "fde563380b45f19da10221e07d5415836313c743",
|
||||
"rev": "cf8b54179ea0de392629d93081afca9e5587225e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
Binary file not shown.
@@ -5,8 +5,8 @@
|
||||
"mail.server.server_${id}.authMethod" = 10;
|
||||
};
|
||||
in {
|
||||
gmail-online = {
|
||||
address = secrets.email.gmail-online.mail;
|
||||
gmail-online-accounts = {
|
||||
address = secrets.email.gmail-online-accounts.mail;
|
||||
realName = "Lennart J. Kurzweg";
|
||||
flavor = "gmail.com";
|
||||
primary = true;
|
||||
@@ -27,8 +27,8 @@
|
||||
};
|
||||
};
|
||||
|
||||
gmail-business = {
|
||||
address = secrets.email.gmail-business.mail;
|
||||
gmail-ljk = {
|
||||
address = secrets.email.gmail-ljk.mail;
|
||||
realName = "Lennart J. Kurzweg";
|
||||
flavor = "gmail.com";
|
||||
signature = {
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
unstable.spotify
|
||||
unstable.spicetify-cli
|
||||
];
|
||||
services.librespot = {
|
||||
enable = true;
|
||||
|
||||
@@ -57,6 +57,7 @@ in {
|
||||
"mail_smtpauth" = true;
|
||||
"mail_smtpauthtype" = "LOGIN";
|
||||
"mail_smtpname" = "nextcloud@${hyper.domain}";
|
||||
"simpleSignUpLink.shown" = false;
|
||||
};
|
||||
secrets."mail_smtppassword" = config.sops.secrets."nx2site/smtp2go/nextcloud_api_key".path;
|
||||
# secrets.settings."mail_smtppassword" = config.sops.secrets."nx2site/maddy/nextcloud_password".path;
|
||||
|
||||
36
system-modules/stay-up.nix
Normal file
36
system-modules/stay-up.nix
Normal file
@@ -0,0 +1,36 @@
|
||||
{ config, pkgs, ... }@all: with all; let
|
||||
target = "1.1.1.1";
|
||||
timeoutMinutes = 5;
|
||||
logFile = "/var/log/stay-up.log";
|
||||
in {
|
||||
systemd.services.wifi-watchdog = {
|
||||
description = "Wi-Fi Watchdog Service";
|
||||
after = [ "network.target" "NetworkManager.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = with pkgs; [ iputils networkmanager coreutils ];
|
||||
script = /* bash */ ''
|
||||
FAIL_COUNT=0
|
||||
touch "${logFile}"
|
||||
while true; do
|
||||
if ping -c 1 -W 5 "${target}" > /dev/null 2>&1; then
|
||||
FAIL_COUNT=0
|
||||
else
|
||||
FAIL_COUNT=$((FAIL_COUNT + 1))
|
||||
if [ "$FAIL_COUNT" -ge "${toString timeoutMinutes}" ]; then
|
||||
echo "$(date -Iseconds): Network unreachable for ${toString timeoutMinutes} minutes. Restarting Wi-Fi." >> "${logFile}"
|
||||
nmcli radio wifi off
|
||||
sleep 5
|
||||
nmcli radio wifi on
|
||||
FAIL_COUNT=0
|
||||
fi
|
||||
fi
|
||||
sleep 60
|
||||
done
|
||||
'';
|
||||
serviceConfig = {
|
||||
Restart = "always";
|
||||
RestartSec = "10";
|
||||
User = "root"; # Root is required to execute nmcli radio commands and write to /var/log/
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user