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 (neo)vim 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 package (packaging, dependency management, virtual environments).
- The python3-pylsp/python-lsp-server package (LSP server).
- The flake8/python-flake8 package (linting).
- The python3-autopep8/autopep8 package (auto-formatting).
- The mypy and python3-pylsp-mypy/python-pylsp-mypy packages (type checking).
-
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