Project
Linux Workstation Engineering
22/08/2026
Project Purpose
The purpose of this project is to engineer a Linux workstation designed around my personal digital needs and workflows. Rather than treating the operating system as a black box, I aim to understand how the system works, how its components interact, and how to effectively configure, operate, troubleshoot, maintain, automate, and reproduce it. The resulting workstation will serve as my primary digital environment while also acting as a practical system through which I can develop my Linux administration and systems engineering skills.
Requirements for Success
Group A — System Capability
- Achieve a satisfying system design The workstation fulfills my digital needs, supports my preferred workflows, and follows a minimalist, keyboard-driven design philosophy.
- Develop the ability to manage the system
- Be able to configure, operate, troubleshoot and maintain the system and its individual components.
- Be able to automate repetitive tasks
- Be able to reproduce most of the configuration using a script.
Group B — System Understanding
- Develop deep understanding of the system and selected applications
- Understand the purpose and architecture of the system and its major components.
- Understand how selected applications are structured internally, including their relevant components and dependencies.
Concrete Project Plan & Approach
To achieve the requirements in Group A, I will use Arch Linux as my primary operating system. Building and using the workstation as my daily environment will provide the practical basis for developing the ability to:
- Configure the system
- Use and operate the system
- Troubleshoot problems
- Maintain the system
- Automate repetitive tasks
While configuring, troubleshooting, maintaining or automating important aspects of the Linux workstation, I will create write-ups documenting the work and relevant findings. The conclusions from these write-ups will be incorporated into my weekly learning notes. I will also record my own observations and experiences from working with the system in these learning notes.
For automation, I will work through Python Crash Course by No Starch Press and apply the concepts I learn to practical problems within the workstation. This will allow me to develop scripting skills while using the actual system as the environment in which I practice them.
To achieve the requirements in Group B, I will use the following books as primary learning resources for understanding Linux architecture, operation, and programming:
- How Linux Works
- The Linux Command Line
- The Linux Programming Interface
The knowledge gained from these resources will be synthesized and organized into my learning notes. Where relevant, it will also be applied and referenced in project documentation, technical write-ups, and articles.
Finally, I will use the knowledge and skills developed throughout the project to reproduce most of the workstation’s configuration using a script. I expect the previous practical work, scripting practice, and understanding of the system to provide the necessary foundation for this stage, supplemented by relevant documentation and guides where needed.
Results & Evaluation
This section will be completed once the project is finished. The final results will be evaluated against the requirements for success defined above.