Compare commits
2 commits
872849c875
...
da250e328c
Author | SHA1 | Date | |
---|---|---|---|
da250e328c | |||
ade0694d14 |
6 changed files with 77 additions and 21 deletions
8
.github/workflows/eval.yaml
vendored
8
.github/workflows/eval.yaml
vendored
|
@ -1,10 +1,8 @@
|
||||||
name: Eval NixOS Configurations
|
name: Eval NixOS Configurations
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
check_suite:
|
||||||
branches:
|
types: [completed]
|
||||||
- deploy
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
|
@ -36,7 +34,7 @@ jobs:
|
||||||
failed_hosts=""
|
failed_hosts=""
|
||||||
for host in $hosts; do
|
for host in $hosts; do
|
||||||
echo "Eval derivation for $host"
|
echo "Eval derivation for $host"
|
||||||
if ! nix show-derivation -L ".#nixosConfigurations.$host.config.system.build.toplevel" > "eval/$host.json"; then
|
if ! nix derivation show ".#nixosConfigurations.$host.config.system.build.toplevel" > "eval/$host.json"; then
|
||||||
echo "❌ Failed to evaluate $host"
|
echo "❌ Failed to evaluate $host"
|
||||||
failed_hosts+="$host "
|
failed_hosts+="$host "
|
||||||
rm "eval/$host.json"
|
rm "eval/$host.json"
|
||||||
|
|
|
@ -15,23 +15,12 @@ in
|
||||||
../sops.nix
|
../sops.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
services.comin = {
|
|
||||||
enable = true;
|
|
||||||
remotes = [
|
|
||||||
{
|
|
||||||
name = "origin";
|
|
||||||
url = "https://github.com/xinyangli/nixos-config.git";
|
|
||||||
branches.main.name = "deploy-comin-eval";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
hostname = config.networking.hostName;
|
|
||||||
};
|
|
||||||
|
|
||||||
commonSettings = {
|
commonSettings = {
|
||||||
# auth.enable = true;
|
# auth.enable = true;
|
||||||
nix = {
|
nix = {
|
||||||
signing.enable = true;
|
signing.enable = true;
|
||||||
};
|
};
|
||||||
|
comin.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
nix = {
|
nix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
comin.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
|
@ -38,7 +39,10 @@
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
environment.systemPackages = [ pkgs.virtiofsd ];
|
environment.systemPackages = [
|
||||||
|
pkgs.virtiofsd
|
||||||
|
pkgs.intel-gpu-tools
|
||||||
|
];
|
||||||
|
|
||||||
sops = {
|
sops = {
|
||||||
defaultSopsFile = ./secrets.yaml;
|
defaultSopsFile = ./secrets.yaml;
|
||||||
|
@ -94,15 +98,32 @@
|
||||||
options = "rw,nodev,nosuid";
|
options = "rw,nodev,nosuid";
|
||||||
wantedBy = [ "restic-rest-server.service" ];
|
wantedBy = [ "restic-rest-server.service" ];
|
||||||
}
|
}
|
||||||
|
# {
|
||||||
|
# what = "ocis";
|
||||||
|
# where = "/var/lib/ocis";
|
||||||
|
# type = "virtiofs";
|
||||||
|
# options = "rw,nodev,nosuid";
|
||||||
|
# wantedBy = [ "ocis.service" ];
|
||||||
|
# }
|
||||||
{
|
{
|
||||||
what = "ocis";
|
what = "media";
|
||||||
where = "/var/lib/ocis";
|
where = "/var/lib/jellyfin/media";
|
||||||
type = "virtiofs";
|
type = "virtiofs";
|
||||||
options = "rw,nodev,nosuid";
|
options = "rw,nodev,nosuid";
|
||||||
wantedBy = [ "ocis.service" ];
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
hardware.graphics = {
|
||||||
|
enable = true;
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
intel-media-driver
|
||||||
|
intel-vaapi-driver
|
||||||
|
vaapiVdpau
|
||||||
|
intel-compute-runtime # OpenCL filter support (hardware tonemapping and subtitle burn-in)
|
||||||
|
intel-media-sdk # QSV up to 11th gen
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
services.openssh.ports = [
|
services.openssh.ports = [
|
||||||
22
|
22
|
||||||
2222
|
2222
|
||||||
|
|
|
@ -4,5 +4,6 @@
|
||||||
./restic.nix
|
./restic.nix
|
||||||
./media-download.nix
|
./media-download.nix
|
||||||
./immich.nix
|
./immich.nix
|
||||||
|
./jellyfin.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
15
machines/weilite/services/jellyfin.nix
Normal file
15
machines/weilite/services/jellyfin.nix
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
services.jellyfin.enable = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
jellyfin
|
||||||
|
jellyfin-web
|
||||||
|
jellyfin-ffmpeg
|
||||||
|
];
|
||||||
|
services.caddy.virtualHosts."https://weilite.coho-tet.ts.net:8920".extraConfig = ''
|
||||||
|
reverse_proxy 127.0.0.1:8096
|
||||||
|
'';
|
||||||
|
networking.firewall.allowedTCPPorts = [ 8920 ]; # allow on lan
|
||||||
|
users.users.jellyfin.extraGroups = [ "render" ];
|
||||||
|
}
|
32
modules/nixos/common-settings/comin.nix
Normal file
32
modules/nixos/common-settings/comin.nix
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (lib)
|
||||||
|
mkEnableOption
|
||||||
|
mkIf
|
||||||
|
;
|
||||||
|
|
||||||
|
cfg = config.commonSettings.comin;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.commonSettings.comin = {
|
||||||
|
enable = mkEnableOption "auto updater with comin";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = {
|
||||||
|
services.comin = mkIf cfg.enable {
|
||||||
|
enable = true;
|
||||||
|
remotes = [
|
||||||
|
{
|
||||||
|
name = "origin";
|
||||||
|
url = "https://github.com/xinyangli/nixos-config.git";
|
||||||
|
branches.main.name = "deploy-comin-eval";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
hostname = config.networking.hostName;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue