Update
This commit is contained in:
191
README.md
191
README.md
@@ -1,51 +1,190 @@
|
||||
# dotfiles
|
||||
My configuration and styling for things I use on my Linux PC, while embracing the power of GNU Stow and symlink!
|
||||
|
||||
My configuration and styling for things I use on my Linux PC, embracing the power of GNU Stow and symlinks.
|
||||
|
||||
## Quick start
|
||||
|
||||
```sh
|
||||
git clone git@github.com:notkaramel/dotfiles ~/dotfiles
|
||||
git clone --recurse-submodules git@github.com:notkaramel/dotfiles ~/dotfiles
|
||||
cd ~/dotfiles
|
||||
stow <the app>
|
||||
stow <app>
|
||||
```
|
||||
|
||||
Behind the scene, by default, Stow does:
|
||||
If you already cloned without submodules:
|
||||
```sh
|
||||
stow <the app> --target ~/
|
||||
# --target -> the parent folder
|
||||
git submodule update --init --recursive
|
||||
```
|
||||
|
||||
Credit: to [**Dreams of Autonomy** video](https://youtu.be/y6XCebnB9gs) and [**DevInsideYou**'s video](https://youtu.be/CFzEuBGPPPg) on GNU stow.
|
||||
---
|
||||
|
||||
# License (CC0 1.0 Universal)
|
||||
> See [LICENSE](LICENSE) for the full text.
|
||||
## GNU Stow
|
||||
|
||||
notkaramel/dotfiles by Antoine Phan (@notkaramel) is marked with CC0 1.0 Universal. To view a copy of this license, visit http://creativecommons.org/publicdomain/zero/1.0
|
||||
[GNU Stow](https://www.gnu.org/software/stow/) symlinks a package directory's contents into a target directory. By default the target is the parent of the current directory, so running from `~/dotfiles` symlinks into `~/`.
|
||||
|
||||
Essentially, you can do whatever you want with this and no need to credit me for the :sparkles: inspiration :sparkles:. (I'd appreciate it if you did, though!)
|
||||
### User-local installation (default)
|
||||
|
||||
# Notes
|
||||
- Network interface is set to `wlan0`
|
||||
Installs configs into `~/` — no root required.
|
||||
|
||||
# Useful commands:
|
||||
- Getting all the local packages (`pacman`)
|
||||
```sh
|
||||
pacman -Qs | grep "local/" | awk '{print $1}' - | awk -F '/' '{print $2}' > allPackages.txt
|
||||
```
|
||||
- (Re)Installing all packages back
|
||||
```sh
|
||||
cat allPackages.txt | yay -S - --needed
|
||||
# From ~/dotfiles:
|
||||
stow zsh # → ~/.zshrc, etc.
|
||||
stow alacritty # → ~/.config/alacritty/
|
||||
stow nvim # → ~/.config/nvim/
|
||||
stow waybar # → ~/.config/waybar/
|
||||
```
|
||||
|
||||
# Actively using programs
|
||||
This is equivalent to:
|
||||
```sh
|
||||
stow <app> --target ~/
|
||||
```
|
||||
|
||||
To remove (unstow):
|
||||
```sh
|
||||
stow -D <app>
|
||||
```
|
||||
|
||||
### System-wide installation (requires sudo)
|
||||
|
||||
Some programs install assets into system directories under `/usr/share/`. Use `--target` to override the destination.
|
||||
|
||||
```sh
|
||||
# Themes → /usr/share/themes/
|
||||
sudo stow <theme> --dir ~/dotfiles --target /usr/share/themes
|
||||
|
||||
# Icons/cursors → /usr/share/icons/
|
||||
sudo stow <icon-theme> --dir ~/dotfiles --target /usr/share/icons
|
||||
|
||||
# Fonts → /usr/share/fonts/
|
||||
sudo stow <font> --dir ~/dotfiles --target /usr/share/fonts
|
||||
```
|
||||
|
||||
To remove a system-wide stow:
|
||||
```sh
|
||||
sudo stow -D <app> --dir ~/dotfiles --target /usr/share/themes
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CustomizeLinux
|
||||
|
||||
Third-party programs and themes managed as git submodules under `CustomizeLinux/`. After cloning with `--recurse-submodules` they are ready to use.
|
||||
|
||||
| Directory | Description | Install target |
|
||||
|-----------|-------------|----------------|
|
||||
| `adw-gtk3` | GTK3 libadwaita theme | `/usr/share/themes` (system) or `~/.themes` (user) |
|
||||
| `minegrub` | Minecraft-style GRUB theme | `/boot/grub/themes` (requires sudo) |
|
||||
| `posy-cursors` | Clean cursor theme | `/usr/share/icons` (system) or `~/.local/share/icons` (user) |
|
||||
| `SpotX-Bash` | Spotify ad-blocker patch script | Run as user |
|
||||
| `Tela-icon-theme` | Flat icon theme | `/usr/share/icons` (system) or `~/.local/share/icons` (user) |
|
||||
| `yay` | AUR helper PKGBUILD | Build with `makepkg -si` |
|
||||
|
||||
### adw-gtk3
|
||||
|
||||
```sh
|
||||
cd CustomizeLinux/adw-gtk3
|
||||
|
||||
# User install (~/.themes)
|
||||
./install_theme.sh
|
||||
|
||||
# System install (/usr/share/themes)
|
||||
sudo ./install_theme.sh
|
||||
```
|
||||
|
||||
### minegrub (GRUB theme — requires sudo)
|
||||
|
||||
```sh
|
||||
cd CustomizeLinux/minegrub
|
||||
# Follow README instructions, then:
|
||||
sudo cp -r minegrub-theme /boot/grub/themes/
|
||||
# Update /etc/default/grub: GRUB_THEME="/boot/grub/themes/minegrub-theme/theme.txt"
|
||||
sudo grub-mkconfig -o /boot/grub/grub.cfg
|
||||
```
|
||||
|
||||
### posy-cursors
|
||||
|
||||
```sh
|
||||
cd CustomizeLinux/posy-cursors
|
||||
|
||||
# User install
|
||||
mkdir -p ~/.local/share/icons
|
||||
cp -r posy-cursor* ~/.local/share/icons/
|
||||
|
||||
# System install
|
||||
sudo cp -r posy-cursor* /usr/share/icons/
|
||||
```
|
||||
|
||||
### SpotX-Bash
|
||||
|
||||
```sh
|
||||
cd CustomizeLinux/SpotX-Bash
|
||||
bash spotx.sh
|
||||
```
|
||||
|
||||
### Tela-icon-theme
|
||||
|
||||
```sh
|
||||
cd CustomizeLinux/Tela-icon-theme
|
||||
|
||||
# User install (~/.local/share/icons)
|
||||
./install.sh
|
||||
|
||||
# System install (/usr/share/icons, requires sudo)
|
||||
sudo ./install.sh
|
||||
```
|
||||
|
||||
### yay (AUR helper)
|
||||
|
||||
```sh
|
||||
cd CustomizeLinux/yay
|
||||
makepkg -si
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Actively using programs
|
||||
|
||||
- Shell: `zsh` with `oh-my-zsh`
|
||||
- Terminal: `alacritty`
|
||||
- WM: `hyprland` and (slowly configuring) `niri`
|
||||
- WM: `niri` (Wayland, scrollable tiling)
|
||||
- Wallpaper: `hyprpaper`
|
||||
- Notification: `mako`
|
||||
- Lock: `swaylock`
|
||||
- Bar: `waybar`
|
||||
- Menu: `wofi` and `wofi-emoji`
|
||||
- Menu: `wofi` / `wofi-emoji`
|
||||
- Audio: `wireplumber`
|
||||
- Tools:
|
||||
- `tmux`
|
||||
- `neovim`
|
||||
- Tools: `tmux`, `neovim`
|
||||
|
||||
---
|
||||
|
||||
## Useful commands
|
||||
|
||||
Getting all locally installed packages:
|
||||
```sh
|
||||
pacman -Qs | grep "local/" | awk '{print $1}' | awk -F '/' '{print $2}' > allPackages.txt
|
||||
```
|
||||
|
||||
Reinstalling all packages:
|
||||
```sh
|
||||
cat allPackages.txt | yay -S - --needed
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Notes
|
||||
|
||||
- Network interface is set to `wlan0`
|
||||
- Static IP `192.168.0.99/24` assigned to `wlan0` via NetworkManager
|
||||
- Gateway: `192.168.0.1`
|
||||
- To inspect: `nmcli connection show`
|
||||
- To reconfigure: `nmcli connection modify <connection> ipv4.addresses 192.168.0.99/24 ipv4.gateway 192.168.0.1 ipv4.method manual && nmcli connection up <connection>`
|
||||
|
||||
---
|
||||
|
||||
## License (CC0 1.0 Universal)
|
||||
|
||||
> See [LICENSE](LICENSE) for the full text.
|
||||
|
||||
notkaramel/dotfiles by Antoine Phan (@notkaramel) is marked with CC0 1.0 Universal. To view a copy of this license, visit http://creativecommons.org/publicdomain/zero/1.0
|
||||
|
||||
Credit: [Dreams of Autonomy](https://youtu.be/y6XCebnB9gs) and [DevInsideYou](https://youtu.be/CFzEuBGPPPg) for the GNU Stow workflow.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user