Compare commits

..

No commits in common. "e3068a144a7c071c71ac5408db4316351bc5823a" and "f36cd491211b06f015462d7b5daeb1894efacc93" have entirely different histories.

9 changed files with 66 additions and 118 deletions

View file

@ -25,7 +25,6 @@ in {
(import "${sources.agenix}/modules/age.nix") (import "${sources.agenix}/modules/age.nix")
./pinning.nix ./pinning.nix
./common ./common
./services
]; ];
}; };

View file

@ -5,6 +5,7 @@
[ [
./hardware-configuration.nix ./hardware-configuration.nix
./home.nix ./home.nix
../../services/evolution.nix
../../services/fonts.nix ../../services/fonts.nix
../../services/steam.nix ../../services/steam.nix
./syncthing.nix ./syncthing.nix
@ -15,10 +16,6 @@
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
boot.loader.systemd-boot.editor = false; boot.loader.systemd-boot.editor = false;
programs.evolution.enable = true;
qenya.services.fonts.enable = true;
qenya.services.steam.enable = true;
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
i18n.defaultLocale = "en_GB.UTF-8"; i18n.defaultLocale = "en_GB.UTF-8";

View file

@ -4,27 +4,12 @@
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./home.nix ./home.nix
./forgejo.nix
]; ];
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
qenya.services.forgejo = {
enable = true;
domain = "git.qenya.tel";
stateDir = "/data/forgejo";
};
services.nginx = {
enable = true;
virtualHosts = {
"git.katherina.rocks" = {
forceSSL = true;
enableACME = true;
locations."/".return = "301 https://git.qenya.tel$request_uri";
};
};
};
system.stateVersion = "23.11"; system.stateVersion = "23.11";
} }

49
hosts/yevaud/forgejo.nix Normal file
View file

@ -0,0 +1,49 @@
{ config, lib, pkgs, ... }:
{
# TODO: email out
# TODO: interface customisation
services = {
nginx = {
enable = true;
virtualHosts = {
"git.qenya.tel" = {
forceSSL = true;
enableACME = true;
locations."/".proxyPass = "http://[::1]:3000/";
};
"git.katherina.rocks" = {
forceSSL = true;
enableACME = true;
locations."/".return = "301 https://git.qenya.tel$request_uri";
};
};
};
forgejo = {
enable = true;
stateDir = "/data/forgejo";
settings = {
DEFAULT.APP_NAME = "git.qenya.tel";
cache = {
ADAPTER = "twoqueue";
HOST = ''{"size": 100, "recent_ratio": 0.25, "ghost_ratio": 0.5}'';
};
database = {
DB_TYPE = "sqlite3";
SQLITE_JOURNAL_MODE = "WAL";
};
security.LOGIN_REMEMBER_DAYS = 365;
server = {
DOMAIN = "git.qenya.tel";
HTTP_PORT = 3000;
ROOT_URL = "https://git.qenya.tel/";
};
service.DISABLE_REGISTRATION = true;
};
};
};
networking.firewall.allowedTCPPorts = [ 80 443 ];
}

View file

@ -1,7 +0,0 @@
{
imports = [
./fonts.nix
./forgejo.nix
./steam.nix
];
}

5
services/evolution.nix Normal file
View file

@ -0,0 +1,5 @@
{ config, lib, pkgs, ... }:
{
programs.evolution.enable = true;
}

View file

@ -1,17 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let
cfg = config.qenya.services.fonts;
inherit (lib) mkIf mkEnableOption;
in
{ {
options.qenya.services.fonts = { fonts.packages = with pkgs; [
enable = mkEnableOption "Fonts"; corefonts
}; ];
config = mkIf cfg.enable {
fonts.packages = with pkgs; [
corefonts
];
};
} }

View file

@ -1,60 +0,0 @@
{ config, lib, pkgs, ... }:
let
cfg = config.qenya.services.forgejo;
inherit (lib) mkIf mkEnableOption mkOption types;
in
{
options.qenya.services.forgejo = {
enable = mkEnableOption "Forgejo";
domain = mkOption {
type = types.str;
};
stateDir = mkOption {
type = types.str;
};
};
config = mkIf cfg.enable {
# TODO: email out
# TODO: interface customisation
services = {
nginx = {
enable = true;
virtualHosts = {
${cfg.domain} = {
forceSSL = true;
enableACME = true;
locations."/".proxyPass = "http://[::1]:3000/";
};
};
};
forgejo = {
enable = true;
stateDir = cfg.stateDir;
settings = {
DEFAULT.APP_NAME = cfg.domain;
cache = {
ADAPTER = "twoqueue";
HOST = ''{"size": 100, "recent_ratio": 0.25, "ghost_ratio": 0.5}'';
};
database = {
DB_TYPE = "sqlite3";
SQLITE_JOURNAL_MODE = "WAL";
};
security.LOGIN_REMEMBER_DAYS = 365;
server = {
DOMAIN = cfg.domain;
HTTP_PORT = 3000;
ROOT_URL = "https://${cfg.domain}/";
};
service.DISABLE_REGISTRATION = true;
};
};
};
networking.firewall.allowedTCPPorts = [ 80 443 ];
};
}

View file

@ -1,21 +1,11 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let
cfg = config.qenya.services.steam;
inherit (lib) mkIf mkEnableOption;
in
{ {
options.qenya.services.steam = { programs.steam = {
enable = mkEnableOption "Steam"; enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
}; };
config = mkIf cfg.enable { services.joycond.enable = true;
programs.steam = { }
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
};
services.joycond.enable = true;
};
}