Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[chore] documentation update for #21 #23

Closed
wants to merge 1 commit into from
Closed

[chore] documentation update for #21 #23

wants to merge 1 commit into from

Conversation

MangoIV
Copy link
Owner

@MangoIV MangoIV commented May 16, 2024

does this look more like what you would imagine @hasufell?

may close #21

@MangoIV
Copy link
Owner Author

MangoIV commented May 16, 2024

cabal install probably doesn't work, does it? I have no idea how to install things globally anymore, I don't do such things :D

@hasufell
Copy link

The language is still confusing and insinuating that there's something wrong with not using nix.

Instead, all options should be listed in order of their popularity (not for political correctness, but to avoid steering uninformed users into unnecessary directions).

  • cabal: cabal install (maybe with a link to the docs about binary install location)
  • stack: stack install (link to docs might be useful too)
  • nix:. ... (with a note that this is a proper package manager with its own ecosystem, not really a simple tool to get started with Haskell)

@MangoIV
Copy link
Owner Author

MangoIV commented May 17, 2024

well nix is just “first class” in this repo, it brings all the tooling that you need to contribute with it. If you’re a nix user, you will probably have the easiest time. However. I can add something like “fir users who don’t already use nix, using cabal is recommended”

@hasufell
Copy link

well nix is just “first class” in this repo

Why is cabal not first class?

@MangoIV
Copy link
Owner Author

MangoIV commented May 17, 2024

while I make sure that this works with as many GHC versions as possible, if I don’t pin tools, I cannot guarantee for the user, that coming to this repo, they’ll find a working hls, formatter, linter, ghc, cabal-install without nix. They’ll have to care for that themselves. Nix is in that way “easier”.

Please don’t take this as me saying something’s wrong with using cabal or cabal itself, it’s really not that, I just think that nix is useful for not having to care about setting up a dev environment, I can kinda do that for them :)

@hasufell
Copy link

What tools does the user need to build this project that can't be installed through cabal's build-tool-depends?

Otherwise it would seem like a bug in your cabal file if it relies on things in PATH other than ghc.

I cannot guarantee for the user, that coming to this repo, they’ll find a working hls, formatter, linter, ghc, cabal-install without nix

GHC, cabal and HLS are supported through ghcup. Formatters and linters are provided through HLS plugins without the need for binaries in PATH.

Also, this only applies to the contribution section. Not to the installation section.


Also, this is just my opinion. It's your project, so feel free to ignore my remarks.

@MangoIV
Copy link
Owner Author

MangoIV commented May 17, 2024

No it’s fine, you’re right I should make it more clear that you don’t “need” nix to use this. :)

@MangoIV
Copy link
Owner Author

MangoIV commented May 17, 2024

I think I’ll postpone this PR until I have clarity wrt the hackage namespace. Then it’ll be much easier to install with cabal itself. Afaik it doesn’t understand things like “cabal install git+https://github.com/mangoiv/cabal-audit” does it?

@hasufell
Copy link

hasufell commented May 17, 2024

It understands URLs pointing to tarballs though (sdist'ed): cabal install https://hackage.haskell.org/package/ghcup-0.1.22.0/ghcup-0.1.22.0.tar.gz

@MangoIV MangoIV closed this May 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Provide balanced installation/contribution instructions
2 participants