diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0d27a5d --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.idea +result* +.direnv \ No newline at end of file diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..79d4f2a --- /dev/null +++ b/flake.lock @@ -0,0 +1,140 @@ +{ + "nodes": { + "flakelight": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1774271954, + "narHash": "sha256-FbvMOykx7f7uEPdRVzUSABnLjqCdEp22wa0nDkuEd3s=", + "owner": "nix-community", + "repo": "flakelight", + "rev": "c90878b309508083094f465d6aa11b3963f48b9f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "flakelight", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1774737180, + "narHash": "sha256-1DyOBJ9WVfBHc16hrGm26Rhh6zWypgedarO7DQHJ4AI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3e2fe014f6f3d1cfa980b57d6aab005d3c912f99", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "release-25.11", + "type": "indirect" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1764522689, + "narHash": "sha256-SqUuBFjhl/kpDiVaKLQBoD8TLD+/cTUzzgVFoaHrkqY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "8bb5646e0bed5dbd3ab08c7a7cc15b75ab4e1d0f", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-25.11", + "type": "indirect" + } + }, + "root": { + "inputs": { + "flakelight": "flakelight", + "nixpkgs": "nixpkgs", + "spire": "spire", + "utils": "utils" + } + }, + "spire": { + "inputs": { + "flakelight": [ + "flakelight" + ], + "nixpkgs": "nixpkgs_2", + "steam-fetcher": "steam-fetcher" + }, + "locked": { + "lastModified": 1764614608, + "narHash": "sha256-3/qSfFU4pmnkc2SVUFg/bpkGqbFJ1V5RTZ0mnhwOKVs=", + "ref": "refs/heads/main", + "rev": "b270759886f7f30944b0003e6ea2556eda4fbc1a", + "revCount": 35, + "type": "git", + "url": "https://codeberg.org/spire/nix" + }, + "original": { + "type": "git", + "url": "https://codeberg.org/spire/nix" + } + }, + "steam-fetcher": { + "inputs": { + "nixpkgs": [ + "spire", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1758622040, + "narHash": "sha256-BRUZZoQDCD1qByJjHm4YKipQlB2PburWLG9Iaggr8XQ=", + "owner": "nix-community", + "repo": "steam-fetcher", + "rev": "ab5e3a0828b4b179feb548c57be584ce812956a8", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "steam-fetcher", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..5fe43bc --- /dev/null +++ b/flake.nix @@ -0,0 +1,35 @@ +{ + inputs = { + utils.url = "github:numtide/flake-utils"; + nixpkgs.url = "nixpkgs/release-25.11"; + flakelight.url = "github:nix-community/flakelight"; + spire.url = "git+https://codeberg.org/spire/nix"; + flakelight.inputs.nixpkgs.follows = "nixpkgs"; + spire.inputs.flakelight.follows = "flakelight"; + }; + + outputs = { + nixpkgs, + utils, + spire, + ... + }: + utils.lib.eachSystem ["x86_64-linux" "i686-linux"] (system: let + overlays = [spire.overlays.default]; + pkgs = (import nixpkgs) { + inherit system overlays; + }; + spEnv = pkgs.sourcepawn.buildEnv (with pkgs.sourcepawn.includes; [sourcemod]); + in { + packages = rec { + setteam = pkgs.buildSourcePawnScript { + name = "setteam"; + src = ./plugin/setteam.sp; + }; + default = setteam; + }; + devShells.default = pkgs.mkShell { + nativeBuildInputs = [spEnv]; + }; + }); +}