Merge branch 'feat/expose-deconz' into 'main'
feat: expose pydeconz via flake.nix See merge request felschr/nixos-config!3
This commit is contained in:
commit
3e6bc499d0
20
flake.nix
20
flake.nix
|
@ -22,6 +22,9 @@
|
||||||
overlays = {
|
overlays = {
|
||||||
deconz = self: super: {
|
deconz = self: super: {
|
||||||
deconz = self.qt5.callPackage ./pkgs/deconz { };
|
deconz = self.qt5.callPackage ./pkgs/deconz { };
|
||||||
|
# This is the path so that the correct python deps and versions can be used
|
||||||
|
# with python{version}Packages.callPackage pydeconz { }
|
||||||
|
pydeconz = ./pkgs/pydeconz;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
systemModule = { hostName, hardwareConfig, config }:
|
systemModule = { hostName, hardwareConfig, config }:
|
||||||
|
@ -39,12 +42,19 @@
|
||||||
imports =
|
imports =
|
||||||
[ hardwareConfig home-manager.nixosModules.home-manager config ];
|
[ hardwareConfig home-manager.nixosModules.home-manager config ];
|
||||||
});
|
});
|
||||||
in {
|
in rec {
|
||||||
|
|
||||||
|
inherit overlays;
|
||||||
|
|
||||||
|
nixosModules.deconz = import ./services/deconz.nix;
|
||||||
|
|
||||||
|
homeManagerModules.git = import ./home/modules/git.nix;
|
||||||
|
|
||||||
nixosConfigurations.felix-nixos = nixpkgs.lib.nixosSystem {
|
nixosConfigurations.felix-nixos = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
nixpkgs.nixosModules.notDetected
|
nixpkgs.nixosModules.notDetected
|
||||||
|
{ home-manager.users.felschr.imports = [ homeManagerModules.git ]; }
|
||||||
(systemModule {
|
(systemModule {
|
||||||
hostName = "felix-nixos";
|
hostName = "felix-nixos";
|
||||||
hardwareConfig = ./hardware/felix-nixos.nix;
|
hardwareConfig = ./hardware/felix-nixos.nix;
|
||||||
|
@ -57,6 +67,7 @@
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
nixpkgs.nixosModules.notDetected
|
nixpkgs.nixosModules.notDetected
|
||||||
|
{ home-manager.users.felschr.imports = [ homeManagerModules.git ]; }
|
||||||
(systemModule {
|
(systemModule {
|
||||||
hostName = "pilot1";
|
hostName = "pilot1";
|
||||||
hardwareConfig = ./hardware-configuration.nix; # TODO
|
hardwareConfig = ./hardware-configuration.nix; # TODO
|
||||||
|
@ -69,6 +80,7 @@
|
||||||
system = "aarch64-linux";
|
system = "aarch64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
nixpkgs.nixosModules.notDetected
|
nixpkgs.nixosModules.notDetected
|
||||||
|
nixosModules.deconz
|
||||||
(systemModule {
|
(systemModule {
|
||||||
hostName = "felix-rpi4";
|
hostName = "felix-rpi4";
|
||||||
hardwareConfig = ./hardware/rpi4.nix;
|
hardwareConfig = ./hardware/rpi4.nix;
|
||||||
|
@ -77,12 +89,6 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
inherit overlays;
|
|
||||||
|
|
||||||
nixosModules.deconz = import ./services/deconz.nix;
|
|
||||||
|
|
||||||
homeManagerModules.git = import ./home/modules/git.nix;
|
|
||||||
|
|
||||||
} // flake-utils.lib.eachDefaultSystem (system:
|
} // flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ ./modules/git.nix ];
|
|
||||||
|
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
profiles = {
|
profiles = {
|
||||||
|
|
15
pkgs/pydeconz/default.nix
Normal file
15
pkgs/pydeconz/default.nix
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{ buildPythonPackage, fetchPypi, setuptools, aiohttp }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "pydeconz";
|
||||||
|
version = "73";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "Lm7J0p2dp2gyesDpgN0WGpxPewC1z/IUy0CDEqofQGA=";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagateBuildInputs = [ setuptools ];
|
||||||
|
buildInputs = [ aiohttp ];
|
||||||
|
doCheck = false;
|
||||||
|
}
|
|
@ -1,24 +1,6 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, pydeconz, ... }:
|
||||||
|
|
||||||
with pkgs;
|
|
||||||
let
|
|
||||||
pydeconz = python3.pkgs.buildPythonPackage rec {
|
|
||||||
pname = "pydeconz";
|
|
||||||
version = "73";
|
|
||||||
|
|
||||||
src = python3.pkgs.fetchPypi {
|
|
||||||
inherit pname version;
|
|
||||||
sha256 = "Lm7J0p2dp2gyesDpgN0WGpxPewC1z/IUy0CDEqofQGA=";
|
|
||||||
};
|
|
||||||
|
|
||||||
propagateBuildInputs = with python3Packages; [ setuptools ];
|
|
||||||
buildInputs = with python3Packages; [ aiohttp ];
|
|
||||||
doCheck = false;
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = [ ./deconz.nix ];
|
|
||||||
|
|
||||||
|
with pkgs; {
|
||||||
environment.systemPackages = with pkgs; [ deconz ];
|
environment.systemPackages = with pkgs; [ deconz ];
|
||||||
|
|
||||||
local.services.deconz = {
|
local.services.deconz = {
|
||||||
|
@ -31,7 +13,7 @@ in
|
||||||
services.home-assistant = {
|
services.home-assistant = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = home-assistant.override {
|
package = home-assistant.override {
|
||||||
extraPackages = ps: with ps; [ pydeconz ];
|
extraPackages = ps: [ (ps.callPackage pydeconz { }) ];
|
||||||
};
|
};
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
config = {
|
config = {
|
||||||
|
@ -45,14 +27,14 @@ in
|
||||||
external_url = "https://home.felschr.com";
|
external_url = "https://home.felschr.com";
|
||||||
internal_url = "http://192.168.86.233:8123";
|
internal_url = "http://192.168.86.233:8123";
|
||||||
};
|
};
|
||||||
default_config = {};
|
default_config = { };
|
||||||
config = {};
|
config = { };
|
||||||
frontend = {};
|
frontend = { };
|
||||||
mobile_app = {};
|
mobile_app = { };
|
||||||
discovery = {};
|
discovery = { };
|
||||||
zeroconf = {};
|
zeroconf = { };
|
||||||
ssdp = {};
|
ssdp = { };
|
||||||
shopping_list = {};
|
shopping_list = { };
|
||||||
owntracks = {
|
owntracks = {
|
||||||
mqtt_topic = "owntracks/#";
|
mqtt_topic = "owntracks/#";
|
||||||
secret = "!secret owntracks_secret";
|
secret = "!secret owntracks_secret";
|
||||||
|
|
Loading…
Reference in a new issue