Halia DE environment
A set of dotfiles and configuration utilities for Linux distros
## Table of Contents
- [About](#about)
- [Gallery](#gallery)
- [Installation](#install)
- [Keybinds](#keybinds)
- [FAQ](#faq)
## About
Hi, welcome to my dotfiles repository.
Here are the development environment configuration I use on a daily basis, going from server configurations for remotes and window manager settings.
Curiousity brought you here, maybe you want to [install](#install) this configuration to try it by yourself, otherwise feel free to look around :)
Still have a doubt about what you want from here ? You might want to take a look at the [gallery](#gallery).
| Application | Package(s) |
|-----------------------------|----------------------------|
| Window Manager | i3-gaps |
| Browser | Firefox |
| Application launcher | Rofi |
| Bar | Polybar |
| Screenshots | Flameshot |
| Color scheme | Ayu |
| Terminals | Alacritty & xterm |
| Shell | Zsh |
## Gallery
## Installation
### Requirements
- [jq](https://stedolan.github.io/jq/)
- [fzf](https://github.com/junegunn/fzf)
- [w3m](http://w3m.sourceforge.net/)
- [bitwarden-cli](https://github.com/bitwarden/cli)
- [bitwarden-rofi](https://github.com/mattydebie/bitwarden-rofi)
- [git](https://git-scm.com/)
### Per distro instructions
#### Arch
For Arch Linux users, you can simply execute the `.config/setup.sh` script and get going.
#### Other distributions
I recommend taking a look at the `.config/setup.sh` script and comment out everything special to Arch (`pacman` and `yay` section).
Then, I advise to install all packages from source if you run into issues, since everything is meant to be used with latest versions (looking at you `neovim`).
### Dotfiles installation
- Clone the repository
```
git clone --bare https://git.halia.dev/therbron/dotfiles.git $HOME/.dotfiles
```
- Define a one time alias
```
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
```
- Checkout the content from the git repository to your `$HOME`
```
dotfiles checkout
```
From this point on, if you have `zsh` installed, the `dotfiles` alias will be added to your shell by default. Otherwise, you might want to add it yourself or instasll `zsh`.
## Keybinds
These are the most used and basic keybinds. You might want to read through `.config/i3/config` to find more keybindings and add your own.
Note: `Mod` is by default set to the window key
Note: Navigation keys (hjkl) can be substituted by arrow keys
### Applications
| Keybind | Function |
|-----------------------------|----------------------------|
| `Mod + Enter` | Launch terminal (alacritty)|
| `Mod + Shift + Enter` | Launch browser (firefox) |
| `Mod + Space` | Launch app launcher (rofi) |
| `Mod + s` | Open screenshot tool (flameshot)|
| `Mod + a` | Close focused window |
| `Mod + Shift + c` | Reload i3 configurations |
| `Mod + Ctrl + r` | Restart i3 |
| `Mod + c` | Display calendar widget |
| `Mod + d` | Display drive info widget |
| `Mod + p` | Open bitwarden-rofi |
### Window navigation
| Keybind | Function |
|-----------------------------|----------------------------|
| `Mod + h` | Focus window on the left |
| `Mod + j` | Focus window above |
| `Mod + k` | Focus window underneath |
| `Mod + l` | Focus window on the right |
| `Mod + Shift + h` | Move window to the left |
| `Mod + Shift + j` | Move window above |
| `Mod + Shift + k` | Move window underneath |
| `Mod + Shift + l` | Move window to the right |
| `Mod + {1-9}` | Move to {1-9} workspace |
| `Mod + Shift + {1-9}` | Move selected window(s) to workspace {1-9} |
### Split management
| Keybind | Function |
|-----------------------------|----------------------------|
| `Mod + v` | Split vertically |
| `Mod + g` | Split horizontally |
| `Mod + Backspace` | Toggle split orientation |
| `Mod + t` | Cycle between vert,hor and tabbed |
| `Mod + f` | Toggle fullscreen |
| `Mod + Shift + f` | Toggle floating mode |
| `Mod + r` | Toggle resize mode |
# Frequently asked questions
#### What is the point of using multiple terminal emulators ?
Some machines, lacking discrete or recent GPU, will not be able to start Alacritty. This is the main reason to have xterm as a backup terminal.
# Misc
### Slack theming
Updated as of [this commit](https://github.com/TanguyHerbron/dotfiles/commit/9adabddf70494ba534bcc5dd94260a92e1c996c3)
`#0F1419,#1F2430,#73D0FF,#1F2430,#1F2430,#D9D7CE,#BAE67E,#FF6666,#1F2430,#FFFFFF`
### Debugger for Firefox userChrome.css modification
- F12 or Ctrl+Shift+c menu
- Three dots > Cog icon
- Check "Enable browser chrome and add-on debugging toolboxes" and "Enable remote debugging"
- Ctrl+Shift+Alt+I and confirm security prompt
#### Live edit
- Style editor > userChrome.css