mediawiki-nix-container/flake.nix

53 lines
2.0 KiB
Nix

{
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
outputs = { self, nixpkgs }: {
nixosConfigurations.container = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules =
[ ({ pkgs, ... }: {
boot.isContainer = true;
# Let 'nixos-version --json' know about the Git revision
# of this flake.
system.configurationRevision = nixpkgs.lib.mkIf (self ? rev) self.rev;
# Network configuration.
networking.useDHCP = false;
networking.firewall.allowedTCPPorts = [ 80 ];
services.mediawiki = {
enable = true;
virtualHost = {
hostName = "mediawiki";
adminAddr = "root@example.com";
};
extensions = {
Interwiki = pkgs.fetchzip {
url = "https://extdist.wmflabs.org/dist/extensions/Interwiki-REL1_36-08fe37f.tar.gz";
sha256 = "sha256-77uvw/ETPeRNYRcIl2KqowmJ9D9R9wyyltpy5Cu11L4=";
};
Cite = pkgs.fetchzip {
url = "https://extdist.wmflabs.org/dist/extensions/Interwiki-REL1_36-08fe37f.tar.g://extdist.wmflabs.org/dist/extensions/Cite-REL1_36-77e6710.tar.gz";
sha256 = "sha256-77uvw/ETPeRNYRcIl2KqowmJ9D9R9wyyltpy5Cu11L4=";
};
DynamicPageList = pkgs.fetchzip {
url = "https://extdist.wmflabs.org/dist/extensions/DynamicPageList-REL1_36-c00fbd6.tar.gz";
sha256 = "sha256-77uvw/ETPeRNYRcIl2KqowmJ9D9R9wyyltpy5Cu11L4=";
};
Scribunto = pkgs.fetchzip {
url = "ihttps://extdist.wmflabs.org/dist/extensions/Scribunto-REL1_36-cc217d4.tar.gz";
sha256 = "sha256-77uvw/ETPeRNYRcIl2KqowmJ9D9R9wyyltpy5Cu11L4=";
};
};
passwordFile = pkgs.writeText "password" "topSecretF0rAll!!!!";
};
})
];
};
};
}