Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/4lgn/dotfiles
🔧 .files - different setups separated in branches
https://github.com/4lgn/dotfiles
arch-linux bash bspwm configuration console customization dotfiles i3wm linux macos neovim osx powerline shell terminal theme vim yadm zsh
Last synced: 3 months ago
JSON representation
🔧 .files - different setups separated in branches
- Host: GitHub
- URL: https://github.com/4lgn/dotfiles
- Owner: 4lgn
- Created: 2018-08-28T17:19:45.000Z (about 6 years ago)
- Default Branch: bspwm
- Last Pushed: 2022-06-09T12:48:35.000Z (over 2 years ago)
- Last Synced: 2024-06-19T21:35:59.179Z (5 months ago)
- Topics: arch-linux, bash, bspwm, configuration, console, customization, dotfiles, i3wm, linux, macos, neovim, osx, powerline, shell, terminal, theme, vim, yadm, zsh
- Language: Shell
- Homepage:
- Size: 566 MB
- Stars: 185
- Watchers: 5
- Forks: 20
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BSPWM .files
Dot files for my Arch Linux + bspwm setup used on my Dell XPS 15 9560.
(NOTE: These are the bspwm dotfiles, my i3wm setup is located in the [i3wm branch](https://github.com/Alexrazz/dotfiles/tree/i3wm))
## Table of contents
* [Screenshots](#screenshots)
* [Packages](#packages)
* [Primary](#primary)
* [Secondary](#secondary)
* [Installation](#installation)
* [Device/hardware specific settings](#devicehardware-specific-settings)
* [Disabled modules](#disabled-modules)
* [Disabling turbo boost](#disabling-turbo-boost)
* [Enable powertop auto tune](#enable-powertop-auto-tune)
* [Kernel parameters](#kernel-parameters)
## Screenshots
![Screenshot](https://i.imgur.com/6VciZul.png)
## Packages
### Primary
- `rofi`: Application launcher
- `zsh`: Shell
- `urxvt`: Terminal emulator
- `bspwm`: Window manager
- `sxhkd`: Hotkey daemon
- `dunst`: Notification daemon
- `vim`: Editor
- `vim-plug`: Vim Plugin Manager
- `polybar`: Status bar
- `firefox`: Browser
- `chromium`: Browser
- `evince`: PDF reader
- `betterlockscreen`: Lock screen
- `libinput`: Touch pad driver
- `libinput-gestures`: Custom touchpad gestures
- `neofetch`: System info
- `ranger`: File explorer
- `lightdm`: Display Manager### Secondary
- `w3m`: Used to display images in ranger
- `imgur-screenshot`: Screenclip to imgur
- `maim`: Screenclip to clipboard
- `KeeWeb`: Password manager
- `redshift`: F.lux alternative (tints your screen to make it easier on your eyes)
- `picom`: Compositor
- `pulseaudio / -alsa`: Audio driver
- `Spicetify`: Spotify theming CLI tool
- `connman`: Network manager
- `cmst`: Front-end for connman
- `pamixer`: Pulseaudio manager
- `gotop`: Beautiful TUI activity monitor
- plug
- `xcwd`: Used to open a new terminal in the same directory as the current focused terminal
- Fonts:
- Iosevka
- noto-fonts
- ttf-font-awesome
- icomoon-feather## Installation
Installation and the dotfiles are to be managed with [yadm](https://yadm.io/), thus installation is done through cloning the repository using `yadm clone`, and then confirm running the bootstrapping script when prompted to. If not prompted after cloning, executing the bootstrapping script can be done at any time with `yadm bootstrap`.
Thus, if you have a completely fresh install of arch, do the following:
- `$ curl -fLo /usr/local/bin/yadm https://github.com/TheLocehiliosan/yadm/raw/master/yadm && chmod a+x /usr/local/bin/yadm`
- `$ yadm clone https://github.com/4lgn/dotfiles -b bspwm`
- `$ yadm bootstrap`The bootstrapping script should setup and install most things, and get you a completely usable system. There are, however, still some further configuration needed for some of the applications that I use. The following sub-sections will cover these extra setups.
### LightDM setup
Make sure you have the following packages installed:
```
pacman -S --needed lightdm lightdm-webkit2-greeter lightdm-webkit-theme-litarvan
```- Edit `/etc/lightdm/lightdm.conf` and set `greeter-session=lightdm-webkit2-greeter`.
- Then edit `/etc/lightdm/lightdm-webkit.conf` and set theme or `webkit-theme` to `litarvan`.
- Enable the LightDM as a systemd service: `systemctl enable lightdm`### Vim setup
Simply open vim and it should automatically install everything the first time. If something is wrong, or nothing seemed to have been installed, run `:PlugInstall` from within vim.
### Firefox setup
- Go to `about:config`
- Enable `toolkit.legacyUserProfileCustomizations.stylesheets`
- Go to `about:addons`
- Enable the `Dark theme` if not already enabled
- Copy the contents of my firefox profile to yours, located at `.mozilla/firefox//chrome/`
- Optionally remove some of the extra icons in the `Customize` menu### Rounded corners (bspwm fork)
To get the rounded corners in bspwm, I currently use a fork of bspwm by [dylanaraps](https://github.com/dylanaraps), found [here](https://github.com/dylanaraps/bspwm).
To patch your current bspwm with these changes, do the following:
- `$ git clone https://github.com/dylanaraps/bspwm`
- `$ cd bspwm`
- `$ make && sudo make install`
- Restart your X session.Now, unfortunately, as you will quickly notice with this fork, these corners are not anti-aliased and are quite jagged. There is currently some open issues and discussion on getting anti-aliased corners, especially a pull request by [sdhand](https://github.com/sdhand) is quite promising, found [here](https://github.com/yshui/picom/pull/229). As of writing, none of the solutions out there are without compromises or problems, so I choose to live with jagged corners as of the time being.
## Device/hardware specific settings
These are some of the tweaks I've made for my specific setup, most of them are to optimize battery lifetime
### Disabled modules
```
/etc/modprobe.d/blacklist.confblacklist nouveau
blacklist nvidia
blacklist psmouse
blacklist btusb
blacklist bluetooth
```
### Disabling turbo boost```
/etc/systemd/system/disable-turbo-boost.service[Unit]
Description=Disable Turbo Bost on Intel CPU[Service]
ExecStart=/bin/sh -c "/usr/bin/echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo"
ExecStop=/bin/sh -c "/usr/bin/echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo"[Install]
WantedBy=sysinit.target
```### Enable powertop auto tune
*TLP can be used instead of this if you want a less aggressive power tuning.*
```
/etc/systemd/system/powertop.service[Unit]
Description=Powertop tunings[Service]
ExecStart=/usr/bin/powertop --auto-tune
RemainAfterExit=true[Install]
WantedBy=multi-user.target
```### Kernel parameters
Below are the kernel parameters I would pass to all linux installations, mainly based upon some shortcomings and oddities that I have experienced with the Dell XPS 15.
```
add_efi_memmap rw quiet splash i915.modeset=1 nouveau.modeset=0 acpi_rev_override=1
```- `i915.modeset=1`: Ensure iGPU is loaded early by using KMS. (Might fix boot loader/display manager not being shown)
- `nouveau.modeset=0`: Block nouveau from managing the GPU. (This bundled together with the previous parameter allows X to run entirely on my iGPU, as there are no drivers loaded for the GPU; this drastically improves battery life for obvious reasons)
- `acpi_rev_override=1`: This is the most important setting, as this prevents some freezing issues I had due to the nvidia card not working well with ACPI.
- `quiet` and `splash`: Personal preference to not show every boot message at boot (I'd just remove these if something seems wrong)
- `add_efi_memmap` and `rw`: Probably not needed anymore and `rw` are usually default anyways.