My Entire Coding Setup - Arch Linux & Software

By NeuralNine

Share:

Key Concepts

  • Operating System: Arch Linux
  • Window Manager/Compositor: Hyperland (running on Wayland)
  • Terminal Emulator: Alacritty
  • Shell: Zsh (with Oh My Zsh)
  • Code Editor: Neovim (for general coding), Cursor (for AI-assisted coding)
  • Package Manager: Pacman, Yay (AUR helper)
  • File Manager: Thunar
  • PDF Reader: Okular
  • Video Player: MPV
  • Image Viewer: Mirage
  • Web Browser: Chrome
  • Email Client: Thunderbird
  • Credential Manager: Gnome Keyring
  • Communication: Slack, Discord
  • Screen Recording: OBS
  • Video Editing: Shotcut
  • Image Editing/Thumbnails: Canva
  • Audio Recording: Audacity
  • Drawing/Annotation: MyPaint
  • Music Player: Spotify
  • Password Manager: KeePass
  • System Monitoring/Task Management: Btop
  • Directory Navigation: Autojump
  • Code Search: Ripgrep (rg)
  • File Listing: Exa (aliased as ls)
  • Python Package Manager: uv
  • System Analysis: QDirStat
  • Backup Tool: Timeshift
  • Gaming: Steam, Prism Launcher (for Minecraft)
  • Productivity/Note-taking: Obsidian, Notion
  • Screenshot Tool: Hyprshot
  • Emoji Picker: Custom script using dmenu/wofi

Software Setup and Configuration

This video details the software configuration of the creator's Arch Linux system, focusing on tools used for development, daily tasks, and content creation. The creator emphasizes that this is not a setup guide but a showcase of their personal setup, with configuration files available on their GitHub.

Operating System and Window Management

  • Operating System: The creator uses Arch Linux.
  • Window Manager/Compositor: Hyperland is used as the tiling window manager, running on Wayland. Wayland is presented as an alternative to X11, which the creator found to have issues with video playback smoothness and laggy scrolling. Hyperland allows for window swapping, mouse interaction, and floating modes.
  • Hyperland Configuration:
    • A key aspect of the creator's Hyperland setup is their unique approach to workspaces. Instead of individual workspaces per monitor, they treat a configuration of all three monitors as a single workspace.
    • Switching to a new workspace (e.g., Super + 1, Super + 2) simultaneously switches the display across all three monitors.
    • Specific keybinds are configured for launching applications:
      • Super + B: Browser (Chrome)
      • Super + X: Lock screen
      • Super + C: Cursor (AI editor)
      • Super + M: Thunderbird (mail client)
      • Super + O: Obsidian (note-taking)
      • Super + Q: Close window
      • Super + D: Dmenu (Wofi) for application launching
      • Super + Enter: Terminal
    • Window focus can be switched using arrow keys or HJKL keys.
  • Waybar Configuration:
    • The creator uses Waybar for system status indicators.
    • Their Waybar configuration is described as "exotic" due to the custom script managing the multi-monitor workspace switching.
    • The script visually indicates active workspaces with a white color and workspaces with active windows in blue.
    • Waybar displays: running applications, internet connection, Bluetooth, disk usage, CPU usage, RAM usage, volume, and date/time.
  • Workspace Usage Strategy:
    • Workspace 0 (Super + 0): Music (Spotify/YouTube)
    • Workspace 1: Main browser page
    • Workspace 2: Coding
    • Workspace 3: Browser for testing web applications
    • Workspace 4: Terminals for Jupyter Lab or Docker log monitoring
    • Workspace 5: Mail (Thunderbird)
    • Workspace 6: GitHub
    • Workspaces 7, 8, 9: Largely unused, even for gaming.

Terminal and Shell

  • Terminal Emulator: Alacritty is used, with its configuration available on GitHub.
  • Font: JetBrains Mono Nerd Font is used for most applications.
  • Shell: Zsh is the primary shell, utilizing Oh My Zsh. The creator acknowledges it might not be the most optimal but prefers it and has a tutorial on their setup.

Development Tools

  • Code Editor:
    • Neovim is the primary editor for general coding, accessed via the nv shortcut.
    • Cursor is used for AI-assisted coding, particularly for front-end development or tasks requiring significant AI input.
  • Neovim Plugins:
    • Bufferline
    • Buffdelete
    • FloatTerm (for floating terminals)
    • LazyGit (rarely used)
    • Lualine
    • Envap (for debugging, rarely used)
    • NvimTree (file explorer on the left)
    • OneDark (color theme)
    • Telescope (for file searching and fuzzy finding)
    • Todo Comments
    • Tree-sitter
    • LSP bindings (for autocompletion and language server protocol integration)
  • Other Development Tools:
    • Python: Mentioned as a tool used but not detailed.
    • Docker: Mentioned as a tool used but not detailed.
    • Git: Mentioned as a tool used but not detailed.
    • uv: A fast Python package manager used in most projects.
    • Pacman: The default Arch Linux package manager.
    • Yay: An Arch User Repository (AUR) helper used for updating packages and installing AUR packages.

Essential System Utilities

  • Login Manager/Greeter: LY (pronounced "Lye") is used as a lightweight login screen for selecting the environment and entering the password.
  • Emoji Picker: A custom script, adapted from a GitHub repository, allows users to type emojis by searching keywords (e.g., "Super + dot" followed by "laugh").
  • Audio Management: Pavucontrol is used for managing audio playback, output devices, input devices, and configurations.
  • Bluetooth Management: Bluetooth Manager is used for managing Bluetooth connections.
  • Task Manager: Btop is used for monitoring processes and killing them (e.g., Shift + K with Vim keybindings).
  • Autojump: A tool that learns frequently visited directories and allows quick navigation using short aliases (e.g., j toot for a tutorial directory).
  • Ripgrep (rg): A fast command-line search tool for finding lines of text within files.
  • Exa: A modern replacement for ls with better coloring and performance, aliased as ls.
  • Hyprshot: A screenshot tool activated by Ctrl + Print Screen, allowing users to select areas for screenshots.

Graphical User Interface (GUI) Software

  • File Manager: Thunar is used, mapped to Super + N (originally for Nautilus).
  • PDF Reader: Okular is used for reading PDFs, with Vim-like keybindings for navigation (J/K for scrolling).
  • Video Player: MPV is used for watching videos, offering convenient keybindings for playback control.
  • Image Viewer: Mirage is used for opening images, described as a lightweight option.
  • Web Browser: Chrome is preferred over Firefox due to perceived better compatibility and performance, although Firefox is also installed.
  • Email Client: Thunderbird is used for managing email accounts with automated filters.
  • Credential Manager: Gnome Keyring is essential for managing user credentials and avoiding repeated logins.
  • AI Code Editor: Cursor is used for front-end development and tasks where AI assistance is beneficial.
  • Communication:
    • Slack: Used for business communication.
    • Discord: Used for private calls and the creator's community server.
  • Video Making Software:
    • OBS: Used for screen recording.
    • Shotcut: A simple and easy-to-use video editor for cutting, removing pauses, and adding assets. The creator notes it's suitable for beginners and suggests DaVinci Resolve or Kdenlive for more advanced users.
  • Image Editing/Thumbnails: Canva is primarily used for designing thumbnails. For more complex image manipulation, GIMP is occasionally used.
  • Audio Recording: Audacity is used for recording voiceovers.
  • Drawing/Annotation: MyPaint is used for sketching and explaining concepts, often in conjunction with a drawing tablet.

Other Software and Utilities

  • Music: Spotify is used for listening to music.
  • Password Manager: KeePass is used to manage a secure database of passwords.
  • File Search: While fzf (fuzzy finder) is mentioned as a command-line tool for searching files, the creator notes they don't use fsearch as much anymore.
  • Disk Usage Analyzer: QDirStat is used to scan directories and the system to identify large files and potential space-saving opportunities.
  • Backup Tool: Timeshift is a tool for scheduling automatic system backups, allowing for rollbacks in case of issues. The creator admits to not using it as often as they should.
  • Encryption: VeraCrypt was previously used for private journaling but is now replaced by Obsidian's encryption.
  • Color Picker (Wayland Issue): gpick is mentioned as a tool for picking colors from the screen, but it's noted as not working well on Wayland without modifications.
  • Clipboard Manager: CopyQ or Gpaste are mentioned as tools for managing multiple clipboards and maintaining a history of copied items.
  • Gaming:
    • Steam: Used for playing games, primarily Counter-Strike.
    • Prism Launcher: A modular, auto-updating tool used for Minecraft.
    • MangoHud: Used to display FPS and other performance metrics.
    • GameMode: A daemon that optimizes system performance for gaming.
  • Productivity/Knowledge Management:
    • Obsidian: Described as the creator's "commonplace book" for organizing goals, thoughts, journals, notes, strategies, and ideas. It's considered their primary management tool.
    • Notion: Occasionally used, mainly for business purposes.

Conclusion and Future Content

The creator concludes by summarizing the software they use and encourages viewers to check their GitHub for configuration files. They express openness to creating more detailed videos on specific topics like Arch Linux, Hyperland, or Neovim if there is viewer interest. They also promote their services and encourage subscriptions.

Chat with this Video

AI-Powered

Load the transcript when you're ready to chat so the initial page stays lighter.

Ready to summarize another video?

Summarize YouTube Video