diff --git a/install b/install index fc9a0e3..0155308 100755 --- a/install +++ b/install @@ -34,6 +34,10 @@ DIRECTORIES=( "Videos" ) +WORK_DIRECTORIES=( + "Work" +) + # Files which should be symlinked in the home folder LINKED_FILES_HOME=( ".config/autokey" @@ -68,7 +72,6 @@ LINKED_FILES_HOME=( ".config/zathura" ".config/zsh" ".local/bin" - ".local/share/applications/vim.desktop" ".local/share/gnupg/gpg-agent.conf" ) @@ -87,7 +90,8 @@ PERMISSIONS=( # Groups the user should be added to ADD_GROUPS=( - "bumblebee" + "log" + "wheel" ) # Array of systemd services which should be enabled @@ -102,7 +106,7 @@ SYSTEMD_SERVICES=( ############################################################################### # Install package manager and packages # ############################################################################### -print_section "Installing requirements" +print_section "Installing package requirements" sudo pacman -S git base-devel --noconfirm --needed print_section "Installing yay" @@ -128,77 +132,130 @@ yay -S --noconfirm --needed "$(cat "${PACKAGES_DIR}/packages.list")" ############################################################################### -# Create directories and symlinks # +# Creating directories # ############################################################################### print_section "Creating directories" for dir in "${DIRECTORIES[@]}" do - create_directory "${dir}" + print_log "Creating directory ${YELLOW}${HOME}/${dir}${RESET}" + mkdir -p "${HOME}/${dir}" done +if [ "${IS_WORK}" = "1" ]; then + print_section "Creating work directories" + for dir in "${WORK_DIRECTORIES[@]}" + do + print_log "Creating directory ${YELLOW}${HOME}/${dir}${RESET}" + mkdir -p "${HOME}/${dir}" + done +fi + + +############################################################################### +# Creating symlinks # +############################################################################### print_section "Creating symlinks" for file in "${LINKED_FILES_HOME[@]}"; do - create_link "${file}" + print_log "Linking ${YELLOW}${HOME}/${file}${RESET} to ${YELLOW}${SYSTEM_DIR}/${file}${RESET}" + rm -rf "${HOME:?}/${file}" + ln -fs "${SYSTEM_DIR}/${file}" "${HOME}/${file}" done + for file in "${!LINKED_FILES[@]}"; do - print_log "Linking ${YELLOW}${file}${RESET} -> ${YELLOW}${LINKED_FILES[${file}]}${RESET}" + print_log "Linking ${YELLOW}${file}${RESET} to ${YELLOW}${LINKED_FILES[${file}]}${RESET}" rm -rf "${file}" ln -fs "${LINKED_FILES[${file}]}" "${file}" done -print_section "Give permissions" + +############################################################################### +# Giving permissions # +############################################################################### +print_section "Giving permissions" for permission in "${!PERMISSIONS[@]}"; do - set_permission "${USER}" "${PERMISSIONS[${permission}]}" "${permission}" + print_log "Changing owner of ${YELLOW}${permission}${RESET} to ${YELLOW}${USER}${RESET}" + sudo chown -R "${USER}" ""${permission}"" + print_log "Changing permission of ${YELLOW}"${permission}"${RESET} to ${YELLOW}${PERMISSIONS[${permission}]}${RESET}" + sudo chmod -R "${PERMISSIONS[${permission}]}" "${permission}" done -print_section "Add user to groups" + +############################################################################### +# Adding user to groups # +############################################################################### +print_section "Adding user to groups" for group in "${ADD_GROUPS[@]}" do - add_to_group "${USER}" "${group}" + print_log "Adding user ${YELLOW}${USER}${RESET} to group ${YELLOW}${group}${RESET}" + sudo gpasswd -a "${USER}" "${group}" > /dev/null 2>&1 done + +############################################################################### +# Copying systemd services # +############################################################################### print_section "Copying systemd services" for file in "${SYSTEM_DIR}/etc/systemd/system/"* do - print_log "Copy ${YELLOW}$(basename "${file}")${RESET} to ${YELLOW}/etc/systemd/system${RESET}" + print_log "Copying ${YELLOW}$(basename "${file}")${RESET} to ${YELLOW}/etc/systemd/system${RESET}" sudo install -m 644 "${file}" "/etc/systemd/system" done + +############################################################################### +# Enabling systemd services # +############################################################################### print_section "Enabling systemd services" for service in "${SYSTEMD_SERVICES[@]}" do - enable_service "${service}" + print_log "Enabling service ${YELLOW}${service}${RESET}" + sudo systemctl enable "${service}" done -print_section "Copy custom udev rules" + +############################################################################### +# Enabling systemd services # +############################################################################### +print_section "Copying custom udev rules" for file in "${SYSTEM_DIR}/etc/udev/rules.d/"*.rules do - copy_udev_rule "${file}" + print_log "Copying ${YELLOW}$(basename "${file}")${RESET} to ${YELLOW}/etc/udev/rules.d/${RESET}" + sudo cp "${file}" "/etc/udev/rules.d/" done sudo udevadm control --reload-rules -print_section "Copy sudoers content" -for file in "${SYSTEM_DIR}/etc/sudoers.d/"* -do - copy_sudoers_content "${file}" -done -print_section "Copy other files" -print_log "Copy ${SYSTEM_DIR}/etc/docker/daemon.json" +############################################################################### +# Copying other files # +############################################################################### +print_section "Copying other files" + +print_log "Copying custom sudoers file to ${YELLOW}/etc/sudoers.d${RESET}" +sudo install -m 0440 "${SYSTEM_DIR}/etc/sudoers.d/severin" "/etc/sudoers.d" + +print_log "Copying docker configuration to ${YELLOW}/etc/docker${RESET}" sudo install -m 644 "${SYSTEM_DIR}/etc/docker/daemon.json" "/etc/docker" -print_section "Set lockscreen image" -echo "${DOTFILES}/assets/lockscreen.${HOST}.jpg" -betterlockscreen -u "${DOTFILES}/assets/lockscreen.${HOST}.jpg" -print_section "Create issue file" +############################################################################### +# Setting lockscreen image # +############################################################################### +print_section "Setting lockscreen image" +betterlockscreen -u "${DOTFILES}/assets/lockscreen.${HOST}.jpg" > /dev/null 2>&1 +print_log "Lockscreen generated" + + +############################################################################### +# Creating issue file # +############################################################################### +print_section "Creating issue file" { -echo '\e{red}'; -< "/etc/hostname" tr '[:lower:]' '[:upper:]' | figlet -f big | sed "s/\\\\/\\\\\\\/g"; -echo -e "\\\r (\\\l)"; -echo '\e{reset}'; + echo '\e{red}'; + < "/etc/hostname" tr '[:lower:]' '[:upper:]' | figlet -f big | sed "s/\\\\/\\\\\\\/g"; + echo -e "\\\r (\\\l)"; + echo '\e{reset}'; } >> "/tmp/issue" -sudo mv "/tmp/issue" "/etc/issue" +sudo install "/tmp/issue" "/etc/issue" print_log "Issue file created" \ No newline at end of file diff --git a/system/.config/autokey/autokey.json~ b/system/.config/autokey/autokey.json~ index 70666eb..925f3fa 100644 --- a/system/.config/autokey/autokey.json~ +++ b/system/.config/autokey/autokey.json~ @@ -1,5 +1,5 @@ { - "version": "0.95.6", + "version": "0.95.7", "userCodeDir": null, "settings": { "isFirstRun": true, diff --git a/system/.config/custom/env b/system/.config/custom/env index ebaa39c..0a611b6 100644 --- a/system/.config/custom/env +++ b/system/.config/custom/env @@ -11,11 +11,11 @@ # # USAGE: # This script is sourced by .bashrc +# XDG_Base_Directories if [ -f "${XDG_BIN_HOME}/utils" ]; then . "${XDG_BIN_HOME}/utils" fi -# XDG_Base_Directories export XDG_CONFIG_HOME="${HOME}/.config" export XDG_CACHE_HOME="${HOME}/.cache" export XDG_DATA_HOME="${HOME}/.local/share" @@ -23,6 +23,13 @@ export XDG_BIN_HOME="${HOME}/.local/bin" export XDG_LOG_HOME="${HOME}/.local/log" export DOTFILES="${HOME}/dotfiles" +export HOST="$(hostname)" +if [ "${HOST}" = "odin" ]; then + export IS_WORK="1" +else + export IS_WORK="0" +fi + # XDG Overrides for unsupported programs export HTTPIE_CONFIG_DIR="${XDG_CONFIG_HOME}/httpie" export WGETRC="${XDG_CONFIG_HOME}/wget/wgetrc" @@ -52,9 +59,6 @@ export TASKRC="${XDG_CONFIG_HOME}/task/taskrc" mkdir -p "${XDG_DATA_HOME}/python" export PYTHONSTARTUP="${XDG_CONFIG_HOME}/python/startup.py" -# Nvidia -export __GL_SHADER_DISK_CACHE_PATH="/tmp" - # zsh export ZDOTDIR="${XDG_CONFIG_HOME}/zsh" export HISTFILE="${XDG_DATA_HOME}/zsh/history" @@ -71,7 +75,7 @@ fi # Setting applications export VISUAL=vim export EDITOR="${VISUAL}" -export TERMINAL=termite +export TERMINAL="termite" export BROWSER="google-chrome-beta" export PAGER="less" export MANPAGER="${PAGER}" diff --git a/system/.config/i3/config b/system/.config/i3/config index 8905152..e2a47a8 100644 --- a/system/.config/i3/config +++ b/system/.config/i3/config @@ -1,8 +1,8 @@ ############################################################################### # Outputs # ############################################################################### -set $output1 HDMI1 -set $output2 eDP1 +set $output1 HDMI-1-1 +set $output2 eDP-1-1 # SCRIPT NAME: # .config/i3/config.base # diff --git a/system/.config/streamlink/config b/system/.config/streamlink/config index 7512592..a2539c1 100644 --- a/system/.config/streamlink/config +++ b/system/.config/streamlink/config @@ -11,4 +11,4 @@ # This file is automatically used by Streamlink. player=mpv player-no-close -twitch-oauth-token=30ktx6jc273cdc9gmkb7jftny3vrgn \ No newline at end of file +twitch-oauth-token=fujbnp4d30039odtmsf7sb1xglxfzn \ No newline at end of file diff --git a/system/.local/bin/utils b/system/.local/bin/utils index 85b6ac5..b201703 100755 --- a/system/.local/bin/utils +++ b/system/.local/bin/utils @@ -56,61 +56,4 @@ function print_section() { function print_log() { echo -e " • $1" -} - -# Creates the given directory in the home directory -# USAGE: create_directory DIRECTORY -function create_directory() { - print_log "Creating directory ${YELLOW}${HOME}/${1}${RESET}" - mkdir -p "${HOME}/${1}" -} - -# Creates a symlink of the given file from the home directory to here. -# USAGE: create_link FILE -function create_link() { - print_log "Linking ${YELLOW}${HOME}/${1}${RESET} -> ${YELLOW}${SYSTEM_DIR}/${1}${RESET}" - rm -rf "${HOME:?}/$1" - ln -fs "${SYSTEM_DIR}/${1}" "${HOME}/${1}" -} - -# Function to set owner and permission of a file -# USAGE: set_permission OWNER PERMISSION FILE -function set_permission() { - print_log "Changing owner of ${YELLOW}${3}${RESET} to ${YELLOW}${1}${RESET}" - sudo chown -R "${1}" "${3}" - print_log "Changing permission of ${YELLOW}${3}${RESET} to ${YELLOW}${2}${RESET}" - sudo chmod -R "${2}" "${3}" -} - -# Function to add a user to a group -# USAGE add_to_group USER GROUP -function add_to_group() { - print_log "Add user ${YELLOW}${1}${RESET} to group ${YELLOW}${2}${RESET} " - sudo gpasswd -a "${1}" "${2}" > /dev/null 2>&1 -} - -# Function to enable a service -# USAGE: enable_service SERVICE -function enable_service() { - print_log "Enabling service ${YELLOW}${1}${RESET}" - sudo systemctl enable "${1}" -} - -# Function to copy a udev rule to /etc/udev/rules.d/ -# USAGE: copy_udev_rules FILE -function copy_udev_rule() { - print_log "Copying ${YELLOW}$(basename "${1}")${RESET} to ${YELLOW}/etc/udev/rules.d/${RESET}" - sudo cp "${1}" "/etc/udev/rules.d/" -} - -# Function to copy sudoers files to /etc/sudoers.d/ -# USAGE: copy_sudoers_content FILE -function copy_sudoers_content() { - print_log "Copying ${YELLOW}$(basename "${1}")${RESET} to ${YELLOW}/etc/sudoers.d/${RESET}" - - sudo mkdir -p "/tmp/sudoers" - sudo cp "${1}" "/tmp/sudoers/$(basename "${1}")" - sudo chmod 0440 "/tmp/sudoers/$(basename "${1}")" - sudo cp -a "/tmp/sudoers/$(basename "${1}")" "/etc/sudoers.d/" - -} +} \ No newline at end of file