Compare commits
7 commits
b0aa81270d
...
447d718ac7
Author | SHA1 | Date | |
---|---|---|---|
447d718ac7 | |||
c463a78d3b | |||
126d0e34f3 | |||
3dfb0c5500 | |||
c33881efd6 | |||
5b81ddeca0 | |||
0d5ab0315a |
12 changed files with 272 additions and 100 deletions
110
flake.lock
generated
110
flake.lock
generated
|
@ -8,11 +8,11 @@
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747575206,
|
"lastModified": 1750173260,
|
||||||
"narHash": "sha256-NwmAFuDUO/PFcgaGGr4j3ozG9Pe5hZ/ogitWhY+D81k=",
|
"narHash": "sha256-9P1FziAwl5+3edkfFcr5HeGtQUtrSdk/MksX39GieoA=",
|
||||||
"owner": "ryantm",
|
"owner": "ryantm",
|
||||||
"repo": "agenix",
|
"repo": "agenix",
|
||||||
"rev": "4835b1dc898959d8547a871ef484930675cb47f1",
|
"rev": "531beac616433bac6f9e2a19feb8e99a22a66baf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -163,11 +163,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749873626,
|
"lastModified": 1750618568,
|
||||||
"narHash": "sha256-1Mc/D/1RwwmDKY59f4IpDBgcQttxffm+4o0m67lQ8hc=",
|
"narHash": "sha256-w9EG5FOXrjXGfbqCcQg9x1lMnTwzNDW5BMXp8ddy15E=",
|
||||||
"owner": "lnl7",
|
"owner": "lnl7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "2f140d6ac8840c6089163fb43ba95220c230f22b",
|
"rev": "1dd19f19e4b53a1fd2e8e738a08dd5fe635ec7e5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -464,11 +464,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749944797,
|
"lastModified": 1751146119,
|
||||||
"narHash": "sha256-1l6ZW+2+LDQhYgE4fo2KsM2Ms3lY3ZXv0n6uKka2yMk=",
|
"narHash": "sha256-gvjG95TCnUVJkvQvLMlnC4NqiqFyBdJk3o8/RwuHeaU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "c5f345153397f62170c18ded1ae1f0875201d49a",
|
"rev": "76d0c31fce2aa0c71409de953e2f9113acd5b656",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -509,11 +509,11 @@
|
||||||
"pre-commit-hooks": "pre-commit-hooks"
|
"pre-commit-hooks": "pre-commit-hooks"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749838547,
|
"lastModified": 1751156047,
|
||||||
"narHash": "sha256-4qJy0n+6P13/XAHPlcjcWK6MDNYd38PkFdI8iCiJYYo=",
|
"narHash": "sha256-cjBo82cbIyYtwj0b6bjmUsS5Plqko8W50TTAz7awvqs=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "1e34c3747779a82d59ef27b351d4ed02fb372a2a",
|
"rev": "e1ccbe9abd5042e5622379bcae35a81bfd242330",
|
||||||
"revCount": 18027,
|
"revCount": 18098,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git@git.lix.systems/lix-project/lix"
|
"url": "https://git@git.lix.systems/lix-project/lix"
|
||||||
},
|
},
|
||||||
|
@ -543,11 +543,11 @@
|
||||||
"nixpkgs": "nixpkgs_5"
|
"nixpkgs": "nixpkgs_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749796250,
|
"lastModified": 1751141511,
|
||||||
"narHash": "sha256-oxvVAFUO9husnRk6XZcLFLjLWL9z0pW25Fk6kVKwt1c=",
|
"narHash": "sha256-89z1bdfGxY5sqMyvqNCgqiChfkcHlYZUuAkDjY0JVgw=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "nil",
|
"repo": "nil",
|
||||||
"rev": "9e4cccb088440c20703d62db9de8d5ae06d4a449",
|
"rev": "704192a3aa4653efecd7aa45147e1a32abcb4b97",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -566,11 +566,11 @@
|
||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749890123,
|
"lastModified": 1751179061,
|
||||||
"narHash": "sha256-pRkyWFytGAMaHlrOJIYYEur8NRDe0kTfMIhRdTeasRQ=",
|
"narHash": "sha256-E3SA2IZf72CR3wklJM+cF1ZOVjy6r8ZqbsOPXodNjWo=",
|
||||||
"owner": "sodiboo",
|
"owner": "sodiboo",
|
||||||
"repo": "niri-flake",
|
"repo": "niri-flake",
|
||||||
"rev": "8f39eb82488525728eda222b34e79b1ecf6d3f96",
|
"rev": "cc5722e779f3b32bdd918e473777c39da67ab1b6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -582,16 +582,16 @@
|
||||||
"niri-stable": {
|
"niri-stable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1740117926,
|
"lastModified": 1748151941,
|
||||||
"narHash": "sha256-mTTHA0RAaQcdYe+9A3Jx77cmmyLFHmRoZdd8RpWa+m8=",
|
"narHash": "sha256-z4viQZLgC2bIJ3VrzQnR+q2F3gAOEQpU1H5xHtX/2fs=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "b94a5db8790339cf9134873d8b490be69e02ac71",
|
"rev": "8ba57fcf25d2fc9565131684a839d58703f1dae7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"ref": "v25.02",
|
"ref": "v25.05.1",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@ -599,11 +599,11 @@
|
||||||
"niri-unstable": {
|
"niri-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749797708,
|
"lastModified": 1750791124,
|
||||||
"narHash": "sha256-P5x0U6AW5Zn20bARv4D83d8XlNaWK1st9QwBfSe+Vfg=",
|
"narHash": "sha256-F5iVU/hjoSHSSe0gllxm0PcAaseEtGNanYK5Ha3k2Tg=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "f3f6e79eeca8924ff9cfea4b30006e5b782bc93e",
|
"rev": "37458d94b288945f6cfbd3c5c233f634d59f246c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -695,11 +695,11 @@
|
||||||
},
|
},
|
||||||
"nix-hardware": {
|
"nix-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749832440,
|
"lastModified": 1750837715,
|
||||||
"narHash": "sha256-lfxhuxAaHlYFGr8yOrAXZqdMt8PrFLzjVqH9v3lQaoY=",
|
"narHash": "sha256-2m1ceZjbmgrJCZ2PuQZaK4in3gcg3o6rZ7WK6dr5vAA=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "db030f62a449568345372bd62ed8c5be4824fa49",
|
"rev": "98236410ea0fe204d0447149537a924fb71a6d4f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -782,11 +782,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749832440,
|
"lastModified": 1750837715,
|
||||||
"narHash": "sha256-lfxhuxAaHlYFGr8yOrAXZqdMt8PrFLzjVqH9v3lQaoY=",
|
"narHash": "sha256-2m1ceZjbmgrJCZ2PuQZaK4in3gcg3o6rZ7WK6dr5vAA=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "db030f62a449568345372bd62ed8c5be4824fa49",
|
"rev": "98236410ea0fe204d0447149537a924fb71a6d4f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -876,11 +876,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable_2": {
|
"nixpkgs-stable_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749727998,
|
"lastModified": 1750969886,
|
||||||
"narHash": "sha256-mHv/yeUbmL91/TvV95p+mBVahm9mdQMJoqaTVTALaFw=",
|
"narHash": "sha256-zW/OFnotiz/ndPFdebpo3X0CrbVNf22n4DjN2vxlb58=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "fd487183437963a59ba763c0cc4f27e3447dd6dd",
|
"rev": "a676066377a2fe7457369dd37c31fd2263b662f4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -955,11 +955,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_6": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749794982,
|
"lastModified": 1751011381,
|
||||||
"narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=",
|
"narHash": "sha256-krGXKxvkBhnrSC/kGBmg5MyupUUT5R6IBCLEzx9jhMM=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81",
|
"rev": "30e2e2857ba47844aa71991daa6ed1fc678bcbb7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -971,11 +971,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_7": {
|
"nixpkgs_7": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749794982,
|
"lastModified": 1751011381,
|
||||||
"narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=",
|
"narHash": "sha256-krGXKxvkBhnrSC/kGBmg5MyupUUT5R6IBCLEzx9jhMM=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81",
|
"rev": "30e2e2857ba47844aa71991daa6ed1fc678bcbb7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -1002,10 +1002,10 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_9": {
|
"nixpkgs_9": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749285348,
|
"lastModified": 1749794982,
|
||||||
"narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=",
|
"narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=",
|
||||||
"path": "/nix/store/syvnmj3hhckkbncm94kfkbl76qsdqqj3-source",
|
"path": "/nix/store/xnr2xjs0clkhlhqfc3vqcmhnnwdk3c5p-source",
|
||||||
"rev": "3e3afe5174c561dee0df6f2c2b2236990146329f",
|
"rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81",
|
||||||
"type": "path"
|
"type": "path"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -1190,11 +1190,11 @@
|
||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749905587,
|
"lastModified": 1751145558,
|
||||||
"narHash": "sha256-sZpQM+InPCYwJQiTxs/PCCupwbYNaSCFi2Hvpl1/pOo=",
|
"narHash": "sha256-OPlbpH64jzIspYqvJB96tnN9V9HBlAxROS5ijQwtN70=",
|
||||||
"owner": "danth",
|
"owner": "danth",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "77a8b26520f48305f3b1bacffaa8740dde8afa2a",
|
"rev": "3a09d3f5cb940fa4142a2f3415b508a8be92b721",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -1424,16 +1424,16 @@
|
||||||
"xwayland-satellite-stable": {
|
"xwayland-satellite-stable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739246919,
|
"lastModified": 1748488455,
|
||||||
"narHash": "sha256-/hBM43/Gd0/tW+egrhlWgOIISeJxEs2uAOIYVpfDKeU=",
|
"narHash": "sha256-IiLr1alzKFIy5tGGpDlabQbe6LV1c9ABvkH6T5WmyRI=",
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"rev": "44590a416d4a3e8220e19e29e0b6efe64a80315d",
|
"rev": "3ba30b149f9eb2bbf42cf4758d2158ca8cceef73",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"ref": "v0.5.1",
|
"ref": "v0.6",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@ -1441,11 +1441,11 @@
|
||||||
"xwayland-satellite-unstable": {
|
"xwayland-satellite-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749315541,
|
"lastModified": 1751176151,
|
||||||
"narHash": "sha256-bEik1BfVOFnWvtOrcOHluos/edJ8f+G2y1QySbt/0Ak=",
|
"narHash": "sha256-7bK5eoK0ySlct/cbehTrkGcTcSMOLXSnh+RJiswVzEU=",
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"rev": "da2ecb5be816de35e2efe23a408a1c49fe8b11ba",
|
"rev": "91d463851e24c190cc912471861b5414ac8fe65c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -196,8 +196,6 @@
|
||||||
# Modules for offline linux machines.
|
# Modules for offline linux machines.
|
||||||
linuxOfflineModuleSet = [
|
linuxOfflineModuleSet = [
|
||||||
./nixos/packages/offline.nix
|
./nixos/packages/offline.nix
|
||||||
|
|
||||||
./nixos/configs/waydroid.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Helper functions for creating modules in the defintions below.
|
# Helper functions for creating modules in the defintions below.
|
||||||
|
|
|
@ -23,7 +23,9 @@ let
|
||||||
sha256 = "sha256-gr3UvFB6D04he/9zawvQIuwfv0B7fEZb6BGiNAbLids=";
|
sha256 = "sha256-gr3UvFB6D04he/9zawvQIuwfv0B7fEZb6BGiNAbLids=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = prev.nativeBuildInputs ++ (with pkgs; [
|
nativeBuildInputs =
|
||||||
|
prev.nativeBuildInputs
|
||||||
|
++ (with pkgs; [
|
||||||
opencv
|
opencv
|
||||||
cmake
|
cmake
|
||||||
doctest
|
doctest
|
||||||
|
@ -32,15 +34,6 @@ let
|
||||||
|
|
||||||
installCheckPhase = "";
|
installCheckPhase = "";
|
||||||
|
|
||||||
}).overrideAttrs (prev: rec {
|
|
||||||
version = "1.94.4";
|
|
||||||
src = pkgs.fetchFromGitLab {
|
|
||||||
domain = "gitlab.freedesktop.org";
|
|
||||||
owner = "libfprint";
|
|
||||||
repo = "fprintd";
|
|
||||||
rev = "refs/tags/v${version}";
|
|
||||||
hash = "sha256-B2g2d29jSER30OUqCkdk3+Hv5T3DA4SUKoyiqHb8FeU=";
|
|
||||||
};
|
|
||||||
});
|
});
|
||||||
|
|
||||||
in
|
in
|
||||||
|
@ -87,9 +80,11 @@ in
|
||||||
# Fingerprint reader support.
|
# Fingerprint reader support.
|
||||||
services.fprintd = {
|
services.fprintd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = (pkgs.fprintd.override {
|
package =
|
||||||
|
(pkgs.fprintd.override {
|
||||||
libfprint = libfprint-gpd;
|
libfprint = libfprint-gpd;
|
||||||
}).overrideAttrs (prev: rec {
|
}).overrideAttrs
|
||||||
|
(prev: rec {
|
||||||
version = "1.94.4";
|
version = "1.94.4";
|
||||||
src = pkgs.fetchFromGitLab {
|
src = pkgs.fetchFromGitLab {
|
||||||
domain = "gitlab.freedesktop.org";
|
domain = "gitlab.freedesktop.org";
|
||||||
|
|
|
@ -34,8 +34,7 @@ let
|
||||||
openrgb -d "Corsair Lighting Node Pro" -m direct -z 1 -s 100 -b 100 -c $1
|
openrgb -d "Corsair Lighting Node Pro" -m direct -z 1 -s 100 -b 100 -c $1
|
||||||
'';
|
'';
|
||||||
|
|
||||||
#mqttServer = "fuuka"
|
mqttServer = "192.168.50.124";
|
||||||
mqttServer = "mitsuru";
|
|
||||||
|
|
||||||
commandScript = pkgs.writeScriptBin "trailblazer-command-daemon" ''
|
commandScript = pkgs.writeScriptBin "trailblazer-command-daemon" ''
|
||||||
#!${pkgs.xonsh}/bin/xonsh
|
#!${pkgs.xonsh}/bin/xonsh
|
||||||
|
@ -65,6 +64,16 @@ let
|
||||||
|
|
||||||
print("[I] Everything should be... well, not-shiny, captain!")
|
print("[I] Everything should be... well, not-shiny, captain!")
|
||||||
|
|
||||||
|
elif verb == "power/suspend":
|
||||||
|
print("[I] Got a 'sleep' request. Dozing.")
|
||||||
|
${pkgs.mosquitto}/bin/mosquitto_pub -h ${mqttServer} -t trailblazer/power/status -m sleep
|
||||||
|
systemctl suspend
|
||||||
|
|
||||||
|
elif verb == "power/off":
|
||||||
|
print("[I] Got a 'power off' request. Will I dream?")
|
||||||
|
${pkgs.mosquitto}/bin/mosquitto_pub -h ${mqttServer} -t trailblazer/power/status -m off
|
||||||
|
systemctl suspend
|
||||||
|
|
||||||
elif verb == "monitors/off":
|
elif verb == "monitors/off":
|
||||||
print("[I] Got a 'monitors off' request. Adding DPMS nulls.")
|
print("[I] Got a 'monitors off' request. Adding DPMS nulls.")
|
||||||
|
|
||||||
|
@ -137,7 +146,8 @@ let
|
||||||
print("[I] Trailblazer status service started. Updating every 10s.")
|
print("[I] Trailblazer status service started. Updating every 10s.")
|
||||||
while True:
|
while True:
|
||||||
sleep 10
|
sleep 10
|
||||||
mosquitto_pub -h mitsuru -t trailblazer/monitors/status -m $(cat /sys/class/drm/card1-HDMI-A-1/dpms)
|
${pkgs.mosquitto}/bin/mosquitto_pub -h ${mqttServer} -t trailblazer/monitors/status -m $(cat /sys/class/drm/card1-HDMI-A-1/dpms)
|
||||||
|
${pkgs.mosquitto}/bin/mosquitto_pub -h ${mqttServer} -t trailblazer/power/status -m on
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -177,7 +187,7 @@ in
|
||||||
boot.kernelParams = [
|
boot.kernelParams = [
|
||||||
"iommu=on"
|
"iommu=on"
|
||||||
"amd_iommu=on"
|
"amd_iommu=on"
|
||||||
#"pcie_acs_override=downstream,multifunction"
|
"xhci_hcd.quirks=270336" # fix random wakeups, maybe?
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enable fingerprint reader.
|
# Enable fingerprint reader.
|
||||||
|
@ -246,6 +256,8 @@ in
|
||||||
virtualisation.docker.enable = true;
|
virtualisation.docker.enable = true;
|
||||||
users.users.deprekated.extraGroups = [ "docker" ];
|
users.users.deprekated.extraGroups = [ "docker" ];
|
||||||
|
|
||||||
|
# Fix XHCI suprious wakeups.
|
||||||
|
|
||||||
#
|
#
|
||||||
# Trailblazer remote service (allows trailblazer things to be controlled via Home Assistant.
|
# Trailblazer remote service (allows trailblazer things to be controlled via Home Assistant.
|
||||||
#
|
#
|
||||||
|
@ -258,6 +270,7 @@ in
|
||||||
after = [ "network-online.target" ];
|
after = [ "network-online.target" ];
|
||||||
|
|
||||||
script = "${commandScript}/bin/trailblazer-command-daemon";
|
script = "${commandScript}/bin/trailblazer-command-daemon";
|
||||||
|
serviceConfig.Restart = "always";
|
||||||
};
|
};
|
||||||
systemd.services.trailblazer-status = {
|
systemd.services.trailblazer-status = {
|
||||||
description = "trailblazer status service";
|
description = "trailblazer status service";
|
||||||
|
@ -268,8 +281,57 @@ in
|
||||||
after = [ "network-online.target" ];
|
after = [ "network-online.target" ];
|
||||||
|
|
||||||
script = "${statusScript}/bin/trailblazer-status-daemon";
|
script = "${statusScript}/bin/trailblazer-status-daemon";
|
||||||
|
serviceConfig.Restart = "always";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.services.suspend_notify = {
|
||||||
|
description = "trailblazer sleep notifier";
|
||||||
|
|
||||||
|
# Start once we're online.
|
||||||
|
wantedBy = [ "suspend.target" ];
|
||||||
|
wants = [ "network-online.target" ];
|
||||||
|
after = [ "network-online.target" ];
|
||||||
|
before = [ "suspend.target" ];
|
||||||
|
|
||||||
|
script = "${pkgs.mosquitto}/bin/mosquitto_pub -h ${mqttServer} -t trailblazer/power/status -m sleep";
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.resume_notify = {
|
||||||
|
description = "trailblazer wake notifier";
|
||||||
|
|
||||||
|
# Start once we're online.
|
||||||
|
wantedBy = [ "suspend.target" ];
|
||||||
|
wants = [ "network-online.target" ];
|
||||||
|
after = [ "network-online.target" "suspend.target" ];
|
||||||
|
|
||||||
|
script = "${pkgs.mosquitto}/bin/mosquitto_pub -h ${mqttServer} -t trailblazer/power/status -m on";
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.poweroff_notify = {
|
||||||
|
description = "trailblazer shutdown notifier";
|
||||||
|
|
||||||
|
# Start once we're online.
|
||||||
|
wantedBy = [ "shutdown.target" ];
|
||||||
|
wants = [ "network-online.target" ];
|
||||||
|
after = [ "network-online.target" ];
|
||||||
|
before = [ "shutdown.target" ];
|
||||||
|
|
||||||
|
script = "${pkgs.mosquitto}/bin/mosquitto_pub -h ${mqttServer} -t trailblazer/power/status -m shutdown";
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.poweron_notify = {
|
||||||
|
description = "trailblazer wake notifier";
|
||||||
|
|
||||||
|
# Start once we're online.
|
||||||
|
wantedBy = [ "suspend.target" ];
|
||||||
|
wants = [ "network-online.target" ];
|
||||||
|
after = [ "network-online.target" ];
|
||||||
|
|
||||||
|
script = "${pkgs.mosquitto}/bin/mosquitto_pub -h ${mqttServer} -t trailblazer/power/status -m on";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Let trailblazer share its GPS with the house devices.
|
# Let trailblazer share its GPS with the house devices.
|
||||||
#
|
#
|
||||||
|
|
|
@ -56,6 +56,7 @@ with pkgs;
|
||||||
# Utils.
|
# Utils.
|
||||||
_1password-cli
|
_1password-cli
|
||||||
age
|
age
|
||||||
|
age-plugin-yubikey
|
||||||
agenix.agenix
|
agenix.agenix
|
||||||
atool
|
atool
|
||||||
bat
|
bat
|
||||||
|
@ -144,6 +145,11 @@ with pkgs;
|
||||||
# Office.
|
# Office.
|
||||||
sc-im
|
sc-im
|
||||||
|
|
||||||
|
# Lab tools.
|
||||||
|
deprekages.rfe-fwupgrade
|
||||||
|
deprekages.rfe-touch
|
||||||
|
deprekages.rfe-signal
|
||||||
|
|
||||||
# For editors.
|
# For editors.
|
||||||
fish
|
fish
|
||||||
lazygit
|
lazygit
|
||||||
|
|
|
@ -33,6 +33,7 @@ with pkgs;
|
||||||
python3
|
python3
|
||||||
cfr
|
cfr
|
||||||
procyon
|
procyon
|
||||||
|
mono
|
||||||
|
|
||||||
# Build systems.
|
# Build systems.
|
||||||
cmake
|
cmake
|
||||||
|
@ -85,7 +86,6 @@ with pkgs;
|
||||||
if pkgs.stdenv.isDarwin then
|
if pkgs.stdenv.isDarwin then
|
||||||
[
|
[
|
||||||
|
|
||||||
|
|
||||||
]
|
]
|
||||||
else
|
else
|
||||||
[ ]
|
[ ]
|
||||||
|
|
|
@ -20,7 +20,8 @@
|
||||||
wayland,
|
wayland,
|
||||||
python3,
|
python3,
|
||||||
svd2py,
|
svd2py,
|
||||||
qt6
|
qt6,
|
||||||
|
libxml2
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
desktopFile = writeText "binary-ninja.desktop" ''
|
desktopFile = writeText "binary-ninja.desktop" ''
|
||||||
|
@ -47,11 +48,14 @@ let
|
||||||
pname = "binary-ninja";
|
pname = "binary-ninja";
|
||||||
version = "4.0.5902";
|
version = "4.0.5902";
|
||||||
|
|
||||||
buildInputs = [
|
nativeBuildInputs = [
|
||||||
autoPatchelfHook
|
autoPatchelfHook
|
||||||
qt6.wrapQtAppsHook
|
qt6.wrapQtAppsHook
|
||||||
makeWrapper
|
makeWrapper
|
||||||
unzip
|
unzip
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
libGL
|
libGL
|
||||||
stdenv.cc.cc.lib
|
stdenv.cc.cc.lib
|
||||||
glib
|
glib
|
||||||
|
@ -68,13 +72,15 @@ let
|
||||||
qt6.qtdeclarative
|
qt6.qtdeclarative
|
||||||
wayland
|
wayland
|
||||||
binja-python
|
binja-python
|
||||||
|
libxml2
|
||||||
dbus
|
dbus
|
||||||
];
|
];
|
||||||
|
|
||||||
|
autoPatchelfIgnoreMissingDeps = [ "libxml2.so.2" ];
|
||||||
|
|
||||||
propogatedBuildInputs = (additional-python-packages python3.pkgs);
|
propogatedBuildInputs = (additional-python-packages python3.pkgs);
|
||||||
|
|
||||||
# Use our local zip directly.
|
# Use our local zip directly.
|
||||||
dontBuild = true;
|
|
||||||
src = if stdenv.isAarch64 then
|
src = if stdenv.isAarch64 then
|
||||||
../proprietary/binja/binaryninja_personal_linux_aarch64.zip
|
../proprietary/binja/binaryninja_personal_linux_aarch64.zip
|
||||||
else
|
else
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
flake-utils,
|
flake-utils,
|
||||||
deprekages,
|
deprekages,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
esp-dev
|
esp-dev,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
flake-utils.lib.eachDefaultSystem (
|
flake-utils.lib.eachDefaultSystem (
|
||||||
|
@ -72,6 +72,11 @@ flake-utils.lib.eachDefaultSystem (
|
||||||
vja = callPackage ./vja.nix { };
|
vja = callPackage ./vja.nix { };
|
||||||
gimgtools = callPackage ./gimgtools.nix { };
|
gimgtools = callPackage ./gimgtools.nix { };
|
||||||
|
|
||||||
|
# rf explorer
|
||||||
|
rfe-fwupdate = callPackage ./rfe-fwupdate.nix { };
|
||||||
|
rfe-touch = callPackage ./rfe-touch.nix { };
|
||||||
|
rfe-signal = callPackage ./rfe-signal.nix { };
|
||||||
|
|
||||||
# libraries
|
# libraries
|
||||||
libnfc-nci = callPackage ./libnfc-nci { };
|
libnfc-nci = callPackage ./libnfc-nci { };
|
||||||
ws-server = callPackage ./ws-server { };
|
ws-server = callPackage ./ws-server { };
|
||||||
|
|
28
packages/rfe-fwupdate.nix
Normal file
28
packages/rfe-fwupdate.nix
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
stdenv,
|
||||||
|
fetchzip,
|
||||||
|
mono,
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "rfe-fwuploader";
|
||||||
|
version = "latest";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://j3.rf-explorer.com/download/sw/fw/RFExplorer_UploaderLinux.zip";
|
||||||
|
hash = "sha256-eHDMQvL0L4JmEc+q4qeKV2i1EMXdE3G1JX2Jhuctg6o=";
|
||||||
|
|
||||||
|
stripRoot = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ mono ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p "$out/bin"
|
||||||
|
cp $src/RFEUploaderLinux.exe $out/bin/.rfe-fwupdate-mono
|
||||||
|
|
||||||
|
echo "#/usr/bin/env sh"
|
||||||
|
echo "${mono}/bin/mono $out/bin/.rfe-fwupdate-mono" >> $out/bin/rfe-fwupdate
|
||||||
|
chmod +x $out/bin/rfe-fwupdate
|
||||||
|
'';
|
||||||
|
|
||||||
|
})
|
36
packages/rfe-signal.nix
Normal file
36
packages/rfe-signal.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
fetchzip,
|
||||||
|
mono,
|
||||||
|
gtk2,
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "rfe-signal";
|
||||||
|
version = "2_5_2105_2";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://j3.rf-explorer.com/download/sw/linux/RFExplorerGeneratorLinux_v${finalAttrs.version}.zip";
|
||||||
|
hash = "sha256-bvTH3EzFvizPrb5fv8LzIin45KkmASMRh/rk0BP+yIg=";
|
||||||
|
|
||||||
|
stripRoot = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
mono
|
||||||
|
gtk2
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p "$out/bin"
|
||||||
|
cp $src/RFExplorerGeneratorLinux_v${finalAttrs.version}.exe $out/bin/.rfe-touch-mono
|
||||||
|
|
||||||
|
OUTFILE="$out/bin/${finalAttrs.pname}"
|
||||||
|
|
||||||
|
echo "#/usr/bin/env sh" > $OUTFILE
|
||||||
|
echo "env LD_LIBRARY_PATH=\"${lib.makeLibraryPath finalAttrs.buildInputs}\" ${mono}/bin/mono $out/bin/.rfe-touch-mono" >> $OUTFILE
|
||||||
|
|
||||||
|
chmod +x $OUTFILE
|
||||||
|
'';
|
||||||
|
|
||||||
|
})
|
36
packages/rfe-touch.nix
Normal file
36
packages/rfe-touch.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
fetchzip,
|
||||||
|
mono,
|
||||||
|
gtk2,
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "rfe-touch";
|
||||||
|
version = "2.7.2206.7";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://j3.rf-explorer.com/download/sw/linux/RFETouchLinux_${finalAttrs.version}.zip";
|
||||||
|
hash = "sha256-0/O12nlmAsN4tly574ZNtFSMvhghR/VMU2h6SwzXS/k=";
|
||||||
|
|
||||||
|
stripRoot = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
mono
|
||||||
|
gtk2
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p "$out/bin"
|
||||||
|
cp $src/RFETouchLinux_${finalAttrs.version}.exe $out/bin/.rfe-touch-mono
|
||||||
|
|
||||||
|
OUTFILE="$out/bin/${finalAttrs.pname}"
|
||||||
|
|
||||||
|
echo "#/usr/bin/env sh" > $OUTFILE
|
||||||
|
echo "env LD_LIBRARY_PATH=\"${lib.makeLibraryPath finalAttrs.buildInputs}\" ${mono}/bin/mono $out/bin/.rfe-touch-mono" >> $OUTFILE
|
||||||
|
|
||||||
|
chmod +x $OUTFILE
|
||||||
|
'';
|
||||||
|
|
||||||
|
})
|
|
@ -117,7 +117,7 @@ end)
|
||||||
-- Possibly replace with a per-platform equivalent?'
|
-- Possibly replace with a per-platform equivalent?'
|
||||||
--if (hostname == "hinata") then
|
--if (hostname == "hinata") then
|
||||||
if wezterm.target_triple == "x86_64-unknown-linux-gnu" then
|
if wezterm.target_triple == "x86_64-unknown-linux-gnu" then
|
||||||
config["default_prog"] = { "/run/current-system/sw/bin/zellij", "-l", "welcome" }
|
config["default_prog"] = { "/run/current-system/sw/bin/zellij" }
|
||||||
end
|
end
|
||||||
|
|
||||||
return config
|
return config
|
||||||
|
|
Loading…
Add table
Reference in a new issue