fixes and formatting

This commit is contained in:
Henry Hiles 2025-09-23 09:17:26 -04:00
commit 80cf48f1e8
No known key found for this signature in database
71 changed files with 746 additions and 1110 deletions

View file

@ -4,16 +4,17 @@
crossPkgs,
lib,
...
}: {
}:
{
imports = [
(_:
import
"${inputs.sdm845}/nixos/profiles/boot/kernel/sdm845-mainline"
{
(
_:
import "${inputs.sdm845}/nixos/profiles/boot/kernel/sdm845-mainline" {
inherit lib config;
pkgs = crossPkgs;
inputs = inputs.sdm845.inputs;
})
}
)
];
boot.initrd.allowMissingModules = true;

View file

@ -1,10 +1,10 @@
{
boot.binfmt.emulatedSystems = ["aarch64-linux"];
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
nixpkgs.overlays = [
(_: super: {
# Because of https://github.com/NixOS/nixpkgs/pull/378579
qemu = super.qemu.overrideAttrs (old: {
patches = (old.patches or []) ++ [./qemu.patch];
patches = (old.patches or [ ]) ++ [ ./qemu.patch ];
});
})
];

View file

@ -7,15 +7,23 @@
pkgs,
modulesPath,
...
}: {
}:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [];
boot.initrd.availableKernelModules = [
"nvme"
"xhci_pci"
"ahci"
"usb_storage"
"usbhid"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/7d01741d-d58f-49d4-b3a2-4d37d953873d";
@ -27,7 +35,7 @@
fsType = "vfat";
};
swapDevices = [];
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

View file

@ -2,14 +2,19 @@
pkgs,
lib,
...
}: let
}:
let
setvcp = "${lib.meta.getExe pkgs.ddcutil} setvcp D6";
in {
in
{
hardware.i2c.enable = true;
systemd.services = {
monitor-off = rec {
script = "${setvcp} 05";
wantedBy = ["sleep.target" "final.target"];
wantedBy = [
"sleep.target"
"final.target"
];
before = wantedBy;
serviceConfig.Type = "oneshot";
@ -18,7 +23,10 @@ in {
monitor-on = rec {
script = "${setvcp} 01";
wantedBy = ["sleep.target" "multi-user.target"];
wantedBy = [
"sleep.target"
"multi-user.target"
];
after = wantedBy;
};
};

View file

@ -2,10 +2,14 @@
pkgs,
config,
...
}: {
boot.blacklistedKernelModules = ["xpad"];
boot.extraModulePackages = [config.boot.kernelPackages.hid-tmff2];
}:
{
boot.blacklistedKernelModules = [ "xpad" ];
boot.extraModulePackages = [ config.boot.kernelPackages.hid-tmff2 ];
environment.systemPackages = with pkgs; [oversteer linuxConsoleTools];
services.udev.packages = [pkgs.oversteer];
environment.systemPackages = with pkgs; [
oversteer
linuxConsoleTools
];
services.udev.packages = [ pkgs.oversteer ];
}

View file

@ -1,36 +1,39 @@
{config, ...}: {
services = let
domain = "dav.henryhiles.com";
in {
davis = {
enable = true;
hostname = domain;
appSecretFile = config.age.secrets."davSecret.age".path;
adminPasswordFile = config.age.secrets."davPassword.age".path;
{ config, ... }:
{
services =
let
domain = "dav.henryhiles.com";
in
{
davis = {
enable = true;
hostname = domain;
appSecretFile = config.age.secrets."davSecret.age".path;
adminPasswordFile = config.age.secrets."davPassword.age".path;
poolConfig = with config.services.caddy; {
"listen.owner" = user;
"listen.group" = group;
poolConfig = with config.services.caddy; {
"listen.owner" = user;
"listen.group" = group;
};
nginx = null;
};
nginx = null;
caddy.virtualHosts."${domain}".extraConfig = ''
encode zstd gzip
header {
-Server
-X-Powered-By
Strict-Transport-Security max-age=31536000;
X-Content-Type-Options nosniff
Referrer-Policy no-referrer-when-downgrade
}
root * ${config.services.davis.package}/public
php_fastcgi unix/${config.services.phpfpm.pools.davis.socket}
file_server
redir /.well-known/carddav /dav/ 301
redir /.well-known/caldav /dav/ 301
'';
};
caddy.virtualHosts."${domain}".extraConfig = ''
encode zstd gzip
header {
-Server
-X-Powered-By
Strict-Transport-Security max-age=31536000;
X-Content-Type-Options nosniff
Referrer-Policy no-referrer-when-downgrade
}
root * ${config.services.davis.package}/public
php_fastcgi unix/${config.services.phpfpm.pools.davis.socket}
file_server
redir /.well-known/carddav /dav/ 301
redir /.well-known/caldav /dav/ 301
'';
};
}

View file

@ -47,16 +47,13 @@ in
enableNginx = false;
redis.createLocally = true;
postgresql.createLocally = true;
backendPackage = inputs.nixpkgs-lasuite.legacyPackages.${pkgs.system}.lasuite-docs.overrideAttrs {
backendPackage = pkgs.lasuite-docs.overrideAttrs {
patches = [ ./enable-languages.patch ];
};
collaborationServer.package =
inputs.nixpkgs-lasuite.legacyPackages.${pkgs.system}.lasuite-docs-collaboration-server;
frontendPackage =
inputs.nixpkgs-lasuite.legacyPackages.${pkgs.system}.lasuite-docs-frontend.overrideAttrs
{
NEXT_PUBLIC_PUBLISH_AS_MIT = "false";
};
collaborationServer.package = pkgs.lasuite-docs-collaboration-server;
frontendPackage = pkgs.lasuite-docs-frontend.overrideAttrs {
NEXT_PUBLIC_PUBLISH_AS_MIT = "false";
};
bind = "unix:${socket}";
inherit s3Url domain;

View file

@ -2,53 +2,56 @@
pkgs,
config,
...
}: {
networking.firewall.allowedTCPPorts = [22];
services = let
domain = "git.federated.nexus";
socket = "/run/forgejo/socket";
in {
forgejo = {
enable = true;
package = pkgs.forgejo; # Not LTS
settings = {
service = {
ENABLE_INTERNAL_SIGNIN = false;
ALLOW_ONLY_EXTERNAL_REGISTRATION = true;
}:
{
networking.firewall.allowedTCPPorts = [ 22 ];
services =
let
domain = "git.federated.nexus";
socket = "/run/forgejo/socket";
in
{
forgejo = {
enable = true;
package = pkgs.forgejo; # Not LTS
settings = {
service = {
ENABLE_INTERNAL_SIGNIN = false;
ALLOW_ONLY_EXTERNAL_REGISTRATION = true;
};
oauth2_client.ENABLE_AUTO_REGISTRATION = true;
repository.GO_GET_CLONE_URL_PROTOCOL = "ssh";
actions.DEFAULT_ACTIONS_URL = "github";
server = {
DOMAIN = domain;
ROOT_URL = "https://${domain}";
HTTP_ADDR = socket;
PROTOCOL = "http+unix";
START_SSH_SERVER = true;
BUILTIN_SSH_SERVER_USER = "git";
LANDING_PAGE = "explore";
};
federation.enable = true;
};
oauth2_client.ENABLE_AUTO_REGISTRATION = true;
repository.GO_GET_CLONE_URL_PROTOCOL = "ssh";
actions.DEFAULT_ACTIONS_URL = "github";
server = {
DOMAIN = domain;
ROOT_URL = "https://${domain}";
HTTP_ADDR = socket;
PROTOCOL = "http+unix";
START_SSH_SERVER = true;
BUILTIN_SSH_SERVER_USER = "git";
LANDING_PAGE = "explore";
};
federation.enable = true;
};
caddy.virtualHosts."${domain}".extraConfig = ''
respond /robots.txt <<EOF
User-agent: *
Disallow: /*/*/archive/
Disallow: /*/*/src/commit
EOF 200
reverse_proxy unix/${socket}
'';
};
caddy.virtualHosts."${domain}".extraConfig = ''
respond /robots.txt <<EOF
User-agent: *
Disallow: /*/*/archive/
Disallow: /*/*/src/commit
EOF 200
reverse_proxy unix/${socket}
'';
};
systemd.sockets.forgejo = {
requiredBy = ["forgejo.service"];
wantedBy = ["sockets.target"];
requiredBy = [ "forgejo.service" ];
wantedBy = [ "sockets.target" ];
listenStreams = [
(toString config.services.forgejo.settings.server.SSH_PORT)

View file

@ -1,25 +1,28 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
services.caddy.virtualHosts."app.federated.nexus".extraConfig = ''
root ${pkgs.cinny.override {
conf = {
defaultHomeserver = 0;
homeserverList = ["federated.nexus"];
allowCustomHomeservers = false;
};
# cinny-unwrapped = pkgs.cinny-unwrapped.overrideAttrs (old: rec {
# src = pkgs.fetchFromGitHub {
# owner = "GigiaJ";
# repo = "cinny";
# rev = "a299e9c4cb4df1a3b732fdfddb1297170251a10d";
# hash = "sha256-EDsDVOlaYT0S30Cml+t71U7OOKkfcE4aJxwE8iTdV3s=";
# };
# npmDeps = pkgs.fetchNpmDeps {
# inherit src;
# name = "${old.pname}-${old.version}-npm-deps";
# hash = "sha256-k8eCQO1uIpoKpLHO3E3EYWbQSjcAya2AxngA9mvSfns=";
# };
# });
}}
root ${
pkgs.cinny.override {
conf = {
defaultHomeserver = 0;
homeserverList = [ "federated.nexus" ];
allowCustomHomeservers = false;
};
# cinny-unwrapped = pkgs.cinny-unwrapped.overrideAttrs (old: rec {
# src = pkgs.fetchFromGitHub {
# owner = "GigiaJ";
# repo = "cinny";
# rev = "a299e9c4cb4df1a3b732fdfddb1297170251a10d";
# hash = "sha256-EDsDVOlaYT0S30Cml+t71U7OOKkfcE4aJxwE8iTdV3s=";
# };
# npmDeps = pkgs.fetchNpmDeps {
# inherit src;
# name = "${old.pname}-${old.version}-npm-deps";
# hash = "sha256-k8eCQO1uIpoKpLHO3E3EYWbQSjcAya2AxngA9mvSfns=";
# };
# });
}
}
try_files {path} {path}/ /index.html
file_server
'';

View file

@ -3,40 +3,43 @@
pkgs,
lib,
...
}: {
}:
{
systemd.services.continuwuity.serviceConfig.Restart = lib.mkForce "always";
services = let
domain = "federated.nexus";
subdomain = "matrix.${domain}";
socket = "/var/run/continuwuity/continuwuity.sock";
in {
matrix-continuwuity = {
enable = true;
package = inputs.nixpkgs-continuwuity.legacyPackages.${pkgs.system}.matrix-continuwuity;
group = "caddy";
settings.global = {
server_name = domain;
unix_socket_path = socket;
new_user_displayname_suffix = "";
allow_public_room_directory_over_federation = true;
trusted_servers = [
"matrix.org"
"tchncs.de"
"maunium.net"
];
ignore_messages_from_server_names = [];
url_preview_domain_explicit_allowlist = ["*"];
services =
let
domain = "federated.nexus";
subdomain = "matrix.${domain}";
socket = "/var/run/continuwuity/continuwuity.sock";
in
{
matrix-continuwuity = {
enable = true;
package = inputs.nixpkgs-continuwuity.legacyPackages.${pkgs.system}.matrix-continuwuity;
group = "caddy";
settings.global = {
server_name = domain;
unix_socket_path = socket;
new_user_displayname_suffix = "";
allow_public_room_directory_over_federation = true;
trusted_servers = [
"matrix.org"
"tchncs.de"
"maunium.net"
];
ignore_messages_from_server_names = [ ];
url_preview_domain_explicit_allowlist = [ "*" ];
well_known = {
client = "https://${subdomain}";
server = "${subdomain}:443";
support_email = "henry@henryhiles.com";
support_mxid = "@quadradical:${domain}";
well_known = {
client = "https://${subdomain}";
server = "${subdomain}:443";
support_email = "henry@henryhiles.com";
support_mxid = "@quadradical:${domain}";
};
};
};
};
caddy.virtualHosts."${subdomain}".extraConfig = "reverse_proxy unix/${socket}";
};
caddy.virtualHosts."${subdomain}".extraConfig = "reverse_proxy unix/${socket}";
};
}

View file

@ -2,17 +2,18 @@
config,
pkgs,
...
}: {
}:
{
services = {
redlib = {
enable = true;
package = pkgs.redlib.overrideAttrs (oldAttrs: {
doCheck = false;
src = pkgs.fetchFromGitHub {
owner = "chowder";
owner = "redlib-org";
repo = "redlib";
rev = "47ef6a06d47416559609c385d5234d155938f3e3";
hash = "sha256-gsgWqVOUizSYFjSg9x+dG1VRWabvjpuCGjaG94q1cQY=";
rev = "a989d19ca92713878e9a20dead4252f266dc4936";
hash = "sha256-YJZVkCi8JQ1U47s52iOSyyf32S3b35pEqw4YTW8FHVY=";
};
});
@ -21,7 +22,9 @@
settings.REDLIB_DEFAULT_THEME = "nord";
};
caddy.authedHosts."redlib.federated.nexus" = with config.services.redlib; "reverse_proxy ${address}:${toString port}";
caddy.authedHosts."redlib.federated.nexus" =
with config.services.redlib;
"reverse_proxy ${address}:${toString port}";
};
systemd.services.redlib.serviceConfig.Restart = "always";

View file

@ -1 +1 @@
{time.timeZone = "America/Toronto";}
{ time.timeZone = "America/Toronto"; }

View file

@ -1,17 +1,21 @@
{config, ...}: {
services = let
domain = "vault.henryhiles.com";
in {
vaultwarden = {
enable = true;
config = {
domain = "https://${domain}";
signupsAllowed = false;
passwordHintsAllowed = false;
rocketAddress = "127.0.0.2";
{ config, ... }:
{
services =
let
domain = "vault.henryhiles.com";
in
{
vaultwarden = {
enable = true;
config = {
domain = "https://${domain}";
signupsAllowed = false;
passwordHintsAllowed = false;
rocketAddress = "127.0.0.2";
};
};
};
caddy.virtualHosts."${domain}".extraConfig = "reverse_proxy ${config.services.vaultwarden.config.rocketAddress}:8000";
};
caddy.virtualHosts."${domain}".extraConfig =
"reverse_proxy ${config.services.vaultwarden.config.rocketAddress}:8000";
};
}

View file

@ -7,18 +7,26 @@
pkgs,
modulesPath,
...
}: {
}:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot = {
initrd = {
availableKernelModules = ["xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod"];
kernelModules = [];
availableKernelModules = [
"xhci_pci"
"ahci"
"nvme"
"usb_storage"
"usbhid"
"sd_mod"
];
kernelModules = [ ];
};
kernelModules = ["kvm-intel"];
extraModulePackages = [];
kernelModules = [ "kvm-intel" ];
extraModulePackages = [ ];
};
fileSystems."/" = {
@ -31,7 +39,7 @@
fsType = "vfat";
};
swapDevices = [];
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

View file

@ -1,5 +1,5 @@
{
services.xserver.videoDrivers = ["nvidia"];
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia = {
prime = {
offload = {