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:
Felix Schröter 2020-10-11 08:39:52 +00:00
commit 3e6bc499d0
4 changed files with 41 additions and 40 deletions

View file

@ -22,6 +22,9 @@
overlays = {
deconz = self: super: {
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 }:
@ -39,12 +42,19 @@
imports =
[ 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 {
system = "x86_64-linux";
modules = [
nixpkgs.nixosModules.notDetected
{ home-manager.users.felschr.imports = [ homeManagerModules.git ]; }
(systemModule {
hostName = "felix-nixos";
hardwareConfig = ./hardware/felix-nixos.nix;
@ -57,6 +67,7 @@
system = "x86_64-linux";
modules = [
nixpkgs.nixosModules.notDetected
{ home-manager.users.felschr.imports = [ homeManagerModules.git ]; }
(systemModule {
hostName = "pilot1";
hardwareConfig = ./hardware-configuration.nix; # TODO
@ -69,6 +80,7 @@
system = "aarch64-linux";
modules = [
nixpkgs.nixosModules.notDetected
nixosModules.deconz
(systemModule {
hostName = "felix-rpi4";
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:
let
pkgs = nixpkgs.legacyPackages.${system};

View file

@ -1,8 +1,6 @@
{ config, pkgs, ... }:
{
imports = [ ./modules/git.nix ];
programs.git = {
enable = true;
profiles = {

15
pkgs/pydeconz/default.nix Normal file
View 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;
}

View file

@ -1,24 +1,6 @@
{ config, pkgs, ... }:
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 ];
{ config, pkgs, pydeconz, ... }:
with pkgs; {
environment.systemPackages = with pkgs; [ deconz ];
local.services.deconz = {
@ -31,7 +13,7 @@ in
services.home-assistant = {
enable = true;
package = home-assistant.override {
extraPackages = ps: with ps; [ pydeconz ];
extraPackages = ps: [ (ps.callPackage pydeconz { }) ];
};
openFirewall = true;
config = {
@ -45,22 +27,22 @@ in
external_url = "https://home.felschr.com";
internal_url = "http://192.168.86.233:8123";
};
default_config = {};
config = {};
frontend = {};
mobile_app = {};
discovery = {};
zeroconf = {};
ssdp = {};
shopping_list = {};
default_config = { };
config = { };
frontend = { };
mobile_app = { };
discovery = { };
zeroconf = { };
ssdp = { };
shopping_list = { };
owntracks = {
mqtt_topic = "owntracks/#";
secret = "!secret owntracks_secret";
secret = "!secret owntracks_secret";
};
deconz = {
host = "localhost";
port = 8080;
api_key = "!secret deconz_apikey";
api_key = "!secret deconz_apikey";
};
};
# configWritable = true; # doesn't work atm