2019-04-28 12:36:14 -05:00
|
|
|
# ericonr's dotfiles
|
|
|
|
|
2019-06-04 00:58:11 -05:00
|
|
|
[![forthebadge](https://forthebadge.com/images/badges/powered-by-electricity.svg)](https://forthebadge.com)
|
|
|
|
|
2020-04-21 02:14:29 -05:00
|
|
|
Uses [GNU stow](https://www.gnu.org/software/stow/) for managing symlinks! The
|
|
|
|
default `.stowrc` file is setup for my home directory, and for adopting files
|
|
|
|
(overwrite existing files, bringing them into the repo).
|
2019-04-28 12:36:14 -05:00
|
|
|
|
2019-12-08 18:32:51 -06:00
|
|
|
In order to link all files, use
|
|
|
|
|
2020-04-21 02:14:29 -05:00
|
|
|
```````
|
2019-04-28 12:36:14 -05:00
|
|
|
$ stow */
|
2020-04-21 02:14:29 -05:00
|
|
|
```````
|
2019-12-08 18:32:51 -06:00
|
|
|
|
2019-04-28 12:36:14 -05:00
|
|
|
otherwise, for specific folders, use
|
2019-12-08 18:32:51 -06:00
|
|
|
|
2020-04-21 02:14:29 -05:00
|
|
|
```````
|
2019-04-28 12:36:14 -05:00
|
|
|
$ stow folder
|
2020-04-21 02:14:29 -05:00
|
|
|
```````
|
2019-09-08 23:48:23 -05:00
|
|
|
|
2020-04-21 02:14:29 -05:00
|
|
|
It's also recommended to create the `~/.local/bin` and `~/.local/share`
|
|
|
|
directories before stowing the repository.
|
2019-12-08 18:32:51 -06:00
|
|
|
|
2019-09-08 23:48:23 -05:00
|
|
|
## Sway + Waybar
|
|
|
|
|
2020-04-21 02:14:29 -05:00
|
|
|
This setup, which can be found inside `wayland`, requires the following
|
|
|
|
dependencies:
|
|
|
|
|
|
|
|
- Basic setup:
|
|
|
|
- [`sway`](https://swaywm.org/): the Wayland compositor and tiling window
|
|
|
|
manager.
|
|
|
|
- [`swaylock`](https://github.com/swaywm/swaylock)
|
|
|
|
- [`swaybg`](https://github.com/swaywm/swaybg)
|
|
|
|
- [`swayidle`](https://github.com/swaywm/swayidle)
|
|
|
|
- [`Xwayland`](https://wayland.freedesktop.org/xserver.html): X server inside
|
|
|
|
Wayland, for backwards compatibility.
|
|
|
|
- [`waybar`](https://github.com/Alexays/Waybar): customizable status bar.
|
|
|
|
- [`wofi`](https://hg.sr.ht/~scoopta/wofi): a pretty good menu system, for
|
|
|
|
wayland (replaces the self built launcher).
|
|
|
|
- [`mako`](https://wayland.emersion.fr/mako/): a notification daemon
|
|
|
|
- [`jq`](https://stedolan.github.io/jq/): CLI JSON parser, necessary for
|
|
|
|
keyboard layout implementation.
|
|
|
|
- [`redshift`](https://github.com/minus7/redshift/tree/wayland): magic tool
|
|
|
|
for avoiding eye burning. Needs to be the version patched for Sway/Wayland
|
|
|
|
use.
|
|
|
|
- Default applications:
|
|
|
|
- [`fish`](https://fishshell.com/): the default shell.
|
|
|
|
- [`starship`](https://starship.rs/): the cross-shell prompt for astronauts.
|
|
|
|
- [`alacritty`](https://github.com/jwilm/alacritty): the default terminal
|
|
|
|
emulator (because it's pretty, fast, and it has the `dimensions` option).
|
|
|
|
- [`tmux`](https://github.com/tmux/tmux): the Meta+T shortcut launches
|
|
|
|
`tmux` for multiple terminals in the same screen.
|
|
|
|
- [`emacs`](https://www.gnu.org/software/emacs/): the no longer default text
|
|
|
|
editor (unfortunately, it has to run through Xwayland).
|
|
|
|
- [`neovim`](https://neovim.io/): the default CLI text editor.
|
|
|
|
- [`fzf`](https://github.com/junegunn/fzf): a wonderful fuzzy searcher,
|
|
|
|
required by the self-built launcher.
|
|
|
|
- [`ranger`](https://ranger.github.io/): a VIM-like TUI file manager.
|
|
|
|
- Applications needed for media keys:
|
|
|
|
- [`pulseaudio`](https://www.freedesktop.org/wiki/Software/PulseAudio/): the
|
|
|
|
default audio daemon; provides `pactl`, which is used for controlling the
|
|
|
|
volume.
|
|
|
|
- [`brightnessctl`](https://github.com/Hummer12007/brightnessctl): the
|
|
|
|
default brightness controller; it's used for setting the backlight.
|
|
|
|
- [`playerctl`](https://github.com/altdesktop/playerctl): player control from
|
|
|
|
media keys.
|
|
|
|
- [`grim`](https://wayland.emersion.fr/grim/): screenshots on wayland.
|
|
|
|
- [`slurp`](https://wayland.emersion.fr/slurp/): select a geometry on a
|
|
|
|
wayland screen.
|
|
|
|
- Media applications:
|
|
|
|
- [`spotify-tui`](https://github.com/Rigellute/spotify-tui): a Spotify TUI.
|
|
|
|
- [`spotifyd`](https://github.com/Spotifyd/spotifyd): a Spotify daemon.
|
|
|
|
- [`mpv`](https://mpv.io/): great player for everything.
|
|
|
|
- [`mpv-mpris`](https://github.com/hoyon/mpv-mpris): MPV plugin to allow
|
|
|
|
it to be controlled from playerctl.
|
|
|
|
- [`youtube-dl`](https://youtube-dl.org/): allows MPV to stream YouTube
|
|
|
|
videos.
|
|
|
|
- Applications needed for AppPauser keys:
|
|
|
|
- [`AppPauser`](https://github.com/ericonr/AppPauser): is used for making
|
|
|
|
pausing the execution of any application that's started by it possible.
|
|
|
|
- Theming:
|
|
|
|
- [Liberation font](https://en.wikipedia.org/wiki/Liberation_fonts) (Sans).
|
|
|
|
- [IBM Plex font](https://www.ibm.com/plex/).
|
|
|
|
- [Breeze_Snow](https://github.com/KDE/breeze) cursor theme.
|
|
|
|
|
|
|
|
**Obs.:** This configuration requires some executables that can be obtained from
|
|
|
|
the `sourcecode/` directory.
|
2019-12-08 18:42:13 -06:00
|
|
|
|
2020-01-24 14:34:43 -06:00
|
|
|
### Wallpaper
|
|
|
|
|
|
|
|
![wallpaper](https://gitlab.com/Kreneker/the-grand-canyon/raw/master/The%20Grand%20Canyon%20preview.png)
|
|
|
|
|
2020-04-21 02:14:29 -05:00
|
|
|
The wallpaper is from one of the finalists of the [Plasma 5.18 Wallpaper
|
|
|
|
Contest](https://dot.kde.org/2020/01/24/volna-wins-plasma-518-wallpaper-contest)!
|
|
|
|
Congratulations to all of them :D
|
2020-01-24 14:34:43 -06:00
|
|
|
|
2020-04-21 02:14:29 -05:00
|
|
|
I specially loved kevintee's colors, so I'm using their wallpaper, which is
|
|
|
|
available here as a convenience, but still under their license. You can find
|
|
|
|
other versions of it at their
|
|
|
|
[repo](https://gitlab.com/Kreneker/the-grand-canyon).
|
2020-01-24 14:34:43 -06:00
|
|
|
|
2020-04-21 02:14:29 -05:00
|
|
|
## sourcecode/
|
2019-12-08 18:42:13 -06:00
|
|
|
|
2020-06-04 00:02:27 -05:00
|
|
|
To install the executables inside this directory, it is necessary to run
|
2019-12-08 18:42:13 -06:00
|
|
|
|
2020-04-21 02:14:29 -05:00
|
|
|
````````
|
2020-06-04 00:02:27 -05:00
|
|
|
./install.sh
|
2020-04-21 02:14:29 -05:00
|
|
|
````````
|
2019-12-08 18:42:13 -06:00
|
|
|
|
|
|
|
inside it.
|
2020-01-04 15:59:05 -06:00
|
|
|
|
2020-06-04 00:02:27 -05:00
|
|
|
Programs here use [Go](https://golang.org/) and C.
|
|
|
|
|
2020-01-04 16:31:43 -06:00
|
|
|
## neovim plugins
|
2020-01-04 15:59:05 -06:00
|
|
|
|
|
|
|
Neovim now uses git submodules to store some plugins:
|
|
|
|
|
2020-04-21 02:14:29 -05:00
|
|
|
- [vim-airline](https://github.com/vim-airline/vim-airline)
|
|
|
|
- [kotlin-vim](https://github.com/udalov/kotlin-vim)
|
2020-01-04 15:59:05 -06:00
|
|
|
|
|
|
|
If you want to use these plugins, you can download them using:
|
|
|
|
|
2020-04-21 02:14:29 -05:00
|
|
|
````````
|
2020-01-04 15:59:05 -06:00
|
|
|
git clone --recursive https://github.com/ericonr/dotfiles.git
|
2020-04-21 02:14:29 -05:00
|
|
|
````````
|
2020-01-04 15:59:05 -06:00
|
|
|
|
2020-02-15 23:53:06 -06:00
|
|
|
## Embedded development
|
|
|
|
|
2020-04-21 02:14:29 -05:00
|
|
|
This setup for embedded development, especially on the arm-none-eabi platform,
|
2020-05-10 21:25:23 -05:00
|
|
|
can be found on `embedded/`. It requires the following dependencies:
|
|
|
|
|
|
|
|
- [`arm-none-eabi-gcc/gdb/newlib`](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads):
|
|
|
|
the arm-none-eabi compiler, debugger and libc.
|
|
|
|
- [`openocd`](http://openocd.org/): the debugger/programmer software used in
|
|
|
|
most cases.
|
|
|
|
- [STM32CubeProg](https://www.st.com/en/development-tools/stm32cubeprog.html):
|
|
|
|
the programmer for cases when OpenOCD doesn't work.
|
|
|
|
- [STM32CubeMX](https://www.st.com/en/development-tools/stm32cubemx.html): the
|
|
|
|
tool used for generating STM32 projects.
|
|
|
|
- [`esp-idf`](https://github.com/espressif/esp-idf): the Espressif IoT
|
|
|
|
Development Framework. Still requires the download of an actual ESP32
|
|
|
|
compiler.
|
|
|
|
- [`ugdb`](https://github.com/ftilde/ugdb): the best GDB interface! Helps a lot
|
|
|
|
in usability.
|
|
|
|
- [`can-utils`](https://github.com/linux-can/can-utils): Utilities for debugging
|
|
|
|
and using the CAN bus on Linux.
|