Laptop Workstation Setup

← Back to Index

Last Updated: 2026-02-10


Hardware Specifications

System Overview

ComponentSpecification
ModelDell Inspiron 7506 2-in-1 Convertible
Hostnamepop-os
Form FactorConvertible laptop (2-in-1)
FirmwareVersion 1.25.0 (2023-08-09)

Processor

ItemValue
CPUIntel Core i5-1135G7 (11th Gen)
Base Clock2.40 GHz
Architecturex86_64 (64-bit)
Cores4 physical cores
Threads8 threads (2 per core)
TechnologyIntel Tiger Lake

Memory

ItemValue
RAM12 GB DDR4
Currently Used8.9 GB
Available2.5 GB
Swap15 GB (4 GB currently used)

Graphics

ItemValue
GPUIntel Iris Xe Graphics (TigerLake-LP GT2)
TypeIntegrated graphics
DriverIntel (no NVIDIA)

Storage

Primary SSD: Samsung NVMe 512GB (nvme1n1)

PartitionSizeMount PointUsage
nvme1n1p11 GB/boot/efiEFI boot partition
nvme1n1p24 GB/recoveryRecovery partition
nvme1n1p3468 GB/ (root)Main system partition
nvme1n1p44 GBcryptswapEncrypted swap

Current Usage:

  • Total Space: 460 GB
  • Used: 90 GB (21%)
  • Available: 348 GB

Secondary Storage: 27.3 GB NVMe (nvme0n1) - RAID metadata device

Virtual Memory:

  • zram0: 11.4 GB compressed RAM disk (swap)

Power

ItemValue
Battery ModelDELL TXD0309
Current Charge100%
TypeLithium-ion

Operating System

System Information

ItemValue
OSPop!_OS 24.04 LTS
Desktop EnvironmentCOSMIC (Rust-based)
KernelLinux 6.17.9-76061709-generic
Architecturex86-64
ShellZsh 5.9 with Powerlevel10k theme
Init Systemsystemd

Security

ItemStatus
FirewallUFW (status unknown - requires sudo to check)
BackupsTimeshift (RSYNC snapshots)
Disk EncryptionEncrypted swap partition (cryptswap)

Development Environment

Core Development Tools

ToolVersionPurpose
Claude Code2.1.31AI-powered CLI assistant
Git2.43.0Version control
GitHub CLI (gh)2.45.0GitHub integration
Python3.12.3Programming language
Docker28.2.2Container runtime
VS Code1.108.2Code editor

Text Editors

  • Nano 7.2 (default simple editor)
  • Vim 9.1.0016 (advanced text editor)
  • VS Code 1.108.2 (GUI IDE)

Terminal Multiplexer

Tmux 3.4 - Session management and persistent terminals

Configuration: ~/.tmux.conf

  • Prefix Key: Ctrl+a (changed from default Ctrl+b)
  • Mouse Support: Enabled
  • Vi Mode: Enabled for copy/paste
  • Scrollback Buffer: 10,000 lines
  • Color Support: True color (24-bit) enabled

Plugins (managed by TPM):

  • tmux-sensible: Sensible default settings
  • tmux-resurrect: Manual session save/restore (Ctrl+a + Ctrl+s/Ctrl+r)
  • tmux-continuum: Auto-save sessions every 15 minutes, auto-restore on start
  • tmux-yank: Enhanced clipboard integration

Key Features:

  • Split panes: Ctrl+a then | (vertical) or - (horizontal)
  • Navigate panes: Ctrl+a then h/j/k/l (vim-style)
  • Resize panes: Ctrl+a then Shift+H/J/K/L
  • Switch windows: Shift+Left/Right (no prefix needed)
  • Sessions survive reboots (via tmux-continuum)

Use Cases:

  • Persistent SSH sessions to ProxMoxBox and Pi5
  • Monitoring multiple services simultaneously (logs, htop, docker ps)
  • Split-pane workflow for editing and testing
  • Session recovery after accidental disconnect

Docker Configuration

  • Installation: docker.io package (28.2.2-0ubuntu1~24.04.1)
  • User Permissions: User cib is in docker group (rootless access)
  • Compose: Built-in Docker Compose plugin
  • Local Management: Portainer at http://localhost:9000

User Groups

User cib belongs to:

  • adm - System administration
  • sudo - Root privileges
  • lpadmin - Printer administration
  • docker - Docker container management
  • wireshark - Network packet capture

Installed Applications

Flatpak Applications

ApplicationPackage IDPurpose
Discordcom.discordapp.DiscordCommunication
Alpacacom.jeffser.AlpacaAI chat client
COSMIC Tweaksdev.edfloreshz.CosmicTweaksDesktop customization
AppFlowyio.appflowy.AppFlowyNote-taking, project management
Obsidianmd.obsidian.ObsidianKnowledge base (homelab docs)
Flameshotorg.flameshot.FlameshotScreenshot tool
Freeplaneorg.freeplane.AppMind mapping
Thonnyorg.thonny.ThonnyPython IDE (beginner-friendly)
Wiresharkorg.wireshark.WiresharkNetwork protocol analyzer

System Packages (APT)

Key Installed Packages:

  • curl - Data transfer tool
  • htop - Interactive process viewer
  • flatpak - Flatpak application manager
  • code - Visual Studio Code
  • docker.io - Docker container engine

Network Configuration

Network Tools

ToolPurpose
TailscaleVPN mesh for remote homelab access
SSHRemote server management
curl/wgetHTTP clients for API testing

SSH Configuration

Key Type: Ed25519 (modern, secure)

Passwordless Access Configured For:

ssh root@192.168.1.XXX      # ProxMoxBox
ssh cib@192.168.1.XXX     # Pi5
ssh root@192.168.1.XXX     # Stronghold (alias: stronghold)

Note: No ~/.ssh/config file currently exists (direct IP connections used)

Firewall

UFW (Uncomplicated Firewall): Installed and configured

  • Requires sudo to check status
  • Protects against unauthorized network access

Shell Configuration

Zsh with Powerlevel10k

Shell: /usr/bin/zsh (version 5.9) Theme: Powerlevel10k (Git-aware, customizable prompt)

Shell Aliases (~/.zshrc)

AliasCommandDescription
updatesudo apt update && sudo apt full-upgrade -y && sudo apt autoremove -yFull system update
installsudo apt installQuick package install
myipcurl ifconfig.meShow public WAN IP
portssudo lsof -i -P -n | grep LISTENShow open ports
..cd ..Go up one directory
...cd ../..Go up two directories
cclearClear terminal
rmrm -iInteractive delete (asks confirmation)
mvmv -iInteractive move (asks before overwrite)
strongholdssh root@192.168.1.XXXSSH to Stronghold server

Environment

Default Shell: Zsh Terminal Emulator: COSMIC Terminal Prompt: Powerlevel10k with Git integration


COSMIC Desktop Environment

About COSMIC

Name: COSMIC (Computer Operating System Main Interface Components) Developer: System76 Language: Rust (memory-safe, performant) Status: Beta release with Pop!_OS 24.04 LTS

Configuration

SettingLocation
Terminal Headerbar~/.config/cosmic/com.system76.CosmicTerm/v1/show_headerbar
Window ManagerCOSMIC Compositor (Wayland)
Display ServerWayland (not X11)

Known Limitations

Night Light:

  • Standard COSMIC Night Light may not work on Intel Iris Xe with Wayland
  • Workaround: Use gammastep (Wayland-compatible alternative)

Claude Code Configuration

Installation

  • Location: ~/.local/bin/claude
  • Version: 2.1.31
  • Model: Sonnet (with Opus for planning)

Configuration Files

FilePurpose
~/.claude/settings.jsonModel settings, custom statusline
~/.claude/settings.internal.jsonSSH/SCP permissions
~/.claude/CLAUDE.mdGlobal memory and preferences
~/.claude/statusline.shPowerlevel10k-style status display
~/.claude/agents/Custom sub-agents (4 agents)
~/.tmux.confTmux configuration and keybindings
~/.tmux/plugins/tpmTmux Plugin Manager

Custom Agents

See Claude-Code-Agents for full documentation.

Installed Agents:

  1. security-reviewer - Docker Compose security auditing
  2. infra-validator - Pre-deployment conflict detection
  3. doc-sync - Obsidian vault synchronization
  4. deploy-helper - Docker Compose convention enforcement

Backup Strategy

Timeshift

Method: RSYNC snapshots Purpose: System state backups for disaster recovery Location: Separate partition or external drive

Git Repositories

All critical configurations version-controlled:

RepositoryPathPurpose
homelab-ops/home/cib/homelab-opsDocker Compose stacks
homelab-docs/home/cib/Documents/HomeLab/HomeLabObsidian vault
ai-assistant-config/home/cib/ai-assistant-configClaude Code configs
my-portfolio/home/cib/my-portfolioHugo portfolio site
podcast-studio/home/cib/podcast-studioVideo platform project

Performance Characteristics

Current Resource Usage

Memory: 8.9 GB / 12 GB (74% used)

  • High usage likely due to:
    • COSMIC desktop environment (Rust-based, but still memory-intensive)
    • VS Code
    • Multiple browser tabs
    • Docker containers (if running locally)
    • Flatpak applications

Swap: 4 GB / 15 GB used

  • System using swap despite available RAM (normal Linux behavior)
  • zram compression likely helping performance

Disk: 90 GB / 460 GB (21% used)

  • Plenty of space available for projects and containers

CPU: Intel i5-1135G7 (4C/8T)

  • Mid-range Tiger Lake processor
  • Good balance for development work and homelab management
  • Integrated graphics (no discrete GPU)

Use Cases

Primary Functions

  1. Homelab Management

    • SSH access to ProxMoxBox, Pi5, and other devices
    • Docker Compose development and testing
    • Portainer for local container management
    • Git-based infrastructure as code
  2. Development

    • VS Code for code editing
    • Claude Code for AI-assisted development
    • Python 3.12 for scripting
    • Docker for containerized testing
  3. Documentation

    • Obsidian for homelab knowledge base
    • Git for version control
    • Markdown for all documentation
  4. Security

    • Wireshark for network analysis
    • Timeshift for system backups
    • UFW firewall for network protection
    • Wazuh agent (planned) for SIEM integration

Workflow

Typical Session:

  1. Open COSMIC Terminal with Zsh + Powerlevel10k
  2. Start tmux session (tmux new -s homelab) for persistent workspace
  3. SSH into ProxMoxBox for Docker management (in tmux pane)
  4. Edit compose files locally in VS Code
  5. Use Claude Code agents for pre-deployment validation
  6. Deploy via Git push or direct SSH commands
  7. Document changes in Obsidian vault
  8. Commit and push to GitHub
  9. Detach from tmux (Ctrl+a then d) - session persists in background

Maintenance

Regular Updates

# Run weekly
update  # Alias for full system upgrade
 
# Check disk space
df -h /
 
# Review running services
systemctl list-units --type=service --state=running
 
# Check Docker containers (if running locally)
docker ps

Backup Verification

  • Timeshift: Verify snapshots exist and are recent
  • Git: Ensure all repositories are pushed to GitHub
  • Claude Code agents: Backed up to ~/ai-assistant-config/agents/

Monitoring

  • Battery Health: Check capacity regularly (currently 100%)
  • Disk Usage: Keep root partition below 80% full
  • Memory: Monitor for memory leaks (currently high usage)
  • Swap Usage: Excessive swap use indicates RAM shortage

Known Issues

Current Issues

  1. High Memory Usage (8.9 GB / 12 GB)

    • COSMIC desktop is memory-intensive
    • Consider closing unused applications
    • Flatpak apps can be resource-heavy
  2. No SSH Config File

    • SSH connections use direct IPs
    • TODO: Create ~/.ssh/config for easier connections
  3. Night Light Limitations

    • Native COSMIC Night Light may not work with Intel Iris Xe + Wayland
    • Use gammastep as workaround

Workarounds Applied

  • Claude Code agents: Backed up to Git (agent execution errors resolved)
  • Docker permissions: User added to docker group (no sudo required)

Future Enhancements

Planned Improvements

  • Create ~/.ssh/config for named SSH connections
  • Install and configure gammastep for night light
  • Set up Wazuh agent for SIEM integration
  • Configure automatic Timeshift snapshots schedule
  • Reduce memory usage (close unused Flatpak apps)
  • Set up SSH tunneling for secure remote homelab access
  • Configure Claude Code hooks for pre-commit validation

Software to Evaluate

  • Neovim: Advanced Vim fork for terminal editing
  • Node.js/npm: JavaScript runtime (not currently installed)
  • Ansible: Configuration management (for homelab automation)


Quick Reference

Common Commands

# System info
hostnamectl
lscpu
free -h
df -h
 
# Updates
update  # Alias
 
# Network
myip    # Alias for public IP
ports   # Alias for open ports
ssh root@192.168.1.XXX  # ProxMoxBox
 
# Docker
docker ps
docker stats
docker system prune  # Clean up unused resources
 
# Claude Code
claude  # Start interactive session
claude "Use security-reviewer to check proxmox/monitoring/"
 
# Tmux (Prefix = Ctrl+a)
tmux new -s homelab          # Create new session
tmux ls                      # List sessions
tmux attach -t homelab       # Attach to session
Ctrl+a then |                # Split pane vertically
Ctrl+a then -                # Split pane horizontally
Ctrl+a then h/j/k/l          # Navigate panes
Ctrl+a then Ctrl+s           # Save session
Ctrl+a then d                # Detach from session
 
# Git
git status
git pull
git add . && git commit -m "message" && git push

Workstation Role: Development and homelab management laptop Owner: James Hathcock Primary Purpose: Remote infrastructure management, documentation, and development


Last hardware audit: 2026-02-04 Next review: After major system changes or quarterly