mirror of
https://git.sr.ht/~rouven/nixos-config
synced 2025-01-18 17:11:39 +01:00
v4l2, printing and website
This commit is contained in:
parent
82ca5d6146
commit
0ac9348fd2
7 changed files with 91 additions and 25 deletions
42
flake.lock
42
flake.lock
|
@ -11,11 +11,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1696775529,
|
||||
"narHash": "sha256-TYlE4B0ktPtlJJF9IFxTWrEeq+XKG8Ny0gc2FGEAdj0=",
|
||||
"lastModified": 1701216516,
|
||||
"narHash": "sha256-jKSeJn+7hZ1dZdiH1L+NWUGT2i/BGomKAJ54B9kT06Q=",
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"rev": "daf42cb35b2dc614d1551e37f96406e4c4a2d3e4",
|
||||
"rev": "13ac9ac6d68b9a0896e3d43a082947233189e247",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -179,11 +179,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1700847865,
|
||||
"narHash": "sha256-uWaOIemGl9LF813MW0AEgCBpKwFo2t1Wv3BZc6e5Frw=",
|
||||
"lastModified": 1701071203,
|
||||
"narHash": "sha256-lQywA7QU/vzTdZ1apI0PfgCWNyQobXUYghVrR5zuIeM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "8cedd63eede4c22deb192f1721dd67e7460e1ebe",
|
||||
"rev": "db1878f013b52ba5e4034db7c1b63e8d04173a86",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -199,11 +199,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1698482687,
|
||||
"narHash": "sha256-M+ycfhVZO/c8rQYvdUxLkNS8Ttqg/dRckVOnKnxiEss=",
|
||||
"lastModified": 1701132345,
|
||||
"narHash": "sha256-/b6Ciigl3L+WDrrtRGkJVNv3GU/x4Knhcga75MtwRy0=",
|
||||
"owner": "therealr5",
|
||||
"repo": "TruckSimulatorBot-images",
|
||||
"rev": "c2eabb6964354a57eb0bc3979dae515fcc3eed32",
|
||||
"rev": "fe5d665a01da7f36b24387cbb6dbffeed1024a9e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -280,11 +280,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1700363379,
|
||||
"narHash": "sha256-fBEVPFwSZ6AmBE1s1oT7E9WVuqRghruxTnSQ8UUlMkw=",
|
||||
"lastModified": 1700968077,
|
||||
"narHash": "sha256-Lax+2g7G3Fe+ckMrHLYTl+97unbmNDmN1qS9MLBkxr4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "27920146e671a0d565aaa7452907383be14d8d82",
|
||||
"rev": "bd3aec0ecb0fdde863a7ed2c6caa220c47e22c07",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -295,11 +295,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1700794826,
|
||||
"narHash": "sha256-RyJTnTNKhO0yqRpDISk03I/4A67/dp96YRxc86YOPgU=",
|
||||
"lastModified": 1701253981,
|
||||
"narHash": "sha256-ztaDIyZ7HrTAfEEUt9AtTDNoCYxUdSd6NrRHaYOIxtk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5a09cb4b393d58f9ed0d9ca1555016a8543c2ac8",
|
||||
"rev": "e92039b55bcd58469325ded85d4f58dd5a4eaf58",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -397,11 +397,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1698828202,
|
||||
"narHash": "sha256-QjcqU0V5ewwgLfyLg/sUzCkYzr74Ih3UruEoWQ7rGT0=",
|
||||
"lastModified": 1701419702,
|
||||
"narHash": "sha256-oyNMUVqnkqaAzI6XKiFAsghXz+VuFNVC5YyuDEBS6Z4=",
|
||||
"owner": "therealr5",
|
||||
"repo": "purge",
|
||||
"rev": "5820a3d4696ff82ccd45602d25ba6f91bf1d3191",
|
||||
"rev": "31e7f1f1832f23235c949b0f0f0fc3dd31efd0d7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -472,11 +472,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1698828178,
|
||||
"narHash": "sha256-qG++eRZ3Hpxxvif0JMGFEhsz1WETAW5qsAVKScqz/xU=",
|
||||
"lastModified": 1701419713,
|
||||
"narHash": "sha256-xG9xu3t8TMvAU0SiwnlS/aoYsWE4A5cBTOafNABABLw=",
|
||||
"owner": "therealr5",
|
||||
"repo": "TruckSimulatorBot",
|
||||
"rev": "4da79ba1d6df945ebf3bae8f0d6f4847238837b9",
|
||||
"rev": "a81954714261039d3734ccaff4a3a6a0040ff72b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -40,6 +40,8 @@
|
|||
helix
|
||||
lsof
|
||||
python3
|
||||
php
|
||||
phpPackages.composer
|
||||
];
|
||||
programs.git = {
|
||||
enable = true;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
# set default options for virtualHosts
|
||||
options = with lib; {
|
||||
|
@ -35,8 +35,32 @@
|
|||
add_header Access-Control-Allow-Origin *;
|
||||
return 200 '${builtins.toJSON data}';
|
||||
'';
|
||||
user = "rfive-web";
|
||||
group = "rfive-web";
|
||||
in
|
||||
{
|
||||
users.users.${user} = {
|
||||
group = group;
|
||||
isSystemUser = true;
|
||||
};
|
||||
users.groups.${group} = { };
|
||||
services.phpfpm.pools.rfivede = {
|
||||
user = user;
|
||||
group = group;
|
||||
settings = {
|
||||
"listen.owner" = config.services.nginx.user;
|
||||
"pm" = "dynamic";
|
||||
"pm.max_children" = 32;
|
||||
"pm.max_requests" = 500;
|
||||
"pm.start_servers" = 2;
|
||||
"pm.min_spare_servers" = 2;
|
||||
"pm.max_spare_servers" = 5;
|
||||
"php_admin_value[error_log]" = "stderr";
|
||||
"php_admin_flag[log_errors]" = true;
|
||||
"catch_workers_output" = true;
|
||||
};
|
||||
phpEnv."PATH" = lib.makeBinPath [ pkgs.php ];
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
|
@ -49,8 +73,27 @@
|
|||
enableACME = true;
|
||||
forceSSL = true;
|
||||
root = "/srv/web/${config.networking.domain}";
|
||||
locations."/.well-known/matrix/client".extraConfig = mkWellKnown clientConfig;
|
||||
locations."/.well-known/matrix/server".extraConfig = mkWellKnown serverConfig;
|
||||
extraConfig = ''
|
||||
index index.html index.php;
|
||||
'';
|
||||
locations = {
|
||||
"/" = {
|
||||
tryFiles = "$uri $uri/ /index.php?$query_string";
|
||||
};
|
||||
"~ \.php$" = {
|
||||
extraConfig = ''
|
||||
try_files $uri =404;
|
||||
fastcgi_pass unix:${config.services.phpfpm.pools.rfivede.socket};
|
||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
fastcgi_index index.php;
|
||||
include ${pkgs.nginx}/conf/fastcgi_params;
|
||||
include ${pkgs.nginx}/conf/fastcgi.conf;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
|
||||
'';
|
||||
};
|
||||
"/.well-known/matrix/client".extraConfig = mkWellKnown clientConfig;
|
||||
"/.well-known/matrix/server".extraConfig = mkWellKnown serverConfig;
|
||||
};
|
||||
};
|
||||
};
|
||||
security.acme = {
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
./modules/graphics
|
||||
./modules/greetd
|
||||
./modules/networks
|
||||
./modules/printing
|
||||
./modules/security
|
||||
./modules/sound
|
||||
./modules/virtualisation
|
||||
|
@ -15,7 +16,14 @@
|
|||
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
boot = {
|
||||
kernelModules = [ "v4l2loopback" ];
|
||||
kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;
|
||||
extraModulePackages = [
|
||||
config.boot.kernelPackages.v4l2loopback
|
||||
];
|
||||
extraModprobeConfig = ''
|
||||
options v4l2loopback exclusive_caps=1 card_label="Virtual Camera"
|
||||
'';
|
||||
tmp.useTmpfs = true;
|
||||
};
|
||||
systemd.package = pkgs.systemd.override { withHomed = false; };
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
{
|
||||
age.secrets."borg/passphrase" = {
|
||||
file = ../../../../secrets/thinkpad/borg/passphrase.age;
|
||||
owner = "rouven";
|
||||
};
|
||||
environment.systemPackages = [ pkgs.borgbackup ];
|
||||
services.borgmatic = {
|
||||
|
|
12
hosts/thinkpad/modules/printing/default.nix
Normal file
12
hosts/thinkpad/modules/printing/default.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
services.printing = {
|
||||
enable = true;
|
||||
stateless = true;
|
||||
browsedConf = ''
|
||||
BrowsePoll cups.agdsn.network
|
||||
LocalQueueNamingRemoteCUPS RemoteName
|
||||
'';
|
||||
drivers = with pkgs; [ cups-kyocera ];
|
||||
};
|
||||
}
|
|
@ -8,7 +8,7 @@
|
|||
pulse.enable = true;
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
qpwgraph
|
||||
helvum
|
||||
easyeffects
|
||||
];
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue