[{"data":1,"prerenderedAt":913},["ShallowReactive",2],{"navigation":3,"/getting-started/installation":67,"/getting-started/installation-surround":908},[4,18,33,48,63],{"title":5,"path":6,"stem":7,"children":8,"icon":17},"Getting Started","/getting-started","1.getting-started/1.index",[9,12],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-rocket",{"title":13,"path":14,"stem":15,"icon":16},"Installation","/getting-started/installation","1.getting-started/2.installation","i-lucide-download",false,{"title":19,"path":20,"stem":21,"children":22,"page":17},"Configuration","/configuration","2.configuration",[23,28],{"title":24,"path":25,"stem":26,"icon":27},"Autostart","/configuration/autostart","2.configuration/1.autostart","i-lucide-power",{"title":29,"path":30,"stem":31,"icon":32},"Keybindings","/configuration/keybindings","2.configuration/2.keybindings","i-lucide-keyboard",{"title":34,"path":35,"stem":36,"children":37,"page":17},"Customization","/customization","3.customization",[38,43],{"title":39,"path":40,"stem":41,"icon":42},"Theming","/customization/theming","3.customization/1.theming","i-lucide-palette",{"title":44,"path":45,"stem":46,"icon":47},"Bar Layout","/customization/bar-layout","3.customization/2.bar-layout","i-lucide-layout",{"title":49,"path":50,"stem":51,"children":52,"page":17},"Community","/community","4.community",[53,58],{"title":54,"path":55,"stem":56,"icon":57},"Contributing","/community/contributing","4.community/1.contributing","i-lucide-heart-handshake",{"title":59,"path":60,"stem":61,"icon":62},"Credits","/community/credits","4.community/2.credits","i-lucide-award",{"title":64,"path":65,"stem":66},"Disclaimer","/disclaimer","disclaimer",{"id":68,"title":13,"body":69,"description":901,"extension":902,"links":903,"meta":904,"navigation":905,"path":14,"seo":906,"stem":15,"__hash__":907},"docs/1.getting-started/2.installation.md",{"type":70,"value":71,"toc":888},"minimark",[72,76,81,84,89,122,126,184,188,308,312,408,412,472,475,479,482,721,723,727,730,816,818,822,825,868,870,874,877,884],[73,74,75],"p",{},"Choose between an automated script or a manual deployment sequence from source code.",[77,78,80],"h2",{"id":79},"quick-install","Quick Install",[73,82,83],{},"Select your distribution to quickly install Caffyne Shell using package managers or setup scripts.",[85,86,88],"h3",{"id":87},"arch","Arch",[90,91,96],"pre",{"className":92,"code":93,"language":94,"meta":95,"style":95},"language-bash shiki shiki-themes catppuccin-mocha","curl -fsSL https://raw.githubusercontent.com/caffyne-org/caffyne-shell/main/install.sh | bash\n","bash","",[97,98,99],"code",{"__ignoreMap":95},[100,101,104,108,112,115,119],"span",{"class":102,"line":103},"line",1,[100,105,107],{"class":106},"sO0CG","curl",[100,109,111],{"class":110},"sX9bP"," -fsSL",[100,113,114],{"class":110}," https://raw.githubusercontent.com/caffyne-org/caffyne-shell/main/install.sh",[100,116,118],{"class":117},"sMC71"," |",[100,120,121],{"class":106}," bash\n",[85,123,125],{"id":124},"fedora","Fedora",[90,127,129],{"className":92,"code":128,"language":94,"meta":95,"style":95},"# 1. Enable COPR repository\nsudo dnf copr enable caffyne/caffyne-shell\n\n# 2. Install caffyne-shell\nsudo dnf install -y caffyne-shell\n",[97,130,131,137,155,162,168],{"__ignoreMap":95},[100,132,133],{"class":102,"line":103},[100,134,136],{"class":135},"sEwFu","# 1. Enable COPR repository\n",[100,138,140,143,146,149,152],{"class":102,"line":139},2,[100,141,142],{"class":106},"sudo",[100,144,145],{"class":110}," dnf",[100,147,148],{"class":110}," copr",[100,150,151],{"class":110}," enable",[100,153,154],{"class":110}," caffyne/caffyne-shell\n",[100,156,158],{"class":102,"line":157},3,[100,159,161],{"emptyLinePlaceholder":160},true,"\n",[100,163,165],{"class":102,"line":164},4,[100,166,167],{"class":135},"# 2. Install caffyne-shell\n",[100,169,171,173,175,178,181],{"class":102,"line":170},5,[100,172,142],{"class":106},[100,174,145],{"class":110},[100,176,177],{"class":110}," install",[100,179,180],{"class":110}," -y",[100,182,183],{"class":110}," caffyne-shell\n",[85,185,187],{"id":186},"debian","Debian",[90,189,191],{"className":92,"code":190,"language":94,"meta":95,"style":95},"# 1. Create keyring directory & add GPG key\nsudo mkdir -p /etc/apt/keyrings\ncurl -fsSL https://caffyne-org.github.io/caffyne-debian/caffyne-apt.gpg.pub | gpg --dearmor | sudo tee /etc/apt/keyrings/caffyne.gpg > /dev/null\n\n# 2. Add repository to sources list\necho \"deb [signed-by=/etc/apt/keyrings/caffyne.gpg] https://caffyne-org.github.io/caffyne-debian trixie main\" | sudo tee /etc/apt/sources.list.d/caffyne.list\n\n# 3. Update package lists & install caffyne-shell\nsudo apt-get update\nsudo apt-get install -y caffyne-shell\n",[97,192,193,198,211,245,249,254,273,278,284,295],{"__ignoreMap":95},[100,194,195],{"class":102,"line":103},[100,196,197],{"class":135},"# 1. Create keyring directory & add GPG key\n",[100,199,200,202,205,208],{"class":102,"line":139},[100,201,142],{"class":106},[100,203,204],{"class":110}," mkdir",[100,206,207],{"class":110}," -p",[100,209,210],{"class":110}," /etc/apt/keyrings\n",[100,212,213,215,217,220,222,225,228,230,233,236,239,242],{"class":102,"line":157},[100,214,107],{"class":106},[100,216,111],{"class":110},[100,218,219],{"class":110}," https://caffyne-org.github.io/caffyne-debian/caffyne-apt.gpg.pub",[100,221,118],{"class":117},[100,223,224],{"class":106}," gpg",[100,226,227],{"class":110}," --dearmor",[100,229,118],{"class":117},[100,231,232],{"class":106}," sudo",[100,234,235],{"class":110}," tee",[100,237,238],{"class":110}," /etc/apt/keyrings/caffyne.gpg",[100,240,241],{"class":117}," >",[100,243,244],{"class":110}," /dev/null\n",[100,246,247],{"class":102,"line":164},[100,248,161],{"emptyLinePlaceholder":160},[100,250,251],{"class":102,"line":170},[100,252,253],{"class":135},"# 2. Add repository to sources list\n",[100,255,257,261,264,266,268,270],{"class":102,"line":256},6,[100,258,260],{"class":259},"sDSzL","echo",[100,262,263],{"class":110}," \"deb [signed-by=/etc/apt/keyrings/caffyne.gpg] https://caffyne-org.github.io/caffyne-debian trixie main\"",[100,265,118],{"class":117},[100,267,232],{"class":106},[100,269,235],{"class":110},[100,271,272],{"class":110}," /etc/apt/sources.list.d/caffyne.list\n",[100,274,276],{"class":102,"line":275},7,[100,277,161],{"emptyLinePlaceholder":160},[100,279,281],{"class":102,"line":280},8,[100,282,283],{"class":135},"# 3. Update package lists & install caffyne-shell\n",[100,285,287,289,292],{"class":102,"line":286},9,[100,288,142],{"class":106},[100,290,291],{"class":110}," apt-get",[100,293,294],{"class":110}," update\n",[100,296,298,300,302,304,306],{"class":102,"line":297},10,[100,299,142],{"class":106},[100,301,291],{"class":110},[100,303,177],{"class":110},[100,305,180],{"class":110},[100,307,183],{"class":110},[85,309,311],{"id":310},"ubuntu","Ubuntu",[90,313,315],{"className":92,"code":314,"language":94,"meta":95,"style":95},"# 1. Create keyring directory & add GPG key\nsudo mkdir -p /etc/apt/keyrings\ncurl -fsSL https://caffyne-org.github.io/caffyne-debian/caffyne-apt.gpg.pub | gpg --dearmor | sudo tee /etc/apt/keyrings/caffyne.gpg > /dev/null\n\n# 2. Add repository to sources list\necho \"deb [signed-by=/etc/apt/keyrings/caffyne.gpg] https://caffyne-org.github.io/caffyne-debian noble main\" | sudo tee /etc/apt/sources.list.d/caffyne.list\n\n# 3. Update package lists & install caffyne-shell\nsudo apt-get update\nsudo apt-get install -y caffyne-shell\n",[97,316,317,321,331,357,361,365,380,384,388,396],{"__ignoreMap":95},[100,318,319],{"class":102,"line":103},[100,320,197],{"class":135},[100,322,323,325,327,329],{"class":102,"line":139},[100,324,142],{"class":106},[100,326,204],{"class":110},[100,328,207],{"class":110},[100,330,210],{"class":110},[100,332,333,335,337,339,341,343,345,347,349,351,353,355],{"class":102,"line":157},[100,334,107],{"class":106},[100,336,111],{"class":110},[100,338,219],{"class":110},[100,340,118],{"class":117},[100,342,224],{"class":106},[100,344,227],{"class":110},[100,346,118],{"class":117},[100,348,232],{"class":106},[100,350,235],{"class":110},[100,352,238],{"class":110},[100,354,241],{"class":117},[100,356,244],{"class":110},[100,358,359],{"class":102,"line":164},[100,360,161],{"emptyLinePlaceholder":160},[100,362,363],{"class":102,"line":170},[100,364,253],{"class":135},[100,366,367,369,372,374,376,378],{"class":102,"line":256},[100,368,260],{"class":259},[100,370,371],{"class":110}," \"deb [signed-by=/etc/apt/keyrings/caffyne.gpg] https://caffyne-org.github.io/caffyne-debian noble main\"",[100,373,118],{"class":117},[100,375,232],{"class":106},[100,377,235],{"class":110},[100,379,272],{"class":110},[100,381,382],{"class":102,"line":275},[100,383,161],{"emptyLinePlaceholder":160},[100,385,386],{"class":102,"line":280},[100,387,283],{"class":135},[100,389,390,392,394],{"class":102,"line":286},[100,391,142],{"class":106},[100,393,291],{"class":110},[100,395,294],{"class":110},[100,397,398,400,402,404,406],{"class":102,"line":297},[100,399,142],{"class":106},[100,401,291],{"class":110},[100,403,177],{"class":110},[100,405,180],{"class":110},[100,407,183],{"class":110},[85,409,411],{"id":410},"nix-nixos","Nix / NixOS",[90,413,415],{"className":92,"code":414,"language":94,"meta":95,"style":95},"# 1. Clone the repository into target directory\ngit clone https://github.com/caffyne-org/caffyne-shell.git ~/.config/caffyne-shell\n\n# 2. Navigate to directory\ncd ~/.config/caffyne-shell\n\n# 3. Execute profile installation via Nix\nnix profile install\n",[97,416,417,422,436,440,445,452,456,461],{"__ignoreMap":95},[100,418,419],{"class":102,"line":103},[100,420,421],{"class":135},"# 1. Clone the repository into target directory\n",[100,423,424,427,430,433],{"class":102,"line":139},[100,425,426],{"class":106},"git",[100,428,429],{"class":110}," clone",[100,431,432],{"class":110}," https://github.com/caffyne-org/caffyne-shell.git",[100,434,435],{"class":110}," ~/.config/caffyne-shell\n",[100,437,438],{"class":102,"line":157},[100,439,161],{"emptyLinePlaceholder":160},[100,441,442],{"class":102,"line":164},[100,443,444],{"class":135},"# 2. Navigate to directory\n",[100,446,447,450],{"class":102,"line":170},[100,448,449],{"class":259},"cd",[100,451,435],{"class":110},[100,453,454],{"class":102,"line":256},[100,455,161],{"emptyLinePlaceholder":160},[100,457,458],{"class":102,"line":275},[100,459,460],{"class":135},"# 3. Execute profile installation via Nix\n",[100,462,463,466,469],{"class":102,"line":280},[100,464,465],{"class":106},"nix",[100,467,468],{"class":110}," profile",[100,470,471],{"class":110}," install\n",[473,474],"hr",{},[77,476,478],{"id":477},"manual-installation","Manual Installation",[73,480,481],{},"Follow these steps to set up the environment manually on your system.",[483,484,486,490,493,594,612,616,619,640,644,647,686,690,693],"steps",{"level":485},"3",[85,487,489],{"id":488},"install-system-dependencies","Install System Dependencies",[73,491,492],{},"Ensure the following packages are compiled and accessible within your distribution path:",[494,495,496,520,540,554,568],"ul",{},[497,498,499,503,504,507,508,507,511,507,514,507,517],"li",{},[500,501,502],"strong",{},"Core Core Libraries:"," ",[97,505,506],{},"gtk3",", ",[97,509,510],{},"awww",[97,512,513],{},"matugen",[97,515,516],{},"cairo",[97,518,519],{},"libgirepository",[497,521,522,503,525,507,528,507,531,507,534,507,537],{},[500,523,524],{},"Introspection Runtimes:",[97,526,527],{},"gobject-introspection",[97,529,530],{},"gobject-introspection-runtime",[97,532,533],{},"gtk-layer-shell",[97,535,536],{},"gtk-session-lock",[97,538,539],{},"libdbusmenu-gtk3",[497,541,542,503,545,507,548,507,551],{},[500,543,544],{},"Desktop & Playback Services:",[97,546,547],{},"cinnamon-desktop",[97,549,550],{},"playerctl",[97,552,553],{},"fabric-cli",[497,555,556,503,559,507,562,507,565],{},[500,557,558],{},"Python Ecosystem:",[97,560,561],{},"python",[97,563,564],{},"python-pip",[97,566,567],{},"python-venv",[497,569,570,503,573,507,576,507,579,507,582,507,585,507,588,507,591],{},[500,571,572],{},"Hardware Integration Protocols:",[97,574,575],{},"gnome-bluetooth-3.0",[97,577,578],{},"bluez",[97,580,581],{},"bluetoothctl",[97,583,584],{},"brightnessctl",[97,586,587],{},"wf-recorder",[97,589,590],{},"networkmanager",[97,592,593],{},"upower",[595,596,597],"note",{},[73,598,599,602,603,605,606],{},[500,600,601],{},"Non-Arch"," Linux users may need to compile ",[97,604,553],{}," manually. Find the repository here: ",[607,608,609],"a",{"href":609,"rel":610},"https://github.com/Fabric-Development/fabric-cli",[611],"nofollow",[85,613,615],{"id":614},"clone-the-repository","Clone the Repository",[73,617,618],{},"Clone the project structure explicitly into your configuration path:",[90,620,622],{"className":92,"code":621,"language":94,"meta":95,"style":95},"git clone https://github.com/caffyne-org/caffyne-shell.git ~/.config/caffyne-shell\ncd ~/.config/caffyne-shell\n",[97,623,624,634],{"__ignoreMap":95},[100,625,626,628,630,632],{"class":102,"line":103},[100,627,426],{"class":106},[100,629,429],{"class":110},[100,631,432],{"class":110},[100,633,435],{"class":110},[100,635,636,638],{"class":102,"line":139},[100,637,449],{"class":259},[100,639,435],{"class":110},[85,641,643],{"id":642},"create-virtual-environment","Create Virtual Environment",[73,645,646],{},"Isolate your workspace dependencies by instantiating a python virtual environment:",[90,648,650],{"className":92,"code":649,"language":94,"meta":95,"style":95},"python -m venv venv\nsource venv/bin/activate\npip install -r requirements.txt\n",[97,651,652,665,673],{"__ignoreMap":95},[100,653,654,656,659,662],{"class":102,"line":103},[100,655,561],{"class":106},[100,657,658],{"class":110}," -m",[100,660,661],{"class":110}," venv",[100,663,664],{"class":110}," venv\n",[100,666,667,670],{"class":102,"line":139},[100,668,669],{"class":259},"source",[100,671,672],{"class":110}," venv/bin/activate\n",[100,674,675,678,680,683],{"class":102,"line":157},[100,676,677],{"class":106},"pip",[100,679,177],{"class":110},[100,681,682],{"class":110}," -r",[100,684,685],{"class":110}," requirements.txt\n",[85,687,689],{"id":688},"compile-cgtk-libraries","Compile C/GTK Libraries",[73,691,692],{},"Compile the performance-critical submodules included inside the shell snippets path:",[90,694,696],{"className":92,"code":695,"language":94,"meta":95,"style":95},"cd ~/.config/caffyne-shell/snippets/blur/lib\nmake\ncd ~/.config/caffyne-shell/snippets/hacktk/lib\nmake\n",[97,697,698,705,710,717],{"__ignoreMap":95},[100,699,700,702],{"class":102,"line":103},[100,701,449],{"class":259},[100,703,704],{"class":110}," ~/.config/caffyne-shell/snippets/blur/lib\n",[100,706,707],{"class":102,"line":139},[100,708,709],{"class":106},"make\n",[100,711,712,714],{"class":102,"line":157},[100,713,449],{"class":259},[100,715,716],{"class":110}," ~/.config/caffyne-shell/snippets/hacktk/lib\n",[100,718,719],{"class":102,"line":164},[100,720,709],{"class":106},[473,722],{},[77,724,726],{"id":725},"matugen-integration","Matugen Integration",[73,728,729],{},"Follow these steps to install the Caffyne template and hook it into your Matugen configuration tree.",[483,731,732,736,739,754,758,765,801,805,808],{"level":485},[85,733,735],{"id":734},"create-template-directories","Create Template Directories",[73,737,738],{},"First, ensure that Matugen's local configuration and template paths exist in your home directory:",[90,740,742],{"className":92,"code":741,"language":94,"meta":95,"style":95},"mkdir -p ~/.config/matugen\n",[97,743,744],{"__ignoreMap":95},[100,745,746,749,751],{"class":102,"line":103},[100,747,748],{"class":106},"mkdir",[100,750,207],{"class":110},[100,752,753],{"class":110}," ~/.config/matugen\n",[85,755,757],{"id":756},"update-matugen-configuration","Update Matugen Configuration",[73,759,760,761,764],{},"Open your Matugen configuration file located at ",[97,762,763],{},"~/.config/matugen/config.toml"," and append the template mapping block.",[90,766,770],{"className":767,"code":768,"language":769,"meta":95,"style":95},"language-toml shiki shiki-themes catppuccin-mocha","[config] # Include this if it's not already in your file\n\n# caffyne shell Color Generation\n[templates.caffyne]\ninput_path = '~/.config/caffyne-shell/matugen/caffyne-shell-colors.css'\noutput_path = '~/.config/caffyne-shell/style/colors.css'\n","toml",[97,771,772,777,781,786,791,796],{"__ignoreMap":95},[100,773,774],{"class":102,"line":103},[100,775,776],{},"[config] # Include this if it's not already in your file\n",[100,778,779],{"class":102,"line":139},[100,780,161],{"emptyLinePlaceholder":160},[100,782,783],{"class":102,"line":157},[100,784,785],{},"# caffyne shell Color Generation\n",[100,787,788],{"class":102,"line":164},[100,789,790],{},"[templates.caffyne]\n",[100,792,793],{"class":102,"line":170},[100,794,795],{},"input_path = '~/.config/caffyne-shell/matugen/caffyne-shell-colors.css'\n",[100,797,798],{"class":102,"line":256},[100,799,800],{},"output_path = '~/.config/caffyne-shell/style/colors.css'\n",[85,802,804],{"id":803},"trigger-color-generation","Trigger Color Generation",[73,806,807],{},"Run Matugen as you normally do to change your wallpaper or colors. Matugen will now automatically parse the template and compile your new active colors directly into:",[90,809,814],{"className":810,"code":812,"language":813,"meta":95},[811],"language-text","~/.config/caffyne-shell/style/colors.css\n","text",[97,815,812],{"__ignoreMap":95},[473,817],{},[77,819,821],{"id":820},"executing-shell","Executing shell",[73,823,824],{},"You can initialize the runtime thread either via the provided helper engine script or raw execution commands:",[826,827,828,838,848],"code-group",{},[90,829,832],{"className":92,"code":830,"filename":831,"language":94,"meta":95,"style":95},"caffyne-shell\n","Package",[97,833,834],{"__ignoreMap":95},[100,835,836],{"class":102,"line":103},[100,837,830],{"class":106},[90,839,842],{"className":92,"code":840,"filename":841,"language":94,"meta":95,"style":95},"./start.sh\n","Script",[97,843,844],{"__ignoreMap":95},[100,845,846],{"class":102,"line":103},[100,847,840],{"class":106},[90,849,852],{"className":92,"code":850,"filename":851,"language":94,"meta":95,"style":95},"source venv/bin/activate\npython3 main.py\n","Manual",[97,853,854,860],{"__ignoreMap":95},[100,855,856,858],{"class":102,"line":103},[100,857,669],{"class":259},[100,859,672],{"class":110},[100,861,862,865],{"class":102,"line":139},[100,863,864],{"class":106},"python3",[100,866,867],{"class":110}," main.py\n",[473,869],{},[77,871,873],{"id":872},"python-dependencies-reference","Python Dependencies Reference",[73,875,876],{},"Here is the exact dependency locked tree manifest for the runtime environment:",[90,878,882],{"className":879,"code":880,"filename":881,"language":813,"meta":95},[811],"cffi==2.0.0\nclick==8.4.1\nfabric @ git+https://github.com/Fabric-Development/fabric.git@23cab85fc61f1cdbb5f60db0027dc57026ba05b7\nloguru==0.7.3\npam==0.2.0\npillow==12.2.0\npsutil==7.2.2\npycairo==1.29.0\npycparser==3.0\nPyGObject==3.50.0\npython-pam==2.0.2\nRapidFuzz==3.14.5\nsetproctitle==1.3.7\nsix==1.17.0\nthefuzz==0.22.1\n","requirements.txt",[97,883,880],{"__ignoreMap":95},[885,886,887],"style",{},"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 pre.shiki code .sO0CG, html code.shiki .sO0CG{--shiki-default:#89B4FA;--shiki-default-font-style:italic}html pre.shiki code .sX9bP, html code.shiki .sX9bP{--shiki-default:#A6E3A1}html pre.shiki code .sMC71, html code.shiki .sMC71{--shiki-default:#94E2D5}html pre.shiki code .sEwFu, html code.shiki .sEwFu{--shiki-default:#9399B2;--shiki-default-font-style:italic}html pre.shiki code .sDSzL, html code.shiki .sDSzL{--shiki-default:#F38BA8;--shiki-default-font-style:italic}",{"title":95,"searchDepth":103,"depth":139,"links":889},[890,897,898,899,900],{"id":79,"depth":139,"text":80,"children":891},[892,893,894,895,896],{"id":87,"depth":157,"text":88},{"id":124,"depth":157,"text":125},{"id":186,"depth":157,"text":187},{"id":310,"depth":157,"text":311},{"id":410,"depth":157,"text":411},{"id":477,"depth":139,"text":478},{"id":725,"depth":139,"text":726},{"id":820,"depth":139,"text":821},{"id":872,"depth":139,"text":873},"Get caffyne shell up and running on your system.","md",null,{},{"icon":16},{"title":13,"description":901},"sc0-XlygrLpjHKRrfuwR_vTQctXmG8ZVDfjAnZK7SXY",[909,911],{"title":10,"path":6,"stem":7,"description":910,"icon":11,"children":-1},"Welcome to caffyne shell, a modern, highly customisable desktop built for Wayland.",{"title":24,"path":25,"stem":26,"description":912,"icon":27,"children":-1},"Learn how to configure caffyne shell to hook into your compositor session.",1787598374562]