mirror of
https://github.com/itme-brain/nixos.git
synced 2026-03-24 00:29:43 -04:00
changes
This commit is contained in:
parent
1d99368b0a
commit
433dac83d8
3 changed files with 24 additions and 18 deletions
|
|
@ -7,11 +7,6 @@ let
|
||||||
|
|
||||||
home = "/var/lib/bitcoind";
|
home = "/var/lib/bitcoind";
|
||||||
|
|
||||||
bitcoinConf = pkgs.writeTextFile {
|
|
||||||
name = "bitcoin.conf";
|
|
||||||
text = builtins.readFile ./config/bitcoin.conf;
|
|
||||||
};
|
|
||||||
|
|
||||||
in
|
in
|
||||||
{ options.modules.system.bitcoin = { enable = mkEnableOption "Bitcoin Server"; };
|
{ options.modules.system.bitcoin = { enable = mkEnableOption "Bitcoin Server"; };
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
@ -36,7 +31,7 @@ in
|
||||||
group = "bitcoin";
|
group = "bitcoin";
|
||||||
createHome = true;
|
createHome = true;
|
||||||
};
|
};
|
||||||
"nginx" = {
|
"${config.services.nginx.user}" = {
|
||||||
extraGroups = mkIf nginx.enable [
|
extraGroups = mkIf nginx.enable [
|
||||||
"bitcoin"
|
"bitcoin"
|
||||||
];
|
];
|
||||||
|
|
@ -60,7 +55,7 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
user = "btc";
|
user = "btc";
|
||||||
group = "bitcoin";
|
group = "bitcoin";
|
||||||
configFile = bitcoinConf;
|
configFile = ./config/bitcoin.conf;
|
||||||
dataDir = home;
|
dataDir = home;
|
||||||
pidFile = "${home}/bitcoind.pid";
|
pidFile = "${home}/bitcoind.pid";
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ in
|
||||||
services.forgejo = rec {
|
services.forgejo = rec {
|
||||||
enable = true;
|
enable = true;
|
||||||
user = "git";
|
user = "git";
|
||||||
group = user;
|
group = "git";
|
||||||
stateDir = "/var/lib/forgejo";
|
stateDir = "/var/lib/forgejo";
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
|
|
@ -45,15 +45,24 @@ in
|
||||||
PROTOCOL = "http+unix";
|
PROTOCOL = "http+unix";
|
||||||
DOMAIN = "127.0.0.1";
|
DOMAIN = "127.0.0.1";
|
||||||
HTTP_ADDR = "/run/forgejo/forgejo.sock";
|
HTTP_ADDR = "/run/forgejo/forgejo.sock";
|
||||||
|
ROOT_URL = "https://git.ramos.codes";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
database = {
|
database = {
|
||||||
|
name = "git";
|
||||||
inherit user;
|
inherit user;
|
||||||
type = "sqlite3";
|
type = "sqlite3";
|
||||||
path = "${stateDir}/data/forgejo.db";
|
path = "${stateDir}/data/forgejo.db";
|
||||||
createDatabase = true;
|
createDatabase = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
dump = {
|
||||||
|
enable = true;
|
||||||
|
file = "git.bkup";
|
||||||
|
type = "tar.gz";
|
||||||
|
interval = "weekly";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ with lib;
|
||||||
let
|
let
|
||||||
cfg = config.modules.system.nginx;
|
cfg = config.modules.system.nginx;
|
||||||
module = config.modules.system;
|
module = config.modules.system;
|
||||||
|
forgejo = config.services.forgejo;
|
||||||
|
|
||||||
in
|
in
|
||||||
{ options.modules.system.nginx = { enable = mkEnableOption "Nginx Reverse Proxy"; };
|
{ options.modules.system.nginx = { enable = mkEnableOption "Nginx Reverse Proxy"; };
|
||||||
|
|
@ -14,13 +15,16 @@ in
|
||||||
description = "Web server system user";
|
description = "Web server system user";
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
group = mkForce "${config.services.nginx.group}";
|
group = mkForce "${config.services.nginx.group}";
|
||||||
|
extraGroups = [
|
||||||
|
"${config.security.acme.defaults.group}"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
"btc" = {
|
"btc" = {
|
||||||
extraGroups = mkIf module.bitcoin.enable [
|
extraGroups = mkIf module.bitcoin.enable [
|
||||||
"${config.services.nginx.group}"
|
"${config.services.nginx.group}"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
"${config.services.forgejo.user}" = {
|
"${forgejo.user}" = {
|
||||||
extraGroups = mkIf module.forgejo.enable [
|
extraGroups = mkIf module.forgejo.enable [
|
||||||
"${config.services.nginx.group}"
|
"${config.services.nginx.group}"
|
||||||
];
|
];
|
||||||
|
|
@ -36,18 +40,14 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
security.acme =
|
security.acme =
|
||||||
let
|
|
||||||
acmeDir = "/var/lib/acme";
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
acceptTerms = true;
|
acceptTerms = true;
|
||||||
|
defaults = {
|
||||||
|
email = "${config.user.email}";
|
||||||
|
validMinDays = 90;
|
||||||
|
};
|
||||||
certs = {
|
certs = {
|
||||||
"ramos.codes" = {
|
"ramos.codes" = {
|
||||||
#webroot = "${acmeDir}/acme-challenge";
|
|
||||||
directory = "${acmeDir}/ramos.codes";
|
|
||||||
email = config.user.email;
|
|
||||||
group = "web";
|
|
||||||
validMinDays = 90;
|
|
||||||
extraDomainNames = attrNames config.services.nginx.virtualHosts;
|
extraDomainNames = attrNames config.services.nginx.virtualHosts;
|
||||||
listenHTTP = ":80";
|
listenHTTP = ":80";
|
||||||
};
|
};
|
||||||
|
|
@ -58,6 +58,8 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
user = "nginx";
|
user = "nginx";
|
||||||
group = "web";
|
group = "web";
|
||||||
|
recommendedProxySettings = true;
|
||||||
|
recommendedTlsSettings = true;
|
||||||
|
|
||||||
virtualHosts =
|
virtualHosts =
|
||||||
let
|
let
|
||||||
|
|
@ -74,7 +76,7 @@ in
|
||||||
"git.ramos.codes" = mkIf module.forgejo.enable {
|
"git.ramos.codes" = mkIf module.forgejo.enable {
|
||||||
locations = {
|
locations = {
|
||||||
"/" = {
|
"/" = {
|
||||||
proxyPass = "http://unix:${config.services.forgejo.settings.server.HTTP_ADDR}";
|
proxyPass = "http://unix:${forgejo.settings.server.HTTP_ADDR}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue