Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fresh and new infrastructure, hosts and hardware & spring cleaning #248

Open
arcticicestudio opened this issue Apr 15, 2020 · 0 comments
Open

Comments

@arcticicestudio
Copy link
Owner

arcticicestudio commented Apr 15, 2020

Infrastructure, Hosts & Hardware

There are currently 2 main hosts managed in this repository:

  1. igloo — My main system running Arch Linux with GNOME as well as multiple lightweight window managers like AwesomeWM, bspwm or OpenBox.
  2. iceowl — A MacBook Pro 2019 edition used for fast job productivity and business requirements.

igloo was my first Arch Linux system every (previously named illuvigaq, see #10) and was set up almost 10 years ago. Up to today it performed like on day 1 and only required some quick maintenance and cleanup tasks to be done.
Anyway, suddenly there were system freezes. I've tried to analyze them, but more random errors occurred like no output when running ps or GUI applications like GNOME System Monitor, Docker was not able to start any container anymore due to problems trying to create a new process and other problems like JavaScript files in node_modules folders contained binary data mixed with broken UTF-8 characters resulting in cryptic NodeJS errors. After running multiple tests I found out that the SSD the systems was installed on was defect, maybe due to a recent test with the systemd fstrim.service and the fact that the SSD was one of the first SSD's available ever and trimming was not really supported by the time. There have been I/O errors during pacman system upgrades so I decided to finally reinstall the system because I could no longer be sure whether the filesystem is consistent.
Even though the new SSD fixed the problem, it required almost another week of error hunting to find out that 1/4 of my RAM sticks was also defect (but works fine when used completely alone 🤨). This also caused data corruption due to invalid data being written to and read from the stick. Anyway, this information is not really relevant for this issue, but maybe a interesting learning fact that analyzing error caused by hardware is always pure pain 😅

Along with the decision to reinstall my systems I re-designed the infrastructure to also fix my mixed setup of Linux UEFI systems in combination with a BIOS Windows 7 gaming-only system. The new structure also comes with a new host name layout: igloo is now named polarbear in order to clarify that this repository is unique and not to be confused with the igloo host.

  • polarbear — The more casual and modern but heavyweight system that runs GNOME that is mainly used for development, designing, multimedia and networking. It is still kept as slim and small as possible without cluttering it with various apps, tools and packages that are even not used (e.g. GNOME Calendar, GNOME Weather etc.).
  • snowfox — A fast, minimal and lightweight Arch Linux system also used for the same purposes like polarbearbut with scope to Unix ricing using different WMs and compositors without any heavyweight and full-blown DE but great and modular tools following the K.I.S.S principles and Unix philosophy.
  • harpseal (previously kryon) — The home of the pure gaming habitat running a stripped down and minimal version of Windows 7 Home Premium (not going to use this Windows 10 ad and spyware s**t) with the only purpose of entertainment through games since (sadly) the gaming industry is still stuck on such creepy proprietary systems (even though there's finally hope through Vulkan).

Spring Cleaning

There are some snowblocks that either contain data that is not used or the whole snowblock is not required anymore. The following issues and PRs tracking the progress of a “spring cleanup“ with the goal of achieving a clean state again:

@arcticicestudio arcticicestudio added this to the Next milestone Apr 15, 2020
arcticicestudio added a commit that referenced this issue Apr 15, 2020
Based on the documented tasks in GH-248 the `plank` snowblock required a
cleanup regarding unused and outdated XDG desktop launchers [1],
adaption to the new host infrastructure and improvements for the
snowblock documentation.

[1]: https://wiki.archlinux.org/index.php/Desktop_entries

GH-249
Related to GH-248

Co-authored-by: Sven Greb <development@svengreb.de>
arcticicestudio added a commit that referenced this issue Apr 15, 2020
Based on the documented tasks in GH-248 the `plank` snowblock required a
cleanup regarding unused and outdated XDG desktop launchers [1],
adaption to the new host infrastructure and improvements for the
snowblock documentation.

[1]: https://wiki.archlinux.org/index.php/Desktop_entries

Closes GH-249
Related to GH-248

Co-authored-by: Sven Greb <development@svengreb.de>
arcticicestudio added a commit that referenced this issue Apr 15, 2020
Atom [1] is not used anymore since at least February 23 2019 and was
replaced by Visual Studio Code [2] in GH-179. Therefore the `atom`
snowblock_ has been removed while the data is still available through
the Git repository history/logs.

[1]: https://atom.io
[2]: https://code.visualstudio.com
[3]: https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History

GH-251
Related to GH-248

Co-authored-by: Sven Greb <development@svengreb.de>
arcticicestudio added a commit that referenced this issue Apr 15, 2020
Atom [1] is not used anymore since at least February 23 2019 and was
replaced by Visual Studio Code [2] in GH-179. Therefore the `atom`
snowblock_ has been removed while the data is still available through
the Git repository history/logs.

[1]: https://atom.io
[2]: https://code.visualstudio.com
[3]: https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History

Closes GH-251
Related to GH-248

Co-authored-by: Sven Greb <development@svengreb.de>
arcticicestudio added a commit that referenced this issue Apr 15, 2020
Both snowblocks for Taskwarrior [1] and Timewarrior [2] are not required
anymore since they have been replaced with my own custom 💙 Go [3]
application that is currently private/closed source, but planned to be
open sourced later on.
Both tools are great and provide a lot of features, but are also kind
of overloaded with unused and unnecessary functions. I also missed the
possibility to integrate the data and API into my other Go applications
as well as web-based projects with a quite more modern techstack
(Protocol Buffers [4], NATS [5] Messaging, React SPA [6] etc.).

Therefore the snowblocks have been removed while the data is still
available through the Git repository history/logs [7].

[7]: https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
[3]: https://go.dev
[1]: https://taskwarrior.org
[2]: https://timewarrior.net
[5]: https://nats.io
[4]: https://developers.google.com/protocol-buffers
[6]: https://reactjs.org

GH-253
Related to GH-248, GH-253, GH-131

Co-authored-by: Sven Greb <development@svengreb.de>
arcticicestudio added a commit that referenced this issue Apr 15, 2020
Both snowblocks for Taskwarrior [1] and Timewarrior [2] are not required
anymore since they have been replaced with my own custom 💙 Go [3]
application that is currently private/closed source, but planned to be
open sourced later on.
Both tools are great and provide a lot of features, but are also kind
of overloaded with unused and unnecessary functions. I also missed the
possibility to integrate the data and API into my other Go applications
as well as web-based projects with a quite more modern techstack
(Protocol Buffers [4], NATS [5] Messaging, React SPA [6] etc.).

Therefore the snowblocks have been removed while the data is still
available through the Git repository history/logs [7].

[7]: https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
[3]: https://go.dev
[1]: https://taskwarrior.org
[2]: https://timewarrior.net
[5]: https://nats.io
[4]: https://developers.google.com/protocol-buffers
[6]: https://reactjs.org

Closes GH-253
Related to GH-248, GH-253, GH-131

Co-authored-by: Sven Greb <development@svengreb.de>
arcticicestudio added a commit that referenced this issue Apr 16, 2020
The pip [1] snowblock was only added in GH-141 in order to track
installed packages [2] and their versions through a `requirements.txt`
[3] file. The only tracked package was `taskw` [4] which was required
for the taskwarrior snowblock [5] to allow to use custom hooks to
interact with Taskwarrior API (the package is not available via
Homebrew). Anyway, since both the taskwarrior [5] and timewarrior [6]
snowblocks have also been decommissioned in GH-253 the "pip" snowblock
is now also not required anymore and has therefore been removed while
the data is still available through the Git repository history/logs [7].

[1]: https://pypi.org/project/pip
[2]: https://packaging.python.org/tutorials/installing-packages/#requirements-files
[3]: https://pip.pypa.io/en/latest/user_guide/#requirements-files
[4]: https://pypi.org/project/taskw
[5]: https://github.com/arcticicestudio/igloo/tree/master/snowblocks/taskwarrior
[6]: https://github.com/arcticicestudio/igloo/tree/master/snowblocks/timewarrior
[7]: https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History

GH-255
Related to GH-248, GH-253, GH-131

Co-authored-by: Sven Greb <development@svengreb.de>
arcticicestudio added a commit that referenced this issue Apr 16, 2020
The pip [1] snowblock was only added in GH-141 in order to track
installed packages [2] and their versions through a `requirements.txt`
[3] file. The only tracked package was `taskw` [4] which was required
for the taskwarrior snowblock [5] to allow to use custom hooks to
interact with Taskwarrior API (the package is not available via
Homebrew). Anyway, since both the taskwarrior [5] and timewarrior [6]
snowblocks have also been decommissioned in GH-253 the "pip" snowblock
is now also not required anymore and has therefore been removed while
the data is still available through the Git repository history/logs [7].

[1]: https://pypi.org/project/pip
[2]: https://packaging.python.org/tutorials/installing-packages/#requirements-files
[3]: https://pip.pypa.io/en/latest/user_guide/#requirements-files
[4]: https://pypi.org/project/taskw
[5]: https://github.com/arcticicestudio/igloo/tree/master/snowblocks/taskwarrior
[6]: https://github.com/arcticicestudio/igloo/tree/master/snowblocks/timewarrior
[7]: https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History

Closes GH-255
Related to GH-248, GH-253, GH-131

Co-authored-by: Sven Greb <development@svengreb.de>
arcticicestudio added a commit that referenced this issue Apr 16, 2020
cower [1] (superseded/replaced by auracle [2]) was introduced in GH-65
to configure the usage through pacaur [3] which was configured in GH-14.
`pacaur` was used since it was the cleanest AUR [4] helper from a list
of 20+ projects at the time, but some years ago finally the awesome
yay [5] project written in 💙 Go [6] was started that is not just a
shell/Python etc. wrapper around `pacman` but a great CLI + Go package
that is based on the github.com/Jguer/go-alpm [7], a Go package with
bindings to `libalpm` [8]. It also makes use of other fantastic Go
packages like github.com/Morganamilo/go-pacmanconf [9] and
github.com/Morganamilo/go-srcinfo [10o] to ensure to reduce the
requirement to "shell out" to `pacman`/`makepkg` as minimal as possible
and use pure Go code and logic instead.
This allowed me to also use and extend my `pacman` and AUR workflow on
top of my absolute favorite and main language Go.

Since pacaur has been discontinued by the original author some years
ago, which used cower [1] (GitHub repository deleted and superseded by
auracle [2]), this step was necessary anyway and I've switched to yay
almost 2 years ago.
Therefore the "cower" snowblock (and related pacaur configurations) are
not required anymore and have been removed while the data is still
available through the Git repository history/logs [11].

[1]: https://github.com/falconindy/cower
[2]: https://aur.archlinux.org/packages/auracle-git
[3]: https://aur.archlinux.org/packages/pacaur
[4]: https://aur.archlinux.org
[5]: https://github.com/Jguer/yay
[6]: https://go.dev
[7]: https://github.com/Jguer/go-alpm
[8]: https://www.archlinux.org/pacman/libalpm.3.html
[9]: https://github.com/Morganamilo/go-pacmanconf
[10]: https://github.com/Morganamilo/go-srcinfo
[11]: https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History

GH-257
Related to GH-248

Co-authored-by: Sven Greb <development@svengreb.de>
arcticicestudio added a commit that referenced this issue Apr 16, 2020
cower [1] (superseded/replaced by auracle [2]) was introduced in GH-65
to configure the usage through pacaur [3] which was configured in GH-14.
`pacaur` was used since it was the cleanest AUR [4] helper from a list
of 20+ projects at the time, but some years ago finally the awesome
yay [5] project written in 💙 Go [6] was started that is not just a
shell/Python etc. wrapper around `pacman` but a great CLI + Go package
that is based on the github.com/Jguer/go-alpm [7], a Go package with
bindings to `libalpm` [8]. It also makes use of other fantastic Go
packages like github.com/Morganamilo/go-pacmanconf [9] and
github.com/Morganamilo/go-srcinfo [10o] to ensure to reduce the
requirement to "shell out" to `pacman`/`makepkg` as minimal as possible
and use pure Go code and logic instead.
This allowed me to also use and extend my `pacman` and AUR workflow on
top of my absolute favorite and main language Go.

Since pacaur has been discontinued by the original author some years
ago, which used cower [1] (GitHub repository deleted and superseded by
auracle [2]), this step was necessary anyway and I've switched to yay
almost 2 years ago.
Therefore the "cower" snowblock (and related pacaur configurations) are
not required anymore and have been removed while the data is still
available through the Git repository history/logs [11].

[1]: https://github.com/falconindy/cower
[2]: https://aur.archlinux.org/packages/auracle-git
[3]: https://aur.archlinux.org/packages/pacaur
[4]: https://aur.archlinux.org
[5]: https://github.com/Jguer/yay
[6]: https://go.dev
[7]: https://github.com/Jguer/go-alpm
[8]: https://www.archlinux.org/pacman/libalpm.3.html
[9]: https://github.com/Morganamilo/go-pacmanconf
[10]: https://github.com/Morganamilo/go-srcinfo
[11]: https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History

Closes GH-257
Related to GH-248

Co-authored-by: Sven Greb <development@svengreb.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment