diff --git a/.github/workflows/cachix.yml b/.github/workflows/cachix.yml index 9f6bead..8a09f5a 100644 --- a/.github/workflows/cachix.yml +++ b/.github/workflows/cachix.yml @@ -21,24 +21,6 @@ jobs: - name: Build NixOS configuration run: nix build .#nixosConfigurations.${{ matrix.host }}.config.system.build.toplevel - build-packages: - strategy: - matrix: - package: [ ddns ] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: cachix/install-nix-action@v20 - with: - nix_path: nixpkgs=channel:nixos-unstable - - uses: cachix/cachix-action@v12 - with: - name: inclyc - authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' - # Cherry-picked from https://github.com/TGuimbert/dotfiles/blob/3b9d27ec6e22ab7c70819799876e4eb089678424/.github/workflows/cachix.yaml#L8 - - name: Build Packages - run: nix build .#${{ matrix.package }} - build-home-configurations: strategy: matrix: diff --git a/nixos/configurations/adrastea/default.nix b/nixos/configurations/adrastea/default.nix index 4053d1e..df5af79 100644 --- a/nixos/configurations/adrastea/default.nix +++ b/nixos/configurations/adrastea/default.nix @@ -184,26 +184,6 @@ }; }; - sops.secrets."ddns/cloudflare" = { }; - services.ddns."cloudflare" = { - ipv4 = "adrastea.lyc.dev"; - index4 = "shell:curl -4L lug.hit.edu.cn/myip"; - dns = "cloudflare"; - extraPath = [ pkgs.curl ]; - environmentFile = [ config.sops.secrets."ddns/cloudflare".path ]; - onCalendar = "minutely"; - }; - - sops.secrets."ddns/dnspod" = { }; - services.ddns."inclyc-cn" = { - ipv4 = "ppp.ws.inclyc.cn"; - index4 = "shell:curl -4L lug.hit.edu.cn/myip"; - dns = "dnspod"; - extraPath = [ pkgs.curl ]; - environmentFile = [ config.sops.secrets."ddns/dnspod".path ]; - onCalendar = "minutely"; - }; - systemd.extraConfig = '' DefaultTimeoutStopSec=10s ''; diff --git a/nixos/modules/ddns.nix b/nixos/modules/ddns.nix deleted file mode 100644 index 6a9d229..0000000 --- a/nixos/modules/ddns.nix +++ /dev/null @@ -1,91 +0,0 @@ -{ config -, lib -, pkgs -, ... -}: -with lib; -let - cfg = config.services.ddns; - ddnsOptions = { - options = { - ipv4 = mkOption { - type = with types; nullOr str; - default = null; - }; - ipv6 = mkOption { - type = with types; nullOr str; - default = null; - }; - index4 = mkOption { - type = with types; nullOr str; - default = null; - }; - index6 = mkOption { - type = with types; nullOr str; - default = null; - }; - ttl = mkOption { - type = with types; nullOr int; - default = null; - }; - proxy = mkOption { - type = with types; nullOr str; - default = null; - }; - dns = mkOption { - type = with types; nullOr str; - default = null; - }; - package = mkOption { - type = with types; package; - default = pkgs.ddns; - }; - extraPath = mkOption { - type = with types; listOf package; - default = [ ]; - }; - environmentFile = mkOption { - type = with types; listOf str; - default = [ ]; - }; - onCalendar = mkOption { - type = with types; nullOr str; - default = null; - }; - }; - }; - mkService = name: ddns: { - path = [ ddns.package ] ++ ddns.extraPath; - environment = mapAttrs' - (name: value: nameValuePair - ("DDNS_${toUpper name}") - value) - (filterAttrs - (n: v: (builtins.typeOf v) == "string" && n != "onCalendar") - ddns); - serviceConfig = { - ExecStart = "${ddns.package}/bin/ddns"; - EnvironmentFile = ddns.environmentFile; - DynamicUser = true; - }; - }; - mkTimer = name: ddns: mkIf (ddns.onCalendar != null) { - wantedBy = [ "timers.target" ]; - timerConfig = { - OnCalendar = ddns.onCalendar; - Persistent = true; - }; - }; -in -{ - options.services.ddns = mkOption { - default = { }; - type = types.attrsOf (types.submodule ddnsOptions); - }; - config = lib.mkIf (cfg != { }) (lib.mkMerge [ - { - systemd.services = mapAttrs' (n: v: nameValuePair "ddns-${n}" (mkService n v)) cfg; - systemd.timers = mapAttrs' (n: v: nameValuePair "ddns-${n}" (mkTimer n v)) cfg; - } - ]); -} diff --git a/nixos/modules/default.nix b/nixos/modules/default.nix index cc47db2..532e8a5 100644 --- a/nixos/modules/default.nix +++ b/nixos/modules/default.nix @@ -5,7 +5,6 @@ inputs.home-manager.nixosModules.home-manager ./clash ./nix.nix - ./ddns.nix ./nix-ld.nix ./gui.nix ./user.nix diff --git a/pkgs/ddns/default.nix b/pkgs/ddns/default.nix deleted file mode 100644 index e13e3a0..0000000 --- a/pkgs/ddns/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ buildPythonApplication -, fetchPypi -}: -buildPythonApplication -rec { - pname = "ddns"; - version = "2.12.0"; - name = "${pname}-${version}"; - src = fetchPypi { - inherit pname version; - sha256 = "A41erAo7KOkgPpE+Izuof+MuUzOORPPraxFoj4/dtk0="; - }; - - # Ungly hack for https://github.com/NewFuture/DDNS/blob/a1a8f8565c80d9702a49fcb45f18b32dfb4dba26/setup.py#L47 - # setup a fack "travis" environment, pass package version to skip the check - TRAVIS_TAG = version; -} diff --git a/pkgs/default.nix b/pkgs/default.nix index 0f5b83a..9bd6012 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,3 +1 @@ -{ pkgs ? (import ../nixpkgs.nix) { } }: { - ddns = pkgs.python3.pkgs.callPackage ./ddns { }; -} +{ pkgs ? (import ../nixpkgs.nix) { } }: { } diff --git a/secrets/general.yaml b/secrets/general.yaml index d9ded3a..27f4949 100644 --- a/secrets/general.yaml +++ b/secrets/general.yaml @@ -2,9 +2,6 @@ email: zoho: password: ENC[AES256_GCM,data:AXI9RkSetE7EwoKBSsYyZg==,iv:bUxhvsGkztiNJmDA9XUgklFt4NUDbWjJwqIyJgJxgWU=,tag:DWmoR8UbqGscKpRCyIBmhA==,type:str] swyjs-credential: ENC[AES256_GCM,data:QPCz7LrmLasix3uHuftClwVow1aCvg0cHCllnzlVjOmb6PWOgX/+azNaWOos6/P4R9yA62T7T6o4bLF7QHqE1xvPqc7omF63sA0hk7plFfb9rPYmTUWe,iv:MzYgRxfgcr8zKJ9v6myQhUsyI/ZpA7/qbFhqwZabGn8=,tag:+69k5Y4gISPgUY5Byfr0vQ==,type:str] -ddns: - cloudflare: ENC[AES256_GCM,data:l+3DZCGnUVnV0cfCBCHKYM300kGhY0UzOYVOyx1+R9Vo5Rv8kXEqMVVB3F3xvdpBU6x1pw==,iv:Vy9rVyuRSrKtAWva3Nqa/giflgx92BvmGX9omsbPpmk=,tag:kbb9ciKzM5Q1V/bDaxW1DA==,type:str] - dnspod: ENC[AES256_GCM,data:NY7CKa/CnYWGGrzQ1rNdFMAo12RBV/QeuqLdsLCS24NHqQUG/3Q11RPoVFXB/xaYCxvkTvFXN4OgBl0=,iv:pb2jT86D6Bm3OT3gC9C0qLh36osQf7hhtBq8UPbxb8Q=,tag:qv5e1t/DL+LbmUE89cAbkg==,type:str] clash-provider: dler: ENC[AES256_GCM,data:5WapDgbdTNoqpcBS3uH0K/NBx+ZT0nffz8/1/7BypPCFL6da18BY9z2EFMvMukm+e4OjjnBFU0nmNwuOLbwE9kjapDPjqaKEyLtY4DjhUAk=,iv:VuGCzTFGbim9iZmgx4KCGO41T536SABdMrRDtkXYNOs=,tag:y+Wc7tSC39GkzqOa7LcGyg==,type:str] mielink: ENC[AES256_GCM,data:H/Ov6NzbWAGH1tRWLzbuvhf4/JNKvCw2Vvm0kblOim5CzeXHyOohHShtTsx7XDbwwz3W4wp7EBv3nnRbV0xeHq8=,iv:t8QzBVDxjy1GEAgiCkGMD2dcEI3RC0hI53yJ1gp2ew4=,tag:rksQaZOp7XhOWNnKhqzmeA==,type:str] @@ -56,8 +53,8 @@ sops: TkVrd2RsNys4SGFZRVozYzdrT2VXVWMK7Ctrg2D1BAMVQqTaxOIw3ylgbI6lYswL MD2TkOYFNTRNOyoz4fmoidjDry/yqwdJ03FPPK4z98uVVvVITey83Q== -----END AGE ENCRYPTED FILE----- - lastmodified: "2023-12-25T09:35:27Z" - mac: ENC[AES256_GCM,data:TZgQ3aUS8OmQ5s5YJFgJHAToDq+2a23s/XNcnMYNAWoXudIEGRUuT09pgcC88QtLG5jxpZ5PdplSHgXM8+/yEzHSfLx2JpFoDKg4mYe2niihiqJ3ro7QKTGpdLUor3CjVciBeCCcONI7WkHPOW+EipBpHEWzldo8Uo1hiGmxpTM=,iv:XMW3sRxmDf5aSc4cslWqpTM5ePgaXTfocHLw65q3Bxs=,tag:4cV4+DQnlbBPHduW1H+0qA==,type:str] + lastmodified: "2023-12-27T12:49:20Z" + mac: ENC[AES256_GCM,data:rU8CKwh9Vg1XsVawa8ZBO0Xuymryk8q7D5Lqp9BWmK7+qJBP8a6W2tUbbOvsc3/pgw5ExWPhfDBQ5j5O5vtwNVzYK4qhF2Jd7IU39aSQL6N4J2dMGiruA+FoHEXl8EKWRevYlkXFMeonDMy23TiBq63KgdKhl1k+NOn9ttf0bOE=,iv:uNnptOSNlgCeR540pqu9M/YtI/h7Intp6CEeORzGnBI=,tag:duOiXWFx0zyCZ/pHyyGcpA==,type:str] pgp: [] unencrypted_suffix: _unencrypted version: 3.8.1