Merge branch 'master' of github.com:starr-dusT/dotfiles

This commit is contained in:
Tyler Starr 2024-10-21 10:19:44 -07:00
commit 45392e015d
16 changed files with 123 additions and 31 deletions

View File

@ -0,0 +1,22 @@
#!/usr/bin/env bash
# Check if the directory is provided
if [ -z "$1" ]; then
echo "Usage: $0 <directory>"
exit 1
fi
# Function to print the tree with SHA256 sums
print_tree_with_md5() {
local dir="$1"
# Use find to recursively list files, and calculate md5sum for each file
find "$dir" -type f | while read -r file; do
md5=$(md5sum "$file" | awk '{print $1}')
echo "$file - $md5"
done
}
# Call the function with the provided directory
print_tree_with_md5 "$1"

View File

@ -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"
}

View File

@ -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;

View File

@ -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.

View File

@ -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;

View File

@ -32,10 +32,7 @@
modules = {
desktop = {
browser.enable = true;
gnome = {
enable = true;
wallpaper = "file://${../../../resources/img/wallpapers/gruvbox/osprey.png}";
};
gnome.enable = true;
};
devel = {
python.enable = true;
@ -53,13 +50,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";
};
};
};
}

View File

@ -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;

View File

@ -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.
];
};

View File

@ -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 {
@ -36,6 +32,7 @@ in {
gnome-fullscreen-to-empty-workspace
gnome-set-panel-monitor
gnome-randr
ftw
];
environment.gnome.excludePackages = with pkgs; [
@ -133,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 = [

View File

@ -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;

View File

@ -8,4 +8,6 @@ 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 {};
ftw = final.callPackage ../pkgs/ftw.nix {};
}

35
provision/pkgs/ftw.nix Normal file
View File

@ -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 ];
};
}

33
provision/pkgs/pySVS.nix Normal file
View File

@ -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 ];
};
}

View File

@ -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 = [

View File

@ -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;

Binary file not shown.