summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--accounts/gkleen@sif/xmonad/xmonad.hs2
-rw-r--r--accounts/gkleen@sif/zshrc17
-rw-r--r--hosts/sif/default.nix11
-rw-r--r--hosts/sif/hw.nix1
-rw-r--r--overlays/v4l2loopback.nix37
5 files changed, 61 insertions, 7 deletions
diff --git a/accounts/gkleen@sif/xmonad/xmonad.hs b/accounts/gkleen@sif/xmonad/xmonad.hs
index 425beaf4..8282ed3f 100644
--- a/accounts/gkleen@sif/xmonad/xmonad.hs
+++ b/accounts/gkleen@sif/xmonad/xmonad.hs
@@ -199,7 +199,7 @@ hostFromName h
199 , assign' ["work", "uni"] $ className =? "jetbrains-idea-ce" 199 , assign' ["work", "uni"] $ className =? "jetbrains-idea-ce"
200 , assign "read" $ className =? "llpp" 200 , assign "read" $ className =? "llpp"
201 , assign "read" $ className =? "Evince" 201 , assign "read" $ className =? "Evince"
202 , assign "read" $ fmap ("zathura" `isInfixOf`) title 202 , assign "read" $ className =? "Zathura"
203 , assign "read" $ className =? "MuPDF" 203 , assign "read" $ className =? "MuPDF"
204 , assign "read" $ className =? "Xournal" 204 , assign "read" $ className =? "Xournal"
205 , assign "read" $ appName =? "com-trollworks-gcs-app-GCS" 205 , assign "read" $ appName =? "com-trollworks-gcs-app-GCS"
diff --git a/accounts/gkleen@sif/zshrc b/accounts/gkleen@sif/zshrc
index c65e35f9..fd1f1002 100644
--- a/accounts/gkleen@sif/zshrc
+++ b/accounts/gkleen@sif/zshrc
@@ -1,9 +1,20 @@
1filebin() { 1filebin() {
2 basePath=/srv/www/files 2 basePath=/srv/www/files
3 ssh ymir find "${basePath}" -type f -print0 \ 3 ssh ymir find /srv/www/files -type f -printf "$'%T@ %TY-%Tm-%TdT%TH:%TM %P\\\\0'" | sort -zn | cut -z -d ' ' -f 2- \
4 | while IFS= read -r -d $'\0' p; do 4 | while IFS= read -r -d $'\0' l; do
5 printf "https://f.141.li/%s\n" "${p#${basePath}/}" 5 IFS=' ' read -r t p <<<"${l}"
6 printf "%s https://f.141.li/%s\n" "${t}" "${p}"
7 done
8}
9
10push2bin() {
11 if [[ ${#@} -eq 1 && ! -r ${1} ]]; then
12 uux -p 'ymir!push2bin' $(echo -n "${1:t}" | tr -c $'[:alnum:]+-=.' '_')
13 else
14 for f (${@}); do
15 uux -p 'ymir!push2bin' $(echo -n "${f:t}" | tr -c $'[:alnum:]+-=.' '_') <${f}
6 done 16 done
17 fi
7} 18}
8 19
9genmail() { 20genmail() {
diff --git a/hosts/sif/default.nix b/hosts/sif/default.nix
index 2c3c9e3d..737dad36 100644
--- a/hosts/sif/default.nix
+++ b/hosts/sif/default.nix
@@ -38,6 +38,7 @@
38 kernelPackages = pkgs.linuxPackages_latest; 38 kernelPackages = pkgs.linuxPackages_latest;
39 kernelParams = [ "i915.fastboot=1" "intel_pstate=no_hwp" "acpi_backlight=vendor" "thinkpad-acpi.brightness_enable=1" "quiet" ]; 39 kernelParams = [ "i915.fastboot=1" "intel_pstate=no_hwp" "acpi_backlight=vendor" "thinkpad-acpi.brightness_enable=1" "quiet" ];
40 extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; 40 extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
41 kernelModules = ["v4l2loopback"];
41 42
42 tmpOnTmpfs = true; 43 tmpOnTmpfs = true;
43 }; 44 };
@@ -54,6 +55,8 @@
54 allowedTCPPorts = [ 22 # ssh 55 allowedTCPPorts = [ 22 # ssh
55 8000 # quickserve 56 8000 # quickserve
56 ]; 57 ];
58 allowedUDPPorts = [ 8554 # gopro webcam
59 ];
57 }; 60 };
58 61
59 networkmanager = { 62 networkmanager = {
@@ -81,10 +84,14 @@
81 ''; 84 '';
82 }; 85 };
83 86
84 powerManagement.enable = true; 87 powerManagement = {
88 enable = true;
89
90 cpuFreqGovernor = "schedutil";
91 };
85 92
86 environment.systemPackages = with pkgs; [ 93 environment.systemPackages = with pkgs; [
87 nvtop brightnessctl 94 nvtop brightnessctl config.boot.kernelPackages.v4l2loopback s-tui
88 ]; 95 ];
89 96
90 services = { 97 services = {
diff --git a/hosts/sif/hw.nix b/hosts/sif/hw.nix
index 4a3e6c86..92afb7c9 100644
--- a/hosts/sif/hw.nix
+++ b/hosts/sif/hw.nix
@@ -26,7 +26,6 @@
26 ]; 26 ];
27 27
28 nix.maxJobs = 12; 28 nix.maxJobs = 12;
29 powerManagement.cpuFreqGovernor = "powersave";
30 # High-DPI console 29 # High-DPI console
31 console.font = "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz"; 30 console.font = "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz";
32 31
diff --git a/overlays/v4l2loopback.nix b/overlays/v4l2loopback.nix
new file mode 100644
index 00000000..335f86a3
--- /dev/null
+++ b/overlays/v4l2loopback.nix
@@ -0,0 +1,37 @@
1final: prev: {
2 linuxPackages_latest = prev.linuxPackages_latest.extend (self: super: {
3 v4l2loopback = super.stdenv.mkDerivation rec {
4 name = "v4l2loopback-${version}-${self.kernel.version}";
5 version = "f62fb9076b6313e5eb82fdcaceadb6b3052f346e";
6
7 src = prev.fetchFromGitHub {
8 owner = "umlaeute";
9 repo = "v4l2loopback";
10 rev = "${version}";
11 sha256 = "VRFtimQQtT8vd1dx5KtUDkmXo3DSOybhNLcAIxQba44=";
12 fetchSubmodules = true;
13 };
14
15 hardeningDisable = [ "format" "pic" ];
16
17 preBuild = ''
18 substituteInPlace Makefile --replace "modules_install" "INSTALL_MOD_PATH=$out modules_install"
19 sed -i '/depmod/d' Makefile
20 export PATH=${final.kmod}/sbin:$PATH
21 '';
22
23 nativeBuildInputs = self.kernel.moduleBuildDependencies;
24 buildInputs = [ final.kmod ];
25
26 makeFlags = [
27 "KERNELRELEASE=${self.kernel.modDirVersion}"
28 "KERNEL_DIR=${self.kernel.dev}/lib/modules/${self.kernel.modDirVersion}/build"
29 ];
30
31 postInstall = ''
32 mkdir -p $out/bin
33 install -m0755 utils/v4l2loopback-ctl $out/bin
34 '';
35 };
36 });
37}