From b0050bc305c2c95555679e9f9d6526f4ed8acb80 Mon Sep 17 00:00:00 2001 From: Tyler Starr Date: Thu, 17 Oct 2024 23:35:19 -0700 Subject: [PATCH 1/9] add pySVS for controlling SVS subwoofers --- provision/modules/services/peripherals.nix | 1 + provision/overlays/default.nix | 1 + provision/pkgs/pySVS.nix | 33 ++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 provision/pkgs/pySVS.nix diff --git a/provision/modules/services/peripherals.nix b/provision/modules/services/peripherals.nix index caacaa65..96a3abc7 100644 --- a/provision/modules/services/peripherals.nix +++ b/provision/modules/services/peripherals.nix @@ -12,6 +12,7 @@ in { libimobiledevice # Library to support iPhone, iPod Touch and iPad devices on Linux ifuse # fuse filesystem implementation to access the contents of iOS devices usbtop + pySVS # control SVS subwoofers from the command-line ]; security.rtkit.enable = true; diff --git a/provision/overlays/default.nix b/provision/overlays/default.nix index a663b9ef..b34ca17b 100644 --- a/provision/overlays/default.nix +++ b/provision/overlays/default.nix @@ -8,4 +8,5 @@ final: prev: { gnome-set-panel-monitor = final.callPackage ../pkgs/gnome-set-panel-monitor.nix {}; gnome-fullscreen-to-empty-workspace = final.callPackage ../pkgs/gnome-fullscreen-to-empty-workspace.nix {}; ryujinx = final.callPackage ../pkgs/ryujinx/default.nix {}; + pySVS = final.callPackage ../pkgs/pySVS.nix {}; } diff --git a/provision/pkgs/pySVS.nix b/provision/pkgs/pySVS.nix new file mode 100644 index 00000000..28878a21 --- /dev/null +++ b/provision/pkgs/pySVS.nix @@ -0,0 +1,33 @@ +{ lib, stdenv, fetchFromGitHub, python3Packages }: + +python3Packages.buildPythonApplication rec { + pname = "pySVS"; + version = "0.0.1"; + + src = fetchFromGitHub { + owner = "starr-dusT"; + repo = "pySVS"; + rev = "5c483d96c58aab77a18b64f3003dd67be584977c"; + sha256 = "sha256-2j4bIGmuQOBuRAy4s6M56USbrJ2SGK3cFYc3AkQ6lKg="; + }; + + format = "pyproject"; + + propagatedBuildInputs = with python3Packages; [ + requests + bleak + pillow + setuptools + ]; + + # There are no tests + doCheck = false; + + meta = with lib; { + homepage = "https://github.com/starr-dusT/pySVS"; + description = "Python CLI for controlling SVS subwoofers over bluetooth."; + mainProgram = "pySVS"; + license = licenses.mit; + maintainers = [ maintainers.starr-dusT ]; + }; +} From 0a98774112b70f5439f1aac8ae5e53670484e2e6 Mon Sep 17 00:00:00 2001 From: Tyler Starr Date: Thu, 17 Oct 2024 23:43:05 -0700 Subject: [PATCH 2/9] add aliased command to control sub volume --- home/dot_aliases | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/home/dot_aliases b/home/dot_aliases index b6bcb559..a1b60e67 100644 --- a/home/dot_aliases +++ b/home/dot_aliases @@ -70,3 +70,9 @@ alias google-chrome-stable="google-chrome-stable --simulate-outdated-no-au='Tue, # rsync alias rsync.net="ssh fm2120@fm2120.rsync.net" + +# svs subwoofer +sv() { + pySVS 54:B7:E5:57:1A:7B --volume="$1" +} + From 4ac287d887e1b2dee2f92ae89932654461039d64 Mon Sep 17 00:00:00 2001 From: Tyler Starr Date: Sun, 20 Oct 2024 00:21:05 -0700 Subject: [PATCH 3/9] add ftw to config --- provision/modules/desktop/gnome.nix | 1 + provision/overlays/default.nix | 1 + provision/pkgs/ftw.nix | 35 +++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 provision/pkgs/ftw.nix diff --git a/provision/modules/desktop/gnome.nix b/provision/modules/desktop/gnome.nix index 42c490c8..9d6df1a2 100644 --- a/provision/modules/desktop/gnome.nix +++ b/provision/modules/desktop/gnome.nix @@ -36,6 +36,7 @@ in { gnome-fullscreen-to-empty-workspace gnome-set-panel-monitor gnome-randr + ftw ]; environment.gnome.excludePackages = with pkgs; [ diff --git a/provision/overlays/default.nix b/provision/overlays/default.nix index b34ca17b..cf14d068 100644 --- a/provision/overlays/default.nix +++ b/provision/overlays/default.nix @@ -9,4 +9,5 @@ final: prev: { gnome-fullscreen-to-empty-workspace = final.callPackage ../pkgs/gnome-fullscreen-to-empty-workspace.nix {}; ryujinx = final.callPackage ../pkgs/ryujinx/default.nix {}; pySVS = final.callPackage ../pkgs/pySVS.nix {}; + ftw = final.callPackage ../pkgs/ftw.nix {}; } diff --git a/provision/pkgs/ftw.nix b/provision/pkgs/ftw.nix new file mode 100644 index 00000000..20f947c6 --- /dev/null +++ b/provision/pkgs/ftw.nix @@ -0,0 +1,35 @@ +{ lib, stdenv, fetchFromGitHub, python3Packages }: + +python3Packages.buildPythonApplication rec { + pname = "ftw"; + version = "0.0.1"; + + src = fetchFromGitHub { + owner = "starr-dusT"; + repo = "ftw"; + rev = "4a4ed10d3913028e2d97e9ab079401b8e948e088"; + sha256 = "sha256-Gxt895JQAopfdQ0XawKnZP06Wy4KJQhsbH4Aa8+ZSS4="; + }; + + format = "pyproject"; + + propagatedBuildInputs = with python3Packages; [ + numpy + wand + setuptools + ]; + + # There are no tests + doCheck = false; + + postInstall = '' + cp -R "$src/ftw/res" "$out/lib/python3.12/site-packages/ftw" + ''; + + meta = with lib; { + homepage = "https://github.com/starr-dusT/ftw"; + description = "Build custom ftl wallpapers in a complicated way for no reason"; + mainProgram = "ftw"; + maintainers = [ maintainers.starr-dusT ]; + }; +} From 822d68f093fac9c72488a173963f42b155bb3b43 Mon Sep 17 00:00:00 2001 From: Tyler Starr Date: Sun, 20 Oct 2024 00:32:46 -0700 Subject: [PATCH 4/9] remove wallpaper setting for ftw --- provision/hosts/bulwark/configuration.nix | 5 +---- provision/hosts/kestrel/configuration.nix | 5 +---- provision/hosts/osprey/configuration.nix | 5 +---- provision/hosts/shivan/configuration.nix | 6 +----- provision/modules/desktop/gnome.nix | 6 ------ 5 files changed, 4 insertions(+), 23 deletions(-) diff --git a/provision/hosts/bulwark/configuration.nix b/provision/hosts/bulwark/configuration.nix index b2c33133..a8458bc0 100644 --- a/provision/hosts/bulwark/configuration.nix +++ b/provision/hosts/bulwark/configuration.nix @@ -20,10 +20,7 @@ modules = { desktop = { browser.enable = true; - gnome = { - enable = true; - wallpaper = "file://${../../../resources/img/wallpapers/gruvbox/bulwark.png}"; - }; + gnome.enable = true; }; devel = { notes.enable = true; diff --git a/provision/hosts/kestrel/configuration.nix b/provision/hosts/kestrel/configuration.nix index 2f98329b..fbe11f64 100644 --- a/provision/hosts/kestrel/configuration.nix +++ b/provision/hosts/kestrel/configuration.nix @@ -36,10 +36,7 @@ modules = { desktop = { browser.enable = true; - gnome = { - enable = true; - wallpaper = "file://${../../../resources/img/wallpapers/gruvbox/kestrel.png}"; - }; + gnome.enable = true; }; devel = { engineering.enable = true; diff --git a/provision/hosts/osprey/configuration.nix b/provision/hosts/osprey/configuration.nix index 8363cefb..c3b936c6 100644 --- a/provision/hosts/osprey/configuration.nix +++ b/provision/hosts/osprey/configuration.nix @@ -21,10 +21,7 @@ modules = { desktop = { browser.enable = true; - gnome = { - enable = true; - wallpaper = "file://${../../../resources/img/wallpapers/gruvbox/osprey.png}"; - }; + gnome.enable = true; }; devel = { python.enable = true; diff --git a/provision/hosts/shivan/configuration.nix b/provision/hosts/shivan/configuration.nix index 62348dbf..aa4931b8 100644 --- a/provision/hosts/shivan/configuration.nix +++ b/provision/hosts/shivan/configuration.nix @@ -23,11 +23,7 @@ modules = { desktop = { browser.enable = true; - gnome = { - enable = true; - # TODO: Add Shivan wallpaper - wallpaper = "file://${../../../resources/img/wallpapers/gruvbox/bulwark.png}"; - }; + gnome.enable = true; }; devel = { engineering.enable = true; diff --git a/provision/modules/desktop/gnome.nix b/provision/modules/desktop/gnome.nix index 9d6df1a2..806f34f5 100644 --- a/provision/modules/desktop/gnome.nix +++ b/provision/modules/desktop/gnome.nix @@ -19,10 +19,6 @@ in { options.modules.desktop.gnome = with lib; { enable = lib.mkEnableOption "gnome"; - wallpaper = lib.mkOption { - type = with types; str; - default = "file://${../../../resources/img/wallpapers/blank.png}"; - }; }; config = lib.mkIf cfg.enable { @@ -134,8 +130,6 @@ in { }; "org/gnome/desktop/background" = { picture-options = "zoom"; - picture-uri = "${cfg.wallpaper}"; - picture-uri-dark = "${cfg.wallpaper}"; }; "org/gnome/shell" = { favorite-apps = [ From 1fde6ddeaf37ed223ae1f8510959af05399f2914 Mon Sep 17 00:00:00 2001 From: Tyler Starr Date: Sun, 20 Oct 2024 10:52:31 -0700 Subject: [PATCH 5/9] fix sudachi fetch zip --- provision/pkgs/sudachi.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/provision/pkgs/sudachi.nix b/provision/pkgs/sudachi.nix index de7c12b9..2502791f 100644 --- a/provision/pkgs/sudachi.nix +++ b/provision/pkgs/sudachi.nix @@ -54,7 +54,8 @@ stdenv.mkDerivation (finalAttrs: { src = fetchzip { url = "https://github.com/emuplace/sudachi.emuplace.app/releases/download/v1.0.11/latest.zip"; - hash = "sha256-aQ1cNFG6JCNrMz4N9uv6QRidjNwvyJqGunhwhJpvv4s="; + hash = "sha256-HNNND8g9JyvrMjQxHq4udUtskGkqaISpq0TnzE2rb/U="; + stripRoot = false; }; nativeBuildInputs = [ From da8007642a9eabfd6c963e975051a03e4140b124 Mon Sep 17 00:00:00 2001 From: Tyler Starr Date: Sun, 20 Oct 2024 20:21:40 -0700 Subject: [PATCH 6/9] updates to steam-deck config --- provision/hosts/bulwark/steam-deck.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/provision/hosts/bulwark/steam-deck.nix b/provision/hosts/bulwark/steam-deck.nix index 180763b3..5f4c7f3f 100644 --- a/provision/hosts/bulwark/steam-deck.nix +++ b/provision/hosts/bulwark/steam-deck.nix @@ -8,8 +8,12 @@ steam.desktopSession = "gnome"; steam.enable = true; steam.user = "${user}"; + steam.autoStart = true; devices.steamdeck.enable = true; + devices.steamdeck.autoUpdate = true; }; + + services.xserver.displayManager.gdm.enable = lib.mkForce false; environment.systemPackages = with pkgs; [ jupiter-dock-updater-bin # Binary package for updating firmware on Jupiter Dock, a hardware accessory for certain laptops. From 3818cb7cc4e5f14ddc1eb86d3941fca301f53ba3 Mon Sep 17 00:00:00 2001 From: Tyler Starr Date: Sun, 20 Oct 2024 23:00:34 -0700 Subject: [PATCH 7/9] add tree script --- home/bin/executable_linux-tree-dir | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 home/bin/executable_linux-tree-dir diff --git a/home/bin/executable_linux-tree-dir b/home/bin/executable_linux-tree-dir new file mode 100644 index 00000000..627b971c --- /dev/null +++ b/home/bin/executable_linux-tree-dir @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +# Check if the directory is provided +if [ -z "$1" ]; then + echo "Usage: $0 " + exit 1 +fi + +# Function to print the tree with SHA256 sums +print_tree_with_sha256() { + local dir="$1" + + # Use find to recursively list files, and calculate sha256sum for each file + find "$dir" -type f | while read -r file; do + sha256=$(sha256sum "$file" | awk '{print $1}') + echo "$file - $sha256" + done +} + +# Call the function with the provided directory +print_tree_with_sha256 "$1" + From 21f92fbb59ccea9b770d9c696b095b90ad49fc22 Mon Sep 17 00:00:00 2001 From: Tyler Starr Date: Mon, 21 Oct 2024 09:57:44 -0700 Subject: [PATCH 8/9] use md5sum to verify file integrity --- home/bin/executable_linux-tree-dir | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/home/bin/executable_linux-tree-dir b/home/bin/executable_linux-tree-dir index 627b971c..86942740 100644 --- a/home/bin/executable_linux-tree-dir +++ b/home/bin/executable_linux-tree-dir @@ -7,16 +7,16 @@ if [ -z "$1" ]; then fi # Function to print the tree with SHA256 sums -print_tree_with_sha256() { +print_tree_with_md5() { local dir="$1" - # Use find to recursively list files, and calculate sha256sum for each file + # Use find to recursively list files, and calculate md5sum for each file find "$dir" -type f | while read -r file; do - sha256=$(sha256sum "$file" | awk '{print $1}') - echo "$file - $sha256" + md5=$(md5sum "$file" | awk '{print $1}') + echo "$file - $md5" done } # Call the function with the provided directory -print_tree_with_sha256 "$1" +print_tree_with_md5 "$1" From 5f4b32212f6564cd70960f550abeedd9ad2139bf Mon Sep 17 00:00:00 2001 From: Tyler Starr Date: Mon, 21 Oct 2024 10:08:22 -0700 Subject: [PATCH 9/9] osprey wireguard setup --- provision/hosts/osprey/configuration.nix | 14 +++++++------- provision/hosts/torus/wireguard-server.nix | 5 +++++ provision/secrets/secrets.nix | 1 + provision/secrets/wireguard/osprey.age | Bin 0 -> 586 bytes 4 files changed, 13 insertions(+), 7 deletions(-) create mode 100644 provision/secrets/wireguard/osprey.age diff --git a/provision/hosts/osprey/configuration.nix b/provision/hosts/osprey/configuration.nix index c3b936c6..5cdbb182 100644 --- a/provision/hosts/osprey/configuration.nix +++ b/provision/hosts/osprey/configuration.nix @@ -39,13 +39,13 @@ system = { ssh.enable = true; terminal.enable = true; - #wireguard-client = { - # enable = true; - # privateKeyFile = "/run/agenix/wireguard/kestrel"; - # address = [ "192.168.3.3/24" ]; - # publicKey = "bd7bbZOngl/FTdBlnbIhgCLNf6yx5X8WjiRB7E1NEQQ="; - # endpoint = "66.218.43.87"; - #}; + wireguard-client = { + enable = true; + privateKeyFile = "/run/agenix/wireguard/osprey"; + address = [ "192.168.3.3/24" ]; + publicKey = "bd7bbZOngl/FTdBlnbIhgCLNf6yx5X8WjiRB7E1NEQQ="; + endpoint = "66.218.43.87"; + }; }; }; } diff --git a/provision/hosts/torus/wireguard-server.nix b/provision/hosts/torus/wireguard-server.nix index c53df8d1..ff6d2142 100644 --- a/provision/hosts/torus/wireguard-server.nix +++ b/provision/hosts/torus/wireguard-server.nix @@ -57,6 +57,11 @@ publicKey = "CDoy/XI8FRQV/ySHigLWG2tpWVw8hgEZXRQCEE3qYHQ="; allowedIPs = [ "192.168.3.4/32" ]; } + { + # Osprey + publicKey = "xOn/GB4iK27f8oTrITodNNPIk6I4l34Fsde6i97aFR0="; + allowedIPs = [ "192.168.3.5/32" ]; + } # More peers can be added here. ]; }; diff --git a/provision/secrets/secrets.nix b/provision/secrets/secrets.nix index f6d4b019..1ccd889f 100644 --- a/provision/secrets/secrets.nix +++ b/provision/secrets/secrets.nix @@ -16,6 +16,7 @@ in "wireguard/kestrel.age".publicKeys = users ++ systems; "wireguard/torus.age".publicKeys = systems; "wireguard/bulwark.age".publicKeys = systems; + "wireguard/osprey.age".publicKeys = [ tstarr_osprey ] ++ systems; "git/gitea-runner-1.age".publicKeys = systems; "nextcloud/password.age".publicKeys = systems; "ssh/kestrel/id_ed25519.age".publicKeys = [ tstarr_kestrel ] ++ systems; diff --git a/provision/secrets/wireguard/osprey.age b/provision/secrets/wireguard/osprey.age new file mode 100644 index 0000000000000000000000000000000000000000..a0dc4101bf4123896bf56d24dce5a0b2032e91f3 GIT binary patch literal 586 zcmZ9|yRMU9003YU6HOR2p13)PF6wEJYk_KFLTPC^rIc%FaWIr}E#;>`X~7sLrxSNK z7dJ;Im$PWxbTe)~f^qON8FlUxe97ko9^$2LUT0+l(z_rJ&^tnCMlpj%A7Hw@P{HZ^qJym+OgYy0Vs3Y8>oYZaJLc1<-_Wi@HSU z;Q$hK4k)8}G(7=PBjp(Cf?gWSV$s^^{>DOD2-~YJx*&xklAO8~kpAYY@AK&?P@#a5ZfW)Ez literal 0 HcmV?d00001