envrc
stack
Our great sponsors
envrc | stack | |
---|---|---|
18 | 47 | |
325 | 3,949 | |
- | 0.3% | |
6.4 | 9.9 | |
10 days ago | 1 day ago | |
Emacs Lisp | Haskell | |
- | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
envrc
-
Emacs Advent Calendar 9: devdocs, code-cells, dREPL, etc.
buffer-env: A pure-Elisp version of the direnv utility. Useful to make Emacs aware of Python virtualenvs (which, judging by the questions posted here, is unfortunately still a complication for a lot of people). Similar to (and inspired by) envrc, but doesn't require the direnv program.
-
Nix Survival Mode: macOS upgrades won't break Nix anymore
Yes, most Nix users employ https://direnv.net or the equivalent for your IDE of choice. Emacs for instance has https://github.com/purcell/envrc which set per-buffer variables.
-
Beginner question: how do I set up virtual environments in my Python buffer?
Also take a look at the envrc package. I think it handles multiple projects better.
-
How do YOU use your PKMS?
I further make my software projects so that when I click a link I go into an environment pre-loaded with their dependencies so dropping in/out of projects is always frictionless. I do this with the reproducibility guarantees of nix, along with glue like nix-direnv and envrc-mode to direnv.
-
Minimal approach for python devel environment with flake
In conjunction with installing direnv on your favorite text editor, it's a very hassle free experience. Everything happens automatically. If you use Emacs, i higly recommend envrc.el
-
Nix and envrc
Direnv is installed using the nix-direnv installation instructions under "Via configuration.nix in NixOS". I read some recommendations that envrc.el is a better alternative then direnv.el, and after some testing I have to agree. (envrc-global-mode) is enabled in my config. This works perfectly with a normal emacs instance.
-
Emacs + emacs-direnv + Nix + vterm does not just work
I don't use flake.nix, only shell.nix, though check if the envrc package works any better for you. https://github.com/purcell/envrc
-
Wrapping gcc with libraries
As an alternative to emacs-direnv, I’d recommend the “envrc” package.
-
Eglot appreciation post
btw, my main issue regarding tramp was the fact that I didn't have my environment generated by direnv, via the https://github.com/purcell/envrc package. I use direnv almost exclusively to activate my nix-shell, so I can access the exact software dependencies required by that directory of a project.
-
Is it possible to let overlay Emacs use locally configured Agda libraries inside nix-shell?
I'm not familiar with these tools too but I highly recommend to look at https://github.com/purcell/envrc. If you are not familiar with direnv I suggest to try it with nix-shell/flakes before.
stack
-
Leaving Haskell Behind
Ah, didn't run into this issue, as I don't use vscode.
Apparently there is some work being done to improve the stack <> hls experience, but I wouldn't know how it's going and when it's being delivered: https://github.com/commercialhaskell/stack/issues/6154
-
Help, i get this error when executing the command "xmonad"
this is it: # This file was automatically generated by 'stack init' # # Some commonly used options have been documented as comments in this file. # For advanced use and comprehensive documentation of the format, please see: # https://docs.haskellstack.org/en/stable/yaml\_configuration/ # Resolver to choose a 'specific' stackage snapshot or a compiler version. # A snapshot resolver dictates the compiler version and the set of packages # to be used for project dependencies. For example: # # resolver: lts-3.5 # resolver: nightly-2015-09-21 # resolver: ghc-7.10.2 # # The location of a snapshot can be provided as a file or url. Stack assumes # a snapshot provided as a file might change, whereas a url resource does not. # # resolver: ./custom-snapshot.yaml # resolver: https://example.com/snapshots/2018-01-01.yaml resolver: url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/20/23.yaml # User packages to be built. # Various formats can be used as shown in the example below. # # packages: # - some-directory # - https://example.com/foo/bar/baz-0.0.2.tar.gz # subdirs: # - auto-update # - wai packages: - xmonad - xmonad-contrib # Dependency packages to be pulled from upstream that are not in the resolver. # These entries can reference officially published versions as well as # forks / in-progress versions pinned to a git hash. For example: # # extra-deps: # - acme-missiles-0.3 # - git: https://github.com/commercialhaskell/stack.git # commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a # # extra-deps: [] # Override default flag values for local packages and extra-deps # flags: {} # Extra package databases containing global packages # extra-package-dbs: [] # Control whether we use the GHC we find on the path # system-ghc: true # # Require a specific version of Stack, using version ranges # require-stack-version: -any # Default # require-stack-version: ">=2.11" # # Override the architecture used by Stack, especially useful on Windows # arch: i386 # arch: x86_64 # # Extra directories used by Stack for building # extra-include-dirs: [/path/to/dir] # extra-lib-dirs: [/path/to/dir] # # Allow a newer minor version of GHC than the snapshot specifies # compiler-check: newer-minor
-
ANN: stack-2.11.1
Fix incorrect warning if allow-newer-deps are specified but allow-newer is false. See #6068.
-
[ANN] First release candidate for stack-2.11.1
You can download binaries for this pre-release from: Release rc/v2.11.0.1 (release candidate) · commercialhaskell/stack · GitHub .
-
PEP 582 rejected - consensus among the community needed
Fair enough! Thanks for the suggestion, then. In fact, the non-Python language I develop most in (Haskell, with the Stack package manager) has exactly that behaviour as a default: new packages are installed to a sandboxed local directory, and it takes an explicit request to install something globally. (And even then, you can switch between different global "known good configurations" of package versions which work well together – a pretty handy feature.)
- Any open source projects to contribute to for beginners
-
How to suppress warnings from external packages?
Opened a ticket on GitHub.
-
ANN: stack-2.9.3
In YAML configuration files, the hackage-security key of the package-index key or the package-indices item can be omitted, and the Hackage Security configuration for the item will default to that for the official Hackage server. See #5870.
-
`Stack build` fails with `gcc' failed in phase `Assembler'
FYI this was solved in here: https://github.com/commercialhaskell/stack/issues/5958
-
[ANN] First release candidate for stack-2.9.3
Yes, that is correct. Stack's allow-newer: true configuration has always actually meant 'ignore bounds'. However, the author of the allow-newer-deps development has in mind a further development that will introduce an actual ignore-bounds key with the same expressive syntax that is used by Cabal. This is discussed at Stack #5910.
What are some alternatives?
emacs-direnv - direnv integration for emacs
ghcup-hs - THIS REPO IS A MIRROR, BUG REPORTS GO HERE:
dotemacs
Cabal - Official upstream development repository for Cabal and cabal-install
direnv - unclutter your .profile
ghcid - Very low feature GHCi based IDE
lsp-bridge - A blazingly fast LSP client for Emacs
castle - A tool to manage shared cabal-install sandboxes.
buffer-env - Buffer-local process environments for Emacs
profiterole - GHC prof manipulation script
Elpy - Emacs Python Development Environment
haskell-language-server - Official haskell ide support via language server (LSP). Successor of ghcide & haskell-ide-engine.