From: xf0r3m Date: Wed, 15 Apr 2026 12:13:26 +0000 (+0200) Subject: Przesłanie plików do repozytorium. X-Git-Url: https://gitweb.morketsmerke.org/?a=commitdiff_plain;h=afc8804cc60f801c239652360037b7b0912de965;p=pc1m3c39.git Przesłanie plików do repozytorium. --- afc8804cc60f801c239652360037b7b0912de965 diff --git a/base.sh b/base.sh new file mode 100644 index 0000000..fd47cd0 --- /dev/null +++ b/base.sh @@ -0,0 +1,210 @@ +#!/bin/bash + +set -e + +export DEBVER="$1"; +ARCH=$(dpkg --print-architecture); + +if [ $ARCH = "amd64" ]; then + KARCH="amd64"; +else + KARCH="686-pae"; +fi + +cd; +if [ -x /usr/bin/git ]; then + git clone https://git.morketsmerke.org/git/immudex; + git clone https://git.morketsmerke.org/git/pc1m3c39; +else + apt install git -y + git clone https://git.morketsmerke.org/git/immudex; + git clone https://git.morketsmerke.org/git/pc1m3c39; +fi +source ~/immudex/versions/template.sh; + +echo "deb http://deb.debian.org/debian/ ${DEBVER} main" > /etc/apt/sources.list; +echo "deb-src http://deb.debian.org/debian/ ${DEBVER} main" >> /etc/apt/sources.list; +echo "deb http://security.debian.org/debian-security ${DEBVER}-security main" >> /etc/apt/sources.list; +echo "deb-src http://security.debian.org/debian-security ${DEBVER}-security main" >> /etc/apt/sources.list; +echo "deb http://deb.debian.org/debian/ ${DEBVER}-updates main" >> /etc/apt/sources.list; +echo "deb-src http://deb.debian.org/debian/ ${DEBVER}-updates main" >> /etc/apt/sources.list; +update_packages; + + +install_packages --no-install-recommends linux-image-${KARCH} live-boot systemd-sysv -y; + +install_packages tzdata locales keyboard-configuration console-setup; + +dpkg-reconfigure tzdata; +dpkg-reconfigure locales; +dpkg-reconfigure keyboard-configuration; +dpkg-reconfigure console-setup; + +install_packages task-desktop task-xfce-desktop; + +#Usunięcie pakietów make oraz gimp - 22.11.2025; +install_packages firejail ufw cryptsetup lsof extlinux grub-efi-amd64 efibootmgr bash-completion etherwake wakeonlan cifs-utils wget figlet vim-gtk3 redshift irssi nmap nfs-common remmina python3-pip ffmpeg debootstrap squashfs-tools xorriso syslinux-efi grub-pc-bin grub-efi-amd64-bin mtools dosfstools chrony python3-venv isolinux rsync mutt openvpn netselect-apt gvfs-backends dnsutils lolcat cdparanoia icedax thunderbird nextcloud-desktop extrepo ipmitool mc wireshark minicom; + +extrepo enable librewolf; +apt update; +install_packages librewolf; + +if [ -f /usr/bin/youtube-dl ]; then rm /usr/bin/youtube-dl; fi + +ytdlpVer=$(curl https://github.com/yt-dlp/yt-dlp/releases.atom 2>/dev/null | grep '.*$' | sed -n '2p' | sed 's/\ /\n/g' | tail -1 | sed 's,,,'); +wget https://github.com/yt-dlp/yt-dlp/releases/download/${ytdlpVer}/yt-dlp -O /usr/bin/yt-dlp + +#Polityka antyfrankensteinowa - 13.05.2024 +ln -s /usr/bin/yt-dlp /usr/bin/youtube-dl; + +cd; + +git clone https://github.com/xf0r3m/xfcedebian; +cd xfcedebian; +bash install.sh --immudex; + +cd; + +#Wyłączenie narzędzia immudex-autostart-x4notes - 22.11.2025 +cp -vv ~/immudex/tools/bin/immudex-branch /usr/local/bin; +cp -vv ~/immudex/tools/bin/immudex-import-gpgkeys /usr/local/bin; +cp -vv ~/immudex/tools/bin/immudex-import-sshkeys /usr/local/bin; +#cp -vv ~/immudex/tools/bin/immudex-meteo /usr/local/bin; +cp -vv ~/immudex/tools/bin/immudex-morketsmerke /usr/local/bin; +#cp -vv ~/immudex/tools/bin/immudex-motd2 /usr/local/bin; +cp -vv ~/immudex/tools/bin/immudex-padlock /usr/local/bin; +#cp -vv ~/immudex/tools/bin/immudex-pl /usr/local/bin; +cp -vv ~/immudex/tools/bin/immudex-secured-librewolf /usr/local/bin; +#Wyłączenie narzędzia immudex-protected - 22.11.2025 +#cp -vv ~/immudex/tools/bin/immudex-shoutcasts /usr/local/bin; +cp -vv ~/immudex/tools/bin/immudex-version /usr/local/bin; +#Nowe narzędzie immudex-cdrip - 27.08.2025; +#cp -vv ~/immudex/tools/bin/immudex-cdrip /usr/local/bin; +#Wyłaczenie immudex-run - 22.11.2025 +cp -vv ~/immudex/tools/bin/immudex-run /usr/local/bin; + +#Właczenie nowej wersji immudex-ytplay (immudex-ytplay2) - 13.09.2025 +#pythonVersion=$(python3 -V | awk '{printf $2}' | cut -d "." -f 1-2); +#mv /usr/lib/python${pythonVersion}/EXTERNALLY-MANAGED /usr/lib/python${pythonVersion}/EXTERNALLY-MANAGED.old; +#wget https://ftp.morketsmerke.org/youtube-search/youtube_search-2.1.2-py3-none-any.whl -O /tmp/youtube_search-2.1.2-py3-none-any.whl; +#pip install /tmp/youtube_search-2.1.2-py3-none-any.whl; +#mv /usr/lib/python${pythonVersion}/EXTERNALLY-MANAGED.old /usr/lib/python${pythonVersion}/EXTERNALLY-MANAGED; +#cp -vv ~/immudex/tools/bin/immudex-ytplay2 /usr/local/bin; +#ln -s /usr/local/bin/immudex-ytplay2 /usr/local/bin/immudex-ytplay; + +cp -vv ~/immudex/tools/bin/library.sh /usr/local/bin; +#cp -vv ~/immudex/tools/bin/idle-clic /usr/local/bin; +#cp -vv ~/immudex/tools/bin/sync.sh /usr/local/bin; +chmod +x /usr/local/bin/*; + +#cp -vv ~/immudex/tools/sbin/immudex-create-media /usr/local/sbin; +#cp -vv ~/immudex/tools/sbin/immudex-crypt /usr/local/sbin; +cp -vv ~/immudex/tools/sbin/immudex-hostname /usr/local/sbin; +cp -vv ~/immudex/tools/sbin/immudex-install /usr/local/sbin; +cp -vv ~/immudex/tools/sbin/immudex-upgrade /usr/local/sbin; +#Wyłączenie narzędzi immudex-update i immudex-nf - 22.11.2025 +chown root:root /usr/local/sbin/*; +chmod 544 /usr/local/sbin/*; + +wget https://ftp.morketsmerke.org/morketsmerke-keyring.asc -O /usr/share/keyrings/morketsmerke-keyring.asc +echo "deb [signed-by=/usr/share/keyrings/morketsmerke-keyring.asc] http://ftp.morketsmerke.org/debian trixie main" | tee /etc/apt/sources.list.d/morketsmerke.list + +apt update +apt install immudex-tools -y + +ln -s /usr/bin/immudex-motd /usr/local/bin/immudex-motd2; + +cp -rvv ~/immudex/files/libreoffice /etc/skel/.config; +cp -vv ~/immudex/files/firejail.config /etc/firejail; +cp -vv ~/immudex/files/redshift.conf /etc/skel/.config; +cp -vv ~/immudex/files/redshift.desktop /etc/skel/.config/autostart; + +#cp -rvv ~/immudex/files/sync.sh /usr/share; + +#Polityka antyfrankensteinowa - 13.05.2024 +if [ "$DEBVER" = "testing" ]; then + cp -vv ~/immudex/files/gtk-main.css /usr/share/xfce4/notes/gtk-3.0/gtk.css; +fi + +if [ -h /usr/share/applications/qmmp-1.desktop ]; then + rm /usr/share/applications/qmmp-1.desktop; +fi + +if [ -f /usr/share/applications/com.nextcloud.desktopclient.nextcloud.desktop ]; then + rm /usr/share/applications/com.nextcloud.desktopclient.nextcloud.desktop; +fi + +cp -vv ~/immudex/launchers/*.desktop /usr/share/applications; +cp -vv ~/immudex/files/whiskermenu-1.rc /etc/skel/.config/xfce4/panel/whiskermenu-1.rc; +cp -vv ~/pc1m3c39/displays.xml /etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml +cp -rvv ~/pc1m3c39/launchery/panel /etc/skel/.config/xfce4; +cp -vv ~/pc1m3c39/xfce4-panel.xml /etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml + +#cp -vv ~/immudex/files/immudex_hostname.service /etc/systemd/system; + +cp -vv ~/immudex/launchers/16844254192.desktop /etc/skel/.config/xfce4/panel/launcher-5; +cp -vv ~/pc1m3c39/bashrc /etc/skel/.bashrc; + +tar -xzvf ~/immudex/files/mozilla.tgz -C /etc/skel; + +wget https://ftp.morketsmerke.org/librewolf/librewolf.tgz -O /tmp/librewolf.tgz; +tar -xzvf /tmp/librewolf.tgz -C /etc/skel; + +#systemctl enable immudex_hostname.service; + +cat >> /etc/bash.bashrc << EOL +if [ ! -f /tmp/.motd ]; then +/usr/local/bin/immudex-motd2 +touch /tmp/.motd; +fi +EOL + +echo "alias immudex-chhome='export HOME=\$(pwd)'" >> /etc/bash.bashrc; +echo "alias immudex-changelogs='immudex-upgrade --check --print'" >> /etc/bash.bashrc; +echo "alias immudex-version='cat /run/live/medium/live/changelog'" >> /etc/bash.bashrc; + +chmod u+s /usr/bin/ping; + +/usr/sbin/ufw default deny incoming; +/usr/sbin/ufw default allow outgoing; +#/usr/sbin/ufw enable; +sed -i '/^ENABLED=/s/ENABLED=no/ENABLED=yes/' /etc/ufw/ufw.conf + +echo "pc1m3c39" > /etc/hostname; +echo "127.0.1.1 pc1m3c39" >> /etc/hosts; + +# Zmiany można umieścić również tutaj jeśli dotyczą one użytkowników lub ich +# plików konfiguracyjnych + +echo -n "Username: "; +read username; +useradd -m -s /bin/bash $username; +cp -r /etc/skel/.??* /home/${username}; +chown -R ${username}:${username} /home/${username}; +passwd $username; +usermod -aG sudo $username; + + +dd if=/dev/random bs=1M of=random count=1; +rootPassword=$(md5sum random | awk '{printf $1}'); +rm random; +echo "root:${rootPassword}" | chpasswd; +usermod -L root; + +# Miejsce na twoje zmiany, przed poleceniem 'tidy' +cd /tmp +wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb +apt install -y ./teamviewer_amd64.deb +kill $(pidof gpg-agent) + +bash ~/immudex/addons/ncspot; +bash ~/immudex/addons/realtek; +bash ~/immudex/addons/kvm; + +cp -vv ~/pc1m3c39/oh-my-posh-install.sh /tmp/oh-my-posh-install.sh; +bash /tmp/oh-my-posh-install.sh; +mv /root/.cache/oh-my-posh /usr/share; +rm /tmp/oh-my-posh-install.sh; +cp -vv ~/pc1m3c39/immudex-nu.omp.json.nu-deploy /usr/share/oh-my-posh/immudex-nu.omp.json; + +tidy; diff --git a/bashrc b/bashrc new file mode 100755 index 0000000..1f121d0 --- /dev/null +++ b/bashrc @@ -0,0 +1,191 @@ +# ~/.bashrc: executed by bash(1) for non-login shells. +# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) +# for examples + +# If not running interactively, don't do anything +case $- in + *i*) ;; + *) return;; +esac + +# don't put duplicate lines or lines starting with space in the history. +# See bash(1) for more options +HISTCONTROL=ignoreboth + +# append to the history file, don't overwrite it +shopt -s histappend + +# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) +HISTSIZE=1000 +HISTFILESIZE=2000 + +# check the window size after each command and, if necessary, +# update the values of LINES and COLUMNS. +shopt -s checkwinsize + +# If set, the pattern "**" used in a pathname expansion context will +# match all files and zero or more directories and subdirectories. +#shopt -s globstar + +# make less more friendly for non-text input files, see lesspipe(1) +#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" + +# set variable identifying the chroot you work in (used in the prompt below) +if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then + debian_chroot=$(cat /etc/debian_chroot) +fi + +# set a fancy prompt (non-color, unless we know we "want" color) +case "$TERM" in + xterm-color|*-256color) color_prompt=yes;; +esac + +# uncomment for a colored prompt, if the terminal has the capability; turned +# off by default to not distract the user: the focus in a terminal window +# should be on the output of commands, not on the prompt +#force_color_prompt=yes + +if [ -n "$force_color_prompt" ]; then + if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then + # We have color support; assume it's compliant with Ecma-48 + # (ISO/IEC-6429). (Lack of such support is extremely rare, and such + # a case would tend to support setf rather than setaf.) + color_prompt=yes + else + color_prompt= + fi +fi + +if [ "$color_prompt" = yes ]; then + PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' +else + PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' +fi +unset color_prompt force_color_prompt + +# If this is an xterm set the title to user@host:dir +case "$TERM" in +xterm*|rxvt*) + PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" + ;; +*) + ;; +esac + +# enable color support of ls and also add handy aliases +if [ -x /usr/bin/dircolors ]; then + test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" + alias ls='ls --color=auto' + #alias dir='dir --color=auto' + #alias vdir='vdir --color=auto' + + #alias grep='grep --color=auto' + #alias fgrep='fgrep --color=auto' + #alias egrep='egrep --color=auto' +fi + +# colored GCC warnings and errors +#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' + +# some more ls aliases +#alias ll='ls -l' +#alias la='ls -A' +#alias l='ls -CF' + +# Alias definitions. +# You may want to put all your additions into a separate file like +# ~/.bash_aliases, instead of adding them here directly. +# See /usr/share/doc/bash-doc/examples in the bash-doc package. + +if [ -f ~/.bash_aliases ]; then + . ~/.bash_aliases +fi + +# enable programmable completion features (you don't need to enable +# this, if it's already enabled in /etc/bash.bashrc and /etc/profile +# sources /etc/bash.bashrc). +if ! shopt -oq posix; then + if [ -f /usr/share/bash-completion/bash_completion ]; then + . /usr/share/bash-completion/bash_completion + elif [ -f /etc/bash_completion ]; then + . /etc/bash_completion + fi +fi +export POSH_THEME=/usr/share/oh-my-posh/immudex-nu.omp.json +export POSH_SHELL_VERSION=$BASH_VERSION +export POWERLINE_COMMAND="oh-my-posh" +export POSH_PID=$$ +export CONDA_PROMPT_MODIFIER=false +omp_start_time="" + +# start timer on command start +PS0='${omp_start_time:0:$((omp_start_time="$(_omp_start_timer)",0))}$(_omp_ftcs_command_start)' +# set secondary prompt +PS2="$(/usr/local/bin/oh-my-posh print secondary --config="$POSH_THEME" --shell=bash --shell-version="$BASH_VERSION")" + +function _set_posh_cursor_position() { + # not supported in Midnight Commander + # see https://github.com/JanDeDobbeleer/oh-my-posh/issues/3415 + if [[ "false" != "true" ]] || [[ -v MC_SID ]]; then + return + fi + + local oldstty=$(stty -g) + stty raw -echo min 0 + + local COL + local ROW + IFS=';' read -sdR -p $'\E[6n' ROW COL + + stty $oldstty + + export POSH_CURSOR_LINE=${ROW#*[} + export POSH_CURSOR_COLUMN=${COL} +} + +function _omp_start_timer() { + /usr/local/bin/oh-my-posh get millis +} + +function _omp_ftcs_command_start() { + if [ "false" == "true" ]; then + printf "\e]133;C\a" + fi +} + +# template function for context loading +function set_poshcontext() { + return +} + +function _omp_hook() { + local ret=$? pipeStatus=(${PIPESTATUS[@]}) + if [[ "${#BP_PIPESTATUS[@]}" -gt "${#pipeStatus[@]}" ]]; then + pipeStatus=(${BP_PIPESTATUS[@]}) + fi + + local omp_stack_count=$((${#DIRSTACK[@]} - 1)) + local omp_elapsed=-1 + local no_exit_code="true" + + if [[ -n "$omp_start_time" ]]; then + local omp_now=$(/usr/local/bin/oh-my-posh get millis --shell=bash) + omp_elapsed=$((omp_now-omp_start_time)) + omp_start_time="" + no_exit_code="false" + fi + + set_poshcontext + _set_posh_cursor_position + + PS1="$(/usr/local/bin/oh-my-posh print primary --config="$POSH_THEME" --shell=bash --shell-version="$BASH_VERSION" --status="$ret" --pipestatus="${pipeStatus[*]}" --execution-time="$omp_elapsed" --stack-count="$omp_stack_count" --no-status="$no_exit_code" | tr -d '\0')" + return $ret +} + +if [ "$TERM" != "linux" ] && [ -x "$(command -v /usr/local/bin/oh-my-posh)" ] && ! [[ "$PROMPT_COMMAND" =~ "_omp_hook" ]]; then + PROMPT_COMMAND="_omp_hook; $PROMPT_COMMAND" +fi + +if [ "false" == "true" ]; then + echo "" +fi diff --git a/displays.xml b/displays.xml new file mode 100644 index 0000000..538b62e --- /dev/null +++ b/displays.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/immudex-nu.omp.json.nu-deploy b/immudex-nu.omp.json.nu-deploy new file mode 100755 index 0000000..c641806 --- /dev/null +++ b/immudex-nu.omp.json.nu-deploy @@ -0,0 +1,68 @@ +{ + "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", + "blocks": [ + { + "alignment": "left", + "segments": [ + { + "background": "#000000", + "foreground": "#487cff", + "style": "plain", + "template": "\udb86\ude4a {{ .UserName }}@{{ .HostName }}/", + "type": "session" + }, + { + "background": "#000000", + "foreground": "#5ac8ea", + "properties": { + "style": "folder" + }, + "style": "plain", + "template": "\ue5ff {{ .Path }}/", + "type": "path" + }, + { + "background": "#000000", + "foreground": "#de076f", + "properties": { + "branch_icon": "", + "fetch_upstream_icon": true + }, + "style": "plain", + "template": "{{ .UpstreamIcon }}{{ .HEAD }}/", + "type": "git" + }, + { + "background": "#000000", + "foreground": "#491545", + "properties": { + "paused_icon": "\uf04c ", + "playing_icon": "\ue602 ", + "stopped_icon": "\uf04d ", + "track_separator": " - " + }, + "style": "plain", + "template": "\uf1bc {{ .Icon }}{{ if ne .Status \"stopped\" }}{{ .Artist }} - {{ .Track }}{{ end }}/", + "type": "spotify" + }, + { + "background": "#000000", + "foreground": "#05b92d", + "foreground_templates": [ + "{{ if gt .Code 0 }}#f1184c{{ end }}" + ], + "properties": { + "always_enabled": true + }, + "style": "plain", + "template": "\udb82\udfc6", + "trailing_diamond": "\ue0b4", + "type": "status" + } + ], + "type": "prompt" + } + ], + "final_space": true, + "version": 2 +} diff --git a/launchery/panel/launcher-14/16844255236.desktop b/launchery/panel/launcher-14/16844255236.desktop new file mode 100755 index 0000000..aabc596 --- /dev/null +++ b/launchery/panel/launcher-14/16844255236.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Name=Padlock +Comment=Otwiera i zamyka partycje LUKS +Exec=xfce4-terminal -x /usr/local/bin/immudex-padlock +Icon=/usr/share/icons/padlock-icon.png +Path= +Terminal=false +StartupNotify=false diff --git a/launchery/panel/launcher-16/17737769693.desktop b/launchery/panel/launcher-16/17737769693.desktop new file mode 100644 index 0000000..88cba60 --- /dev/null +++ b/launchery/panel/launcher-16/17737769693.desktop @@ -0,0 +1,19 @@ +[Desktop Entry] +Name=Firefox ESR (immudex) +Name[pl]=Firefox ESR (immudex) +Comment=Browse the World Wide Web +Comment[pl]=Przeglądanie stron WWW +GenericName=Web Browser +GenericName[pl]=Przeglądarka WWW +X-GNOME-FullName=Firefox ESR Web Browser +X-GNOME-FullName[pl]=Przeglądarka WWW Firefox ESR +Exec=/usr/local/bin/immudex-run firefox-esr +Terminal=false +X-MultipleArgs=false +Type=Application +Icon=firefox-esr +Categories=Network;WebBrowser; +MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https; +StartupWMClass=firefox-esr +StartupNotify=true +X-XFCE-Source=file:///usr/share/applications/firefox-esr-immudex.desktop diff --git a/launchery/panel/launcher-17/17737769844.desktop b/launchery/panel/launcher-17/17737769844.desktop new file mode 100644 index 0000000..6ba9ad1 --- /dev/null +++ b/launchery/panel/launcher-17/17737769844.desktop @@ -0,0 +1,30 @@ +[Desktop Entry] +Name=Thunderbird (immudex) +Comment=Read/Write Mail/News with Thunderbird +GenericName=Mail Client +Exec=/usr/local/bin/immudex-run thunderbird +Terminal=false +X-MultipleArgs=false +Type=Application +Version=1.0 +Icon=thunderbird +Categories=Network;Email;News;GTK; +MimeType=message/rfc822;text/calendar;text/vcard;text/x-vcard;x-scheme-handler/mailto;x-scheme-handler/mid;x-scheme-handler/news;x-scheme-handler/webcal;x-scheme-handler/webcals; +StartupWMClass=thunderbird-default +StartupNotify=true +Actions=ComposeMessage;OpenAddressBook; +Name[pl]=Klient poczty Thunderbird (immudex) +Comment[pl]=Czytanie i wysyłanie e-maili +GenericName[pl]=Klient poczty +Keywords=EMail;E-mail;Contact;Addressbook;News; +X-XFCE-Source=file:///usr/share/applications/thunderbird-immudex.desktop + +[Desktop Action ComposeMessage] +Name=Write new message +Name[pl]=Nowa wiadomość +Exec=/usr/bin/thunderbird -compose + +[Desktop Action OpenAddressBook] +Name=Open address book +Name[pl]=Książka adresowa +Exec=/usr/bin/thunderbird -addressbook diff --git a/launchery/panel/launcher-5/16844254192.desktop b/launchery/panel/launcher-5/16844254192.desktop new file mode 100644 index 0000000..98982cf --- /dev/null +++ b/launchery/panel/launcher-5/16844254192.desktop @@ -0,0 +1,19 @@ +[Desktop Entry] +Name=Librewolf (Firejailed) +Name[pl]=Librewolf (Firejailed) +Comment=Browse the World Wide Web +Comment[pl]=Bezpieczne przeglądanie stron WWW +GenericName=Web Browser +GenericName[pl]=Przeglądarka WWW +X-GNOME-FullName=Firefox ESR Web Browser +X-GNOME-FullName[pl]=Przeglądarka WWW Firefox ESR +Exec=/usr/local/bin/immudex-secured-librewolf +Terminal=false +X-MultipleArgs=false +Type=Application +Icon=librewolf +Categories=Network;WebBrowser; +MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;x-scheme-handler/http;x-scheme-handler/https; +StartupWMClass=Firefox-esr +StartupNotify=true +X-XFCE-Source=file:///usr/share/applications/firefox-esr.desktop diff --git a/launchery/panel/launcher-7/16844254905.desktop b/launchery/panel/launcher-7/16844254905.desktop new file mode 100644 index 0000000..e6339bb --- /dev/null +++ b/launchery/panel/launcher-7/16844254905.desktop @@ -0,0 +1,16 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Exec=xfce4-terminal +Icon=org.xfce.terminalemulator +StartupNotify=true +Terminal=false +Categories=Utility;X-XFCE;X-Xfce-Toplevel; +OnlyShowIn=XFCE; +X-AppStream-Ignore=True +Name=Terminal Emulator +Name[pl]=Emulator terminala +Comment=Use the command line +Comment[pl]=Wprowadza i wykonuje wiersze poleceń +X-XFCE-Source=file:///usr/share/applications/xfce4-terminal-emulator.desktop +Path= diff --git a/oh-my-posh-install.sh b/oh-my-posh-install.sh new file mode 100755 index 0000000..5626860 --- /dev/null +++ b/oh-my-posh-install.sh @@ -0,0 +1,232 @@ +#!/usr/bin/env bash + +install_dir="" +themes_dir="" +executable="" + +error() { + printf "\e[31m$1\e[0m\n" + exit 1 +} + +info() { + printf "$1\n" +} + +warn() { + printf "⚠️ \e[33m$1\e[0m\n" +} + +help() { + # Display Help + echo "Install script for Oh My Posh" + echo + echo "Syntax: install.sh [-h|d|t]" + echo "options:" + echo "-h Print this help." + echo "-d Specify the installation directory. Defaults to /usr/local/bin or the directory where oh-my-posh is installed." + echo "-t Specify the themes installation directory. Defaults to the oh-my-posh cache directory." + echo +} + +while getopts ":hd:t:" option; do + case $option in + h) # display Help + help + exit;; + d) # Enter a name + install_dir=${OPTARG};; + t) # themes directory + themes_dir=${OPTARG};; + \?) # Invalid option + echo "Invalid option command line option. Use -h for help." + exit 1 + esac +done + +SUPPORTED_TARGETS="linux-386 linux-amd64 linux-arm linux-arm64 darwin-amd64 darwin-arm64 freebsd-386 freebsd-amd64 freebsd-arm freebsd-arm64" + +validate_dependency() { + if ! command -v $1 >/dev/null; then + error "$1 is required to install Oh My Posh. Please install $1 and try again.\n" + fi +} + +validate_dependencies() { + validate_dependency curl + validate_dependency unzip + validate_dependency realpath + validate_dependency dirname +} + +set_install_directory() { + if [ -n "$install_dir" ]; then + # expand directory + install_dir="${install_dir/#\~/$HOME}" + return 0 + fi + + # check if we have oh-my-posh installed, if so, use the executable directory + # to install into and follow symlinks + if command -v oh-my-posh >/dev/null; then + posh_dir=$(command -v oh-my-posh) + real_dir=$(realpath $posh_dir) + install_dir=$(dirname $real_dir) + info "Oh My Posh is already installed, updating existing installation in:" + info " ${install_dir}" + else + install_dir="/usr/local/bin" + fi +} + +validate_install_directory() { + #check if installation dir exists + if [ ! -d "$install_dir" ]; then + error "Directory ${install_dir} does not exist, set a different directory and try again." + fi + + # Check if regular user has write permission + if [ ! -w "$install_dir" ]; then + error "Cannot write to ${install_dir}. Please check write permissions or set a different directory and try again: \ncurl -s https://ohmyposh.dev/install.sh | bash -s -- -d {directory}" + fi + + # check if the directory is in the PATH + good=$( + IFS=: + for path in $PATH; do + if [ "${path%/}" = "${install_dir}" ]; then + printf 1 + break + fi + done + ) + + if [ "${good}" != "1" ]; then + warn "Installation directory ${install_dir} is not in your \$PATH" + fi +} + +validate_themes_directory() { + + # Validate if the themes directory exists + if ! mkdir -p "$themes_dir" > /dev/null 2>&1; then + error "Cannot write to ${themes_dir}. Please check write permissions or set a different directory and try again: \ncurl -s https://ohmyposh.dev/install.sh | bash -s -- -t {directory}" + fi + + #check user write permission + if [ ! -w "$themes_dir" ]; then + error "Cannot write to ${themes_dir}. Please check write permissions or set a different directory and try again: \ncurl -s https://ohmyposh.dev/install.sh | bash -s -- -t {directory}" + fi +} + +install_themes() { + if [ -n "$themes_dir" ]; then + # expand directory + themes_dir="${themes_dir/#\~/$HOME}" + fi + + cache_dir=$($executable cache path) + + # validate if the user set the path to the themes directory + if [ -z "$themes_dir" ]; then + themes_dir="${cache_dir}/themes" + fi + + validate_themes_directory + + info "🎨 Installing oh-my-posh themes in ${themes_dir}\n" + + zip_file="${cache_dir}/themes.zip" + + url="https://github.com/JanDeDobbeleer/oh-my-posh/releases/download/v21.9.0/themes.zip" + + http_response=$(curl -s -f -L $url -o $zip_file -w "%{http_code}") + + if [ $http_response = "200" ] && [ -f $zip_file ]; then + unzip -o -q $zip_file -d $themes_dir + # make sure the files are readable and writable for all users + chmod a+rwX ${themes_dir}/*.omp.* + rm $zip_file + else + warn "Unable to download themes at ${url}\nPlease validate your curl, connection and/or proxy settings" + fi +} + +install() { + arch=$(detect_arch) + platform=$(detect_platform) + target="${platform}-${arch}" + + good=$( + IFS=" " + for t in $SUPPORTED_TARGETS; do + if [ "${t}" = "${target}" ]; then + printf 1 + break + fi + done + ) + + if [ "${good}" != "1" ]; then + error "${arch} builds for ${platform} are not available for Oh My Posh" + fi + + info "\nℹ️ Installing oh-my-posh for ${target} in ${install_dir}" + + executable=${install_dir}/oh-my-posh + url=https://github.com/JanDeDobbeleer/oh-my-posh/releases/download/v21.9.0/posh-${target} + + info "⬇️ Downloading oh-my-posh from ${url}" + + http_response=$(curl -s -f -L $url -o $executable -w "%{http_code}") + + if [ $http_response != "200" ] || [ ! -f $executable ]; then + error "Unable to download executable at ${url}\nPlease validate your curl, connection and/or proxy settings" + fi + + chmod +x $executable + + install_themes + + info "🚀 Installation complete.\n\nYou can follow the instructions at https://ohmyposh.dev/docs/installation/prompt" + info "to setup your shell to use oh-my-posh." + if [ $http_response = "200" ]; then + info "\nIf you want to use a built-in theme, you can find them in the ${themes_dir} directory:" + info " oh-my-posh init {shell} --config ${themes_dir}/{theme}.omp.json\n" + fi +} + +detect_arch() { + arch="$(uname -m | tr '[:upper:]' '[:lower:]')" + + case "${arch}" in + x86_64) arch="amd64" ;; + armv*) arch="arm" ;; + arm64) arch="arm64" ;; + aarch64) arch="arm64" ;; + i686) arch="386" ;; + esac + + if [ "${arch}" = "arm64" ] && [ "$(getconf LONG_BIT)" -eq 32 ]; then + arch=arm + fi + + printf '%s' "${arch}" +} + + +detect_platform() { + platform="$(uname -s | awk '{print tolower($0)}')" + + case "${platform}" in + linux) platform="linux" ;; + darwin) platform="darwin" ;; + esac + + printf '%s' "${platform}" +} + +validate_dependencies +set_install_directory +validate_install_directory +install diff --git a/template.sh b/template.sh new file mode 100644 index 0000000..d3f80f0 --- /dev/null +++ b/template.sh @@ -0,0 +1,74 @@ +#!/bin/bash + +function update_packages() { + apt update; + apt upgrade -y; +} + +function install_packages() { + apt install $@ -y; +} + +function set_xfce4_notes_autostart() { + cp -vv ~/immudex/files/autostart-x4notes.desktop /home/xf0r3m/.config/autostart; + chown xf0r3m:xf0r3m /home/xf0r3m/.config/autostart/autostart-x4notes.desktop; +} + + +function recreate_users() { + useradd -m -s /bin/bash user; + cp -rvv /etc/skel/.??* /home/user; + chown -R user:user /home/user; + echo "user:user1" | chpasswd; + + useradd -m -s /bin/bash xf0r3m; + cp -rvv /etc/skel/.??* /home/xf0r3m; + chown -R xf0r3m:xf0r3m /home/xf0r3m; + echo "xf0r3m:xf0r3m1" | chpasswd; + set_xfce4_notes_autostart + + usermod -aG libvirt,libvirt-qemu xf0r3m; + usermod -aG libvirt,libvirt-qemu user; + + echo "root:toor" | chpasswd; +} + +function tidy() { + apt-get clean; + apt-get clean; + apt-get autoremove -y; + apt-get autoclean; + rm -rf ~/immudex; + if [ -d ~/xfcedebian ]; then rm -rf ~/xfcedebian; fi + rm /var/cache/apt/*.bin; + echo > ~/.bash_history; + history -c +} + +function set_default_wallpaper() { + rm /usr/share/images/desktop-base/default; + ln -s /usr/share/images/desktop-base/$1 /usr/share/images/desktop-base/default; +} + +function make_changelog_file() { + ARCH=$1; + DEBVER=$debver; + COMPILATION_DATE=$(date); + COMMIT=$(cd ${HOME}/pc1m3c39 && git log --pretty=oneline | head -1); + ADDONS=$(grep 'bash ~/immudex/addons' ${HOME}/immudex/versions/base.sh | grep -v '^#' | cut -d "/" -f4 | sed 's/;//g' | awk '{printf $1" "}'); + + echo "ARCH=\"${ARCH}\"" > $FILE; + echo "DEBVER=\"${DEBVER}\"" >> $FILE; + if [ "$cname" ]; then + echo "CANONICAL_NAME=\"${cname}\"" >> $FILE; + fi + if [ "$version" ]; then + echo "VERSION=\"${version}\"" >> $FILE; + fi + echo "COMPILATION_DATE=\"${COMPILATION_DATE}\"" >> $FILE; + echo "COMMIT=\"${COMMIT}\"" >> $FILE; + echo "ADDONS=\"${ADDONS}\"" >> $FILE; + echo "-== Diffrences in version file ==-" >> $FILE; + cp ${HOME}/immudex/versions/base.sh ${HOME}/pc1m3c39/base.sh; + (cd ${HOME}/pc1m3c39; git diff base.sh) >> $FILE; +} diff --git a/xfce4-panel.xml b/xfce4-panel.xml new file mode 100755 index 0000000..2638354 --- /dev/null +++ b/xfce4-panel.xml @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +