Skip to content

Morelatto/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

Linux Ansible License

Ansible provisions packages and bootstraps • Dotter manages XDG-compliant configs • Mise handles dev toolchains


Prerequisites

Operating System Network Tools
Linux

Linux
any modern Linux distro
Internet

Internet Access
for downloading packages
Ansible

Ansible
automation platform


Installation

Desktop Minimal
ansible-pull -U https://github.com/Morelatto/dotfiles.git dev/ansible/ansible.yml -K

Complete shell environment with modern CLI utilities
X11 tiling window manager with compositor
Application launcher and desktop notifications
Web browser, productivity apps, and IDEs


For workstations and laptops
ansible-pull -U https://github.com/Morelatto/dotfiles.git dev/ansible/ansible.yml -K -e profile=minimal

Shell environment with essential CLI utilities
Modern replacements for GNU coreutils
Multi-language development toolchain
Terminal-based text editor and version control


For servers, containers, headless systems


System

Core infrastructure, automation, and display environment

Core Infrastructure

Icon Tool Purpose Details
Linux Linux Base operating system Pacman with parallel downloads, verbose output, multilib repo, easter egg progress bar
Ansible Ansible Bootstrap and package installation Profile support (minimal shell vs full desktop), installs base + AUR packages, configures services, deploys mise + dotter
Dotter Dotter Symlink‑based config deployment 2 packages (shell, desktop), automated hooks (SSH permissions, i3 auto-reload, picom restart, cache setup)
Mise Mise Polyglot tool/version manager Manages languages (Node, Python 3.12, Go, Rust, Bun), editors (Neovim), modern CLI tools, git/dev/container tools, security tools (age, sops), npm globals, pipx tools

Desktop Environment

Icon Tool Purpose Details
X.Org X.Org Display server (X11) Arc-Dark GTK theme, Qogir icons/cursor, Brazilian keyboard layout, dual monitor setup, screen timeout/DPMS power management, Firefox GTK integration
i3 i3 Tiling window manager 30 workspaces with multi-key access, custom gaps and borders, purple/blue color scheme, extensive keybindings (Super+Enter/d/t/g/l/n), autostart integrations (picom, dunst, autotiling, i3wsr, workspace-groups, feh)
Rofi Rofi Application launcher / window switcher Arc dark transparent theme, grid layout, Qogir icons, keybindings for apps/windows/workspace-groups
Picom picom Compositor Fading transitions, terminal opacity rules, blur effects (dual_kawase), GLX backend with vsync
Dunst dunst Notification daemon Bottom-right placement, purple theme, rounded corners, Qogir icons, timeout settings, multi-monitor support
i3blocks i3blocks Status bar Custom modules (launchers, system monitoring, status indicators, actions), FontAwesome icons, varied update intervals
i3wsr i3wsr Workspace renaming FontAwesome icon mapping for 36 window classes, icons-only mode, duplicate removal
Feh feh Wallpaper manager Background fill mode, betterlockscreen integration, i3 autostart
betterlockscreen betterlockscreen Screen locker Blur effect, custom colors (transparent login box, red error highlights), Nerd Font, wallpaper integration, xss-lock trigger
gsimplecal gsimplecal Calendar widget Close on unfocus, minimal decoration, event highlighting


Terminal

Shell environment and command-line tools

Shell Environment

Icon Tool Purpose Details
Zsh Zsh Primary shell Modular conf.d/ with decade-based numbering, XDG compliant, smart completion caching, syntax highlighting, autosuggestions, emacs keybindings, fuzzy matching
XFCE XFCE4 Terminal Terminal emulator Custom purple theme, FiraCode Nerd Font, transparency, unlimited scrollback, minimal UI (no scrollbar/bell)
starship starship Shell prompt Conditional loading with fallback to minimal zsh prompt
atuin atuin Shell history management Fuzzy search, workspace filtering, regex secret filtering, command stats tracking, multi-filter priority system
Ranger ranger File browser Minimal customization: image previews, hidden files, borders
zoxide zoxide Smart directory jumping Shell integration, j/zd/zf aliases (fzf-enhanced fuzzy selection)

Modern CLI Replacements

Icon Tool Purpose Details
eza eza Modern file listing (replaces ls) 14 aliases (long/all/recursive/dotfiles/sorting/tree/git-status)
bat bat File viewer (replaces cat) Overrides cat/less, FZF preview integration, aliases for plain/line-range modes
fd fd Fast file search (replaces find) 13 aliases (depth limits, type filters, hidden files, case-insensitive, size/exec operations)
ripgrep ripgrep Text search (replaces grep) Overrides grep, 11 aliases (context/files/word/count/type filters), custom search function with color and line numbers
fzf fzf Fuzzy finder Custom UI options, Ctrl+T for files, bat preview integration, enhanced process killing with smart name extraction
btop btop System monitor (replaces htop) Overrides top/htop commands
dust dust Disk usage (replaces du) Overrides du, depth limit aliases
sd sd Find & replace (replaces sed)
delta delta Git diff viewer GIT_PAGER integration, Dracula theme, side-by-side diffs with decorations, histogram algorithm
jq jq JSON processor Used in i3blocks weather script
yq yq YAML processor
hyperfine hyperfine Benchmarking (replaces time)
tokei tokei Code statistics (replaces cloc)


Development

Programming tools and development environment

Language Runtimes

Icon Tool Purpose Details
Node.js Node.js JavaScript runtime Latest channel via mise
Python Python Python runtime 3.12 via mise, pipx backend for global tools, XDG paths, pyenv build optimizations, pip/uv configs
Go Go Go runtime Latest via mise, custom GOPATH (/opt/go), CGO enabled, module mode, proxy configured
Rust Rust Rust toolchain Stable channel via mise, cargo bin in ~/.local, parallel builds, tmp build dir, clang+lld linker
Bun Bun JavaScript runtime / bundler Latest via mise, XDG-compliant paths, test timeout configured

Editors & IDEs

Icon Tool Purpose Details
Neovim AstroNvim Terminal text editor AstroNvim v5 base config (customizations disabled)
Sublime Text Sublime Text GUI text editor Mariana color scheme, save on focus lost, multiple packages (GitGutter, BracketHighlighter, SideBarEnhancements, etc.)
PyCharm PyCharm Python IDE Performance tuning (increased heap, indexing threads, zero-latency typing), RAM disk cache paths

Version Control

Icon Tool Purpose Details
Git Git Version control system Delta integration (Dracula theme, side-by-side diffs, decorations), extensive aliases (32 conventional commands), smart URL cleanup, custom functions (gitquick, gitroot), auto-setup remote, rebase on pull
lazygit lazygit Git TUI lg alias
GitHub gh GitHub CLI
GitLab glab GitLab CLI

Containers & Orchestration

Icon Tool Purpose Details
Docker Docker Container runtime BuildKit enabled, log rotation, garbage collection, metrics endpoint, resource ulimits, systemd cgroup driver
Docker Compose Docker Compose Multi-container orchestration CLI build integration
lazydocker lazydocker Docker TUI lzd alias
Kubernetes kubectl Kubernetes CLI XDG config path
k9s k9s Kubernetes TUI
Helm helm Kubernetes package manager

Development Utilities

Icon Tool Purpose Details
Claude Claude Code AI coding assistant Telemetry disabled, OTEL metrics to localhost, extended bash timeout, superpowers plugin, always-thinking mode
Glow glow Markdown viewer
Just just Task runner
watchexec watchexec File watcher
direnv direnv Environment manager
bottom bottom System monitor btm alias
age age File encryption
sops sops Secrets management


Applications

User applications and utilities

User Applications

Icon Tool Purpose Details
Firefox Firefox Web browser Arkenfox user.js overrides (session restore, privacy settings, keyboard shortcuts), addon configs (Tree Style Tab userChrome, uBlock Origin, Cookie AutoDelete)
Obsidian Obsidian Note taking & knowledge management App settings (link updates, spellcheck, delete prompts), community plugins (editor-width-slider, table-editor, dataview, canvas, task-progress, heatmap, excalidraw, vextab)
Kalu Kalu Update notifier 2hr check interval, auto-checks (upgrades, watched, AUR), click actions (notifications, check, toggle), built-in upgrade interface
yay yay Package helper Extensive aliases (install, search, update, no-confirm variants, full system update, cache cleanup)


Design Principles


XDG‑first

Config in ~/.config, caches in ~/.cache, data in ~/.local/share


Idempotent

Safe to re‑run on existing machines


Versioned

Profiles in VCS, select at deploy time


Secure

No secrets in git, use local overlays


Modular

Ansible roles, Dotter packages, Zsh conf.d


Declarative

"What" before "how", document why



Built on Linux
Powered by Ansible, Dotter, and Mise • MIT License