diff --git a/assets/lockscreen.odin.jpg b/assets/lockscreen.odin.jpg new file mode 100644 index 0000000..8f67d97 Binary files /dev/null and b/assets/lockscreen.odin.jpg differ diff --git a/assets/wallpaper.odin.jpg b/assets/wallpaper.odin.jpg new file mode 100644 index 0000000..107a45f Binary files /dev/null and b/assets/wallpaper.odin.jpg differ diff --git a/install b/install index 7fed508..048e7b6 100755 --- a/install +++ b/install @@ -13,24 +13,25 @@ # # USAGE: # ./install +. ./system/.config/custom/env . ./system/.local/bin/utils ############################################################################### # Configuration variables # ############################################################################### -# The user for the installation -USER="severin" +HOST="$(hostname)" # Directories which should be created DIRECTORIES=( ".local/log" "Build" "Downloads" + "Keys" + "Music" + "Pictures" "Projects" "Tasks" "Videos" - "Pictures" - "Music" ) # Files which should be symlinked in the home folder @@ -95,20 +96,15 @@ SYSTEMD_SERVICES=( "NetworkManager" "org.cups.cupsd" "suspend" + "xboxdrv" ) -####################################### -# Main code -####################################### +############################################################################### +# Install package manager and packages # +############################################################################### print_section "Installing requirements" sudo pacman -S git base-devel --noconfirm --needed -print_section "Creating directories" -for dir in "${DIRECTORIES[@]}" -do - create_directory "${dir}" -done - print_section "Installing yay" is_yay_installed=$(command -v yay) @@ -128,8 +124,17 @@ fi print_section "Installing packages" package_count=$(< "${PACKAGES_DIR}/packages.list" wc -l) print_log "Installing ${package_count} packages" -# Install packages -#yay -S --noconfirm $(cat "${PACKAGES_DIR}/packages.list") +yay -S --noconfirm --needed $(cat "${PACKAGES_DIR}/packages.list") + + +############################################################################### +# Create directories and symlinks # +############################################################################### +print_section "Creating directories" +for dir in "${DIRECTORIES[@]}" +do + create_directory "${dir}" +done print_section "Creating symlinks" for file in "${LINKED_FILES_HOME[@]}"; @@ -180,6 +185,10 @@ do copy_sudoers_content "${file}" done +print_section "Set lockscreen image" +echo "${DOTFILES}/assets/lockscreen.${HOST}.jpg" +betterlockscreen -u "${DOTFILES}/assets/lockscreen.${HOST}.jpg" + print_section "Create issue file" { echo '\e{red}'; diff --git a/packages/packages.list b/packages/packages.list index 86b6bba..9e32566 100644 --- a/packages/packages.list +++ b/packages/packages.list @@ -19,7 +19,6 @@ betterlockscreen-git biber binutils bison -bless blueman bluez-utils bzip2 @@ -50,13 +49,13 @@ e2fsprogs efibootmgr escrotum-git evince +evtest exfat-utils fakeroot fd feh figlet file -filemanager-actions filesystem filezilla findutils @@ -77,6 +76,7 @@ glibc google-chrome-beta gotop-bin gparted +gpick gpicview-gtk3 grep grive-git @@ -85,6 +85,7 @@ gtk-engine-murrine gtk-engines gucharmap guvcview +gvfs-smb gzip hplip httpie @@ -101,8 +102,9 @@ iproute2 iputils java-openjfx-bin jdk-openjdk -jdk8 +jdk8-openjdk jfsutils +jpegoptim jre-openjdk jstest-gtk-git keepassxc @@ -117,7 +119,9 @@ light linux linux-firmware logrotate +lsb-release lsd +lutris lvm2 lxappearance m4 @@ -154,17 +158,20 @@ noto-fonts noto-fonts-cjk noto-fonts-emoji npm +nss-mdns nvidia nvidia-settings nvidia-xrun obs-studio openssh +optipng ovmf p7zip pacman pamixer -pandoc -pandoc-citeproc +pandoc-bin +pandoc-citeproc-bin +pandoc-crossref-bin paper-icon-theme patch pavucontrol @@ -175,6 +182,7 @@ perl-archive-zip phonon-qt4 php-cs-fixer picard +plata-theme polybar procps-ng psmisc @@ -247,7 +255,6 @@ texlive-pstricks texlive-publishers texlive-science tk -todoist-git tsk-git ttf-croscore ttf-dejavu @@ -272,6 +279,8 @@ whois wine-tkg-staging-esync-marchopt-git winetricks wqy-zenhei +xboxdrv +xclip xdelta3 xdg-user-dirs xf86-video-intel @@ -279,6 +288,7 @@ xfsprogs xorg-server xorg-xbacklight xorg-xev +xorg-xhost xorg-xinit xorg-xprop xorg-xrandr @@ -286,6 +296,7 @@ xpad xreader xss-lock xwiimote-git +xwinwrap-git yay-git youtube-dl zathura-pdf-mupdf diff --git a/system/.config/cron/crontab b/system/.config/cron/crontab index 11c8d69..fc7e83b 100644 --- a/system/.config/cron/crontab +++ b/system/.config/cron/crontab @@ -19,8 +19,8 @@ # Synchronize notes every 15 minutes */15 * * * * $HOME/.local/bin/sync-notes >> $HOME/.local/log/cron.log -# Synchronize tasks every 15 minutes -*/15 * * * * $HOME/.local/bin/sync-tasks >> $HOME/.local/log/cron.log +# Synchronize tasks every 10 minutes +*/10 * * * * $HOME/.local/bin/sync-tasks >> $HOME/.local/log/cron.log # Synchronize rss feeds every 15 minutes */15 * * * * $HOME/.local/bin/rss-sync >> $HOME/.local/log/cron.log diff --git a/system/.config/custom/env b/system/.config/custom/env index 76e7f36..ebaa39c 100644 --- a/system/.config/custom/env +++ b/system/.config/custom/env @@ -11,7 +11,17 @@ # # USAGE: # This script is sourced by .bashrc -. "${XDG_BIN_HOME}/utils" +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" +export XDG_BIN_HOME="${HOME}/.local/bin" +export XDG_LOG_HOME="${HOME}/.local/log" +export DOTFILES="${HOME}/dotfiles" # XDG Overrides for unsupported programs export HTTPIE_CONFIG_DIR="${XDG_CONFIG_HOME}/httpie" @@ -53,7 +63,10 @@ export SAVEHIST=1000 export HISTSIZE=1000 export HISTFILESIZE=2000 mkdir -p "${XDG_DATA_HOME}/zsh/zcompdump-${ZSH_VERSION}" -compinit -d "${XDG_DATA_HOME}/zsh/zcompdump-${ZSH_VERSION}" + +if [ -n "$(command -v compinit)" ]; then + compinit -d "${XDG_DATA_HOME}/zsh/zcompdump-${ZSH_VERSION}" +fi # Setting applications export VISUAL=vim diff --git a/system/.config/git/config b/system/.config/git/config index 0a37df5..143eafe 100644 --- a/system/.config/git/config +++ b/system/.config/git/config @@ -29,7 +29,7 @@ a = add --all # Create a commit and sign it off - c = commit -s + c = commit -s -S # Push to the master branch of the origin remote p = push --follow-tags @@ -50,9 +50,6 @@ [push] default = upstream -[commit] - gpgsign = true - [url "git@gitlab.com:severinkaderli/"] insteadOf = gl: diff --git a/system/.config/task/taskrc b/system/.config/task/taskrc index 8183684..39c1616 100644 --- a/system/.config/task/taskrc +++ b/system/.config/task/taskrc @@ -15,7 +15,7 @@ data.location=/home/severin/Tasks verbose=blank,footnote,label,new-id,affected,edit,special,project,sync,unwait report.todo.description=Tasks with now due date, overdue or due in the next 7 days -report.todo.columns=id,due,project,description.count +report.todo.columns=id,due,project,description.desc report.todo.labels=ID,Due,Project,Description report.todo.sort=due+ report.todo.filter=due.before:1wk and status:pending or due: and status:pending @@ -30,3 +30,10 @@ color.due= color.due.today= dateformat=Y-M-D H:N +# Synchronization +taskd.certificate=/home/severin/Keys/taskwarrior/private.certificate.pem +taskd.key=/home/severin/Keys/taskwarrior/private.key.pem +taskd.ca=/home/severin/Keys/taskwarrior/ca.cert.pem +taskd.server=taskwarrior.inthe.am:53589 +taskd.credentials=inthe_am/severin.kaderli/0a28cfd9-a503-4518-8e62-25eef00f6e00 +taskd.trust=ignore hostname \ No newline at end of file diff --git a/system/.config/zsh/.zshrc b/system/.config/zsh/.zshrc index 68fbe94..2065c60 100644 --- a/system/.config/zsh/.zshrc +++ b/system/.config/zsh/.zshrc @@ -40,16 +40,9 @@ zstyle ':completion:*' menu select # Persistent rehash zstyle ':completion:*' rehash true -# XDG_Base_Directories -export XDG_CONFIG_HOME="${HOME}/.config" -export XDG_CACHE_HOME="${HOME}/.cache" -export XDG_DATA_HOME="${HOME}/.local/share" -export XDG_BIN_HOME="${HOME}/.local/bin" -export XDG_LOG_HOME="${HOME}/.local/log" - # Sourcing environment variables -if [ -f "${XDG_CONFIG_HOME}/custom/env" ]; then - . "${XDG_CONFIG_HOME}/custom/env" +if [ -f "${HOME}/.config/custom/env" ]; then + . "${HOME}/.config/custom/env" fi # Enable color support of ls diff --git a/system/.local/bin/screenlock b/system/.local/bin/screenlock index 52b64d8..9ace5ec 100755 --- a/system/.local/bin/screenlock +++ b/system/.local/bin/screenlock @@ -12,4 +12,4 @@ # # USAGE: # ./screenlock -betterlockscreen -l blur -t "Welcome back, Severin!" \ No newline at end of file +betterlockscreen -l -t "Welcome back, Severin!" \ No newline at end of file diff --git a/system/.local/bin/sync-tasks b/system/.local/bin/sync-tasks index 20ed6f7..d20a874 100755 --- a/system/.local/bin/sync-tasks +++ b/system/.local/bin/sync-tasks @@ -13,8 +13,13 @@ # ./sync-tasks . /home/severin/.local/bin/utils +export TASKDATA="/home/severin/Tasks" +export TASKRC="/home/severin/.config/task/taskrc" + print_time_log "sync-tasks" "Synchronizing tasks" +task sync + cd "/home/severin/Tasks" || exit git pull > /dev/null 2>&1 git add --all > /dev/null 2>&1 diff --git a/system/.local/bin/wallpaper b/system/.local/bin/wallpaper index 337c7b7..2f35377 100755 --- a/system/.local/bin/wallpaper +++ b/system/.local/bin/wallpaper @@ -13,7 +13,5 @@ # ./wallpaper . /home/severin/.local/bin/utils -print_time_log "wallpaper" "Changing wallpaper" - -# When run from a cronjob the DISPLAY environment variable is not set -DISPLAY=:0 feh --randomize --bg-fill --no-fehbg "${HOME}/Pictures/01_Wallpaper/Desktop/" \ No newline at end of file +HOST="$(hostname)" +feh --bg-fill --no-fehbg "${DOTFILES}/assets/wallpaper.${HOST}.jpg" \ No newline at end of file diff --git a/system/etc/systemd/system/suspend.service b/system/etc/systemd/system/suspend.service index dcc0720..cf25fe5 100644 --- a/system/etc/systemd/system/suspend.service +++ b/system/etc/systemd/system/suspend.service @@ -1,14 +1,15 @@ [Unit] -Description=User suspend actions -Before=suspend.target +Description=Lock screen when going to sleep or suspend. +Before=sleep.target [Service] User=severin -Type=forking +Type=simple Environment=DISPLAY=:0 ExecStart=/home/severin/.local/bin/screenlock -ExecStartPost=/usr/bin/sleep 1 +TimeoutSec=infinity [Install] -WantedBy=sleep.target \ No newline at end of file +WantedBy=sleep.target +WantedBy=suspend.target \ No newline at end of file