Compare commits
No commits in common. "345606b8003487a66f1060f159f8830ad71d3fdc" and "730948ff319e74023e1d199f2c580b3b761db278" have entirely different histories.
345606b800
...
730948ff31
|
@ -15,8 +15,6 @@ catppuccin-gtk-theme-macchiato
|
||||||
chafa
|
chafa
|
||||||
chromium
|
chromium
|
||||||
cups
|
cups
|
||||||
dhcpcd
|
|
||||||
dialog
|
|
||||||
docker
|
docker
|
||||||
dosfstools
|
dosfstools
|
||||||
dkms
|
dkms
|
||||||
|
@ -35,7 +33,6 @@ hplip
|
||||||
htop
|
htop
|
||||||
i3-wm
|
i3-wm
|
||||||
i3lock-color
|
i3lock-color
|
||||||
ifplugd
|
|
||||||
imagemagick
|
imagemagick
|
||||||
jq
|
jq
|
||||||
kwayland5
|
kwayland5
|
||||||
|
@ -52,8 +49,10 @@ mlocate
|
||||||
nmap
|
nmap
|
||||||
nemo
|
nemo
|
||||||
neofetch
|
neofetch
|
||||||
netctl
|
|
||||||
neovim
|
neovim
|
||||||
|
network-manager-applet
|
||||||
|
networkmanager
|
||||||
|
nm-connection-editor
|
||||||
noto-fonts-emoji
|
noto-fonts-emoji
|
||||||
numlockx
|
numlockx
|
||||||
obsidian
|
obsidian
|
||||||
|
@ -100,7 +99,6 @@ vim
|
||||||
vlc
|
vlc
|
||||||
vscodium-bin
|
vscodium-bin
|
||||||
wget
|
wget
|
||||||
wpa_supplicant
|
|
||||||
xautolock
|
xautolock
|
||||||
xclip
|
xclip
|
||||||
xdg-user-dirs
|
xdg-user-dirs
|
||||||
|
|
|
@ -1,56 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
# ${1} : environment (see README.md)
|
|
||||||
module_names=''
|
|
||||||
echo -e "* Auto-create wired profil, autoconnect service for netctl and polybar module..."
|
|
||||||
for i in `ip -br l | awk '$1 !~ "lo|vir|br|wl" { print $1}'`; do
|
|
||||||
echo -e "~ ${i}..."
|
|
||||||
module_name="network-${i}"
|
|
||||||
module_names+=" ${module_name}"
|
|
||||||
cat <<- EOF | sudo tee /etc/netctl/${i} >/dev/null
|
|
||||||
Interface=${i}
|
|
||||||
Connection=ethernet
|
|
||||||
IP=dhcp
|
|
||||||
EOF
|
|
||||||
cat <<- EOF | tee ~/.config/polybar/config.d/${i}.${1} >/dev/null
|
|
||||||
[module/${module_name}]
|
|
||||||
type = internal/network
|
|
||||||
interface = ${i}
|
|
||||||
ping-interval = 3
|
|
||||||
label-connected = \${env:BAR_WIRED_CONNECTED}
|
|
||||||
label-disconnected =
|
|
||||||
label-disconnected-foreground = \${colors.text}
|
|
||||||
; Consider an 'UNKNOWN' interface state as up.
|
|
||||||
; Some devices like USB network adapters have
|
|
||||||
; an unknown state, even when they're running
|
|
||||||
; Default: false
|
|
||||||
unknown-as-up = true
|
|
||||||
EOF
|
|
||||||
sudo systemctl enable --now netctl-ifplugd@${i}
|
|
||||||
# In case some old config stays....
|
|
||||||
sudo systemctl restart netctl-ifplugd@${i}
|
|
||||||
|
|
||||||
done
|
|
||||||
echo -e "* Autoconnect to wireless profiles..."
|
|
||||||
for i in `ip -br l | awk '$1 ~ "wl" { print $1}'`; do
|
|
||||||
module_name="network-${i}"
|
|
||||||
module_names+=" ${module_name}"
|
|
||||||
echo -e "~ ${i}..."
|
|
||||||
cat <<- EOF | tee ~/.config/polybar/config.d/${i}.${1} >/dev/null
|
|
||||||
[module/${module_name}]
|
|
||||||
type = internal/network
|
|
||||||
interface = ${i}
|
|
||||||
ping-interval = 3
|
|
||||||
label-connected = \${env:BAR_WIFI_CONNECTED}
|
|
||||||
label-disconnected =
|
|
||||||
label-disconnected-foreground = \${colors.text}
|
|
||||||
EOF
|
|
||||||
sudo systemctl enable --now netctl-auto@${i}
|
|
||||||
done
|
|
||||||
echo -e "* Create an override polybar file to add all discovered networks..."
|
|
||||||
cat << EOF | tee ~/.config/polybar/config.d/bottom_center.${1} >/dev/null
|
|
||||||
[variables]
|
|
||||||
bottom_center = updates-arch-combined ${module_names}
|
|
||||||
EOF
|
|
||||||
# https://man.archlinux.org/man/netctl.special.7
|
|
||||||
echo -e "* Ensure connections are back when PC is resumed..."
|
|
||||||
sudo systemctl enable netctl-sleep
|
|
|
@ -14,8 +14,8 @@ export MOCHA_ROSEWATER="#f2cdcd"
|
||||||
export MOCHA_MAUVE="#ca9ee6"
|
export MOCHA_MAUVE="#ca9ee6"
|
||||||
export MOCHA_TEAL="#81c8be"
|
export MOCHA_TEAL="#81c8be"
|
||||||
export BAR_WINDOW="%{F$MOCHA_TEXT}%title%"
|
export BAR_WINDOW="%{F$MOCHA_TEXT}%title%"
|
||||||
export BAR_WIFI_CONNECTED="%{F$MOCHA_TEXT}%essid% %{F$MOCHA_YELLOW}%{F$MOCHA_TEXT} %local_ip% %{F$MOCHA_YELLOW}%{F$MOCHA_TEXT} %downspeed% %{F$MOCHA_YELLOW}%{F$MOCHA_TEXT} %upspeed%"
|
export BAR_WIFI_CONNECTED="%{F$MOCHA_TEXT}%essid% %{F$MOCHA_YELLOW}%{F$MOCHA_TEXT} %local_ip% %{F$MOCHA_YELLOW}%{F$MOCHA_TEXT} %downspeed% %{F$MOCHA_YELLOW}%{F$MOCHA_TEXT} %upspeed%"
|
||||||
export BAR_WIRED_CONNECTED="%{F$MOCHA_TEXT}%ifname% %{F$MOCHA_YELLOW}%{F$MOCHA_TEXT} %local_ip% %{F$MOCHA_YELLOW}%{F$MOCHA_TEXT} %downspeed% %{F$MOCHA_YELLOW}%{F$MOCHA_TEXT} %upspeed%"
|
export BAR_WIRED_CONNECTED="%{F$MOCHA_TEXT}%ifname% %{F$MOCHA_YELLOW}%{F$MOCHA_TEXT} %local_ip% %{F$MOCHA_YELLOW}%{F$MOCHA_TEXT} %downspeed% %{F$MOCHA_YELLOW}%{F$MOCHA_TEXT} %upspeed%"
|
||||||
export BAR_CPU="%{F$MOCHA_MAUVE} "
|
export BAR_CPU="%{F$MOCHA_MAUVE} "
|
||||||
export BAR_TEMP_OK="%{F$MOCHA_MAUVE} %{F-} %temperature-c%"
|
export BAR_TEMP_OK="%{F$MOCHA_MAUVE} %{F-} %temperature-c%"
|
||||||
export BAR_TEMP_WARN="%{F$MOCHA_PEACH} %{F-} %temperature-c%"
|
export BAR_TEMP_WARN="%{F$MOCHA_PEACH} %{F-} %temperature-c%"
|
||||||
|
|
|
@ -6,6 +6,7 @@ top_center = player-mpris
|
||||||
;top_center = xwindow
|
;top_center = xwindow
|
||||||
top_right = system-usb-udev date
|
top_right = system-usb-udev date
|
||||||
bottom_left = i3
|
bottom_left = i3
|
||||||
|
bottom_center = updates-arch-combined wired-network
|
||||||
bottom_right = temperature cpu memory filesystem-custom
|
bottom_right = temperature cpu memory filesystem-custom
|
||||||
|
|
||||||
[module/memory]
|
[module/memory]
|
|
@ -6,6 +6,7 @@ top_center = player-mpris
|
||||||
;top_center = xwindow
|
;top_center = xwindow
|
||||||
top_right = system-usb-udev backlight pulseaudio date
|
top_right = system-usb-udev backlight pulseaudio date
|
||||||
bottom_left = i3
|
bottom_left = i3
|
||||||
|
bottom_center = updates-arch-combined wireless-network
|
||||||
bottom_right = temperature cpu memory filesystem-custom
|
bottom_right = temperature cpu memory filesystem-custom
|
||||||
|
|
||||||
[module/memory]
|
[module/memory]
|
|
@ -76,6 +76,26 @@ type = internal/xwindow
|
||||||
label = ${env:BAR_WINDOW}
|
label = ${env:BAR_WINDOW}
|
||||||
label-maxlen=100
|
label-maxlen=100
|
||||||
|
|
||||||
|
[module/wireless-network]
|
||||||
|
type = internal/network
|
||||||
|
interface-type = wireless
|
||||||
|
interval = 1
|
||||||
|
label-connected = ${env:BAR_WIFI_CONNECTED}
|
||||||
|
label-disconnected = Wireless disconnected
|
||||||
|
label-disconnected-foreground = ${colors.text}
|
||||||
|
; Poorly documented and hackish way to have more space between some modules
|
||||||
|
label-connected-margin = 10
|
||||||
|
label-disconnected-margin = 10
|
||||||
|
|
||||||
|
[module/wired-network]
|
||||||
|
type = internal/network
|
||||||
|
interface = enp8s0
|
||||||
|
interface-type = wired
|
||||||
|
interval = 1
|
||||||
|
label-connected = ${env:BAR_WIRED_CONNECTED}
|
||||||
|
label-disconnected = Ethernet disconnected
|
||||||
|
label-disconnected-foreground = ${colors.text}
|
||||||
|
|
||||||
[module/i3]
|
[module/i3]
|
||||||
type = internal/i3
|
type = internal/i3
|
||||||
format = <label-state> <label-mode>
|
format = <label-state> <label-mode>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Wait for connection
|
|
||||||
source $(dirname $0)/../.env
|
source $(dirname $0)/../.env
|
||||||
connect=$(ping -q -w 1 -c 1 8.8.8.8 &> /dev/null)
|
connect=$(ping -q -w 1 -c 1 `ip r | grep default | cut -d ' ' -f 3` &> /dev/null)
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
updates_arch=$(/usr/bin/checkupdates | wc -l)
|
updates_arch=$(/usr/bin/checkupdates | wc -l)
|
||||||
# a restricts to AUR packages
|
# a restricts to AUR packages
|
||||||
|
|
|
@ -50,24 +50,27 @@ function check_copy() {
|
||||||
# with an optional `$1/config.d/$2` file. This is useful for having
|
# with an optional `$1/config.d/$2` file. This is useful for having
|
||||||
# a common base for multiple computer, and per-computer stuff.
|
# a common base for multiple computer, and per-computer stuff.
|
||||||
# $1 : path of the folder
|
# $1 : path of the folder
|
||||||
# $2 : current environment
|
# $2 : optional current environment
|
||||||
# $3 : if defined, prepend $2 instead of appending
|
# $3 : if defined, prepend $2 instead of appending
|
||||||
function merge_config() {
|
function merge_config() {
|
||||||
echo -e "\n=== Generate ${m} config file ==="
|
echo -e "\n=== Generate ${m} config file ==="
|
||||||
final_path=${CONFIG}/${m}/${FINAL_CONFIG}.${2}
|
rm -f ${CONFIG}/${m}/${FINAL_CONFIG}
|
||||||
rm -f ${final_path}
|
|
||||||
# Copy common config
|
# Copy common config
|
||||||
cp ${CONFIG}/${m}/${BASE_CONFIG} ${final_path}
|
cp ${CONFIG}/${m}/${BASE_CONFIG} ${CONFIG}/${m}/${FINAL_CONFIG}
|
||||||
echo "${final_path} created"
|
echo "${CONFIG}/${m}/${FINAL_CONFIG} created"
|
||||||
# If there is an override folder, merge given env
|
# If there is an override folder, merge given env
|
||||||
if [ ! -z ${2} ] && [ -d ${CONFIG}/${m}/${MERGE_CONFIG_FOLDER} ]; then
|
if [ ! -z ${2} ] && [ -d ${CONFIG}/${m}/${MERGE_CONFIG_FOLDER} ]; then
|
||||||
for f in `find ${CONFIG}/${m}/config.d -type f -path "*${2}"`; do
|
for f in `find ${CONFIG}/${m}/config.d -type f -path "*${2}"`; do
|
||||||
|
final_path=${CONFIG}/${m}/${FINAL_CONFIG}
|
||||||
if [ -z $3 ]; then
|
if [ -z $3 ]; then
|
||||||
echo "Found ${f}, append to regular config file"
|
echo "Found ${f}, append to regular config file"
|
||||||
echo -e "\n$(cat ${f})\n" >> ${final_path}
|
cat "${f}" >> ${final_path}
|
||||||
else
|
else
|
||||||
echo "Found ${f}, prepend to regular config file"
|
echo "Found ${f}, prepend to regular config file"
|
||||||
echo -e "\n$(cat ${f})\n$(cat ${final_path})\n" > ${final_path}
|
cat ${f} > /tmp/config
|
||||||
|
echo -e '\n' >> /tmp/config
|
||||||
|
cat ${final_path} >> /tmp/config
|
||||||
|
mv /tmp/config ${final_path}
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -91,13 +94,15 @@ function init_system() {
|
||||||
# https://man.archlinux.org/man/rofi-dmenu.5
|
# https://man.archlinux.org/man/rofi-dmenu.5
|
||||||
echo -e "* Symlink dmenu → rofi..."
|
echo -e "* Symlink dmenu → rofi..."
|
||||||
sudo ln -sf /usr/bin/rofi /usr/bin/dmenu
|
sudo ln -sf /usr/bin/rofi /usr/bin/dmenu
|
||||||
echo -e "* Enabling common systemd units..."
|
echo -e "* Enabling required systemd units..."
|
||||||
|
sudo systemctl enable --now NetworkManager
|
||||||
sudo systemctl enable --now systemd-timesyncd
|
sudo systemctl enable --now systemd-timesyncd
|
||||||
sudo systemctl enable --now cups
|
sudo systemctl enable --now cups
|
||||||
sudo systemctl enable --now bluetooth
|
sudo systemctl enable --now bluetooth
|
||||||
sudo systemctl enable --now bluetooth-autoconnect
|
sudo systemctl enable --now bluetooth-autoconnect
|
||||||
sudo systemctl enable --now updatedb.timer
|
sudo systemctl enable --now updatedb.timer
|
||||||
~/.config/init_netctl.sh
|
# iwd will be used as a backend for NetworkManager
|
||||||
|
sudo systemctl disable wpa_supplicant
|
||||||
echo -e "* Ensure hardware clock is up to date..."
|
echo -e "* Ensure hardware clock is up to date..."
|
||||||
sudo hwclock --systohc
|
sudo hwclock --systohc
|
||||||
# So that "Open in Terminal" works inc Nemo
|
# So that "Open in Terminal" works inc Nemo
|
||||||
|
@ -153,7 +158,6 @@ CONFIG=${XDG_CONFIG_HOME:-$HOME/.config}
|
||||||
|
|
||||||
ENV=${1}
|
ENV=${1}
|
||||||
|
|
||||||
# First thing to do, before symlinks
|
|
||||||
for m in ${MERGE_DIRS}; do
|
for m in ${MERGE_DIRS}; do
|
||||||
if [ -f "${CONFIG}/${m}/${MERGE_CONFIG_FOLDER}/above" ]; then
|
if [ -f "${CONFIG}/${m}/${MERGE_CONFIG_FOLDER}/above" ]; then
|
||||||
merge_config $m ${ENV} true
|
merge_config $m ${ENV} true
|
||||||
|
@ -162,19 +166,6 @@ for m in ${MERGE_DIRS}; do
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
echo -e "\n=== Create symlink to *.${ENV} regular files ==="
|
|
||||||
# Take all specific files and create a symlink pointing to it without the extension
|
|
||||||
# This file will be used by applications
|
|
||||||
for f in `find ${CONFIG} -type f -name "*.${ENV}"`; do
|
|
||||||
echo "${f%.*} → ${f}"
|
|
||||||
ln -sf ${f} ${f%.*}
|
|
||||||
done
|
|
||||||
# Take care of config files at home level, outside ${CONFIG} (e.g. Xresources)
|
|
||||||
for f in `find ${HOME} -maxdepth 1 -mindepth 1 -type f -name "*.${ENV}"`; do
|
|
||||||
echo "${f%.*} → ${f}"
|
|
||||||
ln -sf ${f} ${f%.*}
|
|
||||||
done
|
|
||||||
|
|
||||||
echo -e "\n=== Copy changed configuration which resides in outer directory ==="
|
echo -e "\n=== Copy changed configuration which resides in outer directory ==="
|
||||||
# Destination files are regular files
|
# Destination files are regular files
|
||||||
for f in `find ${CONFIG} -type f -name ${DEST_FILENAME}`; do
|
for f in `find ${CONFIG} -type f -name ${DEST_FILENAME}`; do
|
||||||
|
@ -193,7 +184,8 @@ for f in `find ${CONFIG} -type f -name ${DEST_FILENAME}`; do
|
||||||
filename=${config_file##*/}
|
filename=${config_file##*/}
|
||||||
# Now copy to destination
|
# Now copy to destination
|
||||||
real_dest=${DEST}/${subfolder}
|
real_dest=${DEST}/${subfolder}
|
||||||
sudo mkdir -p ${real_dest}
|
echo $real_dest
|
||||||
|
sudo mkdir -p ${real_dest}
|
||||||
absolute_source=`realpath "${DIR}/${config_file}"`
|
absolute_source=`realpath "${DIR}/${config_file}"`
|
||||||
check_copy "${absolute_source}" "sudo cp ${absolute_source} ${real_dest}" "sudo rm ${real_dest}/${filename}"
|
check_copy "${absolute_source}" "sudo cp ${absolute_source} ${real_dest}" "sudo rm ${real_dest}/${filename}"
|
||||||
done
|
done
|
||||||
|
@ -203,6 +195,21 @@ if [ ! -z "$INIT" ]; then
|
||||||
init_system
|
init_system
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ ! -z ${ENV} ]; then
|
||||||
|
echo -e "\n=== Create symlink to *.${ENV} regular files ==="
|
||||||
|
# Take all specific files and create a symlink pointing to it without the extension
|
||||||
|
# This file will be used by applications
|
||||||
|
for f in `find ${CONFIG} -type f -name "*.${ENV}"`; do
|
||||||
|
echo "${f%.*} → ${f}"
|
||||||
|
ln -sf ${f} ${f%.*}
|
||||||
|
done
|
||||||
|
# Take care of config files at home level, outside ${CONFIG} (e.g. Xresources)
|
||||||
|
for f in `find ${HOME} -maxdepth 1 -mindepth 1 -type f -name "*.${ENV}"`; do
|
||||||
|
echo "${f%.*} → ${f}"
|
||||||
|
ln -sf ${f} ${f%.*}
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
if [ ! -z "${WM_RESTART}" ]; then
|
if [ ! -z "${WM_RESTART}" ]; then
|
||||||
echo -e "\n=== Restart graphical environment ==="
|
echo -e "\n=== Restart graphical environment ==="
|
||||||
# Reload i3 configuration
|
# Reload i3 configuration
|
||||||
|
|
Loading…
Reference in New Issue