comfyui mostly done
This commit is contained in:
parent
ca53366fd0
commit
58243274cd
23 changed files with 1148 additions and 114 deletions
284
flake.lock
generated
284
flake.lock
generated
|
@ -1,5 +1,55 @@
|
|||
{
|
||||
"nodes": {
|
||||
"comfyui": {
|
||||
"inputs": {
|
||||
"comfyui": "comfyui_2",
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1,
|
||||
"narHash": "sha256-Fv6zq7iMMhVlpU0sRue/TPbMD0He4vlZevbkneu8HrY=",
|
||||
"path": "./flakes/ComfyUI",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"path": "./flakes/ComfyUI",
|
||||
"type": "path"
|
||||
}
|
||||
},
|
||||
"comfyui-plugins": {
|
||||
"inputs": {
|
||||
"gguf": "gguf",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"openpose": "openpose",
|
||||
"tensorrt": "tensorrt"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1,
|
||||
"narHash": "sha256-F3jyn6y/IkuICRHOv3+jcu6FkyZsK2CchqyvJV+wKqA=",
|
||||
"path": "./flakes/ComfyUI-Plugins",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"path": "./flakes/ComfyUI-Plugins",
|
||||
"type": "path"
|
||||
}
|
||||
},
|
||||
"comfyui_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1729105110,
|
||||
"narHash": "sha256-M/by34k6P4Sj/dfsW1FdVRZmaTHxZ0mMX/cuYXIPeaw=",
|
||||
"owner": "comfyanonymous",
|
||||
"repo": "ComfyUI",
|
||||
"rev": "7390ff3b1ec2e15017ba4a52d6eaabc4aa4636e3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "comfyanonymous",
|
||||
"repo": "ComfyUI",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"crane": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -173,11 +223,11 @@
|
|||
},
|
||||
"flatpaks": {
|
||||
"locked": {
|
||||
"lastModified": 1728416205,
|
||||
"narHash": "sha256-t30gsrwiBc2oBsd89DwdsVZuEbMT5ed81PYY57CIOJE=",
|
||||
"lastModified": 1729025406,
|
||||
"narHash": "sha256-uYbDN6JikC19WfD3zg0kpOpJVZFvBhHXYo3YJo28vOs=",
|
||||
"owner": "gmodena",
|
||||
"repo": "nix-flatpak",
|
||||
"rev": "d65dbf59900de4beaaaba8b42a15994f8433c1bc",
|
||||
"rev": "8d1193a959c7810f01610c10a055b0020390bf4e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -186,6 +236,22 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gguf": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1728958305,
|
||||
"narHash": "sha256-XJwWx9gm1Qo/B4t7olPajJlPqKJvciTRpB+9fyf8aXQ=",
|
||||
"owner": "city96",
|
||||
"repo": "ComfyUI-GGUF",
|
||||
"rev": "68ad5fb2149ead7e4978f83f14e045ecd812a394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "city96",
|
||||
"repo": "ComfyUI-GGUF",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -212,15 +278,15 @@
|
|||
"inputs": {
|
||||
"crane": "crane",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728372216,
|
||||
"narHash": "sha256-amGNilpQ/vohlgerF/5D4QNsXCRbh2H06nmWyz/xyS8=",
|
||||
"lastModified": 1729068734,
|
||||
"narHash": "sha256-JOqmdtcdQohQL1qvTDrVJvd+nkydRm+Lyf3qVF5iQ5E=",
|
||||
"owner": "helix-editor",
|
||||
"repo": "helix",
|
||||
"rev": "761f70d61179f38152e76c1f224589a53b62d00f",
|
||||
"rev": "d1b8129491124ce6068e95ccc58a7fefb1c9db45",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -269,11 +335,11 @@
|
|||
"lix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1728506278,
|
||||
"narHash": "sha256-ZAPqzjR86En31Yfau0auQmkDuyzr2QfD8yW+7205e8A=",
|
||||
"rev": "9865ebaaa618d82a7b7fdccc636cbaa7dfa42427",
|
||||
"lastModified": 1729199869,
|
||||
"narHash": "sha256-buAN+K/8zIPo6dmb984BNOzZzQlK9TBdKPYLbdwWWGM=",
|
||||
"rev": "52b64662a4924741e465b9caed6b2b4f8539aced",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/9865ebaaa618d82a7b7fdccc636cbaa7dfa42427.tar.gz?rev=9865ebaaa618d82a7b7fdccc636cbaa7dfa42427"
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/52b64662a4924741e465b9caed6b2b4f8539aced.tar.gz?rev=52b64662a4924741e465b9caed6b2b4f8539aced"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
|
@ -338,8 +404,8 @@
|
|||
"utils": "utils"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728536463,
|
||||
"narHash": "sha256-MiNMW959lzG4ewbDNif1mKZNa+yXb/6TOlAm+QvMfw8=",
|
||||
"lastModified": 1728878008,
|
||||
"narHash": "sha256-+7Lv9bu6WzX1aYRilirx72FisvjWIBQZruKLlLvq+tw=",
|
||||
"path": "/home/bolt/code/meat",
|
||||
"type": "path"
|
||||
},
|
||||
|
@ -348,9 +414,26 @@
|
|||
"type": "path"
|
||||
}
|
||||
},
|
||||
"murex": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1729016342,
|
||||
"narHash": "sha256-/Sa6kqv13nx7XJw7m6/+xt+07W3GvUCLE1bWXcHfcvQ=",
|
||||
"owner": "lmorg",
|
||||
"repo": "murex",
|
||||
"rev": "b215b50c4a1df475652a6ff88ad3ae505d9483a7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lmorg",
|
||||
"ref": "develop",
|
||||
"repo": "murex",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"murex-jump": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"src": "src"
|
||||
},
|
||||
"locked": {
|
||||
|
@ -366,7 +449,7 @@
|
|||
},
|
||||
"murex-starship": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"src": "src_2"
|
||||
},
|
||||
"locked": {
|
||||
|
@ -382,7 +465,7 @@
|
|||
},
|
||||
"nh": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728371783,
|
||||
|
@ -400,14 +483,14 @@
|
|||
},
|
||||
"nix-index-database": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
"nixpkgs": "nixpkgs_7"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728263287,
|
||||
"narHash": "sha256-GJDtsxz2/zw6g/Nrp4XVWBS5IaZ7ZUkuvxPOBEDe7pg=",
|
||||
"lastModified": 1728790083,
|
||||
"narHash": "sha256-grMdAd4KSU6uPqsfLzA1B/3pb9GtGI9o8qb0qFzEU/Y=",
|
||||
"owner": "Mic92",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "5fce10c871bab6d7d5ac9e5e7efbb3a2783f5259",
|
||||
"rev": "5c54c33aa04df5dd4b0984b7eb861d1981009b22",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -442,7 +525,7 @@
|
|||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"flake-root": "flake-root",
|
||||
"nixpkgs": "nixpkgs_7",
|
||||
"nixpkgs": "nixpkgs_9",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
|
@ -462,16 +545,16 @@
|
|||
"nixos-cosmic": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_3",
|
||||
"nixpkgs": "nixpkgs_8",
|
||||
"nixpkgs": "nixpkgs_10",
|
||||
"nixpkgs-stable": "nixpkgs-stable_2",
|
||||
"rust-overlay": "rust-overlay_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728591802,
|
||||
"narHash": "sha256-/HefSuC9DgRAVfiZ64+E32L5WHu9mpqrcnnZA9em2iY=",
|
||||
"lastModified": 1729209055,
|
||||
"narHash": "sha256-QN0W/LJzUZGFdx4dYz8L7Z7uioAc3Po+AtGUs/IyV4Y=",
|
||||
"owner": "lilyinstarlight",
|
||||
"repo": "nixos-cosmic",
|
||||
"rev": "7a40bf82de534822d22503e195f2b71715277ad6",
|
||||
"rev": "e1c81bcb1321916bc1546d3da4907f31c5a5e948",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -482,18 +565,15 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1709479366,
|
||||
"narHash": "sha256-n6F0n8UV6lnTZbYPl1A9q1BS0p4hduAv1mGAP17CVd0=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b8697e57f10292a6165a20f03d2f42920dfaf973",
|
||||
"type": "github"
|
||||
"lastModified": 1728492678,
|
||||
"narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=",
|
||||
"path": "/nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source",
|
||||
"rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
|
@ -547,11 +627,11 @@
|
|||
},
|
||||
"nixpkgs-stable_2": {
|
||||
"locked": {
|
||||
"lastModified": 1728328465,
|
||||
"narHash": "sha256-a0a0M1TmXMK34y3M0cugsmpJ4FJPT/xsblhpiiX1CXo=",
|
||||
"lastModified": 1728909085,
|
||||
"narHash": "sha256-WLxED18lodtQiayIPDE5zwAfkPJSjHJ35UhZ8h3cJUg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1bfbbbe5bbf888d675397c66bfdb275d0b99361c",
|
||||
"rev": "c0b1da36f7c34a7146501f684e9ebdf15d2bebf8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -561,7 +641,52 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_10": {
|
||||
"locked": {
|
||||
"lastModified": 1728888510,
|
||||
"narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1728888510,
|
||||
"narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=",
|
||||
"path": "/nix/store/xnjw9gmfmpppdj6bxpw6cfkspc3h6xwl-source",
|
||||
"rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1709479366,
|
||||
"narHash": "sha256-n6F0n8UV6lnTZbYPl1A9q1BS0p4hduAv1mGAP17CVd0=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b8697e57f10292a6165a20f03d2f42920dfaf973",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1728018373,
|
||||
"narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=",
|
||||
|
@ -574,7 +699,7 @@
|
|||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1728241625,
|
||||
"narHash": "sha256-yumd4fBc/hi8a9QgA9IT8vlQuLZ2oqhkJXHPKxH/tRw=",
|
||||
|
@ -587,7 +712,7 @@
|
|||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1727540905,
|
||||
"narHash": "sha256-40J9tW7Y794J7Uw4GwcAKlMxlX2xISBl6IBigo83ih8=",
|
||||
|
@ -603,13 +728,13 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1728018373,
|
||||
"narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=",
|
||||
"lastModified": 1728492678,
|
||||
"narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "bc947f541ae55e999ffdb4013441347d83b00feb",
|
||||
"rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -619,7 +744,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1681303793,
|
||||
"narHash": "sha256-JEdQHsYuCfRL2PICHlOiH/2ue3DwoxUX7DJ6zZxZXFk=",
|
||||
|
@ -635,7 +760,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"nixpkgs_9": {
|
||||
"locked": {
|
||||
"lastModified": 1714562304,
|
||||
"narHash": "sha256-Mr3U37Rh6tH0FbaDFu0aZDwk9mPAe7ASaqDOGgLqqLU=",
|
||||
|
@ -651,45 +776,45 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_8": {
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1728241625,
|
||||
"narHash": "sha256-yumd4fBc/hi8a9QgA9IT8vlQuLZ2oqhkJXHPKxH/tRw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c31898adf5a8ed202ce5bea9f347b1c6871f32d1",
|
||||
"lastModified": 1729210014,
|
||||
"narHash": "sha256-46JsGJ8/wovNwq4jxlIVHewcel8yHLugACHhASWvNhM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "7dced12690c675f0ea371f342e433060846b908a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"openpose": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1728602745,
|
||||
"narHash": "sha256-UcWXwxHP2SX3lJ/XGYQbKu+KKALsPp/BC+3YWfbgOuo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "0eb5a0ee12c355e8e897e0fe23e1ff9df332a9a6",
|
||||
"lastModified": 1685841563,
|
||||
"narHash": "sha256-GUjs8mIUFAbjJEVL+EsT44HG42mAiumKOBlBas1xxrM=",
|
||||
"owner": "space-nuko",
|
||||
"repo": "ComfyUI-OpenPose-Editor",
|
||||
"rev": "4d8fe730acdb11ab2fcd592129d91d338d270adf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"owner": "space-nuko",
|
||||
"repo": "ComfyUI-OpenPose-Editor",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"podman": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1728581139,
|
||||
"narHash": "sha256-O38TzXJ69kbIonMA5+NpFA9J4JLoLcKlKu17PCHX/dY=",
|
||||
"lastModified": 1729175227,
|
||||
"narHash": "sha256-UL/G8RrBWLOoJ30QZxT+/88YjIhOFXbkQ/Le7ObVcMY=",
|
||||
"owner": "containers",
|
||||
"repo": "podman",
|
||||
"rev": "d512e4414754a2ddda793d1fefe34cdb7ba88568",
|
||||
"rev": "740f1d1fc710d4560d2463b11333cc9ad68e22bd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -706,7 +831,7 @@
|
|||
"flake-utils"
|
||||
],
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"nixpkgs": "nixpkgs_8",
|
||||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
|
@ -725,6 +850,8 @@
|
|||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"comfyui": "comfyui",
|
||||
"comfyui-plugins": "comfyui-plugins",
|
||||
"flatpaks": "flatpaks",
|
||||
"helix": "helix",
|
||||
"home-manager": "home-manager",
|
||||
|
@ -732,6 +859,7 @@
|
|||
"lix-module": "lix-module",
|
||||
"madness": "madness",
|
||||
"meat": "meat",
|
||||
"murex": "murex",
|
||||
"murex-jump": "murex-jump",
|
||||
"murex-starship": "murex-starship",
|
||||
"nh": "nh",
|
||||
|
@ -784,11 +912,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728461096,
|
||||
"narHash": "sha256-cd0cXB85B3kGpm+iumP9xCnqFErspXL9Z/2X59kQ6c4=",
|
||||
"lastModified": 1729045942,
|
||||
"narHash": "sha256-HjmK0x5Zm2TK2vFpC7XBM2e3EDNVnAIuEoU2FkeN8xw=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "e310b9bd71fa6c6a9fec0a8cf5af43ce798a0ad6",
|
||||
"rev": "9de3cea452d2401d6f93c06ad985178a4e11d1fc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -889,6 +1017,22 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tensorrt": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1728519788,
|
||||
"narHash": "sha256-tqiodF60IVlmvJknYxEwL0U7GIrrfl49k6Tg+8jGRVU=",
|
||||
"owner": "comfyanonymous",
|
||||
"repo": "ComfyUI_TensorRT",
|
||||
"rev": "5bcc3f1e5c2424bb20bcb586e340c25ebe4a954f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "comfyanonymous",
|
||||
"repo": "ComfyUI_TensorRT",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
|
19
flake.nix
19
flake.nix
|
@ -55,11 +55,19 @@
|
|||
inputs.rust-overlay.follows = "rust-overlay";
|
||||
};
|
||||
|
||||
comfyui.url = "path:./flakes/ComfyUI";
|
||||
comfyui-plugins.url = "path:./flakes/ComfyUI-Plugins";
|
||||
|
||||
podman = {
|
||||
flake = false;
|
||||
url = "github:containers/podman";
|
||||
};
|
||||
|
||||
murex = {
|
||||
url = "github:lmorg/murex/develop";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
murex-jump.url = "path:./flakes/murex-module-jump";
|
||||
murex-starship.url = "path:./flakes/murex-module-starship";
|
||||
};
|
||||
|
@ -75,6 +83,7 @@
|
|||
madness,
|
||||
lix-module,
|
||||
meat,
|
||||
comfyui,
|
||||
...
|
||||
} @ inputs: let
|
||||
inherit (self) outputs;
|
||||
|
@ -82,8 +91,6 @@
|
|||
inherit (lib) mapAttrs;
|
||||
sharedModules = [
|
||||
meat.nixosModules.meat
|
||||
# comes with meat
|
||||
# lix-module.nixosModules.default
|
||||
madness.nixosModules.madness
|
||||
nur.nixosModules.nur
|
||||
nix-index-database.nixosModules.nix-index
|
||||
|
@ -121,12 +128,8 @@
|
|||
overlays = import ./util/overlay.nix {inherit inputs;};
|
||||
|
||||
nixosConfigurations = createSystems {
|
||||
quiver = {
|
||||
user = "bolt";
|
||||
};
|
||||
adrift = {
|
||||
user = "plank";
|
||||
};
|
||||
quiver.user = "bolt";
|
||||
adrift.user = "plank";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
21
flakes/ComfyUI-Plugins/essentials/default.nix
Normal file
21
flakes/ComfyUI-Plugins/essentials/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
pkgs,
|
||||
src,
|
||||
python3Packages,
|
||||
...
|
||||
}: let
|
||||
inherit (python3Packages) numba colour-science rembg pixeloe transparent-background;
|
||||
in
|
||||
pkgs.stdenvNoCC.mkDerivation {
|
||||
pname = "comfyui-essentials";
|
||||
version = "dev-${builtins.toString src.lastModified}";
|
||||
src = src;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
numba
|
||||
colour-science
|
||||
rembg
|
||||
pixeloe
|
||||
transparent-background
|
||||
];
|
||||
}
|
92
flakes/ComfyUI-Plugins/flake.lock
generated
Normal file
92
flakes/ComfyUI-Plugins/flake.lock
generated
Normal file
|
@ -0,0 +1,92 @@
|
|||
{
|
||||
"nodes": {
|
||||
"essentials": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1728478639,
|
||||
"narHash": "sha256-JFkrtxLXx9wyJ5ZUlnXX+U5NGh5agiz0VOHQ5SA6jTs=",
|
||||
"owner": "cubiq",
|
||||
"repo": "ComfyUI_essentials",
|
||||
"rev": "f320ada61353c14e9d506592e20397398be6b952",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cubiq",
|
||||
"repo": "ComfyUI_essentials",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gguf": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1728958305,
|
||||
"narHash": "sha256-XJwWx9gm1Qo/B4t7olPajJlPqKJvciTRpB+9fyf8aXQ=",
|
||||
"owner": "city96",
|
||||
"repo": "ComfyUI-GGUF",
|
||||
"rev": "68ad5fb2149ead7e4978f83f14e045ecd812a394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "city96",
|
||||
"repo": "ComfyUI-GGUF",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1728888510,
|
||||
"narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=",
|
||||
"path": "/nix/store/xnjw9gmfmpppdj6bxpw6cfkspc3h6xwl-source",
|
||||
"rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"openpose": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1685841563,
|
||||
"narHash": "sha256-GUjs8mIUFAbjJEVL+EsT44HG42mAiumKOBlBas1xxrM=",
|
||||
"owner": "space-nuko",
|
||||
"repo": "ComfyUI-OpenPose-Editor",
|
||||
"rev": "4d8fe730acdb11ab2fcd592129d91d338d270adf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "space-nuko",
|
||||
"repo": "ComfyUI-OpenPose-Editor",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"essentials": "essentials",
|
||||
"gguf": "gguf",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"openpose": "openpose",
|
||||
"tensorrt": "tensorrt"
|
||||
}
|
||||
},
|
||||
"tensorrt": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1728519788,
|
||||
"narHash": "sha256-tqiodF60IVlmvJknYxEwL0U7GIrrfl49k6Tg+8jGRVU=",
|
||||
"owner": "comfyanonymous",
|
||||
"repo": "ComfyUI_TensorRT",
|
||||
"rev": "5bcc3f1e5c2424bb20bcb586e340c25ebe4a954f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "comfyanonymous",
|
||||
"repo": "ComfyUI_TensorRT",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
48
flakes/ComfyUI-Plugins/flake.nix
Normal file
48
flakes/ComfyUI-Plugins/flake.nix
Normal file
|
@ -0,0 +1,48 @@
|
|||
{
|
||||
inputs = {
|
||||
gguf = {
|
||||
url = "github:city96/ComfyUI-GGUF";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
tensorrt = {
|
||||
url = "github:comfyanonymous/ComfyUI_TensorRT";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
# needs some deps packaged
|
||||
# essentials = {
|
||||
# url = "github:cubiq/ComfyUI_essentials";
|
||||
# flake = false;
|
||||
# };
|
||||
|
||||
openpose = {
|
||||
url = "github:space-nuko/ComfyUI-OpenPose-Editor";
|
||||
flake = false;
|
||||
};
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
...
|
||||
}: let
|
||||
pkgs = import nixpkgs {
|
||||
system = "x86_64-linux";
|
||||
};
|
||||
inherit (pkgs) lib callPackage;
|
||||
inherit (builtins) mapAttrs;
|
||||
filteredInputs = lib.filterAttrs (n: v: n != "nixpkgs") self.inputs;
|
||||
in {
|
||||
overlays.comfyui-plugins = final: prev: {
|
||||
comfyui-plugins =
|
||||
mapAttrs
|
||||
(name: value: final.callPackage ./${name}/default.nix {src = value;})
|
||||
filteredInputs;
|
||||
};
|
||||
packages.x86_64-linux =
|
||||
mapAttrs
|
||||
(name: value: callPackage ./${name}/default.nix {src = value;})
|
||||
filteredInputs;
|
||||
};
|
||||
}
|
21
flakes/ComfyUI-Plugins/gguf/default.nix
Normal file
21
flakes/ComfyUI-Plugins/gguf/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
pkgs,
|
||||
src,
|
||||
python3Packages,
|
||||
...
|
||||
}: let
|
||||
inherit (python3Packages) gguf numpy;
|
||||
in
|
||||
pkgs.stdenvNoCC.mkDerivation {
|
||||
pname = "comfyui-gguf";
|
||||
version = "dev-${builtins.toString src.lastModified}";
|
||||
src = src;
|
||||
propagatedBuildInputs = [
|
||||
gguf
|
||||
numpy
|
||||
];
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -r * $out/
|
||||
'';
|
||||
}
|
19
flakes/ComfyUI-Plugins/openpose/default.nix
Normal file
19
flakes/ComfyUI-Plugins/openpose/default.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
pkgs,
|
||||
src,
|
||||
...
|
||||
}:
|
||||
pkgs.stdenvNoCC.mkDerivation {
|
||||
pname = "comfyui-openpose-editor";
|
||||
version = "dev-${builtins.toString src.lastModified}";
|
||||
inherit src;
|
||||
|
||||
patches = [
|
||||
./openpose_no_update.patch
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -r * $out/
|
||||
'';
|
||||
}
|
12
flakes/ComfyUI-Plugins/openpose/openpose_no_update.patch
Normal file
12
flakes/ComfyUI-Plugins/openpose/openpose_no_update.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
diff --git a/__init__.py b/__init__.py
|
||||
index e4cf8bb..7d8f894 100644
|
||||
--- a/__init__.py
|
||||
+++ b/__init__.py
|
||||
@@ -35,6 +35,6 @@ def update_javascript():
|
||||
shutil.copy(src_file, dst_file)
|
||||
|
||||
|
||||
-update_javascript()
|
||||
+# update_javascript()
|
||||
|
||||
print('\033[34mOpenPose Editor: \033[92mLoaded\033[0m')
|
23
flakes/ComfyUI-Plugins/tensorrt/default.nix
Normal file
23
flakes/ComfyUI-Plugins/tensorrt/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
pkgs,
|
||||
src,
|
||||
python3Packages,
|
||||
...
|
||||
}: let
|
||||
inherit (python3Packages) tensorrt onnx;
|
||||
in
|
||||
pkgs.stdenvNoCC.mkDerivation {
|
||||
pname = "comfyui-tensorrt";
|
||||
version = "dev-${builtins.toString src.lastModified}";
|
||||
src = src;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
tensorrt
|
||||
onnx
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -r * $out
|
||||
'';
|
||||
}
|
72
flakes/ComfyUI/default.nix
Normal file
72
flakes/ComfyUI/default.nix
Normal file
|
@ -0,0 +1,72 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
comfyui,
|
||||
comfy_dir ? "/run/user/1000/comfyui/",
|
||||
spandrel,
|
||||
plugins ? config.comfyui.plugins,
|
||||
...
|
||||
}: let
|
||||
inherit (pkgs) python3;
|
||||
python = python3.withPackages (
|
||||
ps:
|
||||
with ps; [
|
||||
torch
|
||||
torchsde
|
||||
torchvision
|
||||
torchaudio
|
||||
einops
|
||||
transformers
|
||||
tokenizers
|
||||
sentencepiece
|
||||
safetensors
|
||||
aiohttp
|
||||
pyyaml
|
||||
pillow
|
||||
scipy
|
||||
tqdm
|
||||
psutil
|
||||
kornia
|
||||
soundfile
|
||||
|
||||
spandrel
|
||||
] ++ plugins
|
||||
);
|
||||
in
|
||||
pkgs.stdenvNoCC.mkDerivation {
|
||||
name = "comfyui";
|
||||
pname = "comfyui";
|
||||
version = "dev-${builtins.toString comfyui.lastModified}";
|
||||
src = comfyui;
|
||||
nativeBuildInputs = let
|
||||
inherit (pkgs) makeWrapper;
|
||||
in [
|
||||
makeWrapper
|
||||
];
|
||||
propagatedBuildInputs = let
|
||||
inherit (pkgs.cudaPackages) cudatoolkit;
|
||||
in [
|
||||
python
|
||||
cudatoolkit
|
||||
];
|
||||
|
||||
patches = [./folder_paths.patch];
|
||||
|
||||
installPhase = let
|
||||
launcher =
|
||||
pkgs.writeShellScript "launch.sh"
|
||||
''
|
||||
mkdir -p $COMFY_DIR/custom_nodes
|
||||
mkdir -p $COMFY_DIR/models/{checkpoints,configs,loras,vae,clip,unet,diffusion_models,clip_vision,style_models,embeddings,diffusers,vae_approx,controlnet,gligen,upscale_models,hypernetworks,photomaker,classifiers}
|
||||
${python}/bin/python3 $COMFY/comfyui/main.py --output-directory $(mktemp)
|
||||
'';
|
||||
in ''
|
||||
mkdir -p $out/comfyui
|
||||
cp -r * $out/comfyui
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${launcher} $out/bin/comfyui --prefix PATH : ${lib.makeBinPath [python]} \
|
||||
--set PYTHONPATH ${lib.makeLibraryPath [python]} --set COMFY $out --set COMFY_DIR ${comfy_dir}
|
||||
'';
|
||||
meta.mainProgram = "comfyui";
|
||||
}
|
41
flakes/ComfyUI/flake.lock
generated
Normal file
41
flakes/ComfyUI/flake.lock
generated
Normal file
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
"nodes": {
|
||||
"comfyui": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1729105110,
|
||||
"narHash": "sha256-M/by34k6P4Sj/dfsW1FdVRZmaTHxZ0mMX/cuYXIPeaw=",
|
||||
"owner": "comfyanonymous",
|
||||
"repo": "ComfyUI",
|
||||
"rev": "7390ff3b1ec2e15017ba4a52d6eaabc4aa4636e3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "comfyanonymous",
|
||||
"repo": "ComfyUI",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1728492678,
|
||||
"narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=",
|
||||
"path": "/nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source",
|
||||
"rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"comfyui": "comfyui",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
48
flakes/ComfyUI/flake.nix
Normal file
48
flakes/ComfyUI/flake.nix
Normal file
|
@ -0,0 +1,48 @@
|
|||
{
|
||||
inputs = {
|
||||
comfyui = {
|
||||
url = "github:comfyanonymous/ComfyUI";
|
||||
flake = false;
|
||||
};
|
||||
};
|
||||
|
||||
nixConfig = {
|
||||
extra-substituters = ["https://nix-community.cachix.org" "https://cuda-maintainers.cachix.org"];
|
||||
extra-trusted-public-keys = [
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
|
||||
];
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
comfyui,
|
||||
}: {
|
||||
homeManagerModules.comfyui = import ./module.nix;
|
||||
|
||||
overlays.comfyui = final: _prev: {
|
||||
comfyui = let
|
||||
spandrel = final.callPackage ./spandrel.nix {};
|
||||
in
|
||||
final.callPackage ./default.nix {
|
||||
cudaSupport = true;
|
||||
inherit comfyui spandrel;
|
||||
};
|
||||
};
|
||||
|
||||
packages.x86_64-linux = let
|
||||
system = "x86_64-linux";
|
||||
pkgs = import nixpkgs {
|
||||
config.allowUnfree = true;
|
||||
config.cudaSupport = true;
|
||||
inherit system;
|
||||
};
|
||||
spandrel = pkgs.callPackage ./spandrel.nix {};
|
||||
in {
|
||||
default = pkgs.callPackage ./default.nix {
|
||||
inherit comfyui spandrel;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
28
flakes/ComfyUI/folder_paths.patch
Normal file
28
flakes/ComfyUI/folder_paths.patch
Normal file
|
@ -0,0 +1,28 @@
|
|||
diff --git a/folder_paths.py b/folder_paths.py
|
||||
index 01ae821..27906ac 100644
|
||||
--- a/folder_paths.py
|
||||
+++ b/folder_paths.py
|
||||
@@ -11,7 +11,7 @@ supported_pt_extensions: set[str] = {'.ckpt', '.pt', '.bin', '.pth', '.safetenso
|
||||
|
||||
folder_names_and_paths: dict[str, tuple[list[str], set[str]]] = {}
|
||||
|
||||
-base_path = os.path.dirname(os.path.realpath(__file__))
|
||||
+base_path = os.path.dirname(os.environ['COMFY_DIR'])
|
||||
models_dir = os.path.join(base_path, "models")
|
||||
folder_names_and_paths["checkpoints"] = ([os.path.join(models_dir, "checkpoints")], supported_pt_extensions)
|
||||
folder_names_and_paths["configs"] = ([os.path.join(models_dir, "configs")], [".yaml"])
|
||||
@@ -39,10 +39,10 @@ folder_names_and_paths["photomaker"] = ([os.path.join(models_dir, "photomaker")]
|
||||
|
||||
folder_names_and_paths["classifiers"] = ([os.path.join(models_dir, "classifiers")], {""})
|
||||
|
||||
-output_directory = os.path.join(os.path.dirname(os.path.realpath(__file__)), "output")
|
||||
-temp_directory = os.path.join(os.path.dirname(os.path.realpath(__file__)), "temp")
|
||||
-input_directory = os.path.join(os.path.dirname(os.path.realpath(__file__)), "input")
|
||||
-user_directory = os.path.join(os.path.dirname(os.path.realpath(__file__)), "user")
|
||||
+output_directory = os.path.join(base_path, "output")
|
||||
+temp_directory = os.path.join(base_path, "temp")
|
||||
+input_directory = os.path.join(base_path, "input")
|
||||
+user_directory = os.path.join(base_path, "user")
|
||||
|
||||
filename_list_cache: dict[str, tuple[list[str], dict[str, float], float]] = {}
|
||||
|
44
flakes/ComfyUI/module.nix
Normal file
44
flakes/ComfyUI/module.nix
Normal file
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkEnableOption mkOption types hasSuffix;
|
||||
cfg = config.programs.comfyui;
|
||||
# comfyui only understands the path properly with a trailing slash
|
||||
getStorage =
|
||||
if (hasSuffix "/" cfg.storage)
|
||||
then cfg.storage
|
||||
else cfg.storage + "/";
|
||||
in {
|
||||
options.programs.comfyui = {
|
||||
enable = mkEnableOption "ComfyUI";
|
||||
storage = mkOption {
|
||||
type = types.path;
|
||||
description = "where to source models and store information";
|
||||
};
|
||||
plugins = mkOption {
|
||||
type = with types; listOf package;
|
||||
description = "list of comfyui plugins";
|
||||
};
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
home.packages = [
|
||||
(pkgs.comfyui.override {
|
||||
comfy_dir = getStorage;
|
||||
plugins = cfg.plugins;
|
||||
})
|
||||
];
|
||||
home.file = builtins.listToAttrs (map (
|
||||
pkg: {
|
||||
name = "${getStorage}/custom_nodes/${pkg.name}";
|
||||
value = {
|
||||
recursive = true;
|
||||
source = "${pkg}";
|
||||
};
|
||||
}
|
||||
)
|
||||
cfg.plugins);
|
||||
};
|
||||
}
|
43
flakes/ComfyUI/spandrel.nix
Normal file
43
flakes/ComfyUI/spandrel.nix
Normal file
|
@ -0,0 +1,43 @@
|
|||
{
|
||||
lib,
|
||||
python3Packages,
|
||||
fetchPypi,
|
||||
...
|
||||
}:
|
||||
python3Packages.buildPythonPackage rec {
|
||||
pname = "spandrel";
|
||||
version = "0.4.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-9FUmiT+SOhLvN1QsROREsSCJdlk7x8zfpU/QTHw+gMo=";
|
||||
};
|
||||
|
||||
build-system = let
|
||||
inherit (python3Packages) setuptools;
|
||||
in [
|
||||
setuptools
|
||||
];
|
||||
|
||||
dependencies = let
|
||||
inherit
|
||||
(python3Packages)
|
||||
torch
|
||||
torchvision
|
||||
safetensors
|
||||
numpy
|
||||
einops
|
||||
typing-extensions
|
||||
;
|
||||
in [
|
||||
torch
|
||||
torchvision
|
||||
safetensors
|
||||
numpy
|
||||
einops
|
||||
typing-extensions
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
}
|
|
@ -1,4 +1,10 @@
|
|||
{pkgs, ...}: {
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./home.nix
|
||||
./util/local-webapp.nix
|
||||
|
@ -6,6 +12,7 @@
|
|||
# ./programs/stable-diffusion.nix
|
||||
# ./programs/openwebui.nix
|
||||
./programs/anything-llm.nix
|
||||
inputs.comfyui.homeManagerModules.comfyui
|
||||
];
|
||||
|
||||
mainUser = "bolt";
|
||||
|
@ -13,4 +20,16 @@
|
|||
home.packages = with pkgs; [
|
||||
nicotine-plus
|
||||
];
|
||||
|
||||
programs.comfyui = {
|
||||
enable = true;
|
||||
storage = "/home/${config.mainUser}/.local/share/comfyui/";
|
||||
plugins = let
|
||||
inherit (pkgs.comfyui-plugins) gguf openpose;
|
||||
in [
|
||||
gguf
|
||||
# essentials
|
||||
openpose
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
291
home/programs/helix-ai.nix
Normal file
291
home/programs/helix-ai.nix
Normal file
|
@ -0,0 +1,291 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
palette-hex = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.palette;
|
||||
palette-shex = pkgs.lib.nix-rice.palette.toRGBShortHex pkgs.rice.palette;
|
||||
in {
|
||||
programs.helix = {
|
||||
enable = true;
|
||||
themes = with palette-hex; {
|
||||
nix-rice = {
|
||||
"attribute" = bright.cyan;
|
||||
"keyword" = {fg = normal.red;};
|
||||
"keyword.directive" = normal.red;
|
||||
"namespace" = bright.cyan;
|
||||
"punctuation" = bright.yellow;
|
||||
"punctuation.delimiter" = bright.yellow;
|
||||
"operator" = bright.magenta;
|
||||
"special" = normal.magenta;
|
||||
"variable.other.member" = bright.blue;
|
||||
"variable" = util.fg;
|
||||
"variable.builtin" = bright.yellow;
|
||||
"variable.parameter" = bright.white;
|
||||
"type" = normal.yellow;
|
||||
"type.builtin" = normal.yellow;
|
||||
"constructor" = {
|
||||
fg = bright.magenta;
|
||||
modifiers = ["bold"];
|
||||
};
|
||||
"function" = {
|
||||
fg = normal.green;
|
||||
modifiers = ["bold"];
|
||||
};
|
||||
"function.macro" = bright.cyan;
|
||||
"function.builtin" = normal.yellow;
|
||||
"tag" = normal.red;
|
||||
"comment" = {
|
||||
fg = normal.magenta;
|
||||
modifiers = ["italic"];
|
||||
};
|
||||
"constant" = {fg = bright.magenta;};
|
||||
"constant.builtin" = {
|
||||
fg = bright.magenta;
|
||||
modifiers = ["bold"];
|
||||
};
|
||||
"string" = normal.green;
|
||||
"constant.numeric" = bright.magenta;
|
||||
"constant.character.escape" = {
|
||||
fg = bright.white;
|
||||
modifiers = ["bold"];
|
||||
};
|
||||
"label" = bright.cyan;
|
||||
"module" = bright.cyan;
|
||||
"diff.plus" = bright.green;
|
||||
"diff.delta" = bright.yellow;
|
||||
"diff.minus" = bright.red;
|
||||
"warning" = bright.yellow;
|
||||
"error" = bright.red;
|
||||
"info" = bright.cyan;
|
||||
"hint" = bright.blue;
|
||||
"ui.background" = {bg = util.bg;};
|
||||
"ui.linenr" = {fg = normal.cyan;};
|
||||
"ui.linenr.selected" = {
|
||||
fg = normal.yellow;
|
||||
modifiers = ["bold"];
|
||||
};
|
||||
"ui.cursorline" = {bg = normal.black;};
|
||||
"ui.statusline" = {
|
||||
fg = util.fg;
|
||||
bg = bright.black;
|
||||
};
|
||||
"ui.statusline.normal" = {
|
||||
fg = util.fg;
|
||||
bg = bright.black;
|
||||
};
|
||||
"ui.statusline.insert" = {
|
||||
fg = util.fg;
|
||||
bg = normal.blue;
|
||||
};
|
||||
"ui.statusline.select" = {
|
||||
fg = util.fg;
|
||||
bg = bright.yellow;
|
||||
};
|
||||
"ui.statusline.inactive" = {
|
||||
fg = normal.white;
|
||||
bg = normal.black;
|
||||
};
|
||||
"ui.popup" = {bg = normal.black;};
|
||||
"ui.window" = {bg = normal.black;};
|
||||
"ui.help" = {
|
||||
bg = normal.black;
|
||||
fg = util.fg;
|
||||
};
|
||||
"ui.text" = {fg = util.fg;};
|
||||
"ui.text.focus" = {fg = util.fg;};
|
||||
"ui.selection" = {
|
||||
# modifiers = ["reversed"];
|
||||
bg = bright.yellow;
|
||||
};
|
||||
"ui.selection.primary" = {modifiers = ["reversed"];};
|
||||
# "ui.selection.primary" = { bg = bright.cyan; };
|
||||
"ui.cursor.primary" = {
|
||||
bg = normal.white;
|
||||
fg = normal.black;
|
||||
};
|
||||
"ui.cursor.match" = {bg = bright.cyan;};
|
||||
"ui.menu" = {
|
||||
fg = util.fg;
|
||||
bg = bright.black;
|
||||
};
|
||||
"ui.menu.selected" = {
|
||||
fg = bright.black;
|
||||
bg = bright.blue;
|
||||
modifiers = ["bold"];
|
||||
};
|
||||
"ui.virtual.whitespace" = bright.black;
|
||||
"ui.virtual.ruler" = {bg = normal.black;};
|
||||
"ui.virtual.inlay-hint" = {fg = normal.magenta;};
|
||||
"diagnostic.warning" = {
|
||||
underline = {
|
||||
color = bright.yellow;
|
||||
style = "curl";
|
||||
};
|
||||
};
|
||||
"diagnostic.error" = {
|
||||
underline = {
|
||||
color = bright.red;
|
||||
style = "curl";
|
||||
};
|
||||
};
|
||||
"diagnostic.info" = {
|
||||
underline = {
|
||||
color = bright.cyan;
|
||||
style = "curl";
|
||||
};
|
||||
};
|
||||
"diagnostic.hint" = {
|
||||
underline = {
|
||||
color = bright.blue;
|
||||
style = "curl";
|
||||
};
|
||||
};
|
||||
"markup.heading" = bright.cyan;
|
||||
"markup.bold" = {modifiers = ["bold"];};
|
||||
"markup.italic" = {modifiers = ["italic"];};
|
||||
"markup.strikethrough" = {modifiers = ["crossed_out"];};
|
||||
"markup.link.url" = {
|
||||
fg = bright.green;
|
||||
modifiers = ["underlined"];
|
||||
};
|
||||
"markup.link.text" = bright.red;
|
||||
"markup.raw" = bright.red;
|
||||
};
|
||||
};
|
||||
|
||||
# theme = "nix-rice"
|
||||
|
||||
# [editor]
|
||||
# bufferline = "multiple"
|
||||
# cursorline = true
|
||||
# true-color = true
|
||||
|
||||
# [editor.cursor-shape]
|
||||
# insert = "bar"
|
||||
# normal = "block"
|
||||
# select = "underline"
|
||||
|
||||
# [editor.lsp]
|
||||
# display-messages = true
|
||||
|
||||
# [editor.statusline]
|
||||
# left = ["mode", "spinner", "version-control", "file-name", "file-modification-indicator"]
|
||||
|
||||
settings = {
|
||||
theme = "nix-rice";
|
||||
editor = {
|
||||
bufferline = "multiple";
|
||||
cursorline = true;
|
||||
true-color = true;
|
||||
cursor-shape = {
|
||||
insert = "bar";
|
||||
normal = "block";
|
||||
select = "underline";
|
||||
};
|
||||
statusline.left = ["mode" "spinner" "version-control" "file-name" "file-modification-indicator"];
|
||||
lsp.display-messages = true;
|
||||
keys = let
|
||||
extend = {
|
||||
"A-x" = "extend_to_line_bounds";
|
||||
"X" = ["extend_line_up" "extend_to_line_bounds"];
|
||||
};
|
||||
in {
|
||||
normal = extend;
|
||||
select = extend;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
languages = {
|
||||
language = [
|
||||
{
|
||||
name = "rust";
|
||||
language-servers = ["rust-analyzer" "lsp-ai"];
|
||||
auto-format = true;
|
||||
}
|
||||
{
|
||||
name = "nix";
|
||||
language-servers = ["nixd" "lsp-ai"];
|
||||
file-types = ["nix"];
|
||||
# auto-format = true;
|
||||
formatter = {
|
||||
command = "alejandra";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "ocaml";
|
||||
language-servers = ["ocamllsp" "lsp-ai"];
|
||||
file-types = ["ml" "mli"];
|
||||
auto-format = true;
|
||||
formatter = {
|
||||
command = "ocamlformat";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
language-server = {
|
||||
nixd = {
|
||||
command = "nixd";
|
||||
};
|
||||
|
||||
lsp-ai = {
|
||||
command = "lsp-ai";
|
||||
config = {
|
||||
memory.fileStore = {};
|
||||
models = {
|
||||
llama32 = {
|
||||
type = "ollama";
|
||||
model = "llama3.2";
|
||||
};
|
||||
starcoder2 = {
|
||||
type = "ollama";
|
||||
model = "starcoder2:7b";
|
||||
};
|
||||
};
|
||||
completion = {
|
||||
model = "starcoder2";
|
||||
parameters = {
|
||||
maxContext = 1024;
|
||||
options = {
|
||||
numPredict = 32;
|
||||
};
|
||||
postProcess = {
|
||||
removeDuplicateStart = true;
|
||||
removeDuplicateEnd = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
chat = {
|
||||
trigger = "!C";
|
||||
action_display_name = "Chat";
|
||||
model = "llama32";
|
||||
parameters = {
|
||||
max_context = 4096;
|
||||
max_tokens = 1024;
|
||||
system = "You are a code assistant chatbot. The user will ask you for assistance coding and you will do your best to answer succinctly and accurately.";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
rust-analyzer = {
|
||||
config = {
|
||||
cargo = {
|
||||
buildScripts = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
procMacro = {
|
||||
enable = true;
|
||||
};
|
||||
check = {
|
||||
command = "clippy";
|
||||
};
|
||||
};
|
||||
};
|
||||
}; #language-server
|
||||
}; #languages
|
||||
}; #helix config
|
||||
}
|
|
@ -155,9 +155,47 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
# theme = "nix-rice"
|
||||
|
||||
# [editor]
|
||||
# bufferline = "multiple"
|
||||
# cursorline = true
|
||||
# true-color = true
|
||||
|
||||
# [editor.cursor-shape]
|
||||
# insert = "bar"
|
||||
# normal = "block"
|
||||
# select = "underline"
|
||||
|
||||
# [editor.lsp]
|
||||
# display-messages = true
|
||||
|
||||
# [editor.statusline]
|
||||
# left = ["mode", "spinner", "version-control", "file-name", "file-modification-indicator"]
|
||||
|
||||
settings = {
|
||||
theme = "nix-rice";
|
||||
editor.lsp.display-messages = true;
|
||||
editor = {
|
||||
bufferline = "multiple";
|
||||
cursorline = true;
|
||||
true-color = true;
|
||||
cursor-shape = {
|
||||
insert = "bar";
|
||||
normal = "block";
|
||||
select = "underline";
|
||||
};
|
||||
statusline.left = ["mode" "spinner" "version-control" "file-name" "file-modification-indicator"];
|
||||
lsp.display-messages = true;
|
||||
# keys = let
|
||||
# extend = {
|
||||
# "A-x" = "extend_to_line_bounds";
|
||||
# "X" = ["extend_line_up" "extend_to_line_bounds"];
|
||||
# };
|
||||
# in {
|
||||
# normal = extend;
|
||||
# select = extend;
|
||||
# };
|
||||
};
|
||||
};
|
||||
|
||||
languages = {
|
||||
|
@ -170,7 +208,7 @@ in {
|
|||
name = "nix";
|
||||
language-servers = ["nixd"];
|
||||
file-types = ["nix"];
|
||||
auto-format = true;
|
||||
# auto-format = true;
|
||||
formatter = {
|
||||
command = "alejandra";
|
||||
};
|
||||
|
|
|
@ -17,27 +17,27 @@
|
|||
mount -> column -t -> culr -t 80 -o roygbiv-split
|
||||
}
|
||||
|
||||
function la_culr {
|
||||
if { $1 } {
|
||||
eza -lha --group-directories-first --icons --color=always $1 -> culr -t 80 -o roygbiv-split
|
||||
} else {
|
||||
function la_culr (!path: str) {
|
||||
if { is-null $path } {
|
||||
eza -lha --group-directories-first --icons --color=always -> culr -t 80 -o roygbiv-split
|
||||
}
|
||||
}
|
||||
|
||||
function ls_culr {
|
||||
if { $1 } {
|
||||
eza -lh --group-directories-first --icons --color=always $1 -> culr -t 80 -o roygbiv-split
|
||||
} else {
|
||||
eza -lh --group-directories-first --icons --color=always -> culr -t 80 -o roygbiv-split
|
||||
eza -lha --group-directories-first --icons --color=always $path -> culr -t 80 -o roygbiv-split
|
||||
}
|
||||
}
|
||||
|
||||
function ps_culr {
|
||||
if { $1 } {
|
||||
ps ww$1 | culr -t 80 -o roygbiv-split
|
||||
} else {
|
||||
function ls_culr (!path: str) {
|
||||
if { is-null $path } {
|
||||
eza -lh --group-directories-first --icons --color=always -> culr -t 80 -o roygbiv-split
|
||||
} else {
|
||||
eza -lh --group-directories-first --icons --color=always $path -> culr -t 80 -o roygbiv-split
|
||||
}
|
||||
}
|
||||
|
||||
function ps_culr (!cmd: str) {
|
||||
if { is-null $cmd } {
|
||||
ps ww | culr -t 80 -o roygbiv-split
|
||||
} else {
|
||||
ps ww$cmd | culr -t 80 -o roygbiv-split
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -11,7 +11,19 @@
|
|||
in {
|
||||
inherit imports;
|
||||
nix.settings = {
|
||||
substituters = ["https://cache.nixos.org" "https://nix-community.cachix.org" "https://helix.cachix.org" "https://cosmic.cachix.org"];
|
||||
trusted-public-keys = ["cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs=" "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="];
|
||||
substituters = [
|
||||
"https://cache.nixos.org"
|
||||
"https://nix-community.cachix.org"
|
||||
"https://helix.cachix.org"
|
||||
"https://cosmic.cachix.org"
|
||||
"https://cuda-maintainers.cachix.org"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs="
|
||||
"cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="
|
||||
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -13,12 +13,16 @@
|
|||
inputs.nixd.overlays.default
|
||||
outputs.overlays.additions
|
||||
outputs.overlays.rice
|
||||
outputs.overlays.murex
|
||||
outputs.overlays.murex-starship
|
||||
outputs.overlays.murex-jump
|
||||
outputs.overlays.comfyui
|
||||
outputs.overlays.comfyui-plugins
|
||||
];
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
allowUnfreePredicate = _: true;
|
||||
cudaSupport = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -91,14 +91,14 @@
|
|||
# };
|
||||
};
|
||||
|
||||
services.minidlna = {
|
||||
enable = true;
|
||||
settings = {
|
||||
notify_interval = 120;
|
||||
friendly_name = "PC";
|
||||
media_dir = ["A,/data/Music/Slsk"];
|
||||
};
|
||||
};
|
||||
# services.minidlna = {
|
||||
# enable = true;
|
||||
# settings = {
|
||||
# notify_interval = 120;
|
||||
# friendly_name = "PC";
|
||||
# media_dir = ["A,/data/Music/Slsk"];
|
||||
# };
|
||||
# };
|
||||
|
||||
services.xserver.videoDrivers = ["nvidia"];
|
||||
# TODO figure out why i can't resume properly
|
||||
|
@ -111,14 +111,16 @@
|
|||
};
|
||||
programs.xwayland.enable = true;
|
||||
|
||||
systemd.services.no-rgb = {
|
||||
wantedBy = ["multi-user.target"];
|
||||
description = "rgb led turn-off-er";
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = ''${pkgs.openrgb}/bin/openrgb -d "HyperX Fury RGB" -m static -c 000000'';
|
||||
};
|
||||
};
|
||||
# openrgb no longer recognises the device?
|
||||
# systemd.services.no-rgb = {
|
||||
# wantedBy = ["multi-user.target"];
|
||||
# description = "rgb led turn-off-er";
|
||||
# serviceConfig = {
|
||||
# Type = "oneshot";
|
||||
# ExecStart = ''${pkgs.openrgb}/bin/openrgb -d "HyperX Fury RGB" -m static -c 000000'';
|
||||
# After = ["openrgb"];
|
||||
# };
|
||||
# };
|
||||
|
||||
services.hardware.openrgb = {
|
||||
enable = true;
|
||||
|
|
|
@ -3,4 +3,13 @@
|
|||
rice = import ./rice.nix;
|
||||
murex-jump = inputs.murex-jump.overlays.murex-jump;
|
||||
murex-starship = inputs.murex-starship.overlays.murex-starship;
|
||||
comfyui = inputs.comfyui.overlays.comfyui;
|
||||
comfyui-plugins = inputs.comfyui-plugins.overlays.comfyui-plugins;
|
||||
murex = final: prev: {
|
||||
murex = prev.murex.overrideAttrs {
|
||||
version = "6.4.0309-dev";
|
||||
src = inputs.murex;
|
||||
vendorHash = "sha256-NIhg8D8snCNxpb3i2JG5tLcZteYBCGN4QbOowG/vgJE=";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue