--- /dev/null
+#!/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 '<title>.*</title>$' | sed -n '2p' | sed 's/\ /\n/g' | tail -1 | sed 's,</title>,,');
+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;
--- /dev/null
+# ~/.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
--- /dev/null
+<?xml version="1.1" encoding="UTF-8"?>
+
+<channel name="displays" version="1.0">
+ <property name="ActiveProfile" type="string" value="Temp"/>
+ <property name="Notify" type="int" value="1"/>
+ <property name="AutoEnableProfiles" type="int" value="3"/>
+ <property name="Default" type="empty">
+ <property name="DP-1" type="string" value="Lenovo 24"">
+ <property name="Active" type="bool" value="true"/>
+ <property name="EDID" type="string" value="c7b3f9656bc2da7868ea1975f3097f7517d1c082"/>
+ <property name="Resolution" type="string" value="1920x1080"/>
+ <property name="RefreshRate" type="double" value="60"/>
+ <property name="Rotation" type="int" value="0"/>
+ <property name="Reflection" type="string" value="0"/>
+ <property name="Primary" type="bool" value="false"/>
+ <property name="Scale" type="double" value="1"/>
+ <property name="Position" type="empty">
+ <property name="X" type="int" value="1920"/>
+ <property name="Y" type="int" value="0"/>
+ </property>
+ </property>
+ <property name="HDMI-2" type="string" value="Iiyama North America 27"">
+ <property name="Active" type="bool" value="true"/>
+ <property name="EDID" type="string" value="d6e92f69d52d60b4ffa661f3cca21d7556d775b8"/>
+ <property name="Resolution" type="string" value="1920x1080"/>
+ <property name="RefreshRate" type="double" value="60"/>
+ <property name="Rotation" type="int" value="0"/>
+ <property name="Reflection" type="string" value="0"/>
+ <property name="Primary" type="bool" value="true"/>
+ <property name="Scale" type="double" value="1"/>
+ <property name="Position" type="empty">
+ <property name="X" type="int" value="0"/>
+ <property name="Y" type="int" value="0"/>
+ </property>
+ </property>
+ </property>
+</channel>
--- /dev/null
+{
+ "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
+ "blocks": [
+ {
+ "alignment": "left",
+ "segments": [
+ {
+ "background": "#000000",
+ "foreground": "#487cff",
+ "style": "plain",
+ "template": "<b>\udb86\ude4a</b> {{ .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": "<f>\udb82\udfc6</f>",
+ "trailing_diamond": "\ue0b4",
+ "type": "status"
+ }
+ ],
+ "type": "prompt"
+ }
+ ],
+ "final_space": true,
+ "version": 2
+}
--- /dev/null
+[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
--- /dev/null
+[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
--- /dev/null
+[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
--- /dev/null
+[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
--- /dev/null
+[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=
--- /dev/null
+#!/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
--- /dev/null
+#!/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;
+}
--- /dev/null
+<?xml version="1.1" encoding="UTF-8"?>
+
+<channel name="xfce4-panel" version="1.0">
+ <property name="configver" type="int" value="2"/>
+ <property name="panels" type="array">
+ <value type="int" value="1"/>
+ <property name="dark-mode" type="bool" value="true"/>
+ <property name="panel-1" type="empty">
+ <property name="position" type="string" value="p=8;x=640;y=786"/>
+ <property name="length" type="uint" value="100"/>
+ <property name="position-locked" type="bool" value="true"/>
+ <property name="icon-size" type="uint" value="16"/>
+ <property name="size" type="uint" value="26"/>
+ <property name="plugin-ids" type="array">
+ <value type="int" value="1"/>
+ <value type="int" value="15"/>
+ <value type="int" value="5"/>
+ <value type="int" value="16"/>
+ <value type="int" value="7"/>
+ <value type="int" value="17"/>
+ <value type="int" value="14"/>
+ <value type="int" value="2"/>
+ <value type="int" value="3"/>
+ <value type="int" value="6"/>
+ <value type="int" value="8"/>
+ <value type="int" value="9"/>
+ <value type="int" value="10"/>
+ <value type="int" value="11"/>
+ <value type="int" value="12"/>
+ <value type="int" value="13"/>
+ <value type="int" value="4"/>
+ </property>
+ <property name="enable-struts" type="bool" value="true"/>
+ </property>
+ </property>
+ <property name="plugins" type="empty">
+ <property name="plugin-2" type="string" value="tasklist">
+ <property name="grouping" type="uint" value="1"/>
+ </property>
+ <property name="plugin-3" type="string" value="separator">
+ <property name="expand" type="bool" value="true"/>
+ <property name="style" type="uint" value="0"/>
+ </property>
+ <property name="plugin-6" type="string" value="systray">
+ <property name="square-icons" type="bool" value="true"/>
+ <property name="known-legacy-items" type="array">
+ <value type="string" value="brak połączenia sieciowego"/>
+ <value type="string" value="nawiązano ethernetowe połączenie sieciowe „połączenie przewodowe 1”"/>
+ <value type="string" value="nawiązano ethernetowe połączenie sieciowe „wired connection 1”"/>
+ <value type="string" value="aplet networkmanager"/>
+ </property>
+ <property name="known-items" type="array">
+ <value type="string" value="Nextcloud"/>
+ <value type="string" value="vlc"/>
+ </property>
+ </property>
+ <property name="plugin-8" type="string" value="pulseaudio">
+ <property name="enable-keyboard-shortcuts" type="bool" value="true"/>
+ <property name="show-notifications" type="bool" value="true"/>
+ <property name="mpris-players" type="string" value="vlc"/>
+ </property>
+ <property name="plugin-9" type="string" value="power-manager-plugin"/>
+ <property name="plugin-10" type="string" value="notification-plugin"/>
+ <property name="plugin-11" type="string" value="separator">
+ <property name="style" type="uint" value="0"/>
+ </property>
+ <property name="plugin-12" type="string" value="clock">
+ <property name="digital-format" type="string" value="%_H:%M"/>
+ <property name="digital-time-format" type="string" value="%_H:%M"/>
+ <property name="digital-layout" type="uint" value="3"/>
+ </property>
+ <property name="plugin-13" type="string" value="separator">
+ <property name="style" type="uint" value="0"/>
+ </property>
+ <property name="plugin-1" type="string" value="whiskermenu">
+ <property name="button-title" type="string" value="Start"/>
+ <property name="button-icon" type="string" value="debian-logo"/>
+ <property name="show-button-title" type="bool" value="true"/>
+ <property name="launcher-icon-size" type="int" value="3"/>
+ <property name="favorites-in-recent" type="bool" value="true"/>
+ <property name="position-search-alternate" type="bool" value="true"/>
+ <property name="position-categories-alternate" type="bool" value="true"/>
+ <property name="show-command-logoutuser" type="bool" value="true"/>
+ <property name="show-command-restart" type="bool" value="true"/>
+ <property name="show-command-shutdown" type="bool" value="true"/>
+ <property name="show-command-suspend" type="bool" value="true"/>
+ <property name="show-command-logout" type="bool" value="false"/>
+ <property name="favorites" type="array">
+ <value type="string" value="gvim.desktop"/>
+ <value type="string" value="firefox-esr-immudex.desktop"/>
+ <value type="string" value="thunderbird-immudex.desktop"/>
+ <value type="string" value="org.keepassxc.KeePassXC-immudex.desktop"/>
+ <value type="string" value="com.nextcloud.desktopclient.nextcloud-immudex.desktop"/>
+ </property>
+ <property name="recent" type="array">
+ <value type="string" value="xfce-mouse-settings.desktop"/>
+ </property>
+ </property>
+ <property name="plugin-4" type="string" value="showdesktop"/>
+ <property name="plugin-5" type="string" value="launcher">
+ <property name="items" type="array">
+ <value type="string" value="16844254192.desktop"/>
+ </property>
+ </property>
+ <property name="plugin-7" type="string" value="launcher">
+ <property name="items" type="array">
+ <value type="string" value="16844254905.desktop"/>
+ </property>
+ </property>
+ <property name="plugin-14" type="string" value="launcher">
+ <property name="items" type="array">
+ <value type="string" value="16844255236.desktop"/>
+ </property>
+ </property>
+ <property name="plugin-15" type="string" value="separator">
+ <property name="style" type="uint" value="0"/>
+ </property>
+ <property name="plugin-16" type="string" value="launcher">
+ <property name="items" type="array">
+ <value type="string" value="17737769693.desktop"/>
+ </property>
+ </property>
+ <property name="plugin-17" type="string" value="launcher">
+ <property name="items" type="array">
+ <value type="string" value="17737769844.desktop"/>
+ </property>
+ </property>
+ </property>
+</channel>