[{"data":1,"prerenderedAt":892},["ShallowReactive",2],{"page:/en/posts/2025/omarchy-first-steps":3,"authors:all":876,"surroundings:/en/posts/2025/omarchy-first-steps":887,"search-api":-1},{"id":4,"title":5,"alternates":6,"author":7,"body":8,"categories":859,"cover":6,"date":863,"description":864,"draft":865,"extension":866,"language":6,"layout":6,"listed":214,"meta":867,"navigation":214,"nocomments":865,"path":868,"redirect_to_domain":6,"redirect_to_full_url":6,"seo":869,"stem":870,"tags":871,"__hash__":875},"posts_en/en/2025/omarchy-first-steps.md","Omarchy: first steps",null,"doguskysilva",{"type":9,"value":10,"toc":850},"minimark",[11,15,26,31,38,41,44,48,60,64,67,72,75,108,117,142,148,155,260,267,380,408,697,703,767,771,778,781,836,840,843,846],[12,13,14],"p",{},"Recently, I started building a new setup, since I used to work on a MacBook Air M1 and now I also use a desktop. Since 2017, I have not used Windows as my daily driver, and I have always worked on some Linux distribution, initially Ubuntu and later Fedora. In 2024, to try out a new distro, I started testing Arch, installing only what I really needed for my daily workflow.",[12,16,17,18,25],{},"I came across DHH's Omakub project, which is based on Ubuntu, but shortly after that, an Arch-focused version appeared: ",[19,20,24],"a",{"href":21,"rel":22},"https://omarchy.org/",[23],"nofollow","Omarchy",".",[27,28,30],"h2",{"id":29},"why-omarchy","Why Omarchy?",[12,32,33,34,37],{},"I have always configured my computers for study and software development, keeping only what I actually use. ",[35,36],"br",{},"\nI'm a \"terminal guy\" - most of my day goes through CLI tools like Tmux, Neovim, Git, Docker, and other tools tied to the languages I study or use. For almost everything, I created shortcuts that speed up my workflow.",[12,39,40],{},"Even on macOS, my basic setup included a terminal, Neovim + LazyVim, Tmux with plugins, ZSH + Oh My Zsh, Docker or Podman, Git with aliases, and more recently Starship.",[12,42,43],{},"Omarchy fits right in: it comes with these tools already installed and pre-configured, except for ZSH, since it ships with Bash. Combining Arch, my usual setup, and my shortcuts felt like the ideal choice.",[27,45,47],{"id":46},"installation","Installation",[12,49,50,51,56,57,59],{},"Omarchy can be installed in two ways: ",[19,52,55],{"href":53,"rel":54},"https://learn.omacom.io/2/the-omarchy-manual/96/manual-installation",[23],"manually",", by installing Arch first and then the Omarchy scripts, or by using the direct ISO. ",[35,58],{},"\nI went with the ISO, which already comes with a default setup using BTRFS, Limine as the bootloader, and Snapper for snapshots and rollback. Since this is my personal desktop, I configured boot protection and automatic login with my user account.",[27,61,63],{"id":62},"post-install-setup","Post-install Setup",[12,65,66],{},"Although Omarchy comes with almost everything I usually use, I needed to make a few customizations.",[68,69,71],"h3",{"id":70},"zsh","ZSH",[12,73,74],{},"Omarchy comes with Bash, so I installed ZSH and the main plugins:",[76,77,82],"pre",{"className":78,"code":79,"language":80,"meta":81,"style":81},"language-bash shiki shiki-themes github-light github-dark","yay -S zsh zsh-autosuggestions zsh-syntax-highlighting\n","bash","",[83,84,85],"code",{"__ignoreMap":81},[86,87,90,94,98,102,105],"span",{"class":88,"line":89},"line",1,[86,91,93],{"class":92},"sScJk","yay",[86,95,97],{"class":96},"sj4cs"," -S",[86,99,101],{"class":100},"sZZnC"," zsh",[86,103,104],{"class":100}," zsh-autosuggestions",[86,106,107],{"class":100}," zsh-syntax-highlighting\n",[12,109,110,111,116],{},"And since I use the zsh + ",[19,112,115],{"href":113,"rel":114},"https://ohmyz.sh/",[23],"oh-my-zsh"," combination, I also installed it with:",[76,118,120],{"className":78,"code":119,"language":80,"meta":81,"style":81},"sh -c \"$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)\"\n",[83,121,122],{"__ignoreMap":81},[86,123,124,127,130,133,136,139],{"class":88,"line":89},[86,125,126],{"class":92},"sh",[86,128,129],{"class":96}," -c",[86,131,132],{"class":100}," \"$(",[86,134,135],{"class":92},"curl",[86,137,138],{"class":96}," -fsSL",[86,140,141],{"class":100}," https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)\"\n",[12,143,144,145,25],{},"Omarchy has several configuration files specifically for Bash, and they can all be found in ",[83,146,147],{},"~/.local/share/omarchy/default/bash/",[12,149,150,151,154],{},"One file that needs to be updated is ",[83,152,153],{},"init",", which has the following configuration:",[76,156,159],{"className":157,"code":158,"language":70,"meta":81,"style":81},"language-zsh shiki shiki-themes github-light github-dark","if command -v mise &> /dev/null; then\n  eval \"$(mise activate bash)\"\nfi\n\nif command -v starship &> /dev/null; then\n  eval \"$(starship init bash)\"\nfi\n...\n",[83,160,161,189,203,209,216,236,249,254],{"__ignoreMap":81},[86,162,163,167,170,173,176,180,183,186],{"class":88,"line":89},[86,164,166],{"class":165},"szBVR","if",[86,168,169],{"class":96}," command",[86,171,172],{"class":96}," -v",[86,174,175],{"class":100}," mise",[86,177,179],{"class":178},"sVt8B"," &",[86,181,182],{"class":165},">",[86,184,185],{"class":178}," /dev/null; ",[86,187,188],{"class":165},"then\n",[86,190,192,195,197,200],{"class":88,"line":191},2,[86,193,194],{"class":96},"  eval",[86,196,132],{"class":100},[86,198,199],{"class":92},"mise",[86,201,202],{"class":100}," activate bash)\"\n",[86,204,206],{"class":88,"line":205},3,[86,207,208],{"class":165},"fi\n",[86,210,212],{"class":88,"line":211},4,[86,213,215],{"emptyLinePlaceholder":214},true,"\n",[86,217,219,221,223,225,228,230,232,234],{"class":88,"line":218},5,[86,220,166],{"class":165},[86,222,169],{"class":96},[86,224,172],{"class":96},[86,226,227],{"class":100}," starship",[86,229,179],{"class":178},[86,231,182],{"class":165},[86,233,185],{"class":178},[86,235,188],{"class":165},[86,237,239,241,243,246],{"class":88,"line":238},6,[86,240,194],{"class":96},[86,242,132],{"class":100},[86,244,245],{"class":92},"starship",[86,247,248],{"class":100}," init bash)\"\n",[86,250,252],{"class":88,"line":251},7,[86,253,208],{"class":165},[86,255,257],{"class":88,"line":256},8,[86,258,259],{"class":96},"...\n",[12,261,262,263,266],{},"So I adjusted my ",[83,264,265],{},".zshrc"," to include the following imports and keep some of Omarchy's default Bash imports.",[76,268,270],{"className":157,"code":269,"language":70,"meta":81,"style":81},"# ... previous zshrc setup\n\nsource ~/.config/zsh/shell\nsource ~/.config/zsh/aliases\nsource ~/.config/zsh/functions\nsource ~/.config/zsh/init\nsource ~/.config/zsh/envs\nsource ~/.config/zsh/inputrc\n[[ -r ~/.config/zsh/secrets ]] && source ~/.config/zsh/secrets\n\n# source from Omarchy\nsource ~/.local/share/omarchy/default/bash/aliases\nsource ~/.local/share/omarchy/default/bash/functions\nsource ~/.local/share/omarchy/default/bash/envs\n",[83,271,272,278,282,290,297,304,311,318,325,345,350,356,364,372],{"__ignoreMap":81},[86,273,274],{"class":88,"line":89},[86,275,277],{"class":276},"sJ8bj","# ... previous zshrc setup\n",[86,279,280],{"class":88,"line":191},[86,281,215],{"emptyLinePlaceholder":214},[86,283,284,287],{"class":88,"line":205},[86,285,286],{"class":96},"source",[86,288,289],{"class":100}," ~/.config/zsh/shell\n",[86,291,292,294],{"class":88,"line":211},[86,293,286],{"class":96},[86,295,296],{"class":100}," ~/.config/zsh/aliases\n",[86,298,299,301],{"class":88,"line":218},[86,300,286],{"class":96},[86,302,303],{"class":100}," ~/.config/zsh/functions\n",[86,305,306,308],{"class":88,"line":238},[86,307,286],{"class":96},[86,309,310],{"class":100}," ~/.config/zsh/init\n",[86,312,313,315],{"class":88,"line":251},[86,314,286],{"class":96},[86,316,317],{"class":100}," ~/.config/zsh/envs\n",[86,319,320,322],{"class":88,"line":256},[86,321,286],{"class":96},[86,323,324],{"class":100}," ~/.config/zsh/inputrc\n",[86,326,328,331,334,337,340,342],{"class":88,"line":327},9,[86,329,330],{"class":178},"[[ ",[86,332,333],{"class":165},"-r",[86,335,336],{"class":165}," ~",[86,338,339],{"class":178},"/.config/zsh/secrets ]] && ",[86,341,286],{"class":96},[86,343,344],{"class":100}," ~/.config/zsh/secrets\n",[86,346,348],{"class":88,"line":347},10,[86,349,215],{"emptyLinePlaceholder":214},[86,351,353],{"class":88,"line":352},11,[86,354,355],{"class":276},"# source from Omarchy\n",[86,357,359,361],{"class":88,"line":358},12,[86,360,286],{"class":96},[86,362,363],{"class":100}," ~/.local/share/omarchy/default/bash/aliases\n",[86,365,367,369],{"class":88,"line":366},13,[86,368,286],{"class":96},[86,370,371],{"class":100}," ~/.local/share/omarchy/default/bash/functions\n",[86,373,375,377],{"class":88,"line":374},14,[86,376,286],{"class":96},[86,378,379],{"class":100}," ~/.local/share/omarchy/default/bash/envs\n",[12,381,382,383,386,387,386,390,386,393,396,397,400,401,403,404,407],{},"The ",[83,384,385],{},"shell",", ",[83,388,389],{},"aliases",[83,391,392],{},"functions",[83,394,395],{},"secrets",", and ",[83,398,399],{},"envs"," files are optional, while ",[83,402,153],{}," and ",[83,405,406],{},"inputrc"," are required to keep mise, zoxide, and starship working:",[76,409,411],{"className":157,"code":410,"language":70,"meta":81,"style":81},"# init\n\nif command -v mise &> /dev/null; then\n  eval \"$(mise activate zsh)\"\nfi\n\nif command -v starship &> /dev/null; then\n  eval \"$(starship init zsh)\"\nfi\n\nif command -v zoxide &> /dev/null; then\n  eval \"$(zoxide init zsh)\"\nfi\n\nif command -v fzf &> /dev/null; then\n  if [[ -f /usr/share/fzf/completion.zsh ]]; then\n    source /usr/share/fzf/completion.zsh\n  fi\n  if [[ -f /usr/share/fzf/key-bindings.zsh ]]; then\n    source /usr/share/fzf/key-bindings.zsh\n  fi\nfi\n\nif [ -d /usr/share/zsh/plugins/zsh-autosuggestions ]; then\n  # plugins (from system packages)\n  source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh\nfi\n\nif [ -d /usr/share/zsh/plugins/zsh-syntax-highlighting ]; then\n  # starship must init before syntax-highlighting\n  source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh\nfi\n",[83,412,413,418,422,440,451,455,459,477,488,492,496,515,526,530,534,554,571,580,586,600,608,613,618,623,639,645,654,659,664,678,684,692],{"__ignoreMap":81},[86,414,415],{"class":88,"line":89},[86,416,417],{"class":276},"# init\n",[86,419,420],{"class":88,"line":191},[86,421,215],{"emptyLinePlaceholder":214},[86,423,424,426,428,430,432,434,436,438],{"class":88,"line":205},[86,425,166],{"class":165},[86,427,169],{"class":96},[86,429,172],{"class":96},[86,431,175],{"class":100},[86,433,179],{"class":178},[86,435,182],{"class":165},[86,437,185],{"class":178},[86,439,188],{"class":165},[86,441,442,444,446,448],{"class":88,"line":211},[86,443,194],{"class":96},[86,445,132],{"class":100},[86,447,199],{"class":92},[86,449,450],{"class":100}," activate zsh)\"\n",[86,452,453],{"class":88,"line":218},[86,454,208],{"class":165},[86,456,457],{"class":88,"line":238},[86,458,215],{"emptyLinePlaceholder":214},[86,460,461,463,465,467,469,471,473,475],{"class":88,"line":251},[86,462,166],{"class":165},[86,464,169],{"class":96},[86,466,172],{"class":96},[86,468,227],{"class":100},[86,470,179],{"class":178},[86,472,182],{"class":165},[86,474,185],{"class":178},[86,476,188],{"class":165},[86,478,479,481,483,485],{"class":88,"line":256},[86,480,194],{"class":96},[86,482,132],{"class":100},[86,484,245],{"class":92},[86,486,487],{"class":100}," init zsh)\"\n",[86,489,490],{"class":88,"line":327},[86,491,208],{"class":165},[86,493,494],{"class":88,"line":347},[86,495,215],{"emptyLinePlaceholder":214},[86,497,498,500,502,504,507,509,511,513],{"class":88,"line":352},[86,499,166],{"class":165},[86,501,169],{"class":96},[86,503,172],{"class":96},[86,505,506],{"class":100}," zoxide",[86,508,179],{"class":178},[86,510,182],{"class":165},[86,512,185],{"class":178},[86,514,188],{"class":165},[86,516,517,519,521,524],{"class":88,"line":358},[86,518,194],{"class":96},[86,520,132],{"class":100},[86,522,523],{"class":92},"zoxide",[86,525,487],{"class":100},[86,527,528],{"class":88,"line":366},[86,529,208],{"class":165},[86,531,532],{"class":88,"line":374},[86,533,215],{"emptyLinePlaceholder":214},[86,535,537,539,541,543,546,548,550,552],{"class":88,"line":536},15,[86,538,166],{"class":165},[86,540,169],{"class":96},[86,542,172],{"class":96},[86,544,545],{"class":100}," fzf",[86,547,179],{"class":178},[86,549,182],{"class":165},[86,551,185],{"class":178},[86,553,188],{"class":165},[86,555,557,560,563,566,569],{"class":88,"line":556},16,[86,558,559],{"class":165},"  if",[86,561,562],{"class":178}," [[ ",[86,564,565],{"class":165},"-f",[86,567,568],{"class":178}," /usr/share/fzf/completion.zsh ]]; ",[86,570,188],{"class":165},[86,572,574,577],{"class":88,"line":573},17,[86,575,576],{"class":96},"    source",[86,578,579],{"class":100}," /usr/share/fzf/completion.zsh\n",[86,581,583],{"class":88,"line":582},18,[86,584,585],{"class":165},"  fi\n",[86,587,589,591,593,595,598],{"class":88,"line":588},19,[86,590,559],{"class":165},[86,592,562],{"class":178},[86,594,565],{"class":165},[86,596,597],{"class":178}," /usr/share/fzf/key-bindings.zsh ]]; ",[86,599,188],{"class":165},[86,601,603,605],{"class":88,"line":602},20,[86,604,576],{"class":96},[86,606,607],{"class":100}," /usr/share/fzf/key-bindings.zsh\n",[86,609,611],{"class":88,"line":610},21,[86,612,585],{"class":165},[86,614,616],{"class":88,"line":615},22,[86,617,208],{"class":165},[86,619,621],{"class":88,"line":620},23,[86,622,215],{"emptyLinePlaceholder":214},[86,624,626,628,631,634,637],{"class":88,"line":625},24,[86,627,166],{"class":165},[86,629,630],{"class":178}," [ ",[86,632,633],{"class":165},"-d",[86,635,636],{"class":178}," /usr/share/zsh/plugins/zsh-autosuggestions ]; ",[86,638,188],{"class":165},[86,640,642],{"class":88,"line":641},25,[86,643,644],{"class":276},"  # plugins (from system packages)\n",[86,646,648,651],{"class":88,"line":647},26,[86,649,650],{"class":96},"  source",[86,652,653],{"class":100}," /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh\n",[86,655,657],{"class":88,"line":656},27,[86,658,208],{"class":165},[86,660,662],{"class":88,"line":661},28,[86,663,215],{"emptyLinePlaceholder":214},[86,665,667,669,671,673,676],{"class":88,"line":666},29,[86,668,166],{"class":165},[86,670,630],{"class":178},[86,672,633],{"class":165},[86,674,675],{"class":178}," /usr/share/zsh/plugins/zsh-syntax-highlighting ]; ",[86,677,188],{"class":165},[86,679,681],{"class":88,"line":680},30,[86,682,683],{"class":276},"  # starship must init before syntax-highlighting\n",[86,685,687,689],{"class":88,"line":686},31,[86,688,650],{"class":96},[86,690,691],{"class":100}," /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh\n",[86,693,695],{"class":88,"line":694},32,[86,696,208],{"class":165},[12,698,699,700,702],{},"I copied ",[83,701,406],{}," as-is, and only the shortcut keys were changed:",[76,704,706],{"className":157,"code":705,"language":70,"meta":81,"style":81},"\n# incremental history search with arrow keys\nbindkey \"^[[A\" history-beginning-search-backward\nbindkey \"^[[B\" history-beginning-search-forward\n\n# Left/Right move cursor\nbindkey '\\e[C' forward-char\nbindkey '\\e[D' backward-char\n",[83,707,708,712,717,728,738,742,747,757],{"__ignoreMap":81},[86,709,710],{"class":88,"line":89},[86,711,215],{"emptyLinePlaceholder":214},[86,713,714],{"class":88,"line":191},[86,715,716],{"class":276},"# incremental history search with arrow keys\n",[86,718,719,722,725],{"class":88,"line":205},[86,720,721],{"class":96},"bindkey",[86,723,724],{"class":100}," \"^[[A\"",[86,726,727],{"class":100}," history-beginning-search-backward\n",[86,729,730,732,735],{"class":88,"line":211},[86,731,721],{"class":96},[86,733,734],{"class":100}," \"^[[B\"",[86,736,737],{"class":100}," history-beginning-search-forward\n",[86,739,740],{"class":88,"line":218},[86,741,215],{"emptyLinePlaceholder":214},[86,743,744],{"class":88,"line":238},[86,745,746],{"class":276},"# Left/Right move cursor\n",[86,748,749,751,754],{"class":88,"line":251},[86,750,721],{"class":96},[86,752,753],{"class":100}," '\\e[C'",[86,755,756],{"class":100}," forward-char\n",[86,758,759,761,764],{"class":88,"line":256},[86,760,721],{"class":96},[86,762,763],{"class":100}," '\\e[D'",[86,765,766],{"class":100}," backward-char\n",[68,768,770],{"id":769},"tmux","Tmux",[12,772,773,774],{},"In the early versions of Omarchy, tmux was not configured and required a whole extra setup. It also did not support theme switching, which is one of the most interesting features. But in version 3.4, they added tmux with full theme support and a very solid basic configuration.\n",[775,776],"img",{"alt":769,"src":777},"/posts/omarchy-primeiros-passos/tmux.png",[12,779,780],{},"The only change I made was to a few keyboard shortcuts:",[782,783,784,799],"table",{},[785,786,787],"thead",{},[788,789,790,794,796],"tr",{},[791,792,793],"th",{},"Hotkeys",[791,795,24],{},[791,797,798],{},"Personal",[800,801,802,814,825],"tbody",{},[788,803,804,808,811],{},[805,806,807],"td",{},"Prefix",[805,809,810],{},"Ctrl + Space",[805,812,813],{},"Ctrl + a",[788,815,816,819,822],{},[805,817,818],{},"Vertical Pane",[805,820,821],{},"Prefix + v",[805,823,824],{},"Prefix + |",[788,826,827,830,833],{},[805,828,829],{},"Horizontal Pane",[805,831,832],{},"Prefix + h",[805,834,835],{},"Prefix + -",[27,837,839],{"id":838},"conclusion","Conclusion",[12,841,842],{},"Omarchy turned out to be a good fit for my day-to-day use, both for using it and for setting up new machines. Recently, I bought a Lenovo Yoga Slim 7i and went through the installation process, enabled the development environments I use, pulled my backup repository with my dotfiles, and that was it: everything was ready. And the best part is that there is no friction when I switch from my laptop to my desktop, because I have exactly the same setup.",[12,844,845],{},"Over these 7 months, I haven't missed any of those Ubuntu, Fedora, or Mint tweaks, because, as I mentioned before, most of the time I spend in the browser or in the terminal.",[847,848,849],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":81,"searchDepth":191,"depth":191,"links":851},[852,853,854,858],{"id":29,"depth":191,"text":30},{"id":46,"depth":191,"text":47},{"id":62,"depth":191,"text":63,"children":855},[856,857],{"id":70,"depth":205,"text":71},{"id":769,"depth":205,"text":770},{"id":838,"depth":191,"text":839},[860,861,862],"linux","development","personal","2026-04-04","My experience migrating to Omarchy, setting up my development environment, and adjusting tools like ZSH, Neovim, and Tmux.",false,"md",{},"/en/2025/omarchy-first-steps",{"title":5,"description":864},"en/2025/omarchy-first-steps",[872,873,70,769,874],"omarchy","archlinux","neovim","RsdXUhaVhdPvGcKQDYmB7-Qhbuy55KBdyuQUYv8rhHU",[877],{"id":878,"avatar":879,"default":214,"description":880,"extension":881,"meta":882,"name":883,"repository":884,"stem":885,"username":7,"__hash__":886},"authors/authors/douglas-silva.yml","/images/me.jpeg","Software Engineer passionate about technology, programming, and understanding how things work.","yml",{},"Douglas Silva","https://github.com/doguskysilva","authors/douglas-silva","cC1FS5pBq5GoSIcM6HteR1_J2sdCOU6kH9_8Kwy1ZIo",[6,888],{"title":889,"path":890,"stem":891,"children":-1},"Hello World!","/en/2025/hello-world","en/2025/hello-world",1776562798310]