This commit is contained in:
mjallen18
2025-09-03 18:37:49 -05:00
parent c4911b9d5f
commit bb96cf2406
7 changed files with 98 additions and 93 deletions

50
flake.lock generated
View File

@@ -86,11 +86,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1756606761, "lastModified": 1756909345,
"narHash": "sha256-lcHMwq0LVcS1mP9o0pq00Von8PsXMsFPPo3ZXGWa7DU=", "narHash": "sha256-dSz08uK6NlgGxfo7F7E8rBB3lAROWdncOFTH/lZLVFI=",
"owner": "chaotic-cx", "owner": "chaotic-cx",
"repo": "nyx", "repo": "nyx",
"rev": "9e9e58125b4ba190658235106858f9733b25a1b4", "rev": "478969e9fcd639751841009415df6178044cb6e2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -541,11 +541,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1756842514, "lastModified": 1756903364,
"narHash": "sha256-XbtRMewPGJwTNhBC4pnBu3w/xT1XejvB0HfohC2Kga8=", "narHash": "sha256-vZh/YH2D7oDFek10r0TbGn3qJrqGv69sSP+oF8PFDqQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "30fc1b532645a21e157b6e33e3f8b4c154f86382", "rev": "6159629d05a0e92bb7fb7211e74106ae1d552401",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -557,11 +557,11 @@
"homebrew-cask": { "homebrew-cask": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1756852744, "lastModified": 1756940093,
"narHash": "sha256-U9kI3DUaBthraFDPyoaPASZCwa4beIbPioKZqk/fRE0=", "narHash": "sha256-ZqBSV6Frrfkt/Jihm1HkvK1Rps6O84iTDGnCtoMF+qE=",
"owner": "homebrew", "owner": "homebrew",
"repo": "homebrew-cask", "repo": "homebrew-cask",
"rev": "e08060d99e6e06d7d0d233439b2139d2f971d1a1", "rev": "92af92ac999d6e2d625ce18d94ef10a8da1f11ef",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -573,11 +573,11 @@
"homebrew-core": { "homebrew-core": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1756853188, "lastModified": 1756940164,
"narHash": "sha256-lZnraCsn+6bILvM5Tv9WXGdZeTVzbwViOKB3086fw0w=", "narHash": "sha256-hZTYCvvIDOD8Q/i+GeXc9SU/rDlfnWRqrDkn6TYr/NE=",
"owner": "homebrew", "owner": "homebrew",
"repo": "homebrew-core", "repo": "homebrew-core",
"rev": "44c6c6065d93f93e90a66ddc2bfcd37746e9546b", "rev": "4f9ff02b276599d0d6fb34c876bf33fe919abe0d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -820,11 +820,11 @@
"nixpkgs": "nixpkgs_9" "nixpkgs": "nixpkgs_9"
}, },
"locked": { "locked": {
"lastModified": 1756778240, "lastModified": 1756864266,
"narHash": "sha256-fEN9e5eTYTYiLWDgIm0LpfBZ/IKEmP+BvmDtg2HeHUY=", "narHash": "sha256-2X1atbNXhevmp7+RZ9AC6Uafh8dXdMl88ao41OjXKg8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-vscode-extensions", "repo": "nix-vscode-extensions",
"rev": "88023dda65dbb10c52aa03b39a0426024ad8e543", "rev": "0fa39712a6079f2b5ad4beb36f388e875acc359f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -874,11 +874,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1756750488, "lastModified": 1756925795,
"narHash": "sha256-e4ZAu2sjOtGpvbdS5zo+Va5FUUkAnizl4wb0/JlIL2I=", "narHash": "sha256-kUb5hehaikfUvoJDEc7ngiieX88TwWX/bBRX9Ar6Tac=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "47eb4856cfd01eaeaa7bb5944a0f27db8fb9b94a", "rev": "ba6fab29768007e9f2657014a6e134637100c57d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -999,11 +999,11 @@
}, },
"nixpkgs-stable_3": { "nixpkgs-stable_3": {
"locked": { "locked": {
"lastModified": 1756754095, "lastModified": 1756886854,
"narHash": "sha256-9Rsn9XEWINExosFkKEqdp8EI6Mujr1gmQiyrEcts2ls=", "narHash": "sha256-6tooT142NLcFjt24Gi4B0G1pgWLvfw7y93sYEfSHlLI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7c815e513adbf03c9098b2bd230c1e0525c8a7f9", "rev": "0e6684e6c5755325f801bda1751a8a4038145d7d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1111,11 +1111,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1756542300, "lastModified": 1756896242,
"narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", "narHash": "sha256-fokvf0dI+4frI1QbrN7bGsHfK5V+kx/cgSVJPb4yr8k=",
"owner": "NixOS", "owner": "PedroHLC",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", "rev": "ca9bf1d602372d663b797031a860faeacbb898b6",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -255,7 +255,7 @@
allowUnfree = true; allowUnfree = true;
permittedInsecurePackages = [ permittedInsecurePackages = [
# ... # ...
# "libsoup-2.74.3" "libsoup-2.74.3"
# "libxml2-2.13.8" # "libxml2-2.13.8"
"qtwebengine-5.15.19" "qtwebengine-5.15.19"
]; ];

View File

@@ -165,7 +165,7 @@ in
"remote" "remote"
"remote_calendar" "remote_calendar"
"remote_rpi_gpio" "remote_rpi_gpio"
"roborock" # "roborock" # currently broken
"samsungtv" "samsungtv"
"schedule" "schedule"
"script" "script"
@@ -255,8 +255,9 @@ in
zigbee2mqtt-networkmap zigbee2mqtt-networkmap
]; ];
# use postgresql instead of sqlite # use postgresql instead of sqlite
# extraPackages = extraPackages =
# ps: with ps; [ ps: with ps; [
pkgs.${namespace}.python-roborock
# # Core functionality # # Core functionality
# aiohttp # aiohttp
# aiodns # aiodns
@@ -304,7 +305,7 @@ in
# # System integrations # # System integrations
# psutil # System monitoring # psutil # System monitoring
# psycopg2 psycopg2
# numpy # numpy
# hassil # hassil
# pyturbojpeg # pyturbojpeg
@@ -353,7 +354,7 @@ in
# pysmartthings # pysmartthings
# wakeonlan # wakeonlan
# ephem # ephem
# ]; ];
config = { config = {
# Includes dependencies for a basic setup # Includes dependencies for a basic setup

View File

@@ -0,0 +1,64 @@
{
lib,
stdenv,
fetchFromGitHub,
python3Packages,
...
}:
python3Packages.buildPythonPackage rec {
pname = "python-roborock";
version = "2.39.0";
pyproject = true;
disabled = python3Packages.pythonOlder "3.11";
src = fetchFromGitHub {
owner = "humbertogontijo";
repo = "python-roborock";
tag = "v${version}";
hash = "sha256-V0zuUlJ0wPpxOKtY7ydbJ7mhWT5xGSLv19csmpWCO1Q=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "poetry-core==1.8.0" "poetry-core"
'';
pythonRelaxDeps = [ "pycryptodome" ];
build-system = with python3Packages; [ poetry-core ];
dependencies = with python3Packages; [
aiohttp
aiomqtt
async-timeout
click
construct
dacite
paho-mqtt
pycryptodome
pyrate-limiter
vacuum-map-parser-roborock
pyshark
]
++ lib.optionals stdenv.hostPlatform.isDarwin [ pycryptodomex ];
nativeCheckInputs = with python3Packages; [
aioresponses
freezegun
pytest-asyncio
pytestCheckHook
];
pythonImportsCheck = [ "roborock" ];
meta = with lib; {
description = "Python library & console tool for controlling Roborock vacuum";
homepage = "https://github.com/humbertogontijo/python-roborock";
changelog = "https://github.com/humbertogontijo/python-roborock/blob/${src.tag}/CHANGELOG.md";
license = licenses.gpl3Only;
maintainers = with maintainers; [ fab ];
mainProgram = "roborock";
};
}

View File

@@ -26,6 +26,8 @@
./hardware-configuration.nix ./hardware-configuration.nix
./sops.nix ./sops.nix
./services/lsfg-vk ./services/lsfg-vk
./services/ratbagd
./services/restic
]; ];
${namespace} = { ${namespace} = {

View File

@@ -1,13 +0,0 @@
{ lib, ... }:
{
services.btrfs = {
autoScrub.enable = lib.mkDefault true;
autoScrub.fileSystems = lib.mkDefault [
"/nix"
"/root"
"/etc"
"/var/log"
"/home"
];
};
}

View File

@@ -1,49 +0,0 @@
{ ... }:
{
services.keyd = {
enable = false;
keyboards = {
default = {
ids = [ "*" ];
settings = {
main = {
# Use ⌘ key (leftmeta) to activate macOS-like layer
leftmeta = "layer(meta_mac)";
};
meta_mac = {
# Tab switching
tab = "swapm(app_switch_state, M-tab)";
"`" = "A-f6";
# App shortcuts
c = "C-insert"; # Copy
v = "S-insert"; # Paste
x = "S-delete"; # Cut
"1" = "A-1";
"2" = "A-2";
"3" = "A-3";
"4" = "A-4";
"5" = "A-5";
"6" = "A-6";
"7" = "A-7";
"8" = "A-8";
"9" = "A-9";
# Move to line start/end
left = "home";
right = "end";
};
app_switch_state = {
tab = "M-tab";
right = "M-tab";
"`" = "M-S-tab";
left = "M-S-tab";
};
};
};
};
};
}