From 303a26b9192486e3e71f3ad5939ea855549beece Mon Sep 17 00:00:00 2001 From: Suleyman Farajli Date: Sat, 21 Jun 2025 00:51:22 +0400 Subject: feat (makefile): install fonts in desktop target --- Makefile | 41 ++++++++++++++++++++++++----------------- Sourcedeps | 13 +++++++++++++ 2 files changed, 37 insertions(+), 17 deletions(-) create mode 100644 Sourcedeps diff --git a/Makefile b/Makefile index 1928b2b..b102b62 100644 --- a/Makefile +++ b/Makefile @@ -4,6 +4,12 @@ DWM = dwm-farajli-6.5 ST = st-farajli-0.9.2 DMENU = dmenu-farajli-5.3 SLSTATUS = slstatus-farajli-1.0 +FONT1 = LiberationMono +FONT2 = JetBrainsMono + +SOFTWARE = $(DWM) $(DMENU) $(SLSTATUS) $(ST) +FONTS = $(FONT1) $(FONT2) +ARCHIVE = $(SOFTWARE:=.tar.gz) $(FONTS:=.tar.gz) CONFDIR = $(HOME)/.config MUSICDIR = $(HOME)/music @@ -11,6 +17,7 @@ PROJDIR = $(HOME)/proj BOOKDIR = $(HOME)/tproj TESTPROJDIR = $(HOME)/tproj BINDIR = $(HOME)/.local/bin +FONTDIR = $(HOME)/.local/share/fonts/ BASHRC = $(HOME)/.bashrc ZSHRC = $(HOME)/.zshrc @@ -23,9 +30,9 @@ LINK = ln -sf all: config scripts directory check -full: config scripts git directory desktop +full: config scripts directory desktop -desktop: $(DWM) $(ST) $(DMENU) $(SLSTATUS) +desktop: dmenu-install dwm-install slstatus-install st-install font1-install font2-install config: mkdir -p $(CONFDIR)/sites @@ -78,32 +85,32 @@ directory: $(TESTPROJDIR) \ $(BINDIR) -$(DWM).tar.gz $(ST).tar.gz $(DMENU).tar.gz $(SLSTATUS).tar.gz: clean - curl -LO https://farajli.net/archive/$@ +include Sourcedeps -$(DWM): $(DWM).tar.gz -$(ST): $(ST).tar.gz -$(DMENU): $(DMENU).tar.gz -$(SLSTATUS): $(SLSTATUS).tar.gz +$(ARCHIVE): + curl -LO https://farajli.net/archive/$@ -$(DWM) $(ST) $(DMENU) $(SLSTATUS): +$(SOFTWARE) $(FONTS): tar -xf $< - cd $@; PREFIX=~/.local make install + +dmenu-install dwm-install slstatus-install st-install: + PREFIX=~/.local make -C $$(basename $< .tar.gz) install + +font1-install font2-install: + $(COPY) $< $(FONTDIR) check: @-./dep.sh dist: clean mkdir -p slcf/ - cp -R config distros scripts dep.sh Makefile README slcf/ + cp -R config distros scripts dep.sh Makefile README Sourcedeps slcf/ tar -czf slcf.tar.gz slcf/ rm -rf slcf/ clean: - rm -rf slcf/ slcf.tar.gz \ - $(DWM) $(DWM).tar.gz \ - $(ST) $(ST).tar.gz \ - $(DMENU) $(DMENU).tar.gz \ - $(SLSTATUS) $(SLSTATUS).tar.gz + rm -rf slcf/ slcf.tar.gz $(ARCHIVE) $(SOFTWARE) $(FONTS) -.PHONY: all config desktop scripts server arch-linux directory full check +.PHONY: all arch-linux check config desktop directory dist \ + dmenu-install dwm-install font1-install font2-install \ + fonts full git scripts server slstatus-install st-install diff --git a/Sourcedeps b/Sourcedeps new file mode 100644 index 0000000..1004d15 --- /dev/null +++ b/Sourcedeps @@ -0,0 +1,13 @@ +$(DMENU): $(DMENU).tar.gz +$(DWM): $(DWM).tar.gz +$(SLSTATUS): $(SLSTATUS).tar.gz +$(ST): $(ST).tar.gz +$(FONT1): $(FONT1).tar.gz +$(FONT2): $(FONT2).tar.gz + +dmenu-install: $(DMENU) +dwm-install: $(DWM) +slstatus-install: $(SLSTATUS) +st-install: $(ST) +font1-install: $(FONT1) +font2-install: $(FONT2) -- cgit v1.2.3 From d30d2ffe2f26c570f0d11acbbe5860fa316ca8fd Mon Sep 17 00:00:00 2001 From: Suleyman Farajli Date: Sat, 21 Jun 2025 00:53:35 +0400 Subject: feat (zsh): add ctrl-space keybind to enter normal mode --- config/zsh/zshrc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/zsh/zshrc b/config/zsh/zshrc index 4b50761..5805115 100755 --- a/config/zsh/zshrc +++ b/config/zsh/zshrc @@ -60,9 +60,10 @@ setopt HIST_FIND_NO_DUPS # Don't show duplicate commands when backward searc # Custom keybinds bindkey '^R' history-incremental-search-backward +bindkey -s '^f' '^uls\n' bindkey -s '^o' '^ulfcd\n' -bindkey -s '^f' '^ucd "$(dirname "$(fzf --reverse)")"\n' bindkey -s '^v' '^u!!\n' +bindkey ^@ vi-cmd-mode if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc" ];then source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc" -- cgit v1.2.3 From 5f8a09e7a580dd66e6c42382c3686d686fafef0e Mon Sep 17 00:00:00 2001 From: Suleyman Farajli Date: Sat, 21 Jun 2025 00:55:19 +0400 Subject: refactor (nvim/vim): Reduce q mapping to :wq! instead of :wqa! --- config/nvim/init.lua | 2 +- config/vim/vimrc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/nvim/init.lua b/config/nvim/init.lua index dc96c1a..7f77404 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -79,4 +79,4 @@ vim.keymap.set('n', 'e', 'Neotree toggle right', { noremap = tr -- Other vim.keymap.set('n', '', 'w!' , { noremap = true, silent = true }) -vim.keymap.set('n', 'q' , 'wqa!', { noremap = true, silent = true }) +vim.keymap.set('n', 'q' , 'wq!', { noremap = true, silent = true }) diff --git a/config/vim/vimrc b/config/vim/vimrc index a7d1c0c..1cbd86c 100644 --- a/config/vim/vimrc +++ b/config/vim/vimrc @@ -41,4 +41,4 @@ inoremap " Other nnoremap :w! -nnoremap q :wqa! +nnoremap q :wq! -- cgit v1.2.3 From 7bfe7cd264185ca729dfd13f396af7567072fbb5 Mon Sep 17 00:00:00 2001 From: Suleyman Farajli Date: Sat, 21 Jun 2025 11:30:47 +0400 Subject: chore (dep.sh): only return 1 if the build dependencies are missing --- dep.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dep.sh b/dep.sh index 865a5be..67ead0f 100755 --- a/dep.sh +++ b/dep.sh @@ -45,7 +45,7 @@ check \ sxiv,nsxiv \ vim,nvim \ zathura \ - zsh,bash || retval=1 + zsh,bash # Script dependencies check \ @@ -54,7 +54,7 @@ check \ xgamma \ xinput \ xset \ - xwallpaper || retval=1 + xwallpaper # Build dependencies check \ -- cgit v1.2.3 From db71e6f124e168cbd97d581a60871de7f16c6510 Mon Sep 17 00:00:00 2001 From: Suleyman Farajli Date: Sat, 21 Jun 2025 12:36:10 +0400 Subject: feat (dep.sh): check for optional dependencies --- dep.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/dep.sh b/dep.sh index 67ead0f..dc5f1bd 100755 --- a/dep.sh +++ b/dep.sh @@ -29,6 +29,31 @@ check() { retval=0 +# Optional Dependencies, skip QEMU and lualatex check +[ "${1}" = "--optional" ] && check \ + cmus \ + latex,pdflatex:"Latex is missing" \ + mutt,neomutt \ + pandoc \ + shellcheck \ + trans:"Translate shell is missing" \ + abook \ + acpi \ + cmus \ + dash \ + docker \ + ffmpeg \ + less \ + pass \ + python3 \ + rsync \ + sudo \ + tldr,"A tldr implementation is missing" \ + unclutter,"unclutter-xfixes is missing" \ + xclip \ + yt-dlp + + # Programs check \ Xorg \ -- cgit v1.2.3 From 51d85f1b6dab91e81e651b3c595e263b2cce3ba0 Mon Sep 17 00:00:00 2001 From: Suleyman Farajli Date: Sat, 21 Jun 2025 12:37:18 +0400 Subject: fix (dep.sh): set `xclip` as a non-optional dependency --- dep.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dep.sh b/dep.sh index dc5f1bd..c4eeabe 100755 --- a/dep.sh +++ b/dep.sh @@ -50,7 +50,6 @@ retval=0 sudo \ tldr,"A tldr implementation is missing" \ unclutter,"unclutter-xfixes is missing" \ - xclip \ yt-dlp @@ -69,6 +68,7 @@ check \ startx:"xorg-xinit is missing" \ sxiv,nsxiv \ vim,nvim \ + xclip \ zathura \ zsh,bash -- cgit v1.2.3 From 3187279b87aa704c2bc3fc79153b75804cfd3802 Mon Sep 17 00:00:00 2001 From: Suleyman Farajli Date: Sat, 21 Jun 2025 12:40:00 +0400 Subject: feat (dep.sh): add `pamus` as an optional dependency --- dep.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dep.sh b/dep.sh index c4eeabe..9346702 100755 --- a/dep.sh +++ b/dep.sh @@ -34,6 +34,7 @@ retval=0 cmus \ latex,pdflatex:"Latex is missing" \ mutt,neomutt \ + pamus \ pandoc \ shellcheck \ trans:"Translate shell is missing" \ @@ -52,7 +53,6 @@ retval=0 unclutter,"unclutter-xfixes is missing" \ yt-dlp - # Programs check \ Xorg \ -- cgit v1.2.3 From 9f2de37ee870fbf277287df52a4d91bbd697a7f7 Mon Sep 17 00:00:00 2001 From: Suleyman Farajli Date: Sat, 21 Jun 2025 12:53:47 +0400 Subject: refactor(makefile): Move contents of Soucedeps into makefile and simplify targets - Explicitly defined dependencies and install commands for software and fonts. - Sourcedeps removed. - Added `sync` to install tarballs from source. - Added `fullcheck` to check optional dependencies. - Run check before installing desktop files to make sure that build dependencies exist. --- Makefile | 31 ++++++++++++++++++++----------- Sourcedeps | 13 ------------- 2 files changed, 20 insertions(+), 24 deletions(-) delete mode 100644 Sourcedeps diff --git a/Makefile b/Makefile index b102b62..e59d736 100644 --- a/Makefile +++ b/Makefile @@ -28,11 +28,11 @@ GITCONFIG = $(HOME)/.gitconfig COPY = cp -r LINK = ln -sf -all: config scripts directory check +all: config scripts directory full: config scripts directory desktop -desktop: dmenu-install dwm-install slstatus-install st-install font1-install font2-install +desktop: dmenu-install dwm-install slstatus-install st-install font1-install font2-install check config: mkdir -p $(CONFDIR)/sites @@ -85,32 +85,41 @@ directory: $(TESTPROJDIR) \ $(BINDIR) -include Sourcedeps +sync: $(ARCHIVE) $(ARCHIVE): curl -LO https://farajli.net/archive/$@ -$(SOFTWARE) $(FONTS): - tar -xf $< +dmenu-install: $(DMENU).tar.gz +dwm-install: $(DWM).tar.gz +slstatus-install: $(SLSTATUS).tar.gz +st-install: $(ST).tar.gz +font1-install: $(FONT1).tar.gz +font2-install: $(FONT2).tar.gz dmenu-install dwm-install slstatus-install st-install: + tar xf $< PREFIX=~/.local make -C $$(basename $< .tar.gz) install font1-install font2-install: - $(COPY) $< $(FONTDIR) + tar xf $< + $(COPY) $$(basename $< .tar.gz) $(FONTDIR) check: - @-./dep.sh + @./dep.sh + +fullcheck: + @./dep.sh --optional dist: clean mkdir -p slcf/ - cp -R config distros scripts dep.sh Makefile README Sourcedeps slcf/ + cp -R config distros scripts dep.sh Makefile README slcf/ tar -czf slcf.tar.gz slcf/ rm -rf slcf/ clean: rm -rf slcf/ slcf.tar.gz $(ARCHIVE) $(SOFTWARE) $(FONTS) -.PHONY: all arch-linux check config desktop directory dist \ - dmenu-install dwm-install font1-install font2-install \ - fonts full git scripts server slstatus-install st-install +.PHONY: all arch-linux check clean config desktop directory dist \ + dmenu-install dwm-install font1-install font2-install fonts \ + full fullcheck git scripts server slstatus-install st-install sync diff --git a/Sourcedeps b/Sourcedeps deleted file mode 100644 index 1004d15..0000000 --- a/Sourcedeps +++ /dev/null @@ -1,13 +0,0 @@ -$(DMENU): $(DMENU).tar.gz -$(DWM): $(DWM).tar.gz -$(SLSTATUS): $(SLSTATUS).tar.gz -$(ST): $(ST).tar.gz -$(FONT1): $(FONT1).tar.gz -$(FONT2): $(FONT2).tar.gz - -dmenu-install: $(DMENU) -dwm-install: $(DWM) -slstatus-install: $(SLSTATUS) -st-install: $(ST) -font1-install: $(FONT1) -font2-install: $(FONT2) -- cgit v1.2.3 From 2b1b8816229c428827e25c484225c9d2d1d0b791 Mon Sep 17 00:00:00 2001 From: Suleyman Farajli Date: Sat, 21 Jun 2025 12:59:52 +0400 Subject: fix(zathura): use `t` for toggling status bar instead of `n` --- config/zathura/zathurarc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/zathura/zathurarc b/config/zathura/zathurarc index ea95f22..2598c2f 100755 --- a/config/zathura/zathurarc +++ b/config/zathura/zathurarc @@ -112,7 +112,7 @@ set default-bg "#282c34" set recolor-keephue set font "Liberation Mono 9" -map n toggle_statusbar +map t toggle_statusbar map i recolor map J zoom in map K zoom out -- cgit v1.2.3 From 2efe62013e4eec1434e2e84a9cb8c3f43432501f Mon Sep 17 00:00:00 2001 From: Suleyman Farajli Date: Sat, 21 Jun 2025 13:18:10 +0400 Subject: style(makefile): Use spaces for alignment instead of tabs and sort alphabetically --- Makefile | 110 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 56 insertions(+), 54 deletions(-) diff --git a/Makefile b/Makefile index e59d736..ad2fc39 100644 --- a/Makefile +++ b/Makefile @@ -1,32 +1,32 @@ .POSIX: -DWM = dwm-farajli-6.5 -ST = st-farajli-0.9.2 -DMENU = dmenu-farajli-5.3 -SLSTATUS = slstatus-farajli-1.0 -FONT1 = LiberationMono -FONT2 = JetBrainsMono - -SOFTWARE = $(DWM) $(DMENU) $(SLSTATUS) $(ST) -FONTS = $(FONT1) $(FONT2) -ARCHIVE = $(SOFTWARE:=.tar.gz) $(FONTS:=.tar.gz) - -CONFDIR = $(HOME)/.config -MUSICDIR = $(HOME)/music -PROJDIR = $(HOME)/proj -BOOKDIR = $(HOME)/tproj +DWM = dwm-farajli-6.5 +ST = st-farajli-0.9.2 +DMENU = dmenu-farajli-5.3 +SLSTATUS = slstatus-farajli-1.0 +FONT1 = LiberationMono +FONT2 = JetBrainsMono + +SOFTWARE = $(DWM) $(DMENU) $(SLSTATUS) $(ST) +FONTS = $(FONT1) $(FONT2) +ARCHIVE = $(SOFTWARE:=.tar.gz) $(FONTS:=.tar.gz) + +CONFDIR = $(HOME)/.config +MUSICDIR = $(HOME)/music +PROJDIR = $(HOME)/proj +BOOKDIR = $(HOME)/tproj TESTPROJDIR = $(HOME)/tproj -BINDIR = $(HOME)/.local/bin -FONTDIR = $(HOME)/.local/share/fonts/ +BINDIR = $(HOME)/.local/bin +FONTDIR = $(HOME)/.local/share/fonts/ -BASHRC = $(HOME)/.bashrc -ZSHRC = $(HOME)/.zshrc -ZPROFILE = $(HOME)/.zprofile +BASHRC = $(HOME)/.bashrc +ZSHRC = $(HOME)/.zshrc +ZPROFILE = $(HOME)/.zprofile BASHPROFILE = $(HOME)/.bash_profile -GITCONFIG = $(HOME)/.gitconfig +GITCONFIG = $(HOME)/.gitconfig -COPY = cp -r -LINK = ln -sf +COPY = cp -r +LINK = ln -sf all: config scripts directory @@ -36,23 +36,23 @@ desktop: dmenu-install dwm-install slstatus-install st-install font1-install fon config: mkdir -p $(CONFDIR)/sites - $(COPY) config/bash/bashrc $(BASHRC) - $(COPY) config/zsh/zshrc $(ZSHRC) - $(COPY) config/lf $(CONFDIR) - $(COPY) config/mpv $(CONFDIR) - $(COPY) config/sxiv $(CONFDIR) - $(COPY) config/nsxiv $(CONFDIR) - $(COPY) config/picom $(CONFDIR) - $(COPY) config/qutebrowser $(CONFDIR) - $(COPY) config/shell $(CONFDIR) - $(COPY) config/vim $(CONFDIR) - $(COPY) config/nvim $(CONFDIR) - $(COPY) config/x11 $(CONFDIR) - $(COPY) config/zathura $(CONFDIR) - $(COPY) config/mimeapps.list $(CONFDIR) - $(COPY) config/sites/bookmarks.txt $(CONFDIR)/sites - $(LINK) $(CONFDIR)/shell/profile $(BASHPROFILE) - $(LINK) $(CONFDIR)/shell/profile $(ZPROFILE) + $(COPY) config/bash/bashrc $(BASHRC) + $(COPY) config/zsh/zshrc $(ZSHRC) + $(COPY) config/lf $(CONFDIR) + $(COPY) config/mpv $(CONFDIR) + $(COPY) config/sxiv $(CONFDIR) + $(COPY) config/nsxiv $(CONFDIR) + $(COPY) config/picom $(CONFDIR) + $(COPY) config/qutebrowser $(CONFDIR) + $(COPY) config/shell $(CONFDIR) + $(COPY) config/vim $(CONFDIR) + $(COPY) config/nvim $(CONFDIR) + $(COPY) config/x11 $(CONFDIR) + $(COPY) config/zathura $(CONFDIR) + $(COPY) config/mimeapps.list $(CONFDIR) + $(COPY) config/sites/bookmarks.txt $(CONFDIR)/sites + $(LINK) $(CONFDIR)/shell/profile $(BASHPROFILE) + $(LINK) $(CONFDIR)/shell/profile $(ZPROFILE) git: sed '/# signingkey = /d' config/git/gitconfig > $(GITCONFIG) @@ -64,26 +64,28 @@ git: @echo " git config --global user.signingkey " >&2 scripts: - mkdir -p $(BINDIR) - $(COPY) scripts/* $(BINDIR) + mkdir -p $(BINDIR) + $(COPY) scripts/* $(BINDIR) server: - $(COPY) config/bash/bashrc $(BASHRC) - $(COPY) config/zsh/zshrc $(ZSHRC) - $(COPY) config/lf $(CONFDIR) - $(COPY) config/shell $(CONFDIR) - $(COPY) config/vim $(CONFDIR) + $(COPY) config/bash/bashrc $(BASHRC) + $(COPY) config/zsh/zshrc $(ZSHRC) + $(COPY) config/lf $(CONFDIR) + $(COPY) config/shell $(CONFDIR) + $(COPY) config/vim $(CONFDIR) + $(COPY) scripts/noc arch-linux: sudo $(COPY) distros/arch-linux/pacman.conf /etc directory: - mkdir -p $(CONFDIR) \ - $(MUSICDIR) \ - $(PROJDIR) \ - $(BOOKDIR) \ - $(TESTPROJDIR) \ - $(BINDIR) + mkdir -p \ + $(BINDIR) \ + $(BOOKDIR) \ + $(CONFDIR) \ + $(MUSICDIR) \ + $(PROJDIR) \ + $(TESTPROJDIR) sync: $(ARCHIVE) @@ -118,7 +120,7 @@ dist: clean rm -rf slcf/ clean: - rm -rf slcf/ slcf.tar.gz $(ARCHIVE) $(SOFTWARE) $(FONTS) + rm -rf slcf/ slcf.tar.gz $(ARCHIVE) $(FONTS) $(SOFTWARE) .PHONY: all arch-linux check clean config desktop directory dist \ dmenu-install dwm-install font1-install font2-install fonts \ -- cgit v1.2.3