{"id":16335236,"url":"https://github.com/infinisil/nixbot","last_synced_at":"2025-03-22T23:32:16.140Z","repository":{"id":175134723,"uuid":"115630735","full_name":"infinisil/nixbot","owner":"infinisil","description":null,"archived":false,"fork":false,"pushed_at":"2022-02-18T11:24:05.000Z","size":777,"stargazers_count":25,"open_issues_count":5,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-10T04:49:27.105Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/infinisil.png","metadata":{"files":{"readme":"Readme.org","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-28T14:27:15.000Z","updated_at":"2024-05-07T16:03:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"d08bc65e-8b9a-4aac-8326-c93b6722978c","html_url":"https://github.com/infinisil/nixbot","commit_stats":null,"previous_names":["infinisil/nixbot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infinisil%2Fnixbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infinisil%2Fnixbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infinisil%2Fnixbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infinisil%2Fnixbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/infinisil","download_url":"https://codeload.github.com/infinisil/nixbot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244250329,"owners_count":20423138,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T23:40:29.113Z","updated_at":"2025-03-22T23:32:15.741Z","avatar_url":"https://github.com/infinisil.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"* Nixbot\n\nNixbot is an IRC bot supporting Nix-related functionality. It's using a RabbitMQ broker maintained by @grahamc for sending messages via the ~{^_^}~ nick on freenode (and therefore can't run on its own currently).\n\n** Functionality\n\n*** Nix REPL\n\nNix can be evaluated by prefixing \"\u003e \":\n\n#+BEGIN_SRC \n\u003cinfinisil\u003e \u003e (import \u003cnixpkgs\u003e {}).hello.name\n    \u003c{^_^}\u003e \"hello-2.10\"\n#+END_SRC\n\nYou can also define variables:\n\n#+BEGIN_SRC \n\u003cinfinisil\u003e \u003e pkgs = import \u003cnixpkgs\u003e {}\n    \u003c{^_^}\u003e pkgs defined\n\u003cinfinisil\u003e \u003e pkgs.hello.name\n    \u003c{^_^}\u003e \"hello-2.10\"\n#+END_SRC\n\nThe NixOS module makes sure that ~\u003cnixpkgs\u003e~ in ~NIX_PATH~ always points to the latest master nixpkgs version (updated once per minute).\n\n*** Commands\n\nYou can define a key to string mapping via the ~,~ prefix:\n\n#+BEGIN_SRC \n\u003cinfinisil\u003e ,ask = Feel free to ask any questions about NixOS!\n    \u003c{^_^}\u003e ask defined\n\u003cinfinisil\u003e ,ask\n    \u003c{^_^}\u003e Feel free to ask any questions about NixOS!\n\u003cinfinisil\u003e ,ask paul\n    \u003c{^_^}\u003e paul: Feel free to ask any questions about NixOS!\n     \u003cpaul\u003e Ah, thanks!\n\u003cinfinisil\u003e ,ask =\n    \u003c{^_^}\u003e Undefined ask, was defined as: Feel free to ask any questions about NixOS!\n\u003cinfinisil\u003e ,\n    \u003c{^_^}\u003e Special commands: find locate tell - Commands sorted by use count, page 0 (use ,\u003cn\u003e to view page \u003cn\u003e): library tofu foo\n#+END_SRC\n\n**** Special command: ,find\n\nThe ~find~ command allows you to find files in nixpkgs with a specific suffix. The bot will link to the latest github master version\n\n#+BEGIN_SRC \n\u003cinfinisil\u003e ,find setup.sh\n    \u003c{^_^}\u003e Found file: https://github.com/NixOS/nixpkgs/tree/014f1c9d/pkgs/stdenv/generic/setup.sh\n\u003cinfinisil\u003e ,find hello/default.nix\n    \u003c{^_^}\u003e Found file: https://github.com/NixOS/nixpkgs/tree/014f1c9d/pkgs/applications/misc/hello/default.nix\n#+END_SRC\n\nIf there are multiple possible answers, it will choose the file with the most commits.\n\n**** Special command: ,locate\n\nThe ~locate~ command uses [[https://github.com/bennofs/nix-index/][nix-index]] to find packages containing a certain file in their output. The ~bin~ subcommand only searches for binaries:\n\n#+BEGIN_SRC \n\u003cinfinisil\u003e ,locate bin gcc\n    \u003c{^_^}\u003e Found in packages: gcc, gcj, gccgo, gfortran, gcc_debug, ccacheWrapper, gcc-unwrapped, distccWrapper, distccMasquerade\n\u003cinfinisil\u003e ,locate libass.so\n    \u003c{^_^}\u003e Found in packages: libass\n#+END_SRC\n\n**** Special command: ,tell\n\n~tell~ allows you to record a message for a user that currently is not in the channel. It will get relayed to them when they type a message in the channel:\n\n#+BEGIN_SRC \n\u003cinfinisil\u003e ,tell paul Remember to do the thing\n    \u003c{^_^}\u003e infinisil: I'll pass that on to paul\n     \u003cpaul\u003e Hello!\n    \u003c{^_^}\u003e paul: 2 hours, 52 minutes ago \u003cinfinisil\u003e Remember to do the thing\n#+END_SRC\n\n\n*** PR linking\n\nWhen you link to a GitHub pull request (or post its number), the bot will post some info about it.\n\n#+BEGIN_SRC \n\u003cinfinisil\u003e #10000\n    \u003c{^_^}\u003e https://github.com/NixOS/nixpkgs/pull/10000 (by ts468, 3 years ago, merged): nixos networking: add vswitch option\n\u003cinfinisil\u003e https://github.com/NixOS/nixpkgs/issues/50902\n    \u003c{^_^}\u003e #50902 (by endgame, 1 week ago, open): haskellPackages.postgresql-libpq fails to link on Darwin\n\u003cinfinisil\u003e Infinisil/nixbot#4\n    \u003c{^_^}\u003e https://github.com/Infinisil/nixbot/issues/4 (by Infinisil, 5 weeks ago, open): Better nix output parser\n\u003cinfinisil\u003e nix#1000\n    \u003c{^_^}\u003e https://github.com/NixOS/nix/pull/1000 (by shlevy, 2 years ago, closed): Allow throwing and catching arbitrary (string-coercible) values\n#+END_SRC\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfinisil%2Fnixbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finfinisil%2Fnixbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfinisil%2Fnixbot/lists"}