Update install.sh
This commit is contained in:
88
install.sh
88
install.sh
@@ -3,6 +3,15 @@
|
|||||||
# Qtile - Debian install - Martin - ITmail.dk
|
# Qtile - Debian install - Martin - ITmail.dk
|
||||||
# nano qtile-install.sh && chmod +x qtile-install.sh && ./qtile-install.sh
|
# nano qtile-install.sh && chmod +x qtile-install.sh && ./qtile-install.sh
|
||||||
# bash -c "$(wget -O- http://192.168.18.34:3005/mara/made-install/raw/branch/main/install.sh)"
|
# bash -c "$(wget -O- http://192.168.18.34:3005/mara/made-install/raw/branch/main/install.sh)"
|
||||||
|
# sudo apt install -y git && git clone http://192.168.18.34:3005/mara/made-install.git && cd made-install && . install.sh
|
||||||
|
|
||||||
|
# Resource links to source
|
||||||
|
# https://qtile.org
|
||||||
|
#
|
||||||
|
# Rofi - Run menu´s
|
||||||
|
# https://github.com/ericmurphyxyz/rofi-wifi-menu
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
# Whiptail colors
|
# Whiptail colors
|
||||||
export NEWT_COLORS='
|
export NEWT_COLORS='
|
||||||
@@ -70,12 +79,12 @@ questions=("Do you want to install XRDP Remote desktop" \
|
|||||||
"Install Google Chrome" \
|
"Install Google Chrome" \
|
||||||
"Install Kitty terminal or use XTerm" \
|
"Install Kitty terminal or use XTerm" \
|
||||||
"Install Thunar file manager" \
|
"Install Thunar file manager" \
|
||||||
"Install Rofi Run-menu")
|
)
|
||||||
commands=("sudo apt install -y xrdp && sudo systemctl restart xrdp.service" \
|
commands=("sudo apt install -y xrdp && sudo systemctl restart xrdp.service" \
|
||||||
"cd /tmp/ && wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && sudo apt install -y /tmp/google-chrome-stable_current_amd64.deb && rm google-chrome-stable_current_amd64.deb" \
|
"cd /tmp/ && wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && sudo apt install -y /tmp/google-chrome-stable_current_amd64.deb && rm google-chrome-stable_current_amd64.deb" \
|
||||||
"sudo apt install -y kitty" \
|
"sudo apt install -y kitty" \
|
||||||
"sudo apt install -y thunar" \
|
"sudo apt install -y thunar" \
|
||||||
"sudo apt install -y rofi")
|
)
|
||||||
|
|
||||||
# Array to store user choices
|
# Array to store user choices
|
||||||
choices=()
|
choices=()
|
||||||
@@ -103,8 +112,6 @@ echo -e "${RED} "
|
|||||||
echo -e "${RED}-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-"
|
echo -e "${RED}-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-"
|
||||||
echo -e "${RED} ${NC}"
|
echo -e "${RED} ${NC}"
|
||||||
|
|
||||||
sudo apt update
|
|
||||||
|
|
||||||
if ! dpkg -s apt-transport-https >/dev/null 2>&1; then
|
if ! dpkg -s apt-transport-https >/dev/null 2>&1; then
|
||||||
sudo apt install -y apt-transport-https
|
sudo apt install -y apt-transport-https
|
||||||
sudo sed -i 's+http:+https:+g' /etc/apt/sources.list
|
sudo sed -i 's+http:+https:+g' /etc/apt/sources.list
|
||||||
@@ -112,12 +119,14 @@ else
|
|||||||
echo "apt-transport-https is already installed."
|
echo "apt-transport-https is already installed."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
sudo apt update
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
echo -e "${YELLOW} Core System APT install ${NC}"
|
echo -e "${YELLOW} Core System APT install ${NC}"
|
||||||
sudo apt install -y xserver-xorg x11-utils xinit arandr autorandr picom mesa-utils htop feh wget curl git alsa-utils alsa-tools pulseaudio numlockx cups xsensors xbacklight brightnessctl unzip
|
sudo apt install -y xserver-xorg x11-utils xinit arandr autorandr picom mesa-utils htop feh wget curl git alsa-utils alsa-tools pulseaudio numlockx cups xsensors xbacklight brightnessctl unzip network-manager dunst libnotify-bin notify-osd xautolock xsecurelock pm-utils rofi
|
||||||
sudo apt install -y sddm --no-install-recommends
|
sudo apt install -y sddm --no-install-recommends
|
||||||
|
|
||||||
sudo apt install -y nitrogen dunst notify-osd xarchiver mpv flameshot speedcrunch mc gvfs-backends mpd mpc ncmpcpp
|
sudo apt install -y nitrogen xarchiver mpv flameshot speedcrunch mc gvfs-backends mpd mpc ncmpcpp
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
echo -e "${YELLOW} Audio on system - https://alsa.opensrc.org - https://wiki.debian.org/ALSA ${NC}"
|
echo -e "${YELLOW} Audio on system - https://alsa.opensrc.org - https://wiki.debian.org/ALSA ${NC}"
|
||||||
@@ -206,6 +215,9 @@ numlockx on &
|
|||||||
mpd &
|
mpd &
|
||||||
#nitrogen --restore &
|
#nitrogen --restore &
|
||||||
|
|
||||||
|
# lock computer automatically after X time of minutes.
|
||||||
|
xautolock -time 120 -locker "xsecurelock" -detectsleep -secure &
|
||||||
|
|
||||||
QTILEAUTOSTART
|
QTILEAUTOSTART
|
||||||
|
|
||||||
chmod +x ~/.config/qtile/autostart.sh
|
chmod +x ~/.config/qtile/autostart.sh
|
||||||
@@ -463,7 +475,7 @@ echo -e "${YELLOW} xrandr-set-max + Xsession START ${NC}"
|
|||||||
|
|
||||||
if [ ! -f /usr/local/bin/xrandr-set-max ]; then
|
if [ ! -f /usr/local/bin/xrandr-set-max ]; then
|
||||||
# Define the content of the script
|
# Define the content of the script
|
||||||
xrandr-set-max_content=$(cat <<'XRANDRSETMAX'
|
xrandrsetmaxcontent=$(cat << "XRANDRSETMAX"
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Get the names of all connected displays
|
# Get the names of all connected displays
|
||||||
@@ -481,7 +493,7 @@ XRANDRSETMAX
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Write the script content to the target file using sudo
|
# Write the script content to the target file using sudo
|
||||||
echo "$xrandr-set-max_content" | sudo tee /usr/local/bin/xrandr-set-max >/dev/null
|
echo "$xrandrsetmaxcontent" | sudo tee /usr/local/bin/xrandr-set-max >/dev/null
|
||||||
|
|
||||||
# SDDM Before Login - /usr/share/sddm/scripts/Xsetup and After Login - /usr/share/sddm/scripts/Xsession
|
# SDDM Before Login - /usr/share/sddm/scripts/Xsetup and After Login - /usr/share/sddm/scripts/Xsession
|
||||||
sudo sed -i '$a\. /usr/local/bin/xrandr-set-max' /usr/share/sddm/scripts/Xsetup
|
sudo sed -i '$a\. /usr/local/bin/xrandr-set-max' /usr/share/sddm/scripts/Xsetup
|
||||||
@@ -2178,6 +2190,28 @@ from libqtile.lazy import lazy
|
|||||||
from libqtile.utils import guess_terminal # terminal = guess_terminal()
|
from libqtile.utils import guess_terminal # terminal = guess_terminal()
|
||||||
#from libqtile.dgroups import simple_key_binder
|
#from libqtile.dgroups import simple_key_binder
|
||||||
|
|
||||||
|
# Custom code start ----------------------------------------------------
|
||||||
|
|
||||||
|
def guess_browser():
|
||||||
|
"""Guess the default web browser."""
|
||||||
|
# Define a list of common web browsers
|
||||||
|
browsers = ["google-chrome", "firefox", "chromium", "vivaldi", "opera", "brave-browser", "safari"]
|
||||||
|
|
||||||
|
# Loop through the list of browsers and check if they exist in PATH
|
||||||
|
for browser in browsers:
|
||||||
|
try:
|
||||||
|
subprocess.run(["which", browser], check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||||
|
return browser
|
||||||
|
except subprocess.CalledProcessError:
|
||||||
|
continue
|
||||||
|
|
||||||
|
# If no browser is found, return None
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Custom code end ------------------------------------------------------
|
||||||
|
|
||||||
# Colors use example active=colors["3"],
|
# Colors use example active=colors["3"],
|
||||||
# Colors format "number": "#hex color code", # comment
|
# Colors format "number": "#hex color code", # comment
|
||||||
colors = {
|
colors = {
|
||||||
@@ -2205,30 +2239,46 @@ colors = {
|
|||||||
"bg_dark": "#1a1826", # black
|
"bg_dark": "#1a1826", # black
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
|
||||||
mod = "mod4"
|
mod = "mod4"
|
||||||
terminal = guess_terminal()
|
terminal = guess_terminal()
|
||||||
browser = "google-chrome"
|
browser = guess_browser()
|
||||||
fileexplorer = "thunar"
|
fileexplorer = "thunar"
|
||||||
runmenu = 'rofi -modi "drun,run,window,filebrowser" -show drun' # Switch between -modi... Default key CTRL+TAB
|
runmenu = 'rofi -modi "drun,run,window,filebrowser" -show drun' # Switch between -modi... Default key CTRL+TAB
|
||||||
|
|
||||||
|
|
||||||
keys = [
|
keys = [
|
||||||
# A list of available commands that can be bound to keys can be found
|
# A list of available commands that can be bound to keys can be found
|
||||||
# at https://docs.qtile.org/en/latest/manual/config/lazy.html
|
# at https://docs.qtile.org/en/latest/manual/config/lazy.html
|
||||||
|
#
|
||||||
|
# Examples:
|
||||||
|
# a key binding that can run an external Script or Command
|
||||||
|
# Key([mod], "l", lazy.spawn(os.path.expanduser("xsecurelock")), desc='Computer Lockdown'),
|
||||||
|
#
|
||||||
|
# a normal key binding that pulls from a variable
|
||||||
|
# Key([mod], "Return", lazy.spawn(terminal), desc="Launch Terminal"),
|
||||||
|
|
||||||
# Custom keyboard shortcut + and there are more below ScratchPad Keybindings
|
# Keybindings
|
||||||
Key([mod], "Return", lazy.spawn(terminal), desc="Launch Terminal"),
|
Key([mod], "Return", lazy.spawn(terminal), desc="Launch Terminal"),
|
||||||
Key([mod], "b", lazy.spawn(browser), desc="Launch Web Browser"),
|
Key([mod], "b", lazy.spawn(browser), desc="Launch Web Browser"),
|
||||||
Key([mod], "e", lazy.spawn(fileexplorer), desc="Launch File Explorer"),
|
Key([mod], "e", lazy.spawn(fileexplorer), desc="Launch File Explorer"),
|
||||||
Key([mod], "r", lazy.spawn(runmenu), desc='Launch Run Menu'),
|
Key([mod], "r", lazy.spawn(runmenu), desc='Launch Run Menu'),
|
||||||
Key([mod, "shift"], "r", lazy.spawncmd(), desc="Spawn a command using a prompt widget"),
|
Key([mod, "shift"], "r", lazy.spawncmd(), desc="Spawn a command using a prompt widget"),
|
||||||
|
Key([mod], "l", lazy.spawn(os.path.expanduser("xsecurelock")), desc='Computer Lockdown'),
|
||||||
|
|
||||||
# Audio
|
# ScratchPad Keybindings
|
||||||
|
Key([mod, "shift"], "Return", lazy.group['scratchpad'].dropdown_toggle('term')),
|
||||||
|
Key([mod, "shift"], "e", lazy.group['scratchpad'].dropdown_toggle('mc')),
|
||||||
|
Key([mod, "shift"], "v", lazy.group['scratchpad'].dropdown_toggle('volume')),
|
||||||
|
Key([mod, "shift"], "t", lazy.group['scratchpad'].dropdown_toggle('term2')),
|
||||||
|
|
||||||
|
# Audio
|
||||||
Key([mod, "mod1"], "Up", lazy.spawn("amixer set Master 1%+"), desc='Volume Up'),
|
Key([mod, "mod1"], "Up", lazy.spawn("amixer set Master 1%+"), desc='Volume Up'),
|
||||||
Key([mod, "mod1"], "Down", lazy.spawn("amixer set Master 3%-"), desc='Volume down'),
|
Key([mod, "mod1"], "Down", lazy.spawn("amixer set Master 3%-"), desc='Volume down'),
|
||||||
Key([mod, "mod1"], "m", lazy.spawn("amixer set Master toggle"), desc='Volume Mute'),
|
Key([mod, "mod1"], "m", lazy.spawn("amixer set Master toggle"), desc='Volume Mute'),
|
||||||
|
|
||||||
# Default
|
# Default
|
||||||
Key([mod], "h", lazy.layout.left(), desc="Move focus to left"),
|
Key([mod], "h", lazy.layout.left(), desc="Move focus to left"),
|
||||||
Key([mod], "l", lazy.layout.right(), desc="Move focus to right"),
|
Key([mod], "l", lazy.layout.right(), desc="Move focus to right"),
|
||||||
Key([mod], "j", lazy.layout.down(), desc="Move focus down"),
|
Key([mod], "j", lazy.layout.down(), desc="Move focus down"),
|
||||||
@@ -2348,14 +2398,6 @@ groups.append(ScratchPad("scratchpad", [
|
|||||||
|
|
||||||
]))
|
]))
|
||||||
|
|
||||||
# ScratchPad Keybindings
|
|
||||||
keys.extend([
|
|
||||||
Key([mod, "shift"], "Return", lazy.group['scratchpad'].dropdown_toggle('term')),
|
|
||||||
Key([mod, "shift"], "e", lazy.group['scratchpad'].dropdown_toggle('mc')),
|
|
||||||
Key([mod, "shift"], "v", lazy.group['scratchpad'].dropdown_toggle('volume')),
|
|
||||||
Key([mod, "shift"], "t", lazy.group['scratchpad'].dropdown_toggle('term2')),
|
|
||||||
])
|
|
||||||
|
|
||||||
# Define layouts and layout themes
|
# Define layouts and layout themes
|
||||||
def init_layout_theme():
|
def init_layout_theme():
|
||||||
return {"margin":5,
|
return {"margin":5,
|
||||||
@@ -2407,7 +2449,7 @@ screens = [
|
|||||||
# widget.StatusNotifier(),
|
# widget.StatusNotifier(),
|
||||||
widget.Wallpaper(directory="~/Wallpapers/", label="", random_selection="True"),
|
widget.Wallpaper(directory="~/Wallpapers/", label="", random_selection="True"),
|
||||||
#widget.NetGraph(type='line', line_width=1),
|
#widget.NetGraph(type='line', line_width=1),
|
||||||
#widget.Net(prefix='M')
|
#widget.Net(prefix='M'),
|
||||||
widget.ThermalSensor(format='CPU: {temp:.0f}{unit}'),
|
widget.ThermalSensor(format='CPU: {temp:.0f}{unit}'),
|
||||||
widget.Volume(fmt="\ue638 {}"),
|
widget.Volume(fmt="\ue638 {}"),
|
||||||
widget.Spacer(length=5),
|
widget.Spacer(length=5),
|
||||||
@@ -2465,8 +2507,8 @@ auto_minimize = True
|
|||||||
# Remember to add, "import os" and "import subprocess"
|
# Remember to add, "import os" and "import subprocess"
|
||||||
@hook.subscribe.startup_once
|
@hook.subscribe.startup_once
|
||||||
def autostart():
|
def autostart():
|
||||||
script = os.path.expanduser("~/.config/qtile/autostart.sh")
|
autostartscript = os.path.expanduser("~/.config/qtile/autostart.sh")
|
||||||
subprocess.run([script])
|
subprocess.run([autostartscript])
|
||||||
|
|
||||||
# When using the Wayland backend, this can be used to configure input devices.
|
# When using the Wayland backend, this can be used to configure input devices.
|
||||||
wl_input_rules = None
|
wl_input_rules = None
|
||||||
|
|||||||
Reference in New Issue
Block a user