Skip to content
This repository has been archived by the owner on Mar 9, 2024. It is now read-only.

serranomorante/.dotfiles

Repository files navigation

.dotfiles

This are my personal config files that might only make sense for my particular workflow.

Main technologies:

  • kitty. Terminal emulator
  • neovim. (Neovim >=0.10.0 only) My text editor
  • fish. Shell
  • zellij. (Nightly only) Terminal multiplexer
  • autorandr. Automate display configuration
  • i3. Window tiling manager
  • m2i. Use midi to control your system
  • gromit-mpx. Draw on top of your screen
  • keyd. A key remapping daemon for linux
  • pipewire. Multimedia processing graphs
  • wireplumber. (Wireplumber >=0.5 only) Session manager for Pipewire

Requirements

Necesary dependencies for my workflow

  • JetBrains Mono
  • feh. Set your system wallpaper programatically
  • babelfish. To re-use .bashrc entries in fish (faster than bass). You must install babelfish first. I did it with go install
  • jq. Command-line JSON processor
  • xgetres. Get entries from .Xresources
  • veikk-tablet-bin. Driver for my graphic tablet

Workflow

Bash and fish interoperability

Even thought I like fish and I use it extensively, I still refuse to make it my main shell.

In my current workflow, I only use fish from inside my terminal (kitty), leaving the rest of my system to use the default shell (bash).

As I don't want to duplicate the same env variables and aliases from my .bashrc file into my config.fish, I decided to use fish babelfish plugin. With this plugin I just need to source my ~/.bashrc file from inside fish and it will try its best to transpile bash syntax into fish.

Plans

  • Add m2i's config files. Still in progress
  • Add zellij's config files. ✅ I still don't add them because at the moment zellij doens't support path variable expansion so I will wait until then.
  • Add wireplumber's config files. ✅ Still in progress
  • Add pipewire's config files. ✅ Still in progress

Some guides to my self

Past tools

I deprecated this tools from my setup for several reasons

  • wezterm. Terminal emulator. I stopped using it due to CPU performance consumption.
  • optimus-manager. GPU switching on Optimus laptops. Migrated from it to official NVIDIA prime method.