HASH 2f229818fa97
DATE 2025-07-19
SUBJECT nix: components init
FILES 6 CHANGED
HASH 2f229818fa97
DATE 2025-07-19
SUBJECT nix: components init
FILES 6 CHANGED
┌─ nix/components/classes/default.nix ───────────────────────────────────────┐
│ diff --git a/nix/components/classes/default.nix b/nix/components/classes/default.n │
│ ix │
│ new file mode 100644 │
│ index 0000000..57897c3 │
│ --- /dev/null │
│ +++ b/nix/components/classes/default.nix │
│ @@ -0,0 +1,19 @@ │
│ +{ │
│ + lib, │
│ + ... │
│ +}: { │
│ + # Import class-specific component modules │
│ + monk = import ./monk {inherit lib;}; │
│ + │
│ + # Future class imports │
│ + # warrior = import ./warrior {inherit lib;}; │
│ + # paladin = import ./paladin {inherit lib;}; │
│ + # hunter = import ./hunter {inherit lib;}; │
│ + # rogue = import ./rogue {inherit lib;}; │
│ + # priest = import ./priest {inherit lib;}; │
│ + # shaman = import ./shaman {inherit lib;}; │
│ + # mage = import ./mage {inherit lib;}; │
│ + # warlock = import ./warlock {inherit lib;}; │
│ + # druid = import ./druid {inherit lib;}; │
│ + # deathknight = import ./deathknight {inherit lib;}; │
│ +} │
│ \ No newline at end of file │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...omponents/classes/default.nix ───┐
│ diff --git a/nix/components/classes/default. │
│ nix b/nix/components/classes/default.nix │
│ new file mode 100644 │
│ index 0000000..57897c3 │
│ --- /dev/null │
│ +++ b/nix/components/classes/default.nix │
│ @@ -0,0 +1,19 @@ │
│ +{ │
│ + lib, │
│ + ... │
│ +}: { │
│ + # Import class-specific component modules │
│ + monk = import ./monk {inherit lib;}; │
│ + │
│ + # Future class imports │
│ + # warrior = import ./warrior {inherit lib │
│ ;}; │
│ + # paladin = import ./paladin {inherit lib │
│ ;}; │
│ + # hunter = import ./hunter {inherit lib;} │
│ ; │
│ + # rogue = import ./rogue {inherit lib;}; │
│ + # priest = import ./priest {inherit lib;} │
│ ; │
│ + # shaman = import ./shaman {inherit lib;} │
│ ; │
│ + # mage = import ./mage {inherit lib;}; │
│ + # warlock = import ./warlock {inherit lib │
│ ;}; │
│ + # druid = import ./druid {inherit lib;}; │
│ + # deathknight = import ./deathknight {inh │
│ erit lib;}; │
│ +} │
│ \ No newline at end of file │
└──────────────────────────────────────────────┘
┌─ nix/components/classes/monk/default.nix ──────────────────────────────────┐
│ diff --git a/nix/components/classes/monk/default.nix b/nix/components/classes/monk │
│ /default.nix │
│ new file mode 100644 │
│ index 0000000..d8b0360 │
│ --- /dev/null │
│ +++ b/nix/components/classes/monk/default.nix │
│ @@ -0,0 +1,11 @@ │
│ +{ │
│ + lib, │
│ + ... │
│ +}: { │
│ + # Monk specs │
│ + windwalker = import ./windwalker.nix {inherit lib;}; │
│ + │
│ + # Future monk specs │
│ + # brewmaster = import ./brewmaster.nix {inherit lib;}; │
│ + # mistweaver = import ./mistweaver.nix {inherit lib;}; │
│ +} │
│ \ No newline at end of file │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...ents/classes/monk/default.nix ───┐
│ diff --git a/nix/components/classes/monk/def │
│ ault.nix b/nix/components/classes/monk/defau │
│ lt.nix │
│ new file mode 100644 │
│ index 0000000..d8b0360 │
│ --- /dev/null │
│ +++ b/nix/components/classes/monk/default.ni │
│ x │
│ @@ -0,0 +1,11 @@ │
│ +{ │
│ + lib, │
│ + ... │
│ +}: { │
│ + # Monk specs │
│ + windwalker = import ./windwalker.nix {inh │
│ erit lib;}; │
│ + │
│ + # Future monk specs │
│ + # brewmaster = import ./brewmaster.nix {i │
│ nherit lib;}; │
│ + # mistweaver = import ./mistweaver.nix {i │
│ nherit lib;}; │
│ +} │
│ \ No newline at end of file │
└──────────────────────────────────────────────┘
┌─ nix/components/classes/monk/windwalker.nix ───────────────────────────────┐
│ diff --git a/nix/components/classes/monk/windwalker.nix b/nix/components/classes/m │
│ onk/windwalker.nix │
│ new file mode 100644 │
│ index 0000000..aaa05af │
│ --- /dev/null │
│ +++ b/nix/components/classes/monk/windwalker.nix │
│ @@ -0,0 +1,55 @@ │
│ +{ │
│ + lib, │
│ + components, │
│ + ... │
│ +}: let │
│ + inherit (lib.sim.player) mkPlayer; │
│ + inherit (components.consumables.preset) agility; │
│ + │
│ + mkWindwalker = { │
│ + race, │
│ + apl, │
│ + gearset, │
│ + talents, │
│ + consumables ? agility, │
│ + }: │
│ + mkPlayer { │
│ + class = "monk"; │
│ + spec = "windwalker"; │
│ + glyphs = windwalker.glyphs.default; │
│ + inherit race gearset talents apl consumables; │
│ + }; │
│ + │
│ + windwalker = { │
│ + # Talent configurations │
│ + talents = { │
│ + xuen = "213322"; # Single target build with Xuen │
│ + rjw = "233321"; # AoE build with RJW │
│ + }; │
│ + │
│ + glyphs = { │
│ + default = { │
│ + major1 = 85697; │
│ + major2 = 87900; │
│ + minor1 = 90715; │
│ + }; │
│ + }; │
│ + │
│ + # Phase 1 configurations │
│ + p1 = { │
│ + singleTarget = mkWindwalker { │
│ + race = "orc"; │
│ + apl = "default"; │
│ + gearset = "dw_p1_bis"; │
│ + talents = windwalker.talents.xuen; │
│ + }; │
│ + aoe = mkWindwalker { │
│ + race = "orc"; │
│ + apl = "default"; │
│ + gearset = "dw_p1_bis"; │
│ + talents = windwalker.talents.rjw; │
│ + }; │
│ + }; │
│ + }; │
│ +in │
│ + windwalker │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...s/classes/monk/windwalker.nix ───┐
│ diff --git a/nix/components/classes/monk/win │
│ dwalker.nix b/nix/components/classes/monk/wi │
│ ndwalker.nix │
│ new file mode 100644 │
│ index 0000000..aaa05af │
│ --- /dev/null │
│ +++ b/nix/components/classes/monk/windwalker │
│ .nix │
│ @@ -0,0 +1,55 @@ │
│ +{ │
│ + lib, │
│ + components, │
│ + ... │
│ +}: let │
│ + inherit (lib.sim.player) mkPlayer; │
│ + inherit (components.consumables.preset) a │
│ gility; │
│ + │
│ + mkWindwalker = { │
│ + race, │
│ + apl, │
│ + gearset, │
│ + talents, │
│ + consumables ? agility, │
│ + }: │
│ + mkPlayer { │
│ + class = "monk"; │
│ + spec = "windwalker"; │
│ + glyphs = windwalker.glyphs.default; │
│ + inherit race gearset talents apl cons │
│ umables; │
│ + }; │
│ + │
│ + windwalker = { │
│ + # Talent configurations │
│ + talents = { │
│ + xuen = "213322"; # Single target buil │
│ d with Xuen │
│ + rjw = "233321"; # AoE build with RJW │
│ + }; │
│ + │
│ + glyphs = { │
│ + default = { │
│ + major1 = 85697; │
│ + major2 = 87900; │
│ + minor1 = 90715; │
│ + }; │
│ + }; │
│ + │
│ + # Phase 1 configurations │
│ + p1 = { │
│ + singleTarget = mkWindwalker { │
│ + race = "orc"; │
│ + apl = "default"; │
│ + gearset = "dw_p1_bis"; │
│ + talents = windwalker.talents.xuen; │
│ + }; │
│ + aoe = mkWindwalker { │
│ + race = "orc"; │
│ + apl = "default"; │
│ + gearset = "dw_p1_bis"; │
│ + talents = windwalker.talents.rjw; │
│ + }; │
│ + }; │
│ + }; │
│ +in │
│ + windwalker │
└──────────────────────────────────────────────┘
┌─ nix/components/consumables.nix ───────────────────────────────────────────┐
│ diff --git a/nix/components/consumables.nix b/nix/components/consumables.nix │
│ new file mode 100644 │
│ index 0000000..359ddb0 │
│ --- /dev/null │
│ +++ b/nix/components/consumables.nix │
│ @@ -0,0 +1,93 @@ │
│ +{lib, ...}: let │
│ + # TODO: implement a system for elixirs. │
│ + consumable = { │
│ + potion = { │
│ + verminsBite = 76089; │
│ + agility = consumable.potion.verminsBite; │
│ + │
│ + jadeSerpent = 76093; │
│ + intellect = consumable.potion.jadeSerpent; │
│ + │
│ + moguPower = 76095; │
│ + strength = consumable.potion.moguPower; │
│ + │
│ + mightyRage = 13442; │
│ + rage = consumable.potion.mightyRage; │
│ + │
│ + snapRootTuber = 91803; │
│ + haste = consumable.potion.snapRootTuber; │
│ + │
│ + mountains = 76090; │
│ + armor = consumable.potion.mountains; │
│ + }; │
│ + │
│ + flask = { │
│ + springBlossom = 76084; │
│ + agility = consumable.flask.springBlossom; │
│ + │
│ + wintersBite = 76088; │
│ + strength = consumable.flask.wintersBite; │
│ + │
│ + warmSun = 76085; │
│ + intellect = consumable.flask.warmSun; │
│ + │
│ + earth = 76087; │
│ + stamina = consumable.flask.earth; │
│ + }; │
│ + │
│ + food = { │
│ + seaMistRiceNoodles = 74648; │
│ + agility = consumable.food.seaMistRiceNoodles; │
│ + │
│ + moguFishStew = 74650; │
│ + intellect = consumable.food.moguFishStew; │
│ + │
│ + blackPepperRibsAndShrimp = 74646; │
│ + strength = consumable.food.blackPepperRibsAndShrimp; │
│ + │
│ + greenFishCurry = 81410; │
│ + crit = consumable.food.greenFishCurry; │
│ + │
│ + spicySalmon = 86073; │
│ + hit = consumable.food.spicySalmon; │
│ + │
│ + spicyVegetableChips = 86074; │
│ + expertise = consumable.food.spicyVegetableChips; │
│ + │
│ + mangoIce = 101745; │
│ + mastery = consumable.food.mangoIce; │
│ + │
│ + chunTianSpringRolls = 74656; │
│ + stamina = consumable.food.chunTianSpringRolls; │
│ + }; │
│ + │
│ + preset = { │
│ + agility = { │
│ + prepotId = consumable.potion.agility; │
│ + potId = consumable.potion.agility; │
│ + flaskId = consumable.flask.agility; │
│ + foodId = consumable.food.agility; │
│ + }; │
│ + strength = { │
│ + prepotId = consumable.potion.strength; │
│ + potId = consumable.potion.strength; │
│ + flaskId = consumable.flask.strength; │
│ + foodId = consumable.food.strength; │
│ + }; │
│ + intellect = { │
│ + prepotId = consumable.potion.intellect; │
│ + potId = consumable.potion.intellect; │
│ + flaskId = consumable.flask.intellect; │
│ + foodId = consumable.food.intellect; │
│ + }; │
│ + tank = { │
│ + prepotId = consumable.potion.armor; │
│ + potId = consumable.potion.armor; │
│ + flaskId = consumable.flask.stamina; │
│ + foodId = consumable.food.stamina; │
│ + }; │
│ + }; │
│ + }; │
│ +in │
│ + consumable │
│ + │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ nix/components/consumables.nix ─────┐
│ diff --git a/nix/components/consumables.nix │
│ b/nix/components/consumables.nix │
│ new file mode 100644 │
│ index 0000000..359ddb0 │
│ --- /dev/null │
│ +++ b/nix/components/consumables.nix │
│ @@ -0,0 +1,93 @@ │
│ +{lib, ...}: let │
│ + # TODO: implement a system for elixirs. │
│ + consumable = { │
│ + potion = { │
│ + verminsBite = 76089; │
│ + agility = consumable.potion.verminsBi │
│ te; │
│ + │
│ + jadeSerpent = 76093; │
│ + intellect = consumable.potion.jadeSer │
│ pent; │
│ + │
│ + moguPower = 76095; │
│ + strength = consumable.potion.moguPowe │
│ r; │
│ + │
│ + mightyRage = 13442; │
│ + rage = consumable.potion.mightyRage; │
│ + │
│ + snapRootTuber = 91803; │
│ + haste = consumable.potion.snapRootTub │
│ er; │
│ + │
│ + mountains = 76090; │
│ + armor = consumable.potion.mountains; │
│ + }; │
│ + │
│ + flask = { │
│ + springBlossom = 76084; │
│ + agility = consumable.flask.springBlos │
│ som; │
│ + │
│ + wintersBite = 76088; │
│ + strength = consumable.flask.wintersBi │
│ te; │
│ + │
│ + warmSun = 76085; │
│ + intellect = consumable.flask.warmSun; │
│ + │
│ + earth = 76087; │
│ + stamina = consumable.flask.earth; │
│ + }; │
│ + │
│ + food = { │
│ + seaMistRiceNoodles = 74648; │
│ + agility = consumable.food.seaMistRice │
│ Noodles; │
│ + │
│ + moguFishStew = 74650; │
│ + intellect = consumable.food.moguFishS │
│ tew; │
│ + │
│ + blackPepperRibsAndShrimp = 74646; │
│ + strength = consumable.food.blackPeppe │
│ rRibsAndShrimp; │
│ + │
│ + greenFishCurry = 81410; │
│ + crit = consumable.food.greenFishCurry │
│ ; │
│ + │
│ + spicySalmon = 86073; │
│ + hit = consumable.food.spicySalmon; │
│ + │
│ + spicyVegetableChips = 86074; │
│ + expertise = consumable.food.spicyVege │
│ tableChips; │
│ + │
│ + mangoIce = 101745; │
│ + mastery = consumable.food.mangoIce; │
│ + │
│ + chunTianSpringRolls = 74656; │
│ + stamina = consumable.food.chunTianSpr │
│ ingRolls; │
│ + }; │
│ + │
│ + preset = { │
│ + agility = { │
│ + prepotId = consumable.potion.agilit │
│ y; │
│ + potId = consumable.potion.agility; │
│ + flaskId = consumable.flask.agility; │
│ + foodId = consumable.food.agility; │
│ + }; │
│ + strength = { │
│ + prepotId = consumable.potion.streng │
│ th; │
│ + potId = consumable.potion.strength; │
│ + flaskId = consumable.flask.strength │
│ ; │
│ + foodId = consumable.food.strength; │
│ + }; │
│ + intellect = { │
│ + prepotId = consumable.potion.intell │
│ ect; │
│ + potId = consumable.potion.intellect │
│ ; │
│ + flaskId = consumable.flask.intellec │
│ t; │
│ + foodId = consumable.food.intellect; │
│ + }; │
│ + tank = { │
│ + prepotId = consumable.potion.armor; │
│ + potId = consumable.potion.armor; │
│ + flaskId = consumable.flask.stamina; │
│ + foodId = consumable.food.stamina; │
│ + }; │
│ + }; │
│ + }; │
│ +in │
│ + consumable │
│ + │
└──────────────────────────────────────────────┘
┌─ nix/components/default.nix ───────────────────────────────────────────────┐
│ diff --git a/nix/components/default.nix b/nix/components/default.nix │
│ new file mode 100644 │
│ index 0000000..1d915db │
│ --- /dev/null │
│ +++ b/nix/components/default.nix │
│ @@ -0,0 +1,13 @@ │
│ +{lib, ...}: let │
│ + components = { │
│ + # Consumable sets organized by role/stat priority │
│ + consumables = import ./consumables.nix {inherit lib;}; │
│ + │
│ + # Class-specific configurations │
│ + classes = import ./classes {inherit lib;}; │
│ + }; │
│ +in { │
│ + flake.components = components; │
│ + _module.args.components = components; │
│ +} │
│ + │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ nix/components/default.nix ─────────┐
│ diff --git a/nix/components/default.nix b/ni │
│ x/components/default.nix │
│ new file mode 100644 │
│ index 0000000..1d915db │
│ --- /dev/null │
│ +++ b/nix/components/default.nix │
│ @@ -0,0 +1,13 @@ │
│ +{lib, ...}: let │
│ + components = { │
│ + # Consumable sets organized by role/sta │
│ t priority │
│ + consumables = import ./consumables.nix │
│ {inherit lib;}; │
│ + │
│ + # Class-specific configurations │
│ + classes = import ./classes {inherit lib │
│ ;}; │
│ + }; │
│ +in { │
│ + flake.components = components; │
│ + _module.args.components = components; │
│ +} │
│ + │
└──────────────────────────────────────────────┘
┌─ nix/default.nix ──────────────────────────────────────────────────────────┐
│ diff --git a/nix/default.nix b/nix/default.nix │
│ index 96696e7..3efdc8d 100644 │
│ --- a/nix/default.nix │
│ +++ b/nix/default.nix │
│ @@ -1,5 +1,6 @@ │
│ { │
│ imports = [ │
│ ./shell.nix │
│ + ./components │
│ ]; │
│ } │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ nix/default.nix ────────────────────┐
│ diff --git a/nix/default.nix b/nix/default.n │
│ ix │
│ index 96696e7..3efdc8d 100644 │
│ --- a/nix/default.nix │
│ +++ b/nix/default.nix │
│ @@ -1,5 +1,6 @@ │
│ { │
│ imports = [ │
│ ./shell.nix │
│ + ./components │
│ ]; │
│ } │
└──────────────────────────────────────────────┘
[ BACK TO LOG ]
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET