summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSüleyman Fərəcli <suleyman@farajli.net>2025-06-27 21:38:35 +0400
committerGitHub <noreply@github.com>2025-06-27 21:38:35 +0400
commitf267d0b07f549dcfbe2782ce30df2accde2bd673 (patch)
treef6ce1b889bdff12d521ba75c636657620d65d2b4
parent8b88efdc14d442e129887e4b45e4b07fce03a4dc (diff)
parentd01aa72037643860458263fb8556943768bd268b (diff)
Merge pull request #17 from sfarajli/dev_minimal
Dev minimal
-rw-r--r--Makefile14
-rw-r--r--README18
-rw-r--r--README.md71
-rwxr-xr-xdep.sh107
4 files changed, 74 insertions, 136 deletions
diff --git a/Makefile b/Makefile
index 78396b3..9f97c53 100644
--- a/Makefile
+++ b/Makefile
@@ -28,9 +28,7 @@ DIRECTORIES = $(BINDIR) $(CONFDIR) $(FONTDIR)
COPY = cp -r
LINK = ln -sf
-all: config $(DIRECTORIES) scripts
-
-full: all desktop
+all: config $(DIRECTORIES) scripts desktop
desktop: $(INSTALL_TARGETS)
@@ -106,12 +104,6 @@ font1-install font2-install:
$(COPY) $$(basename $< .tar.gz) $(FONTDIR)
fc-cache
-check:
- @./dep.sh
-
-fullcheck:
- @./dep.sh --optional
-
dist: clean
mkdir -p slcf/
cp -R config distros scripts dep.sh Makefile README slcf/
@@ -121,6 +113,6 @@ dist: clean
clean:
rm -rf slcf/ slcf.tar.gz $(ARCHIVE) $(FONTS) $(SOFTWARE)
-.PHONY: all arch-linux check clean config desktop directory dist \
- fonts full fullcheck git scripts server sync \
+.PHONY: all arch-linux clean config desktop directory dist \
+ fonts git scripts server sync \
$(INSTALL_TARGETS)
diff --git a/README b/README
deleted file mode 100644
index c56825d..0000000
--- a/README
+++ /dev/null
@@ -1,18 +0,0 @@
-slcf - Suleyman's linux configuration files
-===========================================
-My personal dotfiles.
-
-Installing slcf
----------------
-slcf only installs dotfiles to the home directory of the user running the Makefile
-and doesn't affect other users. Therefore, it's recommended to create a new user
-and run make as that user. If you like the setup then you can install it for your main user.
-
-Check the dependencies
-> make depcheck
-
-Install config and scripts
-> make config scripts
-
-Install everything
-> make full
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..349db0b
--- /dev/null
+++ b/README.md
@@ -0,0 +1,71 @@
+# slcf - Suleyman's linux configuration files
+My linux xorg configuration.
+
+slcf only installs configuration to the home directory of the user running the Makefile
+and doesn't affect other users or make system-wide changes but it does overwrites the current configuration,
+so, it's recommended to create a new user and run make as that user.
+If you like the setup then you can install it for your main user.
+
+# Instlallation
+1. Make sure to use Zsh or Bash as your interactive shell, have an internet connection, and install at least the build-time dependencies.
+
+2. Create a new user (set shell either to Zsh or Bash):
+```
+useradd -m -s /bin/zsh <user>
+```
+
+3. run
+``` bash
+make
+```
+4. Log out, log back in, and run `startx` on the TTY.
+
+# Dependencies
+## Build time dependencies
+- curl
+- fontconfig (fc-cache command)
+- gcc
+- ld
+- make
+- ncurses (tic command)
+- pkg-config
+- tar
+
+## Build time libraries
+- libx11
+- libxft
+- libxinerama
+
+## Program dependencies (optional but recommended)
+- Xorg
+- dunst
+- fzf
+- git
+- lf >= r31
+- mpv
+- libnotify (notify-send command)
+- nsxiv or sxiv
+- nvim >= 0.10.3 or vim
+- picom
+- qutebrowser
+- scrot
+- setxkbmap
+- xorg-xinit
+- xclip
+- zathura
+- zsh or bash
+
+## Script dependencies (optional but recommended)
+- brightnessctl
+- pulseaudio
+- xgamma
+- xinput
+- xset
+- xwallpaper
+
+# Notes
+- Refer to [my dwm build man page](https://git.farajli.net/dwm.git/tree/dwm.1) for keybinds.
+
+# Troubleshooting
+- brightnessctl can require privileged user to function, to solve it refer to [brightnessctl page](https://github.com/Hummer12007/brightnessctl#Permissions).
+- pulseaudio sometimes doesn't start automatically to start it manually run `pulseaudio --start`.
diff --git a/dep.sh b/dep.sh
deleted file mode 100755
index 2e51e18..0000000
--- a/dep.sh
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/bin/sh
-
-# Check if programs are installed on the system.
-# Format for entries `program,alternative_program:output_message`,
-# `alternative_program` and `message` are optional.
-check() {
- fail=0
- [ "${1}" = "-l" ] && { ISLIB=1; shift;} || ISLIB=0
- for entry in "${@}"; do
- missing=0
- program_part=${entry%%:*}
- program=${program_part%%,*}
- alt_program=${program_part#*,}
- msg=${entry#*:}
-
- [ "${msg}" = "${entry}" ] && msg="${program} is missing"
-
- if [ "${ISLIB}" -eq 1 ]; then
- pkg-config --exists "${program}" || missing=1
- elif ! command -v "${program}" > /dev/null 2>&1 &&
- ! command -v "${alt_program}" > /dev/null 2>&1; then
- missing=1
- fi
-
- [ "${missing}" -eq 1 ] && { echo "$msg" >&2; fail=1; }
- done
- return "${fail}"
-}
-
-retval=0
-
-# Optional Dependencies, skip QEMU and lualatex check
-[ "${1}" = "--optional" ] && check \
- cmus \
- latex,pdflatex:"latex is missing" \
- neomutt,mutt \
- pamus \
- pandoc \
- shellcheck \
- ssh \
- 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" \
- yt-dlp
-
-# Programs
-check \
- Xorg \
- dunst \
- fzf \
- git \
- lf \
- mpv \
- notify-send:"libnotify is missing" \
- nsxiv,sxiv \
- nvim,vim \
- picom \
- qutebrowser \
- scrot \
- setxkbmap \
- startx:"xorg-xinit is missing" \
- xclip \
- zathura \
- zsh,bash
-
-# Script dependencies
-check \
- brightnessctl \
- pulseaudio \
- xgamma \
- xinput \
- xset \
- xwallpaper
-
-# Build dependencies
-check \
- cc:"c compiler is missing" \
- curl \
- fc-cache:"fontconfig is missing" \
- ld:"linker is missing" \
- make \
- tic:"ncurses is missing" \
- tar || retval=1
-
-# Libraries
-if check pkg-config; then
- check -l \
- x11:"libX11 is missing" \
- xft:"libXft is missing " \
- xinerama:"libXinerama is missing" || retval=1
-else
- echo "Warning: Skipping library check since 'pkg-config' is missing" >&2
- retval=1
-fi
-
-exit "${retval}"