diff options
-rw-r--r-- | flake.lock | 112 | ||||
-rw-r--r-- | flake.nix | 41 | ||||
-rw-r--r-- | secrets/acme.age | bin | 816 -> 708 bytes | |||
-rw-r--r-- | secrets/binarycache.age | bin | 543 -> 435 bytes | |||
-rw-r--r-- | secrets/dex.age | bin | 617 -> 509 bytes | |||
-rw-r--r-- | secrets/dyndns.age | bin | 584 -> 476 bytes | |||
-rw-r--r-- | secrets/golink.age | 15 | ||||
-rw-r--r-- | secrets/identities/se.txt | 4 | ||||
-rw-r--r-- | secrets/paperless.age | bin | 557 -> 449 bytes | |||
-rw-r--r-- | secrets/powerdns.age | bin | 501 -> 393 bytes | |||
-rw-r--r-- | secrets/secrets.nix | 1 | ||||
-rw-r--r-- | secrets/syncthing.age | 16 | ||||
-rw-r--r-- | system/linde.nix | 3 | ||||
-rw-r--r-- | system/settings/configuration/nix.nix | 4 | ||||
-rw-r--r-- | system/settings/user-interface.nix | 2 |
15 files changed, 157 insertions, 41 deletions
diff --git a/flake.lock b/flake.lock index 3d488e93..02a78711 100644 --- a/flake.lock +++ b/flake.lock @@ -66,6 +66,26 @@ "type": "github" } }, + "deploy-rs": { + "inputs": { + "flake-compat": "flake-compat", + "nixpkgs": "nixpkgs", + "utils": "utils" + }, + "locked": { + "lastModified": 1727447169, + "narHash": "sha256-3KyjMPUKHkiWhwR91J1YchF6zb6gvckCAY1jOE+ne0U=", + "owner": "serokell", + "repo": "deploy-rs", + "rev": "aa07eb05537d4cd025e2310397a6adcedfe72c76", + "type": "github" + }, + "original": { + "owner": "serokell", + "repo": "deploy-rs", + "type": "github" + } + }, "devshell": { "inputs": { "nixpkgs": [ @@ -103,6 +123,22 @@ "type": "github" } }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -126,7 +162,7 @@ }, "flake-utils": { "inputs": { - "systems": "systems_2" + "systems": "systems_3" }, "locked": { "lastModified": 1731533236, @@ -144,7 +180,7 @@ }, "flake-utils_2": { "inputs": { - "systems": "systems_3" + "systems": "systems_4" }, "locked": { "lastModified": 1710146030, @@ -273,7 +309,7 @@ "inputs": { "devshell": "devshell", "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs_2" }, "locked": { "lastModified": 1731876430, @@ -326,16 +362,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1731755305, - "narHash": "sha256-v5P3dk5JdiT+4x69ZaB18B8+Rcu3TIOrcdG4uEX7WZ8=", + "lastModified": 1702272962, + "narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "057f63b6dc1a2c67301286152eb5af20747a9cb4", + "rev": "e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.11", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } @@ -374,6 +410,22 @@ }, "nixpkgs_2": { "locked": { + "lastModified": 1731755305, + "narHash": "sha256-v5P3dk5JdiT+4x69ZaB18B8+Rcu3TIOrcdG4uEX7WZ8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "057f63b6dc1a2c67301286152eb5af20747a9cb4", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { "lastModified": 1732014248, "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", "owner": "NixOS", @@ -388,7 +440,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1710765496, "narHash": "sha256-p7ryWEeQfMwTB6E0wIUd5V2cFTgq+DRRBz2hYGnJZyA=", @@ -426,9 +478,9 @@ }, "pre-commit-hooks": { "inputs": { - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "gitignore": "gitignore", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "nixpkgs-stable": "nixpkgs-stable" }, "locked": { @@ -449,17 +501,18 @@ "inputs": { "agenix": "agenix", "darwin": "darwin_2", + "deploy-rs": "deploy-rs", "golink": "golink", "home-manager": "home-manager_2", "nh-darwin": "nh-darwin", "nix-index-database": "nix-index-database", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "nixpkgs-small": "nixpkgs-small", "personal": "personal", "searchix": "searchix", "secrets": "secrets", - "utils": "utils" + "utils": "utils_2" } }, "searchix": { @@ -574,9 +627,42 @@ "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" + } + }, "utils": { "inputs": { - "systems": "systems_4" + "systems": "systems_2" + }, + "locked": { + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "utils_2": { + "inputs": { + "systems": "systems_5" }, "locked": { "lastModified": 1731533236, diff --git a/flake.nix b/flake.nix index d0853ec4..c0137b59 100644 --- a/flake.nix +++ b/flake.nix @@ -17,6 +17,7 @@ utils.url = "github:numtide/flake-utils"; agenix.url = "github:ryantm/agenix"; agenix.inputs.nixpkgs.follows = "nixpkgs"; + deploy-rs.url = "github:serokell/deploy-rs"; personal = { url = "git+file:packages"; inputs.nixpkgs.follows = "nixpkgs"; @@ -45,6 +46,7 @@ , secrets , agenix , personal + , deploy-rs , searchix , golink , ... @@ -158,7 +160,44 @@ (secrets + "/default.nix") ]; }; - }; + + checks = builtins.mapAttrs + (system: deployLib: + deployLib.deployChecks self.deploy) + deploy-rs.lib; + + deploy = { + remoteBuild = true; + interactiveSudo = true; + nodes.linde = { + hostname = "linde"; + profiles.system = { + path = deploy-rs.lib.${utils.lib.system.aarch64-linux}.activate.nixos + self.nixosConfigurations.linde; + }; + profiles.alan = { + user = "alan"; + path = deploy-rs.lib.${utils.lib.system.aarch64-linux}.activate.home-manager + self.homeConfigurations."alan@linde"; + }; + }; + }; + } // utils.lib.eachDefaultSystem (system: + let + pkgs = import nixpkgs { inherit system; }; + in + { + devShells = { + default = pkgs.mkShell { + packages = [ + deploy-rs.packages.${system}.default + agenix.packages.${system}.default + ]; + }; + }; + }); + + nixConfig = { extra-substituters = [ "https://toyvo.cachix.org" diff --git a/secrets/acme.age b/secrets/acme.age index 27a71c73..d46debdb 100644 --- a/secrets/acme.age +++ b/secrets/acme.age Binary files differdiff --git a/secrets/binarycache.age b/secrets/binarycache.age index 04a2c3c6..70e5b3a9 100644 --- a/secrets/binarycache.age +++ b/secrets/binarycache.age Binary files differdiff --git a/secrets/dex.age b/secrets/dex.age index d6e9442c..b88721ea 100644 --- a/secrets/dex.age +++ b/secrets/dex.age Binary files differdiff --git a/secrets/dyndns.age b/secrets/dyndns.age index e8497c7c..bee83fca 100644 --- a/secrets/dyndns.age +++ b/secrets/dyndns.age Binary files differdiff --git a/secrets/golink.age b/secrets/golink.age index a1af6525..53855e7a 100644 --- a/secrets/golink.age +++ b/secrets/golink.age @@ -1,9 +1,8 @@ age-encryption.org/v1 --> ssh-ed25519 cvV2sw 6UTWDB2JH4kB3r/zz7R4/NlbG/XIeXsa9FRaP7P3L2w -niFrU0fGTSGYUsAw+zJ/zMtGx9NqATFShJuULDNG3RA --> piv-p256 u9NeZg A+P9esCjzfQJN8O52vHYsapoLP73syi8W1fSXwezY4FX -3yST9wj5Y7pTbQVfXYeJ3qlgPTxJqU7TmNZ16dVmcWU --> piv-p256 VBDKjg A4M+lG9Qc/be6wmqE43KU2eUmYIpmI23WKBCC25Cs6nO -nYJDRiJWCFc3La0ILnBmR5YSdHqpYiDvD/qEmnb4BwA ---- JtVpBWG/IgNELZgC39bXTI9ae48HdvOWbbxe4SnUwZ0 -r,v~>9(Pv<Eѣo hL(Y(/ )S//8 [qwb21lQ \ No newline at end of file +-> ssh-ed25519 cvV2sw sKOQF184MHp+13KvA7JJRnzkvvIeRZhKYHSz+43/YQo +Lv69lCDhhJPMt87ZV4m8jf9p70mJ/thgO60Wxjmhe4U +-> piv-p256 VBDKjg AyF9lzorXDLEr1g3wG/jm3AnqyXc/aewIyfIkEozmT8y +KSAOa4Vat8gyrfSd+RtPkWuhxPQy6GkBruCW+qh7Ghg +--- An2Se6RNs1BNB3AR8ATrMeLkKpUXTZC09XYr94Cx/Qg +gI loNZSs8'#Dh{br~ +c4}Abu.:>9X뒯f"CA"}o䊶0`G \ No newline at end of file diff --git a/secrets/identities/se.txt b/secrets/identities/se.txt deleted file mode 100644 index e1c6b851..00000000 --- a/secrets/identities/se.txt +++ /dev/null @@ -1,4 +0,0 @@ -# created: 2024-04-10T12:44:17Z -# access control: any biometry or passcode -# public key: age1se1qdx3wrvaxevk3g40ngqreqc9n4gl0rwcjdvnptz5vw96jjjuf2rv2wp8c5m -AGE-PLUGIN-SE-1QJPQZ7P3SGQHGVYP75XQYUNTXXQ7UVQTPSPKY6TYQSZ85T758GCYSRQRWP6KYPZPQ3X3WRVAXEVK3G40NGQREQC9N4GL0RWCJDVNPTZ5VW96JJJUF2RV2XR0REV8SUYMVLR9LK9VWDZGRRTNSKQL0ATZYYWS9NAZZACW5QMMXQYQCQMJDDHSYQGQXQRSCQNTWSPQZPPS9CXQYAMTQS599D2V5HHZE0VLL5MW9EW28X23MP9NRSULQL3GAHD0RU0M5EG3F38XWDKEJM6LPWTNQPCVQF3XXQSPPYCQWRQZDDMQYQGZXQTSCQMTD9JQGY8R2D8H498GF5PMR8WYFNAUD7L8XQNSCQMJDDKSGGYSRXZGXMRKCX08VHSJTFQWK28KT7SX2TYS6HLC3CQQUE303RKEEUC85RQZV4JRZAPSWGXQXCTRDSCKKVPFPSPK7CMTXY3RQGQVQD3HQMCVR9ZX2ANFVDJ57AMWV4EYZAT5DPJKUARFVDSHG6T0DCCQJRQYDAJX2MQPQYQNQ2SVQ3HHXEMWXY3RQGQVQD3HQMCVR9ZX2ANFVDJ57AMWV4EYZAT5DPJKUARFVDSHG6T0DCCQWRQZDASSZQGP9T2Q6F \ No newline at end of file diff --git a/secrets/paperless.age b/secrets/paperless.age index 5c1f3992..679b5623 100644 --- a/secrets/paperless.age +++ b/secrets/paperless.age Binary files differdiff --git a/secrets/powerdns.age b/secrets/powerdns.age index d4815b6f..c7d62dd3 100644 --- a/secrets/powerdns.age +++ b/secrets/powerdns.age Binary files differdiff --git a/secrets/secrets.nix b/secrets/secrets.nix index b1c7601e..be2acf14 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -1,7 +1,6 @@ let users = { alan = [ - "age1se1qdx3wrvaxevk3g40ngqreqc9n4gl0rwcjdvnptz5vw96jjjuf2rv2wp8c5m" # mba age-plugin-se "age1se1qwz9tsr7fq6m7rh3fj44fh6vcth53x9lcff9jeangg43v66vznxus3vp5mz" # marvin age-plugin-se ]; }; diff --git a/secrets/syncthing.age b/secrets/syncthing.age index fdfe7b50..8aaceefb 100644 --- a/secrets/syncthing.age +++ b/secrets/syncthing.age @@ -1,11 +1,7 @@ age-encryption.org/v1 --> ssh-ed25519 hzg5VQ wv5wtwIkKlae6IDbbQ23DGZz23lstyHJoCipm4nrLGI -hsT5wzeldD0hNAOEvhVJRbzBAUevh5dkFuM8rOuyYEY --> piv-p256 u9NeZg ApESqdHU3d997Q2RSCBE6D7qKXN0iC04i9kOz+LTaw6T -To7FjOkAsqnkOea+PjKjaWwebpJYaF24vpb9+3DzgYo --> piv-p256 VBDKjg AlTfg6Of00vfMiZsr6qIORhX8H4RAm99NdpELXH3i3p4 -xwtTcAx9oXhUbz6IS6naqdff+k456UeDYVwq4MlkKqw ---- Bx89AY9wMHwJMAhfppkqO6HoPhKMPOCVKr5kKH7EcYc -s*4P84@{D}_2r0x_!|L1.ۑٸ*=` ?l#z'-`O_=/ }1bq[TK= -z1)ՕCyS>g*$h#NJ*6qrt~S/Nj«%ԬcMDYK}<ϟnHʶ -bXx/֭~ZXLt_oG#w|H] @TUf= B+^͏LquohqƮP}܁T}%LG's}3[cjA75mJ<r \ No newline at end of file +-> ssh-ed25519 hzg5VQ 9e1BgipAId3LjsLpniXggoryekJEq4FEfLIW1WeO0z0 +ip1jn2t9kSMsBnKZRMCjyQvgsHI3BassRsIBS9TmBsA +-> piv-p256 VBDKjg A0SEwDXCXNRaYtLBczMqSGUzK8JcgyOQFLCA2aPnpZNT +lzDhFPiIwXSx7RxzzhDgO8mP1E0ZFDFSLLyjbvzH7Oc +--- hDr0PEKB6B6IoM3lc9880HSUHuLXkaGgqurADuUK2jI +sH}xo/e3:LSQd\[SS[}'"g! 8x͋bMP+w˜d DzR([U-nMsd #lM VD2iij_,~4NDMl2n?UIc m!?F0%f؝[43F)q$_f{',( B.efIiɦ(a6}HbuC3&<@}8uED=q(l%<}!MEar*F(SEԙ4<X`t8FXbw \ No newline at end of file diff --git a/system/linde.nix b/system/linde.nix index 6e5e54ed..bffa2645 100644 --- a/system/linde.nix +++ b/system/linde.nix @@ -13,7 +13,6 @@ let net-gw = "172.31.1.1"; net-ip6 = "2a01:4f8:c012:23a4::1"; net-rdnsip = "2a01:4f8:c012:23a4::53"; - net-acmeip = "2a01:4f8:c012:23a4::715"; net-mask6 = "64"; net-gw6 = "fe80::1"; domain = "alanpearce.eu"; @@ -163,7 +162,6 @@ in ${net-ip4} = [ "${hostname}.alanpearce.eu" hostname ]; ${net-ip6} = [ "${hostname}.alanpearce.eu" hostname ]; ${net-rdnsip} = [ "dns" ]; - ${net-acmeip} = [ "acme" ]; }; firewall = { enable = true; @@ -221,7 +219,6 @@ in address = [ "${net-ip6}/${net-mask6}" "${net-rdnsip}/${net-mask6}" - "${net-acmeip}/${net-mask6}" ]; addresses = [{ Address = "${net-ip4}/${net-mask4}"; diff --git a/system/settings/configuration/nix.nix b/system/settings/configuration/nix.nix index 105efaae..28da18c0 100644 --- a/system/settings/configuration/nix.nix +++ b/system/settings/configuration/nix.nix @@ -13,11 +13,15 @@ warn-dirty = false; substituters = [ "https://nix-community.cachix.org" + "https://deploy-rs.cachix.org" "https://binarycache.alanpearce.eu" + "https://deploy-rs.cachix.org" ]; trusted-public-keys = [ + "deploy-rs.cachix.org-1:xfNobmiwF/vzvK1gpfediPwpdIP0rpDV2rYqx40zdSI=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + "deploy-rs.cachix.org-1:xfNobmiwF/vzvK1gpfediPwpdIP0rpDV2rYqx40zdSI=" "binarycache.alanpearce.eu:ZwqO3XMuajPictjwih8OY2+RXnOKpjZEZFHJjGSxAI4=" ]; }; diff --git a/system/settings/user-interface.nix b/system/settings/user-interface.nix index 27f1d9aa..a1d31c3b 100644 --- a/system/settings/user-interface.nix +++ b/system/settings/user-interface.nix @@ -6,7 +6,7 @@ documentation.info.enable = true; environment.systemPackages = with pkgs; [ - epdfview + qpdfview lxappearance lxrandr |