]> gitweb.morketsmerke.org Git - pc1m3c39.git/commitdiff
Przesłanie plików do repozytorium.
authorxf0r3m <jakubstasinski@protonmail.com>
Wed, 15 Apr 2026 12:13:26 +0000 (14:13 +0200)
committerxf0r3m <jakubstasinski@protonmail.com>
Wed, 15 Apr 2026 12:13:26 +0000 (14:13 +0200)
12 files changed:
base.sh [new file with mode: 0644]
bashrc [new file with mode: 0755]
displays.xml [new file with mode: 0644]
immudex-nu.omp.json.nu-deploy [new file with mode: 0755]
launchery/panel/launcher-14/16844255236.desktop [new file with mode: 0755]
launchery/panel/launcher-16/17737769693.desktop [new file with mode: 0644]
launchery/panel/launcher-17/17737769844.desktop [new file with mode: 0644]
launchery/panel/launcher-5/16844254192.desktop [new file with mode: 0644]
launchery/panel/launcher-7/16844254905.desktop [new file with mode: 0644]
oh-my-posh-install.sh [new file with mode: 0755]
template.sh [new file with mode: 0644]
xfce4-panel.xml [new file with mode: 0755]

diff --git a/base.sh b/base.sh
new file mode 100644 (file)
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 '<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;
diff --git a/bashrc b/bashrc
new file mode 100755 (executable)
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 (file)
index 0000000..538b62e
--- /dev/null
@@ -0,0 +1,37 @@
+<?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&quot;">
+      <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&quot;">
+      <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>
diff --git a/immudex-nu.omp.json.nu-deploy b/immudex-nu.omp.json.nu-deploy
new file mode 100755 (executable)
index 0000000..c641806
--- /dev/null
@@ -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": "<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
+}
diff --git a/launchery/panel/launcher-14/16844255236.desktop b/launchery/panel/launcher-14/16844255236.desktop
new file mode 100755 (executable)
index 0000000..aabc596
--- /dev/null
@@ -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 (file)
index 0000000..88cba60
--- /dev/null
@@ -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 (file)
index 0000000..6ba9ad1
--- /dev/null
@@ -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 (file)
index 0000000..98982cf
--- /dev/null
@@ -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 (file)
index 0000000..e6339bb
--- /dev/null
@@ -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 (executable)
index 0000000..5626860
--- /dev/null
@@ -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 (file)
index 0000000..d3f80f0
--- /dev/null
@@ -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 (executable)
index 0000000..2638354
--- /dev/null
@@ -0,0 +1,129 @@
+<?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>