Compare commits

..

No commits in common. "6e6606d31ed37c29e331a043654e35fee47a42c0" and "487a12e5b151007988e7048797d8ea691ccbdec4" have entirely different histories.

8 changed files with 62 additions and 23 deletions

View file

@ -53,6 +53,7 @@
}; };
}; };
my.server.mollysocket.enable = true;
my.server.blog.enable = true; my.server.blog.enable = true;
my.server.papermc.enable = true; my.server.papermc.enable = true;

View file

@ -24,14 +24,6 @@
group = "media"; group = "media";
}; };
# Sonarr didn't update their runtime for a while...
nixpkgs.config.permittedInsecurePackages = [
"aspnetcore-runtime-6.0.36"
"aspnetcore-runtime-wrapped-6.0.36"
"dotnet-sdk-wrapped-6.0.428"
"dotnet-sdk-6.0.428"
];
services.radarr = { services.radarr = {
enable = true; enable = true;
openFirewall = true; openFirewall = true;

View file

@ -12,13 +12,13 @@
services.nextcloud = { services.nextcloud = {
enable = true; enable = true;
package = pkgs.nextcloud30; package = pkgs.nextcloud28;
datadir = "/srv/nextcloud"; datadir = "/srv/nextcloud";
https = true; https = true;
hostName = extraInfo.nextcloudURI; hostName = extraInfo.nextcloudURI;
extraAppsEnable = true; extraAppsEnable = true;
appstoreEnable = false; appstoreEnable = true;
extraApps = { extraApps = {
inherit (config.services.nextcloud.package.packages.apps) inherit (config.services.nextcloud.package.packages.apps)
calendar calendar

20
flake.lock generated
View file

@ -184,11 +184,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733045511, "lastModified": 1732482255,
"narHash": "sha256-n8AldXJRNVMm2UZ6yN0HwVxlARY2Cm/uhdOw76tQ0OI=", "narHash": "sha256-GUffLwzawz5WRVfWaWCg78n/HrBJrOG7QadFY6rtV8A=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "4964f3c6fc17ae4578e762d3dc86b10fe890860e", "rev": "a9953635d7f34e7358d5189751110f87e3ac17da",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -289,27 +289,27 @@
}, },
"nixpkgs-stable_2": { "nixpkgs-stable_2": {
"locked": { "locked": {
"lastModified": 1732981179, "lastModified": 1731797254,
"narHash": "sha256-F7thesZPvAMSwjRu0K8uFshTk3ZZSNAsXTIFvXBT+34=", "narHash": "sha256-df3dJApLPhd11AlueuoN0Q4fHo/hagP75LlM5K1sz9g=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "62c435d93bf046a5396f3016472e8f7c8e2aed65", "rev": "e8c38b73aeb218e27163376a2d617e61a2ad9b59",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-24.11", "ref": "nixos-24.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1732837521, "lastModified": 1732014248,
"narHash": "sha256-jNRNr49UiuIwaarqijgdTR2qLPifxsVhlJrKzQ8XUIE=", "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "970e93b9f82e2a0f3675757eb0bfc73297cc6370", "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -4,7 +4,7 @@
# As we have machine using the unstable channel, and other machines using the stable one, # As we have machine using the unstable channel, and other machines using the stable one,
# we import both, and we will select for each machine which one to use. # we import both, and we will select for each machine which one to use.
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.11"; nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.05";
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
# Home-manager isn't used for anything except my workstations, which all use the unstable channel. # Home-manager isn't used for anything except my workstations, which all use the unstable channel.

View file

@ -7,6 +7,9 @@
}: }:
let let
gpu = config.my.hardware.gpu; gpu = config.my.hardware.gpu;
hwAccelerationOptionPath = if (machineProps.nixpkgs == "unstable") then "graphics" else "opengl";
enable32BitOptionName =
if (machineProps.nixpkgs == "unstable") then "enable32Bit" else "driSupport32Bit";
anyWineUser = anyWineUser =
if machineProps.enableHomeManager then if machineProps.enableHomeManager then
(builtins.any (user: user.my.games.wine.enable) (builtins.attrValues config.home-manager.users)) (builtins.any (user: user.my.games.wine.enable) (builtins.attrValues config.home-manager.users))
@ -34,10 +37,11 @@ with lib;
boot.kernelParams = mkIf (gpu == "intel") [ "i915.enable_guc=2" ]; boot.kernelParams = mkIf (gpu == "intel") [ "i915.enable_guc=2" ];
services.xserver.videoDrivers = mkIf (gpu == "nvidia") [ "nvidia" ]; services.xserver.videoDrivers = mkIf (gpu == "nvidia") [ "nvidia" ];
hardware.graphics = { # Small hack as this option path changes between 24.05 and unstable
hardware.${hwAccelerationOptionPath} = {
enable = gpu != null; enable = gpu != null;
enable32Bit = anyWineUser; "${enable32BitOptionName}" = anyWineUser;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
(mkIf (gpu == "intel") intel-media-driver) (mkIf (gpu == "intel") intel-media-driver)

View file

@ -3,6 +3,7 @@
../common ../common
./network.nix ./network.nix
./nginx.nix ./nginx.nix
./mollysocket.nix
./blog.nix ./blog.nix
./minecraft.nix ./minecraft.nix
]; ];

View file

@ -0,0 +1,41 @@
{
lib,
config,
extraInfo,
...
}:
let
msConfig = config.services.mollysocket.settings;
in
with lib;
{
options.my.server.mollysocket.enable = mkOption {
type = types.bool;
default = false;
description = ''
Enable the mollysocket server, allowing UnifiedPush notifications for te Molly app.
'';
};
config = mkIf config.my.server.mollysocket.enable {
services.mollysocket = {
enable = true;
settings = {
allowed_uuids = [
extraInfo.signal.clientUuid
];
};
};
services.nginx.virtualHosts.${extraInfo.signal.notificationServerUri} = {
enableACME = true;
forceSSL = true;
locations."/" = {
recommendedProxySettings = true;
proxyWebsockets = true;
proxyPass = "http://${msConfig.host}:${builtins.toString msConfig.port}";
};
};
};
}