Configuration files for my shell environment.
-
Make sure the following prerequisites are installed (package names are for Debian/Arch). In any case:
- The stow package for "installation" of the config files.
- Obviously, the bash, git, tmux, and vim/neovim packages.
- The bash-completion package for Bash tab completion.
- The ripgrep package for the rg search tool.
For Haskell development:
- The GHCup installer according to the instructions on its website.
- GHC, cabal and HLS via GHCup.
For Python development:
- The pipenv/python-pipenv (packaging, dependency management, virtual environments), python3-pylsp/python-lsp-server (LSP server), flake8/python-flake8 (linting), and python3-autopep8/autopep8 (auto-formatting) packages.
-
Configure terminal emulator (Gnome Terminal, Putty, ...) for use with the Nord color theme.
-
Clone to
~/.dotfiles/. -
Inside the cloned repository, run
stowfor each required set of config files to create the respective symlinks in~. Example:$ stow bash $ stow vim $ stow haskell
-
Install the vim-plug plugin manager for Vim/Neovim. Then run
:PlugUpdatefrom inside Vim/Neovim to install all plugins listed in the.vimrcorinit.vimfile, respectively.
Start new projects:
$ mkdir my-project
$ cd my-project
$ cabal init -i
...
$ cabal build
$ cabal runSee also https://schooloffp.co/2020/08/17/whirlwind-tour-of-cabal-for-beginners.html.
Start new projects in a virtual environment:
$ mkdir my-project
$ cd my-project
$ pipenv install [whatever] # no package just creates a Pipfile
$ pipenv shell
...
$ exit