Skip to content

Commit f677706

Browse files
author
Said Neder
committed
adding documentation finally!
1 parent b091f72 commit f677706

File tree

5 files changed

+214
-16
lines changed

5 files changed

+214
-16
lines changed

.xprofile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.xprofile

README.md

Lines changed: 213 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,228 @@
1-
# My dotfiles
1+
# Dotfiles
22

3-
Welcome to my dotfiles, these are my config files of my setup.
3+
![Qtile setup](qtile.png)
44

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)
618

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.
821

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-
![Qtile setup](archrice.png)
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!
1223

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+
![Qtile setup](qtile.png)
34+
35+
## Awesome
36+
![Awesome setup](awesome.png)
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+
![Neovim setup](neovim.png)
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!
14191

15192
# The Software that I use
16193

17194
| Name | Description |
18195
|-----------|---------------------------------|
19196
| Alacritty | Lighting fast terminal emulator |
20-
| Dolphin | File explorer |
197+
| Thunar | File explorer |
21198
| Pipewire | Audio for the system |
22199
| Xorg | Display server |
23200
| Nvim | Best editor out there |
24-
| Atom | GUI text editor |
25-
| vlc | Multimedia |
201+
| Vlc | Multimedia |
26202
|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+

awesome.png

1.35 MB
Loading

neovim.png

505 KB
Loading

archrice.png renamed to qtile.png

File renamed without changes.

0 commit comments

Comments
 (0)