packages: insta-wow pkg init

This commit is contained in:
ooks-io 2024-10-29 16:45:11 +11:00
parent c6d0e010ff
commit 7d683e712f
10 changed files with 188 additions and 47 deletions

84
flake.lock generated
View file

@ -41,11 +41,11 @@
]
},
"locked": {
"lastModified": 1728902391,
"narHash": "sha256-44bnoY0nAvbBQ/lVjmn511yL39Sv7SknV0BDxn34P3Q=",
"lastModified": 1729527199,
"narHash": "sha256-D5/YksfRga8Akd04ZtIkuYSIOjXVrAzQIQBSeplokzU=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "9874e08eec85b5542ca22494e127b0cdce46b786",
"rev": "8d732fa8aff8b12ef2b1e2f00fc8153e41312b72",
"type": "github"
},
"original": {
@ -100,11 +100,11 @@
},
"locked": {
"dir": "pkgs/firefox-addons",
"lastModified": 1729553509,
"narHash": "sha256-rt0zKilb27nWP/+H4kj94D4axdGpSEQdXp4DU2bJJOM=",
"lastModified": 1730013417,
"narHash": "sha256-nZ6ylS3/FAjsi9wwdZJpzIV0+bgJDAurZAi0w9q1Nxw=",
"owner": "rycee",
"repo": "nur-expressions",
"rev": "b87a5c6f09e2c64b53dc3b19a42e7ef9352ec360",
"rev": "e9ec8d2766bbe4d242c9255247197372ac64f885",
"type": "gitlab"
},
"original": {
@ -267,11 +267,11 @@
]
},
"locked": {
"lastModified": 1729321331,
"narHash": "sha256-KVyQq+ez/oB30/WbdNgVD8g/bda34z8NiU187QKQb74=",
"lastModified": 1730016908,
"narHash": "sha256-bFCxJco7d8IgmjfNExNz9knP8wvwbXU4s/d53KOK6U0=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "122f70545b29ccb922e655b08acfe05bfb44ec68",
"rev": "e83414058edd339148dc142a8437edb9450574c8",
"type": "github"
},
"original": {
@ -329,11 +329,11 @@
]
},
"locked": {
"lastModified": 1729534085,
"narHash": "sha256-4EgQyprji92cmhGaQQsw6eN6cmEkQKs0+MeD7YLgHlg=",
"lastModified": 1729679960,
"narHash": "sha256-RoFKwZsx4RHKUwO8LhEZtmI08VBVrWt3TdzoJgx1HJ0=",
"owner": "hyprwm",
"repo": "hypridle",
"rev": "918fd78dec258923094ecddc4e317c5b29ec2486",
"rev": "4d2fb9e73eb6b75336ed3eb198e900f94ada24f4",
"type": "github"
},
"original": {
@ -356,11 +356,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1729553322,
"narHash": "sha256-CjdhWsojvgZEr2t8eK6HaaWmLxirnaEckeXt/kveQNs=",
"lastModified": 1730054738,
"narHash": "sha256-xU5DxVMZXFLcypIo6PvrLRI0+74kOrFTdEykDDEaEkQ=",
"owner": "hyprwm",
"repo": "hyprland",
"rev": "5e96d738e698f22969ca502d042d5751711c6d8a",
"rev": "5d4b54b01286c10d4b6bf402a772b5938b054ce6",
"type": "github"
},
"original": {
@ -407,11 +407,11 @@
]
},
"locked": {
"lastModified": 1729534626,
"narHash": "sha256-Qb0PiZuQFH68Kb21ZT3Se1gUUohsfmaBzuBYy7OOM90=",
"lastModified": 1729596320,
"narHash": "sha256-sBPr6O2Ad916f+L7biAjmJVx4TLDITC4joKgeOT47V8=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
"rev": "082d5c1007b601eccdc882d42530ecb468a40142",
"rev": "4d7f0b5d8b952f31f7d2e29af22ab0a55ca5c219",
"type": "github"
},
"original": {
@ -494,11 +494,11 @@
]
},
"locked": {
"lastModified": 1729555766,
"narHash": "sha256-sUIsjWpZLplSJXWyJcDZdvDweksXLH5r9GSkwg0kgBw=",
"lastModified": 1730053985,
"narHash": "sha256-jh7PhejwT+XqkkYnpZ6K/Gkqy4tvjN7g/ZBTvlS+Q9Y=",
"owner": "hyprwm",
"repo": "hyprlock",
"rev": "a093a9eefda2db2430dd1612b2858a55daf14738",
"rev": "edbecc87081756b45bdbea16b63e413473659dcd",
"type": "github"
},
"original": {
@ -528,11 +528,11 @@
]
},
"locked": {
"lastModified": 1725200438,
"narHash": "sha256-3Cqu8jz19YyWqhneac6QFfadlyxZ4s3saSLmmpYMOe4=",
"lastModified": 1729890887,
"narHash": "sha256-Vg98Dm6MaglEUNNTRgLF2Lxy02FrU5ntnlwsMkBSTKg=",
"owner": "hyprwm",
"repo": "hyprpaper",
"rev": "1c18ad65032adb891b341292a1edf9e13adf4751",
"rev": "3f8cc92109209364e9d39789b3631e9ac109987a",
"type": "github"
},
"original": {
@ -686,11 +686,11 @@
]
},
"locked": {
"lastModified": 1729394935,
"narHash": "sha256-2ntUG+NJKdfhlrh/tF+jOU0fOesO7lm5ZZVSYitsvH8=",
"lastModified": 1729999765,
"narHash": "sha256-LYsavZXitFjjyETZoij8usXjTa7fa9AIF3Sk3MJSX+Y=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "04f8a11f247ba00263b060fbcdc95484fd046104",
"rev": "0e3a8778c2ee218eff8de6aacf3d2fa6c33b2d4f",
"type": "github"
},
"original": {
@ -757,11 +757,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1728888510,
"narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=",
"lastModified": 1729413321,
"narHash": "sha256-I4tuhRpZFa6Fu6dcH9Dlo5LlH17peT79vx1y1SpeKt0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c",
"rev": "1997e4aa514312c1af7e2bda7fad1644e778ff26",
"type": "github"
},
"original": {
@ -773,11 +773,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1729256560,
"narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=",
"lastModified": 1729880355,
"narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0",
"rev": "18536bf04cd71abd345f9579158841376fdd0c5a",
"type": "github"
},
"original": {
@ -971,11 +971,11 @@
"systems": "systems_4"
},
"locked": {
"lastModified": 1729633458,
"narHash": "sha256-5iZwH9lnFo/g3sQ2Zslbl2dbVRpysO02bi7uSOpyL3U=",
"lastModified": 1729695103,
"narHash": "sha256-1nesOKIa7zAQ3LVbWzvoxRE9PG0P9SAzBi2Ye1K3SWU=",
"owner": "notashelf",
"repo": "nvf",
"rev": "71e2ae1db492b2c9e27ae53521a50dfbf426dc06",
"rev": "da86e554a6433fe4ebdb390494c072b12b0b624b",
"type": "github"
},
"original": {
@ -2745,11 +2745,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1728778939,
"narHash": "sha256-WybK5E3hpGxtCYtBwpRj1E9JoiVxe+8kX83snTNaFHE=",
"lastModified": 1729104314,
"narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "ff68f91754be6f3427e4986d7949e6273659be1d",
"rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6",
"type": "github"
},
"original": {
@ -3000,11 +3000,11 @@
"rust-overlay": "rust-overlay_2"
},
"locked": {
"lastModified": 1728141581,
"narHash": "sha256-+wg0Avbw/MC2x3CQK4LyJHCPf+oPllJZzU2p+S/B7MU=",
"lastModified": 1729787428,
"narHash": "sha256-kGSM7b4+X5LObd6AdgQZABU241ZzHGm24xaiy33kwBI=",
"owner": "dj95",
"repo": "zjstatus",
"rev": "6d13e481aceacd3efe583fb6c442f30e8909f555",
"rev": "c74e310c35fb7ec6b59a1c73720db4d6d8e236a1",
"type": "github"
},
"original": {

View file

@ -3,7 +3,7 @@
in {
perSystem = {config, ...}: {
apps = {
ooks-vim.program = getExe config.packages.ook-vim;
ook-vim.program = getExe config.packages.ook-vim;
default = config.apps.ook-vim;
};
};

View file

@ -5,5 +5,6 @@
./hosts
./keys.nix
./pkgs
./images.nix
];
}

View file

@ -1,5 +1,6 @@
{
imports = [
./workstations.nix
./servers.nix
];
}

18
outputs/hosts/servers.nix Normal file
View file

@ -0,0 +1,18 @@
{
withSystem,
ook,
...
}: let
inherit (ook.lib.builders) mkServer;
in {
flake.nixosConfigurations = {
ooknode = mkServer {
inherit withSystem;
system = "x86_64-linux";
hostname = "ooknode";
type = "vm";
profile = "linode";
services = [];
};
};
}

11
outputs/images.nix Normal file
View file

@ -0,0 +1,11 @@
{
ook,
self,
...
}: let
inherit (ook.lib.builders) mkImage;
in {
flake.images = {
ooknode = self.nixosConfigurations.ooknode.config.system.build.image;
};
}

View file

@ -2,10 +2,13 @@
perSystem = {pkgs, ...}: let
inherit (ook.lib) mkNeovim;
ook-vim-config = import ./ook-vim;
inherit (pkgs) callPackage;
in {
packages = {
repopack = pkgs.callPackage ./repopack {};
live-buds-cli = pkgs.callPackage ./live-buds-cli {};
repopack = callPackage ./repopack {};
live-buds-cli = callPackage ./live-buds-cli {};
instawow-tsm = callPackage ./instawow/plugins/tsm.nix {};
ook-vim = mkNeovim pkgs [ook-vim-config];
};
};

View file

@ -0,0 +1,54 @@
# Credit github:seirl
# <https://github.com/seirl/seirl-nixos/blob/a10128546a5412049ce547f2f6ce6a80b3c253af/pkgs/instawow/default.nix>
{
lib,
python3,
fetchFromGitHub,
plugins ? [],
}:
python3.pkgs.buildPythonApplication rec {
pname = "instawow";
version = "4.7.0";
pyproject = true;
src = fetchFromGitHub {
owner = "layday";
repo = pname;
rev = "refs/tags/v${version}";
sha256 = "sha256-tk/Lugjdzufl8VPcpj7R2q81SBE/+KtS3VhsXQ2VKZM=";
};
extras = []; # Disable GUI, most dependencies are not packaged.
nativeBuildInputs = with python3.pkgs; [
hatchling
hatch-vcs
];
propagatedBuildInputs = with python3.pkgs;
[
aiohttp
aiohttp-client-cache
attrs
cattrs
click
diskcache
iso8601
loguru
packaging
pluggy
prompt-toolkit
rapidfuzz
truststore
typing-extensions
yarl
]
++ plugins;
meta = with lib; {
homepage = "https://github.com/layday/instawow";
description = "World of Warcraft add-on manager CLI and GUI";
mainProgram = "instawow";
license = licenses.gpl3;
maintainers = with maintainers; [seirl];
};
}

View file

@ -0,0 +1,43 @@
# Credit github:seirl
# <https://github.com/seirl/seirl-nixos/blob/a10128546a5412049ce547f2f6ce6a80b3c253af/pkgs/instawow/plugins/tsm.nix>
{
lib,
python3,
fetchFromGitHub,
instawow,
}: let
inherit (builtins) attrValues;
in
python3.pkgs.buildPythonPackage rec {
pname = "instawow-tsm";
version = "72edf2ba3850eaaa5041d5aa1f55166aeee81409";
src = fetchFromGitHub {
owner = "seirl";
repo = "instawow-tsm";
rev = version;
sha256 = "sha256-+ojxVwPOfy3/3/raROEDS5pWCONAiALCdg7li+K6ZjI=";
};
pythonRemoveDeps = [
"instawow" # Reverse the dependency
];
doCheck = false; # tests require dependencies
nativeBuildInputs = [python3.pkgs.setuptools];
propagatedBuildInputs = attrValues {
inherit
(python3.pkgs)
aiohttp
click
loguru
;
};
meta = with lib; {
homepage = "https://github.com/seirl/instawow-tsm";
description = "Instawow plugin for TradeSkillMaster";
license = lib.licenses.gpl3;
maintainers = with maintainers; [seirl];
};
}

View file

@ -1,5 +1,15 @@
{
vim.binds.whichKey = {
enable = true;
vim = {
binds.whichKey = {
enable = true;
};
utility = {
preview = {
markdownPreview = {
enable = true;
autoStart = true;
};
};
};
};
}