Skip to content

gerasy1987/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Personal dotfiles and resources

GNU Stow-based dotfiles for Linux (Arch + Hyprland) and macOS, plus curated resources for productivity.

Stow Packages

Each top-level folder is a stow package that mirrors the target directory structure relative to $HOME. Running stow <package> symlinks its contents to ~.

Package Purpose
hypr Hyprland compositor, hypridle, hyprpaper
fish Fish shell with syntax highlighting and autosuggestions
waybar Status bar with custom modules and scripts
foot Fast, minimal Wayland terminal
starship Cross-shell prompt
rofi Application launcher (dmenu replacement)
mako Notification daemon
btop System monitor
cava Audio visualizer
kanshi Automatic display configuration
claude Claude Code configuration (agents, rules, skills)
vscode VS Code user settings, keybindings, and helper scripts
r Global R profile for VS Code session watcher and terminal width

Installation

These dotfiles rely on/assume the following are installed and correctly set (e.g. fish is set as your shell of choice). E.g. on Arch-based systems make sure you run the following:

pacman -S btop cava fastfetch fish foot hyprland mako rofi starship superfile tlp tlpui kanshi

To copy these dotfiles, I suggest to use GNU Stow:

  1. Install Stow (on most systems):

    # Debian/Ubuntu
    apt install stow
    
    # Arch
    pacman -S stow
    
    # Fedora
    dnf install stow
    
    # macOS (with Homebrew)
    brew install stow
  2. Clone this repository into your $HOME directory:

    git clone https://github.com/gerasy1987/dotfiles.git ~/dotfiles
    cd ~/dotfiles

    If you are unsure what your home directory is, run echo $HOME in terminal.

  3. Stow the desired config folders (e.g., for shell setup, stow fish, foot, and starship):

    stow fish
    stow foot
    stow starship

stow vscode stow r


This will symlink the config files into your `$HOME` directory with correct relative paths.

After you are done `stow`-ing your dotfiles make sure to **give right permissions to shell scripts in Waybar:**

```sh
chmod -R +x $HOME/.config/waybar/scripts/

Claude Code Configuration

The claude/ package syncs Claude Code CLI configuration to ~/.claude/.

claude/.claude/
├── agents/        # Review agents (proofreader, slide-auditor, r-reviewer, etc.)
├── rules/         # Global rules (plan-first workflow, quality gates)
├── skills/        # Slash commands (/compile-latex, /translate-to-quarto, /deploy)
└── settings.json  # Permissions and hooks

Key features:

  • Agents - Specialized subagents for code review, proofreading, and domain-specific checks
  • Rules - Enforce workflows like plan-before-implement and verify-before-finish
  • Skills - Reusable commands for LaTeX compilation, Quarto rendering, deployments

Not synced (stay local in ~/.claude/): .credentials.json, history.jsonl, projects/, cache directories.

VS Code resources

  • VS Code User Interface is much more flexible than RStudio's.

  • Setting Up R in VS Code is costly first time and requires radian setup for autocompletions and proper R terminal.

  • Setting Up Python in VS Code: is easier than R.

  • Source Control in VS Code allows you to manage your source code with Git and work remotely with GitHub without need to install dedicated app.

  • Cursor is a VS Code wrapper (and replacement) designed to improve your coding efficiency with AI-powered code suggestions and completions.

  • Quarto in VS Code is as good as Quarto in RStudio with full support for chunk controls and visual editor.

VS Code Setup (Cross-Platform)

VS Code stores user settings in different locations per OS:

  • Linux: ~/.config/Code/User/
  • macOS: ~/Library/Application Support/Code/User/

The canonical settings live in vscode/.config/Code/User/ (the Linux path). After stowing, run the install script to symlink them to the correct OS-specific location:

stow vscode r
vscode-install          # symlinks settings.json & keybindings.json to the right OS path
vscode-r-extensions     # installs R-related VS Code extensions
vscode-r-bootstrap      # installs R packages (languageserver, httpgd, etc.) and radian

Prerequisites by OS:

# Arch Linux
sudo pacman -S r jupyter-notebook python-pipx

# macOS (Homebrew)
brew install r jupyterlab pipx

Opinionated R Setup

The vscode and r packages together provide a full R development environment:

  • radian as the preferred R terminal inside VS Code, with fallback to plain R

  • languageserver for completion, hover, rename, diagnostics, and formatting

  • httpgd for the VS Code plot viewer

  • lintr and styler for diagnostics and formatting

  • IRkernel for Jupyter-backed R notebooks in VS Code

  • Quarto and R Markdown formatting-on-save plus chunk CodeLens

  • Global .Rprofile hooks so self-managed VS Code R sessions attach cleanly

  • Cross-platform R terminal and path settings (r.rterm.mac/r.rterm.linux)

  • A list of useful VS Code packages:

    • Color Highlight: Highlights color codes in your code, making it easier to visualize color values.
    • LaTeX Workshop: A comprehensive LaTeX editing environment within VS Code.
    • Open in External App: Allows you to open files in external applications directly from VS Code.
    • Quarto: Integrates Quarto for document authoring and publishing in VS Code.
    • R Language Support: Provides R language support, including syntax highlighting and code completion.
    • GitLens: Supercharges the Git capabilities built into VS Code, providing insights into code authorship.
    • Jupyter: Enables Jupyter notebook support in VS Code for interactive data science and machine learning.
    • Python: Essential extension for Python development, offering rich support for Python in VS Code.
    • Pylance: A performant, feature-rich language server for Python in VS Code, enhancing code analysis and completion.
    • Markdown All in One: Provides comprehensive Markdown support with shortcuts, table of contents, and more in VS Code.
    • Sublime Keybindings: Brings Sublime Text keybindings to VS Code for users familiar with Sublime Text shortcuts.

RStudio resources

QoL improvements

  • Reduce need to drag and stretch windows by using tiling window managers:

  • Learn basic terminal commands (cd, cp, ls, mkdir, mv, man, sudo, etc.)

  • Use dual-pane file explorer for making copying and exploring files easier

    • Marta: A dual-pane file manager for macOS, offering a clean interface and powerful features.
    • Commander One: A dual-pane file manager for macOS with advanced features like FTP client and file compression.
    • Krusader: An advanced twin-panel file manager for KDE and other desktops in the Unix world, providing a wide range of features.
  • Quarto Visual Editor: A user-friendly visual editor for Quarto, simplifying document creation and editing.

  • Package Managers like Homebrew, apt, or pacman allow you to efficiently install and manage software on your system. It also allows you to remove apps on MacOS properly. The only commands you need to learn to all of those are search, install, upgrade/update and remove/uninstall

  • Multi-Cursor Editing is a game-changer and is fully supported in editors like RStudio and VS Code and superseeds base search and replace functionality.

  • Use fonts with Ligatures (like FiraCode) to enhance code readability with proper rendering of combinations of symbols, like <-, <= !=.

Everything is Awesome

About

personal dotfiles

Resources

Stars

Watchers

Forks

Contributors