diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 6ccecba..1541529 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -186,6 +186,7 @@ bind = $mainMod, T, exec, Telegram bind = $mainMod, B, exec, $browser bind = $mainMod, O, exec, obsidian bind = $mainMod, L, exec, hyprlock +bind = $mainMod, delete, exec, hyprshot -m output bind = $mainMod, C, killactive, bind = $mainMod, M, exit, bind = $mainMod, D, exec, $fileManager diff --git a/README.md b/README.md index 4b13b1c..55dcd36 100644 --- a/README.md +++ b/README.md @@ -1 +1,19 @@ -# dots \ No newline at end of file +# dots + +My personal dots for Hyprland + Arch linux setup + +## Overview + +![Waybar](./images/sc1.png) +![Terminal + Fastfetch](./images/sc2.png) +![NeoVim](./images/sc3.png) +## Core components +- Hyprland +- Waybar +- Wofi +- Hyprlock +- NeoVim + AstroNvim +- Kitty + OhMyZsh +- Hyprshot +- Fastfetch +- Lazygit diff --git a/docs/sc1.png b/docs/sc1.png new file mode 100644 index 0000000..be308be Binary files /dev/null and b/docs/sc1.png differ diff --git a/docs/sc2.png b/docs/sc2.png new file mode 100644 index 0000000..fc43235 Binary files /dev/null and b/docs/sc2.png differ diff --git a/docs/sc3.png b/docs/sc3.png new file mode 100644 index 0000000..31f0005 Binary files /dev/null and b/docs/sc3.png differ diff --git a/makefile b/makefile new file mode 100644 index 0000000..13e4593 --- /dev/null +++ b/makefile @@ -0,0 +1,116 @@ +HOME_DIR := $(HOME) +CONFIG_DIR := $(HOME)/.config +DOTFILES := $(shell pwd) + +.PHONY: all backup install deps dotfiles help + +all: help + +backup: + @echo "Backup your dotfiles..." + mkdir -p $(HOME_DIR)/.dotbackup + cp -r $(CONFIG_DIR) $(HOME_DIR)/.dotbackup/ 2>/dev/null || true + @echo "✓ Backup done at $(HOME_DIR)/.dotbackup" + +deps: + @echo "Installing dependencies..." + sudo pacman -S --needed hyprland nvim kitty lazygit swww hyprshot hyprlock waybar wofi fastfetch zsh curl git + @echo "✓ Dependencies installed" + +install-zsh: + @echo "Installing oh-my-zsh..." + @if [ ! -d "$(HOME_DIR)/.oh-my-zsh" ]; then \ + sh -c "$$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended; \ + else \ + echo "oh-my-zsh already installed"; \ + fi + @if [ "$(shell echo $$SHELL)" != "$(shell which zsh)" ]; then \ + chsh -s $$(which zsh); \ + echo "✓ Shell changed to zsh (relogin required)"; \ + fi + +dotfiles: + @echo "Deleting old dotfiles..." + rm -rf $(CONFIG_DIR)/wofi + rm -rf $(CONFIG_DIR)/waybar + rm -rf $(CONFIG_DIR)/kitty + rm -rf $(CONFIG_DIR)/hyprland + rm -rf $(CONFIG_DIR)/lazygit + rm -rf $(CONFIG_DIR)/fastfetch + rm -rf $(CONFIG_DIR)/nvim + @echo "✓ Old configs removed" + + @echo "Installing dotfiles..." + # Hyprland + mkdir -p $(CONFIG_DIR)/hyprland + cp -r $(DOTFILES)/config/hyprland/* $(CONFIG_DIR)/hyprland/ + + # Waybar + mkdir -p $(CONFIG_DIR)/waybar + cp -r $(DOTFILES)/config/waybar/* $(CONFIG_DIR)/waybar/ + + # Wofi + mkdir -p $(CONFIG_DIR)/wofi + cp -r $(DOTFILES)/config/wofi/* $(CONFIG_DIR)/wofi/ + + # Kitty + mkdir -p $(CONFIG_DIR)/kitty + cp -r $(DOTFILES)/config/kitty/* $(CONFIG_DIR)/kitty/ + + # Neovim + mkdir -p $(CONFIG_DIR)/nvim + cp -r $(DOTFILES)/config/nvim/* $(CONFIG_DIR)/nvim/ + + # Lazygit + mkdir -p $(CONFIG_DIR)/lazygit + cp -r $(DOTFILES)/config/lazygit/* $(CONFIG_DIR)/lazygit/ + + # Fastfetch + mkdir -p $(CONFIG_DIR)/fastfetch + cp -r $(DOTFILES)/config/fastfetch/* $(CONFIG_DIR)/fastfetch/ + + + @if [ -f "$(DOTFILES)/config/zsh/.zshrc" ]; then \ + cp $(DOTFILES)/config/zsh/.zshrc $(HOME_DIR)/.zshrc; \ + fi + + # Make scripts executable + chmod +x $(CONFIG_DIR)/hyprland/scripts/*.sh 2>/dev/null || true + chmod +x $(CONFIG_DIR)/waybar/scripts/*.sh 2>/dev/null || true + + @echo "✓ Dotfiles installation complete!" + +install: backup deps install-zsh dotfiles + @echo "" + @echo "==========================================" + @echo "✓ Installation complete!" + @echo "==========================================" + @echo "" + @echo "Next steps:" + @echo " 1. Relogin to apply zsh changes" + @echo " 2. Reload Hyprland (SUPER+SHIFT+R)" + @echo " 3. Enjoy your new setup! 🎉(if my setup bad for you use the "sudo make clear ")" + @echo "" + +clean: + @echo "Removing installed dotfiles..." + rm -rf $(CONFIG_DIR)/hyprland + rm -rf $(CONFIG_DIR)/waybar + rm -rf $(CONFIG_DIR)/wofi + rm -rf $(CONFIG_DIR)/kitty + rm -rf $(CONFIG_DIR)/nvim + rm -rf $(CONFIG_DIR)/lazygit + rm -rf $(CONFIG_DIR)/fastfetch + @echo "✓ Dotfiles removed" + +help: + @echo "Dotfiles Makefile by d3m0k1d" + @echo "" + @echo "Usage:" + @echo " make install - Full installation (backup + deps + dotfiles)" + @echo " make backup - Backup existing configs only" + @echo " make deps - Install dependencies only" + @echo " make dotfiles - Install dotfiles only" + @echo " make install-zsh - Install oh-my-zsh only" + @echo " make clean - Remove installed dotfiles" + @echo " make help - Show this help"