|
1 |
| -# My dotfiles |
| 1 | +# Dotfiles |
2 | 2 |
|
3 |
| -Welcome to my dotfiles, these are my config files of my setup. |
| 3 | + |
4 | 4 |
|
5 |
| -- Qtile (as my window manager) |
| 5 | +# Contents |
| 6 | +- **Window Managers** |
| 7 | + - [Qtile](https://github.com/crazyc4t/dotfiles/tree/main/qtile) |
| 8 | + - [Awesome](https://github.com/crazyc4t/dotfiles/tree/main/awesome) |
| 9 | +- **Terminal Related** |
| 10 | + - [Alacritty](https://github.com/crazyc4t/dotfiles/blob/main/alacritty) |
| 11 | + - [Bat](https://github.com/crazyc4t/dotfiles/tree/main/bat) |
| 12 | + - [Dunst](https://github.com/crazyc4t/dotfiles/tree/main/dunst) |
| 13 | + - [Picom](https://github.com/crazyc4t/dotfiles/tree/main/picom) |
| 14 | + - [Rofi](https://github.com/crazyc4t/dotfiles/tree/main/rofi) |
| 15 | + - [Zathura](https://github.com/crazyc4t/dotfiles/tree/main/zathura) |
| 16 | + - [Fish shell](https://github.com/crazyc4t/dotfiles/tree/main/fish) |
| 17 | +- [Neovim 100% written in lua](https://github.com/crazyc4t/dotfiles/tree/main/nvim) |
6 | 18 |
|
7 |
| -Currently am using arch linux, and feel free to clone and fork if you want to! |
| 19 | +# Intro |
| 20 | +This documentation is about my laptop configuration that I use day to day to code, write LaTeX documents and game with lutris and steam and how to set it up. |
8 | 21 |
|
9 |
| -# My Qtile setup |
10 |
| -This is my WM setup that I use, based currently on One-Dark colour scheme, using the phinger cursors. |
11 |
| - |
| 22 | +Am using [Arch Linux](https://archlinux.org/) btw, and my configurations are based on command line interfaces and window managers, you are free to fork, copy or use the code as however you want! |
12 | 23 |
|
13 |
| -I miss a lot of documentation so in this days I will try to document it! |
| 24 | +# My window managers |
| 25 | +Here is some screenshots of my available window managers, yet there's some more to configure |
| 26 | +- [x] [Qtile](http://www.qtile.org/) |
| 27 | +- [x] [Awesome](https://awesomewm.org/) |
| 28 | +- [] [Xmonad](https://xmonad.org/) |
| 29 | +- [] [Dwm](https://dwm.suckless.org/) |
| 30 | +- [] [Herbsluftwm](https://herbstluftwm.org/) |
| 31 | + |
| 32 | +## Qtile |
| 33 | + |
| 34 | + |
| 35 | +## Awesome |
| 36 | + |
| 37 | + |
| 38 | +## How to install Arch Linux |
| 39 | + |
| 40 | +The best resources out there are: |
| 41 | +- [Arch Wiki](https://wiki.archlinux.org/title/Installation_guide) |
| 42 | +- [The complete guide on how to install Arch by LearnLinuxTV](https://youtu.be/DPLnBPM4DhI) |
| 43 | +## AUR helper of choice |
| 44 | +Right now am using [`yay`](https://github.com/Jguer/yay) as an AUR helper, here's how to install it: |
| 45 | +``` |
| 46 | +pacman -S --needed git base-devel && git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si |
| 47 | +``` |
| 48 | + |
| 49 | +## Using doas instead of sudo |
| 50 | +Am using [doas](https://wiki.archlinux.org/title/Doas) on my system because sudo is an overkill for my requirements, install doas by: |
| 51 | +`sudo pacman -S opendoas` |
| 52 | + |
| 53 | +Then create a `doas.conf` on the `etc` folder and permit your username for privilege escalation and persistence: |
| 54 | +`permit persist said as root` |
| 55 | + |
| 56 | +Then transition to it by adding an alias to your shell: |
| 57 | +`alias sudo='doas'` |
| 58 | + |
| 59 | +And finally remove sudo and replace it with doas: |
| 60 | +`doas pacman -R sudo` |
| 61 | +Then as root (you can do so by doing `doas -s`): |
| 62 | +`ln -s $(which doas) /usr/bin/sudo` |
| 63 | + |
| 64 | +## Install some basic utilities |
| 65 | +This can change depending of your preferences, but a browser, a code editor, git and a terminal are required |
| 66 | +`yay -S brave alacritty neovim git` |
| 67 | + |
| 68 | +## Using a Display manager |
| 69 | +If you followed the Arch Linux installation guide made by LearnLinuxTV, you should be on a tty, with xorg installed, but no desktop enviroment, so before installing any type of window manager, we should install first the display manager so we can log into different window managers. |
| 70 | + |
| 71 | +We are going to use the [Aether](https://github.com/NoiSek/Aether) theme made by NoiSek (great theme thanks!) and is as easy by doing: |
| 72 | +`yay -S lightdm-webkit-theme-aether` |
| 73 | + |
| 74 | +And then enable the display manager: |
| 75 | +`sudo systemctl enable lightdm.service` |
| 76 | + |
| 77 | +## Installing a Window manager |
| 78 | +You can install any type of window manager, but for me is essential to have qtile, so that is what am going to do: |
| 79 | +`doas pacman -S qtile python-pip` |
| 80 | + |
| 81 | +After that install some dependencies with pip: |
| 82 | +`pip install psutil` |
| 83 | + |
| 84 | +And now clone this repo by doing so: |
| 85 | +`git clone [email protected]:crazyc4t/dotfiles.git` |
| 86 | + |
| 87 | +Then, move the qtile folder to your ~/.config/ folder: |
| 88 | +`cd dotfiles && mv qtile/ ~/.config/` |
| 89 | + |
| 90 | +Then finally reboot and enjoy Qtile! |
| 91 | + |
| 92 | +## Multimedia |
| 93 | + |
| 94 | +### Audio |
| 95 | +Am using [Pipewire](https://wiki.archlinux.org/title/PipeWire) for my audio, install it by doing: |
| 96 | + |
| 97 | +``` |
| 98 | +doas pacman -S pipewire wireplumber pipewire-pulse pipewire-jack pipewire-alsa xdg-desktop-portal |
| 99 | +``` |
| 100 | + |
| 101 | +### Bluetooth |
| 102 | +Install bluetooth by doing |
| 103 | +``` |
| 104 | +doas pacman -S bluez bluez-utils blueman |
| 105 | +``` |
| 106 | + |
| 107 | +And finally enable the bluetooth service: |
| 108 | +`doas systemctl enable --now bluetooth` |
| 109 | + |
| 110 | +### Video & music |
| 111 | +Here we will be installing spotify for music and vlc, alongside the vlc-bittorrent extension for streaming torrents hehe: |
| 112 | +`yay -S spotify vlc vlc-bittorrent` |
| 113 | + |
| 114 | +## Neovim |
| 115 | +If you use Neovim, this is your section, my neovim config is written 100% in lua, with linting, diagnostic and formatting support for: |
| 116 | +- Python |
| 117 | +- Javascript |
| 118 | +- Lua |
| 119 | +- Arduino |
| 120 | +- Go |
| 121 | +- LaTeX |
| 122 | +- Bash |
| 123 | +- Markdown (With vimwiki) |
| 124 | + |
| 125 | +So install neovim and healthy dependencies: |
| 126 | +`doas pacman -S neovim python-pip nodejs npm xclip` |
| 127 | + |
| 128 | +And then get healthy: |
| 129 | +`pip install nvim` |
| 130 | +`npm i -g nvim` |
| 131 | + |
| 132 | +Finally install packer for installing plugins: |
| 133 | +`yay -S nvim-packer-git` |
| 134 | + |
| 135 | +Clone my dotfiles and move them to your ~/.config/: |
| 136 | +`git clone [email protected]:crazyc4t/dotfiles.git` |
| 137 | +`cd dotfiles/nvim && rm -rf plugin/ && cd .. && mv nvim ~/.config/` |
| 138 | + |
| 139 | +And then sync it all and enjoy! |
| 140 | +<Shift + p> or = `:PackerSync` |
| 141 | + |
| 142 | + |
| 143 | + |
| 144 | +## Fonts |
| 145 | +Install these fonts for compatibility: |
| 146 | +`yay -S gnu-free-fonts noto-fonts nerd-fonts-complete ttf-ms-win10-auto noto-fonts-emoji` |
| 147 | + |
| 148 | +Note: Nerd fonts complete package is optional since I like trying different nerd fonts I have installed it, but if that's not your case you are free to omit it. |
| 149 | + |
| 150 | +## Gaming |
| 151 | +With the proton project developed by valve, playing on Linux is easier as ever! Prepare yourself to install a ton of packages... |
| 152 | + |
| 153 | +### Multilib |
| 154 | +You need to edit the `pacman.conf` located in `/etc/pacman.conf` and uncomment the `multilib` repository at the final part of the file. |
| 155 | +``` |
| 156 | +/etc/pacman.conf |
| 157 | +-------------------------------------------------------------------------------------- |
| 158 | +[multilib] |
| 159 | +Include = /etc/pacman.d/mirrorlist |
| 160 | +``` |
| 161 | +Then upgrade the system: `doas pacman -Syu` |
| 162 | + |
| 163 | +### Installing drivers |
| 164 | +First let's install the drivers required for running games: |
| 165 | +- AMD |
| 166 | + - `sudo pacman -S --needed lib32-mesa vulkan-radeon lib32-vulkan-radeon vulkan-icd-loader lib32-vulkan-icd-loader` |
| 167 | +- Nvidia |
| 168 | + - `sudo pacman -S --needed nvidia-dkms nvidia-utils lib32-nvidia-utils nvidia-settings vulkan-icd-loader lib32-vulkan-icd-loader` |
| 169 | +- Intel |
| 170 | + `sudo pacman -S --needed lib32-mesa vulkan-intel lib32-vulkan-intel vulkan-icd-loader lib32-vulkan-icd-loader` |
| 171 | + |
| 172 | +### Installing wine |
| 173 | +This is a big list of packages but you will need them to make the games work properly. |
| 174 | + |
| 175 | +``` |
| 176 | +sudo pacman -S --needed wine-staging giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls \ |
| 177 | +mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse libgpg-error \ |
| 178 | +lib32-libgpg-error alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo \ |
| 179 | +sqlite lib32-sqlite libxcomposite lib32-libxcomposite libxinerama lib32-libgcrypt libgcrypt lib32-libxinerama \ |
| 180 | +ncurses lib32-ncurses opencl-icd-loader lib32-opencl-icd-loader libxslt lib32-libxslt libva lib32-libva gtk3 \ |
| 181 | +lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader |
| 182 | +``` |
| 183 | + |
| 184 | +### Installing utilities |
| 185 | +Let's install the fun part! |
| 186 | + |
| 187 | +`yay -S lutris steam winetricks protontricks mangohud gamemode` |
| 188 | + |
| 189 | +## Outro |
| 190 | +So this is the way I work with my setup! hope you like it and it was useful! |
14 | 191 |
|
15 | 192 | # The Software that I use
|
16 | 193 |
|
17 | 194 | | Name | Description |
|
18 | 195 | |-----------|---------------------------------|
|
19 | 196 | | Alacritty | Lighting fast terminal emulator |
|
20 |
| -| Dolphin | File explorer | |
| 197 | +| Thunar | File explorer | |
21 | 198 | | Pipewire | Audio for the system |
|
22 | 199 | | Xorg | Display server |
|
23 | 200 | | Nvim | Best editor out there |
|
24 |
| -| Atom | GUI text editor | |
25 |
| -| vlc | Multimedia | |
| 201 | +| Vlc | Multimedia | |
26 | 202 | |Pavucontrol| Mixer for audio
|
27 |
| -| Nitrogen | For wallpapers | |
28 |
| -| Redshift | Take care of your eyes | |
29 |
| -| Rofi | Launch Menu | |
30 |
| - |
31 |
| -My next WM will be awesome! (literally) |
| 203 | +| Nitrogen | For wallpapers | |
| 204 | +| Redshift | Nightlight | |
| 205 | +| Rofi | Launch Menu | |
| 206 | +| Brave | Web Browser | |
| 207 | +| Lxsession-gtk | Authorization Agent | |
| 208 | +| Lxappereance | GUI for theming | |
| 209 | +| Hack Nerd Font | Font used for coding | |
| 210 | +| Gscreenshot | Screenshot tool with copy to clipboard support | |
| 211 | +| Dunst | Notifications | |
| 212 | +| Arandr | Manages your screens | |
| 213 | +| Lutris | Manages wine games | |
| 214 | +| Material Black | GTK theme | |
| 215 | +| Phinger Cursors | Cursor theme | |
| 216 | +| Qt5ct | QT theme manager | |
| 217 | +| Kvantum | QT theme installer | |
| 218 | +| Kdenlive | Video editor | |
| 219 | +| Gimp | Image manipulator | |
| 220 | +| Doas | Privilege escalation done right | |
| 221 | +| OBS | Screen recording | |
| 222 | +| texlive-most | LaTeX software | |
| 223 | +| Qbittorrent | For downloading torrents | |
| 224 | +| Lightdm | Display Manager with the aether theme | |
| 225 | +| Git | Version control | |
| 226 | +| Starship | Prompt for my shell | |
| 227 | +| Papirus | Icons | |
| 228 | + |
0 commit comments