From 31334b4abd90d0efff78b7d02c668cfbc141cfca Mon Sep 17 00:00:00 2001 From: Jonas_Jones Date: Tue, 6 May 2025 19:18:17 +0200 Subject: [PATCH 1/7] moved info box to bottom of page --- docs/index.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/index.md b/docs/index.md index 3ba9fe8..3e8e334 100644 --- a/docs/index.md +++ b/docs/index.md @@ -5,12 +5,6 @@ slug: / # Jonas_Jones Documentation -:::info -Here is all the documentation to my *personal* projects. - -*All projecets managed by Organizations have their separate docs.* -::: - ## Anything specific you're looking for? Check out the sidebar or here, below:
@@ -43,3 +37,11 @@ Check out the sidebar or here, below: An Overview of all my Services and Platforms
+ +

+ +:::info +Here is all the documentation to my *personal* projects. + +*All projecets managed by Organizations have their separate docs.* +::: From 6297b9f757529f5b70dfc91a5b6b2583dd00a6c2 Mon Sep 17 00:00:00 2001 From: Jonas_Jones Date: Thu, 8 May 2025 17:30:28 +0200 Subject: [PATCH 2/7] added arch install instructions for desktop --- docs/arch-system-setup/_category_.json | 10 + docs/arch-system-setup/desktop.md | 254 +++++++++++++++++++++++++ docs/arch-system-setup/index.md | 38 ++++ docs/arch-system-setup/server.md | 6 + 4 files changed, 308 insertions(+) create mode 100644 docs/arch-system-setup/_category_.json create mode 100644 docs/arch-system-setup/desktop.md create mode 100644 docs/arch-system-setup/index.md create mode 100644 docs/arch-system-setup/server.md diff --git a/docs/arch-system-setup/_category_.json b/docs/arch-system-setup/_category_.json new file mode 100644 index 0000000..1a4f606 --- /dev/null +++ b/docs/arch-system-setup/_category_.json @@ -0,0 +1,10 @@ +{ + "position": 8, + "label": "Arch Linux System Setup", + "collapsible": true, + "collapsed": true, + "link": { + "type": "generated-index", + "description": "Guide to setup my Arch Linux system" + } + } \ No newline at end of file diff --git a/docs/arch-system-setup/desktop.md b/docs/arch-system-setup/desktop.md new file mode 100644 index 0000000..c07d7fd --- /dev/null +++ b/docs/arch-system-setup/desktop.md @@ -0,0 +1,254 @@ +--- +sidebar_position: 2 +slug: /archsetup/desktop +--- + +# Desktop +Sweet, this is gonna be a sick setup. Let's dive in! + +## Prerequisites +- Arch and the desired Desktop Environment or Window Manager is installed (equivalent to/or **desktop** setup with `archinstall`) +- The system is up to date. To update, run: +```bash +sudo pacman -Syyu +``` + +## Font Packages (nerd-fonts) +In order to use all icons for some applications and the ZSH shell we need to install some font packages: + +```bash +yay -S noto-fonts-cjk noto-fonts-emoji +``` + +and the very complete ttf file from nerd-fonts-complete by downloading from [this repository](https://github.com/ryanoasis/nerd-fonts), unzipping and moving the font-file into the respected directory: + +```bash +curl -OL https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.tar.xz + +mkdir -p /tmp/jetbrains-nerd-font +tar -xf JetBrainsMono.tar.xz -C /tmp/jetbrains-nerd-font + +cp /tmp/jetbrains-nerd-font/JetBrainsMonoNerdFont-Bold.ttf ~/.local/share/fonts/ + +fc-cache -f -v + +``` +Restart the terminal / reinitialize the shell and any other programs you might need in order to update the emojis and icons for the next step or else they won't appear in the ZSH setup process. + +## Icon pack (MacOS-Icons) +The MacOS icon theme looks very clean so let's install it: + +```bash +ICONPACK_URL="https://github.com/zayronxio/Mkos-Big-Sur/releases/download/0.3/Mkos-Big-Sur.tar.xz" +TEMP_DIR=$(mktemp -d) +ICON_DIR="$HOME/.icons" +ICONPACK_NAME="Mkos-Big-Sur" + +mkdir -p "$ICON_DIR" + +# Download the icon pack +curl -L -o "$TEMP_DIR/Mkos-Big-Sur.tar.xz" "$ICONPACK_URL" + +# Extract the downloaded icon pack +tar -xf "$TEMP_DIR/Mkos-Big-Sur.tar.xz" -C "$TEMP_DIR" + +# Move the extracted icons to the user's icons directory +mv "$TEMP_DIR/$ICONPACK_NAME" "$ICON_DIR" + +# Clean up temporary files +rm -rf "$TEMP_DIR" + +# Set the icon theme using gsettings on Gnome +gsettings set org.gnome.desktop.interface icon-theme "$ICONPACK_NAME" +``` + +## Wallpaper +A decent wallpaper can be downloaded from this link (not my current one): + +https://raw.githubusercontent.com/JonasunderscoreJones/ArchSystemSetup/refs/heads/main/wallpaper.jpg + +## ZSH (4 humans) +We install the shell (yes, it is very dead but still amazing) as follows: + +```bash +if command -v curl >/dev/null 2>&1; then + sh -c "$(curl -fsSL https://raw.githubusercontent.com/romkatv/zsh4humans/v5/install)" +else + sh -c "$(wget -O- https://raw.githubusercontent.com/romkatv/zsh4humans/v5/install)" +fi +``` + +## Pacman Configuration +The following commands change the visuals of pacman to be more colorful (and enable the easter-egg) and enables 5 simultaneous downloads: +```bash +sudo sed -i 's/#Color/Color/g' /etc/pacman.conf +sudo sed -i 's/#TotalDownload/TotalDownload/g' /etc/pacman.conf +sudo sed -i 's/#VerbosePkgLists/VerbosePkgLists/g' /etc/pacman.conf +sudo sed -i 's/#ParallelDownloads/ParallelDownloads/g' /etc/pacman.conf +sudo sed -i '/ParallelDownloads/a ILoveCandy' /etc/pacman.conf +``` + +## Yet Another Yoghurt (AUR) +Now we need a connection to the AUR. We install yay, an AUR manager: + +```bash +sudo pacman -S --needed git base-devel && git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si +``` + +# Essential Packages +## Pacman +The most important packages needed for this setup can be installed with the following command: + +System / CLI: +```bash +yay -S adb alsa-utils android-tools bluetoothctl bluez-utils browsh-bin btop cargo cloudflare-wrangler cmake cowsay docker dpkg eigen faac fastfetch fdisk fprintd github-cli gtk2 ibus ibus-hangul imagemagick img2pdf jasper jq libadwaita libdc1394 libdc1394 libjpeg9 libjpeg-turbo libtheora libtiff4 libvorbis linux-firmware man mkfs.vfat neofetch networkmananger npm npx opencore-amr openexr php pipewire pipewire-pulse rclone rpm rustc scrcpy sl speedtest-cli sphinx stat syncthing texlive-latexextra v4l-utils vim wget wrangler x264 xvidcore yasm zip +``` +Python packages: +```bash +yay -S pyright python-dotenv python-markdown python-matplotlib python-numpy python-pip python-praw python-psotipy python-pyautogui python-pycodestyle python-pygame python-pylast python-pylint python-spotipy python-tk python-tk spicetify spotipy +``` +Programs: +```bash +yay -S xeyes-git realvnc-vnc-viewer lutris qjoypad pavucontrol jetbrains-toolbox gparted firefox firefox-nightly firefox-pwa cpupower-gui ark aseprite blockbench blueman +``` +PS: You might not need all of these... + +## Flatpak +The following flatpaks can also be installed: + +```bash +flatpak install ca.desrt.dconf-editor cc.arduino.IDE2 com.bitwarden.desktop com.discordapp.Discord com.github.Matoking.protontricks com.github.tchx84.Flatseal com.heroicgameslauncher.hgl com.jaquadro.NBTExplorer com.mattjakeman.ExtensionManager com.modrinth.ModrinthApp com.obsproject.Studio com.playonlinux.PlayOnLinux4 com.protonvpn.www com.skype.Client com.spotify.Client com.sublimetext.three com.usebottles.bottles com.valvesoftware.Steam com.visualstudio.code dev.alextren.Spot dev.lasheen.qr fr.romainvigier.MetadataCleaner io.github.arunsivaramanneo.GPUViewer io.github.diegoivan.pdf_metadata_editor io.github.flattool.Warehouse io.github.Foldex.AdwSteamGtk io.gitlab.gregorni.Letterpress io.github.jonmagon.kdiskmark io.github.prateekmedia.appimagepool io.github.realmazharhussain.GdmSettings io.github.shiftey.Desktop io.github.thetumultuousunicornofdarkness.cpu-x io.github.ungoogled_software.ungoogled_chromium net.ankiweb.Anki net.lutris.Lutris org.audacityteam.Audacity org.bleachbit.BleachBit org.blender.Blender org.freedesktop.Piper org.gaphor.Gaphor org.gnome.Boxes org.gnome.design.IconLibrary org.gnome.PowerStats org.gnome.seahorse.Application org.gnome.World.PikaBackup org.kde.filelight org.kde.kdenlive org.kde.krita org.libreoffice.LibreOffice org.mozilla.Thunderbird org.onlyoffice.desktopeditors org.prismlauncher.PrismLauncher org.qbittorrent.qBittorrent org.raspberrypi.rpi-imager org.signal.Signal org.torproject.torbrowser-launcher org.videolan.VLC page.kramo.Cartridges sh.ppy.osu xyz.xclicker.xclicker +``` + +## SDKman and java +```bash +curl -s "https://get.sdkman.io" | bash +source "$HOME/.sdkman/bin/sdkman-init.sh" +sdk install java 21.0.3-oracle +``` + +# Drivers +## CPU (Intel) +```bash +yay -S xf86-video-intel vulkan-intel mesa lib32-mesa intel-hybrid-codec-driver intel-media-driver +``` + +## GPU (NVIDIA) +```bash +yay -S supergfxctl nvidia nvidia-prime nvidia-settings nvtop cuda-tools +``` + + +# Desktop Environment & Window Manager +This guide covers [Gnome](#gnome), [KDE](#kde) and [Niri](#niri) +## Gnome +### Additional Software + +A few additional Gnome applications are: + +```bash +yay -S gnome-shell-extension gnome-tweaks +``` + +The same way we also get rid of a few programs: + +```bash +yay -Rns gnome-contacts gnome-weather gnome-clocks gnome-maps gnome-tour gnome-connections gnome-music gnome-console gnome-calendar gnome-text-editor +``` + +We can install the firefox gnome theme: + +```bash +curl -s -o- "https://raw.githubusercontent.com/rafaelmardojai/firefox-gnome-theme/master/scripts/install-by-curl.sh" | bash +``` + +### Gnome Extensions + +Now we can install some gnome extensions. The one's I use/used at one point are: + +```txt +AlphabeticalAppGrid@stuarthayhurst +batterytime@typeof.pw +blur-my-shell@aunetx +caffeine@patapon.info +clipboard-history@alexsaveau.dev +clipboard-indicator@tudmotu.com +color-picker@tuberry +compiz-alike-magic-lamp-effect@hermes83.github.com +dash-to-dock@micxgx.gmail.com +ddterm@amezin.github.com +drive-menu@gnome-shell-extensions.gcampax.github.com +fullscreen-avoider@noobsai.github.com +fullscreen-hot-corner@sorrow.about.alice.pm.me +fullscreen-to-empty-workspace@aiono.dev +grand-theft-focus@zalckos.github.com +impatience@gfxmonk.net +mediacontrols@cliffniff.github.com +net-label@slimani.dev +nightthemeswitcher@romainvigier.fr +power-profile-switcher@eliapasquali.github.io +quick-settings-tweaks@qwreey +Rounded_Corners@lennart-k +rounded-window-corners@fxgn +soft-brightness-plus@joelkitching.com +supergfxctl-gex@asus-linux.org +system-monitor@gnome-shell-extensions.gcampax.github.com +trayIconsReloaded@selfmade.pl +unredirect@vaina.lt +``` + +The easiest way is probably to just manually install them, there is however a shell function for an automatic installation `install_gextension()` in [this](https://github.com/JonasunderscoreJones/ArchSystemSetup/blob/main/syssetup.sh) file. + +### Gnome Settings +The following commands set a few settings within gnome: +```shell +# Add minimize and maximize buttons to the window title bar +gsettings set org.gnome.desktop.wm.preferences button-layout '":minimize,maximize,close"' + +# Enable resizing with the right mouse button +gsettings set org.gnome.desktop.wm.preferences resize-with-right-button true + +# Set the clock format to show the date and 24-hour time +gsettings set org.gnome.desktop.interface clock-format '24h' + +# Configure window movement shortcuts +gsettings set org.gnome.settings-daemon.plugins.media-keys move-to-workspace-left '["Page_Down"]' +gsettings set org.gnome.settings-daemon.plugins.media-keys move-to-workspace-right '["Page_Up"]' + +# Disable application switcher shortcut +gsettings set org.gnome.settings-daemon.plugins.media-keys app-switch '[]' + +# Set Alt+Tab for window switching +gsettings set org.gnome.settings-daemon.plugins.media-keys window-switch '["Tab"]' + +# Configure media control shortcuts +gsettings set org.gnome.settings-daemon.plugins.media-keys next '["F12"]' +gsettings set org.gnome.settings-daemon.plugins.media-keys play-pause '["F11"]' +gsettings set org.gnome.settings-daemon.plugins.media-keys previous '["F10"]' + +# Set Ctrl+Q to close windows +gsettings set org.gnome.settings-daemon.plugins.media-keys close '["q"]' + +# Show battery percentage +gsettings set org.gnome.desktop.interface show-battery-percentage true + +# Enable automatic suspend only on battery power +gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 0 +gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout 30 # You can adjust the timeout as needed + +# Enable dark mode +gsettings set org.gnome.desktop.interface gtk-theme 'Yaru-dark' # Adjust to your preferred dark theme + +# Set touchpad scroll direction to traditional +gsettings set org.gnome.desktop.peripherals.touchpad natural-scroll false + +# Set keyboard layout to English (US, intl with dead keys) +gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us:intl')]" +``` +//TODO: additional config + +## KDE +//TODO: config that is not yet translated to commands + +## Niri +//TODO everything \ No newline at end of file diff --git a/docs/arch-system-setup/index.md b/docs/arch-system-setup/index.md new file mode 100644 index 0000000..56d6993 --- /dev/null +++ b/docs/arch-system-setup/index.md @@ -0,0 +1,38 @@ +--- +sidebar_position: 1 +slug: /archsetup/ +--- + +# Arch-Linux Setup +**A Guide To Install And Configure Arch-Linux The Way I like It (mostly for me to follow)** + +## Why? +I often forget how to setup certain things and waste a lot of time re-googleing what I once already googled. + +:::info +I have written an install-script that covers some of the steps described in this guide but only **some** and not all + +The script is available at [JonasunderscoreJones/ArchSystemSetup](https://github.com/JonasunderscoreJones/ArchSystemSetup/) and can be run with the following command: + +```bash +curl -sSL https://syssetup.jonasjones.dev | bash +``` +It is strongly recommended to follow this guide and to **not** use this script. +::: + +## Requirements + - **Arch Linux**: Arch is technically required but most steps are almost identical on other distros, meaning that this guide can be followed for any distro (with a few exceptions) + +## System Types +This guide is available for multiple types of systems. + +
+
+ ### [Desktop](/archsetup/desktop) + Guide for PC and Laptop with a Desktop Environment +
+
+ ### [Server (headless)](/archsetup/headless) + Guide for a headless server without any kind of Desktop Environment or Window Manager +
+
diff --git a/docs/arch-system-setup/server.md b/docs/arch-system-setup/server.md new file mode 100644 index 0000000..77e57bd --- /dev/null +++ b/docs/arch-system-setup/server.md @@ -0,0 +1,6 @@ +--- +sidebar_position: 3 +slug: /archsetup/headless +--- + +# Server (headless) \ No newline at end of file From c8735e3306eec6775b28e854023ac467c63d3068 Mon Sep 17 00:00:00 2001 From: Jonas_Jones Date: Sun, 18 May 2025 18:41:19 +0200 Subject: [PATCH 3/7] added v1 arch setup state tbc --- docs/linux/_category_.json | 10 ++++++ .../arch-system-setup/_category_.json | 0 docs/{ => linux}/arch-system-setup/desktop.md | 33 ++++++++++++++++++- docs/{ => linux}/arch-system-setup/index.md | 2 +- docs/{ => linux}/arch-system-setup/server.md | 0 docs/linux/index.md | 6 ++++ 6 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 docs/linux/_category_.json rename docs/{ => linux}/arch-system-setup/_category_.json (100%) rename docs/{ => linux}/arch-system-setup/desktop.md (92%) rename docs/{ => linux}/arch-system-setup/index.md (98%) rename docs/{ => linux}/arch-system-setup/server.md (100%) create mode 100644 docs/linux/index.md diff --git a/docs/linux/_category_.json b/docs/linux/_category_.json new file mode 100644 index 0000000..cd4e98c --- /dev/null +++ b/docs/linux/_category_.json @@ -0,0 +1,10 @@ +{ + "position": 8, + "label": "Linux Guides", + "collapsible": true, + "collapsed": true, + "link": { + "type": "generated-index", + "description": "Guides all around Linux" + } + } \ No newline at end of file diff --git a/docs/arch-system-setup/_category_.json b/docs/linux/arch-system-setup/_category_.json similarity index 100% rename from docs/arch-system-setup/_category_.json rename to docs/linux/arch-system-setup/_category_.json diff --git a/docs/arch-system-setup/desktop.md b/docs/linux/arch-system-setup/desktop.md similarity index 92% rename from docs/arch-system-setup/desktop.md rename to docs/linux/arch-system-setup/desktop.md index c07d7fd..557bd6b 100644 --- a/docs/arch-system-setup/desktop.md +++ b/docs/linux/arch-system-setup/desktop.md @@ -33,6 +33,10 @@ cp /tmp/jetbrains-nerd-font/JetBrainsMonoNerdFont-Bold.ttf ~/.local/share/fonts/ fc-cache -f -v ``` +:::note +This is for the JetBrains Mono Font. All other available fonts can be found in [this](https://github.com/archdroid20/nerd-fonts-complete) repository. +::: + Restart the terminal / reinitialize the shell and any other programs you might need in order to update the emojis and icons for the next step or else they won't appear in the ZSH setup process. ## Icon pack (MacOS-Icons) @@ -120,7 +124,31 @@ The following flatpaks can also be installed: flatpak install ca.desrt.dconf-editor cc.arduino.IDE2 com.bitwarden.desktop com.discordapp.Discord com.github.Matoking.protontricks com.github.tchx84.Flatseal com.heroicgameslauncher.hgl com.jaquadro.NBTExplorer com.mattjakeman.ExtensionManager com.modrinth.ModrinthApp com.obsproject.Studio com.playonlinux.PlayOnLinux4 com.protonvpn.www com.skype.Client com.spotify.Client com.sublimetext.three com.usebottles.bottles com.valvesoftware.Steam com.visualstudio.code dev.alextren.Spot dev.lasheen.qr fr.romainvigier.MetadataCleaner io.github.arunsivaramanneo.GPUViewer io.github.diegoivan.pdf_metadata_editor io.github.flattool.Warehouse io.github.Foldex.AdwSteamGtk io.gitlab.gregorni.Letterpress io.github.jonmagon.kdiskmark io.github.prateekmedia.appimagepool io.github.realmazharhussain.GdmSettings io.github.shiftey.Desktop io.github.thetumultuousunicornofdarkness.cpu-x io.github.ungoogled_software.ungoogled_chromium net.ankiweb.Anki net.lutris.Lutris org.audacityteam.Audacity org.bleachbit.BleachBit org.blender.Blender org.freedesktop.Piper org.gaphor.Gaphor org.gnome.Boxes org.gnome.design.IconLibrary org.gnome.PowerStats org.gnome.seahorse.Application org.gnome.World.PikaBackup org.kde.filelight org.kde.kdenlive org.kde.krita org.libreoffice.LibreOffice org.mozilla.Thunderbird org.onlyoffice.desktopeditors org.prismlauncher.PrismLauncher org.qbittorrent.qBittorrent org.raspberrypi.rpi-imager org.signal.Signal org.torproject.torbrowser-launcher org.videolan.VLC page.kramo.Cartridges sh.ppy.osu xyz.xclicker.xclicker ``` +## Caddy and Reverse Proxy Aliases +To achieve nice reverse proxies like `http://syncthing` for the local syncthing we need to install and enable `caddy`: +```bash +yay -S caddy +sudo systemctl enable --now caddy +``` +Now we edit the `/etc/hosts` file by adding the following line (e.g. for syncthing): +```bash +127.0.0.1 syncthing +``` +Next, we add the configuration to `/etc/caddy/Caddyfile`: +```json +http://syncthing { + reverse_proxy 127.0.0.1:8384 { + header_up Host localhost + } +} +``` +A simple reload and it should work: +```bash +sudo systemctl reload caddy +``` + ## SDKman and java +To easily install and mange different java versions, we install SDKman along with Java 21: ```bash curl -s "https://get.sdkman.io" | bash source "$HOME/.sdkman/bin/sdkman-init.sh" @@ -245,10 +273,13 @@ gsettings set org.gnome.desktop.peripherals.touchpad natural-scroll false # Set keyboard layout to English (US, intl with dead keys) gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us:intl')]" ``` + +:::info[Coming Soon] //TODO: additional config ## KDE //TODO: config that is not yet translated to commands ## Niri -//TODO everything \ No newline at end of file +//TODO everything +::: diff --git a/docs/arch-system-setup/index.md b/docs/linux/arch-system-setup/index.md similarity index 98% rename from docs/arch-system-setup/index.md rename to docs/linux/arch-system-setup/index.md index 56d6993..909e11b 100644 --- a/docs/arch-system-setup/index.md +++ b/docs/linux/arch-system-setup/index.md @@ -1,6 +1,6 @@ --- sidebar_position: 1 -slug: /archsetup/ +slug: /linux/archsetup/ --- # Arch-Linux Setup diff --git a/docs/arch-system-setup/server.md b/docs/linux/arch-system-setup/server.md similarity index 100% rename from docs/arch-system-setup/server.md rename to docs/linux/arch-system-setup/server.md diff --git a/docs/linux/index.md b/docs/linux/index.md new file mode 100644 index 0000000..462f35a --- /dev/null +++ b/docs/linux/index.md @@ -0,0 +1,6 @@ +--- +sidebar_position: 1 +slug: /linux +--- + +# Overview From ce8ad608fae744c825f32ea020a69d1dd7b5cef1 Mon Sep 17 00:00:00 2001 From: Jonas_Jones Date: Tue, 10 Jun 2025 19:54:49 +0200 Subject: [PATCH 4/7] updated dependencies --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index f84acc4..625f6cd 100644 --- a/package.json +++ b/package.json @@ -21,8 +21,8 @@ "cheerio": "^1.0.0-rc.12", "clsx": "^2.0.0", "prism-react-renderer": "^2.3.0", - "react": "^18.0.0", - "react-dom": "^18.0.0" + "react": "^19.1.0", + "react-dom": "^19.1.0" }, "devDependencies": { "@docusaurus/module-type-aliases": "^3.7.0", From 1a69b0c4fe5c1af17456042bb9cccce2d502925e Mon Sep 17 00:00:00 2001 From: Jonas_Jones Date: Tue, 10 Jun 2025 19:55:00 +0200 Subject: [PATCH 5/7] added forgejo actions script --- .forgejo/workflows/build-docusaurus.yml | 46 +++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .forgejo/workflows/build-docusaurus.yml diff --git a/.forgejo/workflows/build-docusaurus.yml b/.forgejo/workflows/build-docusaurus.yml new file mode 100644 index 0000000..bece92a --- /dev/null +++ b/.forgejo/workflows/build-docusaurus.yml @@ -0,0 +1,46 @@ +name: build-docusaurus +on: [push, pull_request] + +jobs: + build: + runs-on: docker + steps: + - name: checkout repository + uses: https://code.forgejo.org/actions/checkout@v4 + + - name: setup node + uses: https://github.com/actions/setup-node@v4 + with: + node-version: 20 + + - name: restore cached dependencies + uses: https://code.forgejo.org/actions/cache/restore@v4 + with: + path: | + ~/.npm + docusaurus/node_modules + key: ${{ runner.os }}-Docusaurus + + - name: install dependencies + run: npm install --frozen-lockfile + working-directory: docusaurus + + - name: build project + run: npm run build + working-directory: docusaurus + + - name: capture build artifacts + uses: https://code.forgejo.org/forgejo/upload-artifact@v4 + with: + name: docusaurus-artifacts.zip + path: docusaurus/build/ + if-no-files-found: error + + - name: cache downloaded dependencies + if: ${{ github.ref_name == github.event.repository.default_branch }} + uses: https://code.forgejo.org/actions/cache/save@v4 + with: + path: | + ~/.npm + docusaurus/node_modules + key: ${{ runner.os }}-Docusaurus From f99c86bdef69a33228f6ec0c8dfde99d7e85b0af Mon Sep 17 00:00:00 2001 From: Jonas_Jones Date: Thu, 12 Jun 2025 23:48:08 +0200 Subject: [PATCH 6/7] fixed merge --- .forgejo/workflows/build-docusaurus.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/build-docusaurus.yml b/.forgejo/workflows/build-docusaurus.yml index bece92a..50cea33 100644 --- a/.forgejo/workflows/build-docusaurus.yml +++ b/.forgejo/workflows/build-docusaurus.yml @@ -1,5 +1,9 @@ name: build-docusaurus -on: [push, pull_request] + +on: + push: + pull_request: + workflow_dispatch: jobs: build: From 68ca2bc88e7c9b8efd6cfff1dde6bc41f90d1c10 Mon Sep 17 00:00:00 2001 From: Jonas_Jones Date: Fri, 13 Jun 2025 00:05:37 +0200 Subject: [PATCH 7/7] more docs updates --- docs/linux/docker-mailserver.md | 12 ++ docs/linux/niri/_category_.json | 10 ++ docs/linux/niri/index.md | 6 + docs/linux/niri/setup.md | 6 + docs/linux/server-admin/_category_.json | 10 ++ docs/linux/server-admin/drive-automount.md | 97 ++++++++++++++++ .../server-admin/partition-and-filesystem.md | 106 ++++++++++++++++++ 7 files changed, 247 insertions(+) create mode 100644 docs/linux/docker-mailserver.md create mode 100644 docs/linux/niri/_category_.json create mode 100644 docs/linux/niri/index.md create mode 100644 docs/linux/niri/setup.md create mode 100644 docs/linux/server-admin/_category_.json create mode 100644 docs/linux/server-admin/drive-automount.md create mode 100644 docs/linux/server-admin/partition-and-filesystem.md diff --git a/docs/linux/docker-mailserver.md b/docs/linux/docker-mailserver.md new file mode 100644 index 0000000..42f76c5 --- /dev/null +++ b/docs/linux/docker-mailserver.md @@ -0,0 +1,12 @@ +--- +sidebar_position: 1 +slug: /linux/docker-mailserver +--- + +# Docker Mailserver + +:::info +// TODO: +- install dockercompose +- ... +::: diff --git a/docs/linux/niri/_category_.json b/docs/linux/niri/_category_.json new file mode 100644 index 0000000..c4b0656 --- /dev/null +++ b/docs/linux/niri/_category_.json @@ -0,0 +1,10 @@ +{ + "position": 8, + "label": "Niri Guides", + "collapsible": true, + "collapsed": true, + "link": { + "type": "generated-index", + "description": "Guides all around Niri" + } + } \ No newline at end of file diff --git a/docs/linux/niri/index.md b/docs/linux/niri/index.md new file mode 100644 index 0000000..56cc182 --- /dev/null +++ b/docs/linux/niri/index.md @@ -0,0 +1,6 @@ +--- +sidebar_position: 1 +slug: /linux/niri +--- + +# Overview \ No newline at end of file diff --git a/docs/linux/niri/setup.md b/docs/linux/niri/setup.md new file mode 100644 index 0000000..fd38ea2 --- /dev/null +++ b/docs/linux/niri/setup.md @@ -0,0 +1,6 @@ +--- +sidebar_position: 2 +slug: /linux/niri/setup +--- + +# Setup \ No newline at end of file diff --git a/docs/linux/server-admin/_category_.json b/docs/linux/server-admin/_category_.json new file mode 100644 index 0000000..2be96be --- /dev/null +++ b/docs/linux/server-admin/_category_.json @@ -0,0 +1,10 @@ +{ + "position": 8, + "label": "Server Admin", + "collapsible": true, + "collapsed": true, + "link": { + "type": "generated-index", + "description": "Guides Server Administration" + } + } \ No newline at end of file diff --git a/docs/linux/server-admin/drive-automount.md b/docs/linux/server-admin/drive-automount.md new file mode 100644 index 0000000..bfcad78 --- /dev/null +++ b/docs/linux/server-admin/drive-automount.md @@ -0,0 +1,97 @@ +--- +sidebar_position: 2 +slug: /linux/server-admin/drive-automount +--- + +# Adding an Automount Drive on Linux + +This guide explains how to configure a drive to automount at boot using `/etc/fstab`. + +--- + +## Steps + +### 1. Identify the Drive + +List drives and partitions: + +```bash +lsblk -f +``` + +Find the target partition (e.g., `/dev/sdc1`) and note its UUID: + +```bash +blkid /dev/sdc1 +``` + +### 2. Create a Mount Point + +Choose or create a directory where the drive will mount: + +```bash +sudo mkdir -p /mnt/mydrive +``` + +### 3. Backup `/etc/fstab` + +Always back up before editing: + +```bash +sudo cp /etc/fstab /etc/fstab.bak +``` + +### 4. Edit `/etc/fstab` + +Open `/etc/fstab` with an editor: + +```bash +sudo nano /etc/fstab +``` + +Add a line with the drive's UUID, mount point, filesystem type, and options. Example for ext4: + +``` +UUID=your-uuid-here /mnt/mydrive ext4 defaults 0 2 +``` + +Replace `your-uuid-here` with the actual UUID. + +### 5. Test the Configuration + +Mount all entries without rebooting: + +```bash +sudo mount -a +``` + +Check if the drive is mounted: + +```bash +df -h | grep /mnt/mydrive +``` + +:::danger +If the test fails and you still reboot, the system will drop to emergency mode and manual intervention is required. + +**In that case SSH WON'T WORK** +::: + +### 6. Reboot and Verify + +Reboot the system and confirm the drive automounts: + +```bash +sudo reboot +``` + +After reboot: + +```bash +mount | grep /mnt/mydrive +``` +:::note +- Use `defaults` for standard mount options. +- For other filesystems (e.g., NTFS, FAT32), adjust filesystem type and options accordingly. +- If mounting fails at boot, system may drop to emergency mode; always test with `mount -a` first. +::: \ No newline at end of file diff --git a/docs/linux/server-admin/partition-and-filesystem.md b/docs/linux/server-admin/partition-and-filesystem.md new file mode 100644 index 0000000..c0b727d --- /dev/null +++ b/docs/linux/server-admin/partition-and-filesystem.md @@ -0,0 +1,106 @@ +--- +sidebar_position: 1 +slug: /linux/server-admin/partition-and-filesystem +--- + +# Creating Partition Tables and Filesystems on Linux + +This guide covers creating partition tables and filesystems using command-line tools. + +--- + +## 1. Identify the Disk + +List disks and partitions: + +```bash +lsblk +``` + +Assume the target disk is `/dev/sdc`. + +--- + +## 2. Create a Partition Table with `fdisk` + +Start fdisk: + +```bash +sudo fdisk /dev/sdc +``` + +### Inside `fdisk`: + +- Create a new GPT partition table (recommended for disks >2TB): + +``` +g +``` +- Create a new partition: +``` +n +``` +- Accept defaults for partition number, first sector, and last sector (full disk). + +- Write changes and exit: +``` +w +``` + +--- + +## 3. Format the Partition + +Assuming partition `/dev/sdc1`: + +- Create an ext4 filesystem: + +```bash +sudo mkfs.ext4 /dev/sdc1 +``` + +- For other filesystems: + + - NTFS: `sudo mkfs.ntfs /dev/sdc1` + - FAT32: `sudo mkfs.vfat /dev/sdc1` + +--- + +## 4. Verify the Filesystem + +```bash +sudo blkid /dev/sdc1 +``` + +Check UUID and filesystem type. + +--- + +## 5. Mount the Partition + +Create mount point and mount: + +```bash +sudo mkdir -p /mnt/mydrive +sudo mount /dev/sdc1 /mnt/mydrive +``` + +Verify: + +```bash +df -h | grep /mnt/mydrive +``` + +--- + +## 6. Automount (Optional) + +Follow the **Adding an Automount Drive** guide to configure `/etc/fstab`. + + +:::note +- Creating new partition tables and filesystems will erase data on the disk. +- Backup important data before proceeding. +- Use GPT for disks larger than 2TB; MBR is limited to ~2TB. +- Use `parted` or `gparted` for GUI or more advanced partitioning. +::: \ No newline at end of file