flake updates
This commit is contained in:
parent
6aee571407
commit
6e61d54c68
|
@ -1,2 +0,0 @@
|
||||||
{ pkgs ? import <nixpkgs> {} }:
|
|
||||||
pkgs.callPackage ./src/derivation.nix {}
|
|
|
@ -2,16 +2,16 @@
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1711200738,
|
"lastModified": 1716769173,
|
||||||
"narHash": "sha256-dkJmk/ET/tRV4007O6kU101UEg1svUwiyk/zEEX9Tdg=",
|
"narHash": "sha256-7EXDb5WBw+d004Agt+JHC/Oyh/KTUglOaQ4MNjBbo5w=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "20bc93ca7b2158ebc99b8cef987a2173a81cde35",
|
"rev": "9ca3f649614213b2aaf5f1e16ec06952fe4c2632",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixpkgs-unstable",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|
157
flake.nix
157
flake.nix
|
@ -1,106 +1,69 @@
|
||||||
{
|
{
|
||||||
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
description = "Ozai WebUI";
|
||||||
|
|
||||||
outputs = { self, nixpkgs}:
|
inputs = {
|
||||||
let
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
supportedSystems = [ "x86_64-linux"];
|
};
|
||||||
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
|
|
||||||
pkgs = forAllSystems (system: nixpkgs.legacyPackages.${system});
|
|
||||||
lib = forAllSystems (system: nixpkgs.legacyPackages.${system}).lib;
|
|
||||||
types = forAllSystems (system: nixpkgs.legacyPackages.${system}).lib.types;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
packages = forAllSystems (system:
|
|
||||||
let
|
|
||||||
python = pkgs.${system}.python3.withPackages (ps: [ps.flask ps.flask-socketio]);
|
|
||||||
ozai-webui = import ./default.nix { inherit (pkgs.${system}) pkgs; };
|
|
||||||
in {
|
|
||||||
default = ozai-webui;
|
|
||||||
});
|
|
||||||
|
|
||||||
devShells = forAllSystems (system:
|
outputs = { self, nixpkgs, ... }@inputs:
|
||||||
let
|
let
|
||||||
python = pkgs.${system}.python3.withPackages (ps: [ps.flask ps.flask-socketio]);
|
pkgs = import nixpkgs { system = "x86_64-linux"; };
|
||||||
in {
|
lib = pkgs.lib;
|
||||||
default = pkgs.${system}.mkShellNoCC {
|
types = lib.types;
|
||||||
packages = with pkgs.${system}; [
|
in
|
||||||
python
|
{
|
||||||
];
|
packages.x86_64-linux.default = pkgs.python3Packages.buildPythonApplication rec {
|
||||||
|
pname = "ozai-webui";
|
||||||
|
version = "0.1.1";
|
||||||
|
propagatedBuildInputs = [ pkgs.python3Packages.flask pkgs.python3Packages.flask-socketio pkgs.python3Packages.requests ];
|
||||||
|
src = ./src;
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p $out/share/ozai-webui
|
||||||
|
cp -r static $out/share/ozai-webui/static
|
||||||
|
cp -r templates $out/share/ozai-webui/templates
|
||||||
|
mv $out/bin/main.py $out/bin/ozai-webui
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
nixosModules.ozai-webui = { config, pkgs, ... }: {
|
||||||
|
options.services.ozai-webui = {
|
||||||
|
enable = lib.mkEnableOption "Ozai WebUI";
|
||||||
|
host = lib.mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "127.0.0.1";
|
||||||
|
description = "The host to run the server on";
|
||||||
};
|
};
|
||||||
});
|
port = lib.mkOption {
|
||||||
|
type = types.int;
|
||||||
|
default = 8080;
|
||||||
|
description = "The port to run the server on";
|
||||||
|
};
|
||||||
|
ozaiUrl = lib.mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "http://localhost:8000/api/";
|
||||||
|
description = "The URL of the Ozai server";
|
||||||
|
};
|
||||||
|
secretKey = lib.mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "secret_key";
|
||||||
|
description = "The secret key for the Flask app";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
nixosModules = forAllSystems (system: let
|
config = lib.mkIf config.services.ozai-webui.enable {
|
||||||
ozai-webui = import ./default.nix { inherit (pkgs.${system}) pkgs; };
|
systemd.services.ozai-webui = {
|
||||||
lib = pkgs.${system}.lib;
|
description = "Ozai WebUI server";
|
||||||
types = pkgs.${system}.lib.types;
|
after = [ "network.target" ];
|
||||||
in {
|
wantedBy = [ "multi-user.target" ];
|
||||||
ozai-webui = { config, pkgs, ... }: {
|
serviceConfig = {
|
||||||
options.services.ozai-webui = {
|
ExecStart = "${self.packages.x86_64-linux.default}/bin/ozai-webui --port ${toString config.services.ozai-webui.port} --host '${config.services.ozai-webui.host}' --ozai_url '${config.services.ozai-webui.ozaiUrl}' --secret_key '${config.services.ozai-webui.secretKey}' --static_folder '${self.packages.x86_64-linux.default}/share/ozai-webui/static' --template_folder '${self.packages.x86_64-linux.default}/share/ozai-webui/templates'";
|
||||||
enable = lib.mkEnableOption "Ozai WebUI";
|
Restart = "always";
|
||||||
host = lib.mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "127.0.0.1";
|
|
||||||
description = "The host to run the server on";
|
|
||||||
};
|
|
||||||
port = lib.mkOption {
|
|
||||||
type = types.int;
|
|
||||||
default = 8080;
|
|
||||||
description = "The port to run the server on";
|
|
||||||
};
|
|
||||||
ozaiUrl = lib.mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "http://localhost:8000/api/";
|
|
||||||
description = "The URL of the Ozai server";
|
|
||||||
};
|
|
||||||
secretKey = lib.mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "secret_key";
|
|
||||||
description = "The secret key for the Flask app";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
config = lib.mkIf config.services.ozai-webui.enable {
|
|
||||||
systemd.services.ozai-webui = {
|
|
||||||
description = "Ozai WebUI";
|
|
||||||
after = [ "network.target" ];
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
serviceConfig = {
|
|
||||||
ExecStart = "${ozai-webui}/bin/ozai-webui --port ${toString config.services.ozai-webui.port} --host '${config.services.ozai-webui.host}' --ozai_url '${config.services.ozai-webui.ozaiUrl}' --secret_key '${config.services.ozai-webui.secretKey}' --static_folder '/share/ozai-webui/static' --template_folder '/share/ozai-webui/templates'";
|
|
||||||
Restart = "always";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
nixosConfigurations = {
|
|
||||||
ozai-webui = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
modules = [
|
|
||||||
self.nixosModules.x86_64-linux.ozai-webui
|
|
||||||
{
|
|
||||||
system.stateVersion = "23.11";
|
|
||||||
boot.isContainer = true;
|
|
||||||
services.ozai-webui.enable = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
# nixosConfigurations = forAllSystems (system: {
|
|
||||||
# ozai-webui = { config, pkgs, ... }: {
|
|
||||||
# modules = [
|
|
||||||
# self.systems.${system}.nixosModules.ozai-webui
|
|
||||||
# {
|
|
||||||
# system.stateVersion = "23.11";
|
|
||||||
# boot.isContainer = true;
|
|
||||||
# services.ozai-webui.enable = true;
|
|
||||||
# }
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
# });
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
{ lib, python3Packages }:
|
|
||||||
with python3Packages;
|
|
||||||
buildPythonApplication rec {
|
|
||||||
pname = "ozai-webui";
|
|
||||||
version = "0.1.1";
|
|
||||||
propagatedBuildInputs = [ flask flask-socketio ];
|
|
||||||
src = ./.;
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
#copy the static files to the output
|
|
||||||
postInstall = ''
|
|
||||||
mkdir -p $out/share/ozai-webui
|
|
||||||
cp -r static $out/share/ozai-webui/static
|
|
||||||
cp -r templates $out/share/ozai-webui/templates
|
|
||||||
mv $out/bin/main.py $out/bin/ozai-webui
|
|
||||||
'';
|
|
||||||
}
|
|
|
@ -213,4 +213,4 @@ def ws_message(data):
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
# app.run(debug=True, host='0.0.0.0', port=5000,ssl_context='adhoc')
|
# app.run(debug=True, host='0.0.0.0', port=5000,ssl_context='adhoc')
|
||||||
socketio.run(app, debug=False, host=ozai_webui_host, port=ozai_webui_port)
|
socketio.run(app, debug=False, host=ozai_webui_host, port=ozai_webui_port, allow_unsafe_werkzeug=True)
|
||||||
|
|
|
@ -5,6 +5,8 @@ import os
|
||||||
requires = (
|
requires = (
|
||||||
"flask",
|
"flask",
|
||||||
"flask-socketio",
|
"flask-socketio",
|
||||||
|
"requests",
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
* {
|
* {
|
||||||
--border-color: #616C71;
|
--border-color: #616C71;
|
||||||
--bg-transparency: 0.5;
|
--bg-transparency: 0.5;
|
||||||
--tile-size: 2em;
|
--tile-size: 3em;
|
||||||
--blue: 49, 157, 245;
|
--blue: 49, 157, 245;
|
||||||
--yellow: 210, 160, 0;
|
--yellow: 210, 160, 0;
|
||||||
--red: 200, 50, 50;
|
--red: 200, 50, 50;
|
||||||
|
|
Loading…
Reference in New Issue