Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andys8/dotfiles
dotfiles repository
https://github.com/andys8/dotfiles
arch dotfiles el elm fish haskell i3 linux nix purescript qutebrowser rofi st typescript vim xmonad
Last synced: 9 days ago
JSON representation
dotfiles repository
- Host: GitHub
- URL: https://github.com/andys8/dotfiles
- Owner: andys8
- Created: 2018-11-24T16:10:32.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-09-26T13:08:37.000Z (about 1 month ago)
- Last Synced: 2024-10-13T20:27:40.042Z (24 days ago)
- Topics: arch, dotfiles, el, elm, fish, haskell, i3, linux, nix, purescript, qutebrowser, rofi, st, typescript, vim, xmonad
- Language: Shell
- Homepage:
- Size: 3.81 MB
- Stars: 18
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# dotfiles
Clone this repository in your home directory (`~`). The `install.sh` script checks pre- and post-conditions, links files and installs/updates programs.
```sh
cd ~
git clone https://github.com/andys8/dotfiles.git
cd dotfiles
./install.sh
```## Machine specific configuration
### `~/bin/startup.sh`
Local script executed on machine startup
```bash
#!/bin/bash
[ -z "$(pgrep dropbox)" ] && dropbox start &
[ -z "$(pgrep -f duplicati)" ] && duplicati &
# ubuntu only
[ -z "$(pgrep pulseaudio)" ] && pulseaudio --daemonize
``````bash
#!/bin/bash
[ -z "$(pgrep -f slack)" ] && slack --startup &
[ -z "$(pgrep -f gcal-notifier-kotlin-gtk)" ] && gcal-notifier-kotlin-gtk &
[ -z "$(pgrep -f hasmail)" ] || killall hasmail
hasmail &
```### `.hasmailrc`
```text
click=xdg-open https://mail.google.com[gmail]
hostname=imap.gmail.com:993
username=
password=lpass show -p personal/gmail-hasmail
```### `~/.gitconfig.machine`
Local default git user configuration with an example for conditional includes.
```text
[user]
name = andys8
email = [email protected][includeIf "gitdir:~/dev/repository/work/"]
path = ~/.gitconfig.work
```### `~/.gitconfig.work`
```text
[user]
name = andreas
email = [email protected]
[url "ssh://[email protected]/"]
insteadOf = https://[email protected]/
```### `~/.profile.machine`
Contains per system environment variables (optional).
```sh
export PATH=/home/user/example-path:$PATH
export SLACK_TOKEN=example-token
```## Shell
### Change shell to fish
```shell
bash -c 'chsh -s $(chsh -l | grep -m 1 fish)'
```### Fish theme
Open config with `fish_config` and set theme to `dracula` in Web-UI.
## Terminal
### Alacritty
#### DPI
Add `WINIT_HIDPI_FACTOR=1.0` to `/etc/environment`
### Add alacritty to terminals
```shell
sudo update-alternatives --install /usr/bin/x-terminal-emulator x-terminal-emulator /usr/bin/alacritty 80
```### st (suckless-terminal)
Fork of st: [`andys8/st`](https://github.com/andys8/st)
#### Add st to terminals and set as default
```shell
sudo update-alternatives --install /usr/bin/x-terminal-emulator x-terminal-emulator /usr/local/bin/st 80
sudo update-alternatives --config x-terminal-emulator
```## Xmonad
`lightdm` is expected. `/usr/share/xsessions/xmonad.desktop` will be created if not existing.
### `Super + Space` on Ubuntu
Run `ibus-setup` and delete shortcut to remove conflict with keybinding.
## Qutebrowser
### Default browser
```shell
xdg-settings set default-web-browser org.qutebrowser.qutebrowser.desktop
xdg-settings set default-web-browser chromium.desktop # or stick with chromium
xdg-mime default chromium.desktop x-scheme-handler/https
xdg-mime default chromium.desktop x-scheme-handler/http
```### Spell checking
Download dictionaries for spell checking
```sh
git clone https://github.com/qutebrowser/qutebrowser.git && cd qutebrowser
./scripts/dictcli.py install en-US
./scripts/dictcli.py install de-DE
# or with virtualenv (if wrong directory)
./.venv/bin/python3 ./scripts/dictcli.py install en-US
```Might be necessary to copy to `~/.local/share/qutebrowser/qtwebengine_dictionaries`
## Time
Enable time synchronization with `timedatectl set-ntp true`.
## Git
Set credentials in `~/.netrc`
## `sudo`
Open `sudo visudo` and add these lines to enable asterisks and silly feedback.
```text
Defaults insults
Defaults pwfeedback
```- `Defaults secure_path` is **not set** to keep `$PATH` and access to user installed binaries with sudo.
- `Defaults env_keep += "HOME"` keeps the home directory and uses configuration files.## Pacman
Enable in `/etc/pacman.conf`:
```text
Color
ILoveCandy
VerbosePkgLists
```## Theme
Install `xcursor-breeze` and [`Ant-Dracula`](https://github.com/EliverLara/Ant-Dracula) theme. Configure with `lxappearance`.
![stats](https://static.scarf.sh/a.png?x-pxid=8c48fb17-fc67-4552-90d5-7cfb267fd0c8)