]> Untitled Git - awful.systems.git/blobdiff - flake.nix
docs: add database information
[awful.systems.git] / flake.nix
index 2dc87600ef0b16aa4feedcbdb1cd07790344b806..d2d716e38451b4c7ac9b29fb222637a914fe75a4 100644 (file)
--- a/flake.nix
+++ b/flake.nix
@@ -6,9 +6,13 @@
     flake-utils.url = "github:numtide/flake-utils";
     pkgs-unstable.url = "nixpkgs/nixos-unstable";
     sops-nix.url = "github:Mic92/sops-nix";
+    lemmy.url = "git://these.awful.systems/lemmy.git";
+    lemmy-ui.url = "git://these.awful.systems/lemmy-ui.git";
+    sneer-archive-site.url = "git://these.awful.systems/sneer-archive-site.git";
   };
 
-  outputs = { self, nixpkgs, flake-utils, sops-nix, ... }@attrs:
+  outputs = { self, nixpkgs, flake-utils, sops-nix, lemmy, lemmy-ui
+    , sneer-archive-site, ... }@attrs:
     {
       nixosConfigurations = {
         these = nixpkgs.lib.nixosSystem {
           modules =
             [ ./hosts/these/configuration.nix sops-nix.nixosModules.sops ];
         };
+        more = nixpkgs.lib.nixosSystem {
+          specialArgs = attrs;
+          modules =
+            [ ./hosts/more/configuration.nix sops-nix.nixosModules.sops ];
+        };
       };
     } // flake-utils.lib.eachDefaultSystem (system:
       let
           '';
         init-secrets = pkgs.writeShellScriptBin "init-secrets" ''
           mkdir -p ~/.config/sops/age
-          cp $1 /tmp/init-secrets-key &&
+          cp "$1" /tmp/init-secrets-key &&
           ${pkgs.openssh}/bin/ssh-keygen -p -N "" -f /tmp/init-secrets-key &&
           ${pkgs.ssh-to-age}/bin/ssh-to-age -private-key -i /tmp/init-secrets-key > ~/.config/sops/age/keys.txt
           rm /tmp/init-secrets-key
           echo Your age public key is:
           ${pkgs.age}/bin/age-keygen -y ~/.config/sops/age/keys.txt
         '';
+        rekey-secrets = pkgs.writeShellScriptBin "rekey-secrets" ''
+          ${pkgs.sops}/bin/sops updatekeys "$1"
+        '';
       in {
         devShells.default = pkgs.mkShell {
           buildInputs = [
             pkgs.age
             (deploy "these" "root@these.awful.systems")
             (go "these" "root@these.awful.systems")
+            (deploy "more" "root@more.awful.systems")
+            (go "more" "root@more.awful.systems")
             init-secrets
             pkgs.bashInteractive
+
+            # cache these packages:
+            lemmy.packages.${system}.lemmy-server
+            lemmy-ui.packages.${system}.lemmy-ui
+            sneer-archive-site.packages.${system}.default
           ];
         };
+        packages.maint-mode = (pkgs.callPackage ./maint-mode/site.nix { });
       });
 }