Skip to content
marhopPublic

About

Configuration files for my shell environment

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

158 Commits

Folders and files

Repository files navigation

Configuration files for my shell environment.

Installation

  1. 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 packages.
    • The bash-completion package for Bash tab completion.
    • The ripgrep package for the rg search tool.

    Optional but nice:

    • The hx/helix package (or the upstream .tar.gz) for even fancier editing, in particular when using LSP language servers (see below, both HLS and pylsp work ootb).
    • The mdformat package (auto-formatting for Markdown).

    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 (language 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).

    For XML development:

    • The Lemminx language server. There's an AUR package vor Arch (lemminx), but no Debian package. Pre-compiled JARs (org.eclipse.lemminx-uber.jar) are here.
  2. Configure terminal emulator (Gnome Terminal, Putty, ...) for use with the Nord color theme.

  3. Clone to ~/.dotfiles/.

  4. Inside the cloned repository, run stow for each required set of config files to create the respective symlinks in ~. Example:

    $ stow bash
    $ stow vim
    $ stow haskell
  5. Install the vim-plug plugin manager for Vim. Then run :PlugUpdate from inside Vim to install all plugins listed in the .vimrc file.

Random usage notes

Haskell development

Start new projects:

$ mkdir my-project
$ cd my-project
$ cabal init -i
...
$ cabal build
$ cabal run

See also https://schooloffp.co/2020/08/17/whirlwind-tour-of-cabal-for-beginners.html.

Python development

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

About

Configuration files for my shell environment

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages