initial agola stuff
This commit is contained in:
parent
40d2cacb4e
commit
2f6cb1316b
6 changed files with 117 additions and 6 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
result
|
41
flake.lock
Normal file
41
flake.lock
Normal file
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
"nodes": {
|
||||
"flake-utils": {
|
||||
"locked": {
|
||||
"lastModified": 1629481132,
|
||||
"narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "997f7efcb746a9c140ce1f13c72263189225f482",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1630527283,
|
||||
"narHash": "sha256-DD8FDMxndAgGD/yUHuwQypvgcqKSCB+gdwo+mXhc28c=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "837d765221201227fa62bf7a77e94577e8dc00f7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
20
flake.nix
20
flake.nix
|
@ -1,11 +1,23 @@
|
|||
{
|
||||
description = "A very basic flake";
|
||||
|
||||
outputs = { self, nixpkgs }: {
|
||||
inputs = {
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
|
||||
packages.x86_64-linux.hello = nixpkgs.legacyPackages.x86_64-linux.hello;
|
||||
|
||||
defaultPackage.x86_64-linux = self.packages.x86_64-linux.hello;
|
||||
outputs = { self, nixpkgs, flake-utils }:
|
||||
flake-utils.lib.eachSystem ["x86_64-linux"] (system:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
in
|
||||
{
|
||||
packages = rec {
|
||||
agola = pkgs.callPackage ./pkgs/agola.nix {};
|
||||
};
|
||||
|
||||
nixosModules = {
|
||||
agola = import ./modules/agola.nix;
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
20
modules/agola.nix
Normal file
20
modules/agola.nix
Normal file
|
@ -0,0 +1,20 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
with lib;
|
||||
|
||||
let
|
||||
agola = pkgs.agola;
|
||||
cfg = config.services.agola;
|
||||
in
|
||||
{
|
||||
options.services.agola = {
|
||||
enable = mkEnableOption "Enable agola server.";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
systemd.services.agola = {
|
||||
script = ''
|
||||
${agola}/bin/agola
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
16
pkgs/agola.nix
Normal file
16
pkgs/agola.nix
Normal file
|
@ -0,0 +1,16 @@
|
|||
{ pkgs ? import <nixpkgs> {} }:
|
||||
|
||||
pkgs.buildGoModule {
|
||||
name = "agola";
|
||||
vendorSha256 = "wjEr5zmcWEJJtH6d2OGPPX5CDJvj9xM8LKHBBmBvQj8=";
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "agola-io";
|
||||
repo = "agola";
|
||||
rev = "v0.6.0";
|
||||
sha256 = "NIJEf1eMyx74REc84EYgLmwrP4bYCiyTdeb/8kR4cTM=";
|
||||
};
|
||||
|
||||
# TODO: repeat this later on a computer with more resources...
|
||||
doCheck = false;
|
||||
}
|
21
test/nixops.nix
Normal file
21
test/nixops.nix
Normal file
|
@ -0,0 +1,21 @@
|
|||
let
|
||||
lib = import <nixpkgs/lib>;
|
||||
in
|
||||
{
|
||||
machine = {
|
||||
deployment.targetEnv = "virtualbox";
|
||||
deployment.virtualbox.headless = true;
|
||||
virtualisation.virtualbox.guest.enable = lib.mkForce false;
|
||||
|
||||
nixpkgs.overlays = [(self: super: {
|
||||
agola = import ../pkgs/agola.nix { pkgs = super; };
|
||||
})];
|
||||
imports = [
|
||||
(import ../modules/agola.nix)
|
||||
];
|
||||
|
||||
services = {
|
||||
agola.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue