{"id":22999001,"url":"https://github.com/mskry/dotfiles","last_synced_at":"2025-08-14T00:32:44.789Z","repository":{"id":121459587,"uuid":"542280478","full_name":"mskry/dotfiles","owner":"mskry","description":"Alacritty + Fish  +  Zellij + Starship + Neovim + i3 + Supermaven + Ollama 🦙 = 🚀","archived":false,"fork":false,"pushed_at":"2024-10-30T19:16:33.000Z","size":603,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-13T00:03:31.681Z","etag":null,"topics":["alacritty","archlinux","archlinux-dotfiles","codecompletion","codegemma","completion","dotfiles","fish","generative-ai","i3-config","i3wm","kickstart-nvim","localllm","neovim","ollama","starship-config","starship-prompt","supermaven","zellij","zellij-config"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mskry.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-27T20:38:54.000Z","updated_at":"2024-11-02T20:07:13.000Z","dependencies_parsed_at":"2024-09-18T15:35:48.038Z","dependency_job_id":null,"html_url":"https://github.com/mskry/dotfiles","commit_stats":null,"previous_names":["mskry/dotfiles"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mskry%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mskry%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mskry%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mskry%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mskry","download_url":"https://codeload.github.com/mskry/dotfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229786978,"owners_count":18124014,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alacritty","archlinux","archlinux-dotfiles","codecompletion","codegemma","completion","dotfiles","fish","generative-ai","i3-config","i3wm","kickstart-nvim","localllm","neovim","ollama","starship-config","starship-prompt","supermaven","zellij","zellij-config"],"created_at":"2024-12-15T06:15:15.134Z","updated_at":"2024-12-15T06:15:15.742Z","avatar_url":"https://github.com/mskry.png","language":"Shell","readme":"# Setting Up Development Environment for Arch Linux\n\n\u003cdetails\u003e\n\u003csummary\u003eInstall Essential Packages\u003c/summary\u003e\n\n## Install Essential Packages\n\n1. Install core utilities and development tools:\n\n```bash\npacman -S gcc make man-db bluez bluez-utils unzip fish xclip stow git git-delta base-devel nitrogen docker fish pavucontrol alacritty\n```\n\n\n2. Powerful task runner, version and env management tool for NodeJS, Python, Rust and more.\n\n```bash\ncurl https://mise.run | sh\n\n# install  Arch User Repository helper\nmise use -g yay\n```\n\n```bash \n# you might want to install other tools per user\ncat ~/.config/mise/config.toml\n[tools]\nglow = \"latest\"\nfzf = \"latest\"\neza = \"latest\"\nzellij = \"latest\"\nzoxide = \"latest\"\nfd = \"latest\"\nripgrep = \"latest\"\nstarship = \"latest\"\nbat = \"latest\"\npnpm = \"latest\"\nyay = \"latest\"\nusage = \"latest\"\npython = \"latest\"\ndeno = \"latest\"\nbun = \"latest\"\ngo = \"latest\"\nbottom = \"latest\"\ndust = \"latest\"\nneovim = \"latest\"\nnode = \"latest\"\nrust = \"latest\"\n\n[settings]\nexperimental = true\n```\n\n\n3. Install the necessary fonts for the system and terminal, including regular, nerd, and emoji fonts:\n\n```bash\nyay -S --noconfirm ttf-jetbrains-mono-nerd noto-fonts noto-fonts-emoji\n# if you need chinese/japanese/korean support: yay -S noto-fonts-cjk\nfc-cache -vf\n```\n\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eSetting up Docker and Ollama\u003c/summary\u003e\n\n## Setting up Docker and Ollama\n\n1. Avoid `sudo` for Docker commands:\n\n```bash\n# add your user to a docker group\nsudo usermod -aG docker $USER\n```\n\n2. Install NVIDIA Container Toolkit (if applicable):\n\n```bash\nyay -S nvidia-container-toolkit\nsudo nvidia-ctk runtime configure --runtime=docker\nsudo systemctl restart docker\n```\n\n3. Run Ollama inside a Docker container with Open WebUI\n\n- Run Ollama container\n\n```bash\ndocker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama\n```\n\n- Check if Ollama is up and running\n\n```bash\ncurl -i http://localhost:11434/\n```\n\n```\nHTTP/1.1 200 OK\nContent-Type: text/plain; charset=utf-8\nDate: Thu, 05 Sep 2024 14:04:02 GMT\nContent-Length: 17\n\nOllama is running\n```\n\n- Run Open WebUI container\n\n    The `--add-host=host.docker.internal:host-gateway` flag enables communication between containers using the host's IP address. Will need it to communicate with TTS service later.\n\n```bash\ndocker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda\n```\n\n- Open the WebUI\n\n   `http://localhost:3000/`\n\n4. Run a model (codegemma ❤️)\n\n    CodeGemma is a collection of powerful, lightweight models that can perform a variety of coding tasks like fill-in-the-middle code completion, code generation, natural language understanding, mathematical reasoning, and instruction following.\n\n    - `instruct` a 7b instruction-tuned variant for natural language-to-code chat and instruction following  \n    - `code` a 7b pretrained variant that specializes in code completion and generation from code prefixes and/or suffixes  \n    - `2b` a state of the art 2B pretrained variant that provides up to 2x faster code completion\n\n```bash\ndocker exec -it ollama ollama run codegemma:instruct\n```\n\n5. Move Docker root directory (optional):\n   You might want to move Docker root to a different volume to save the system disk space\n\n   I moved Docker root directory to the `/home`, in my case it is mounted to a separate volume:\n\n```bash\n# Stop Docker services\nsudo systemctl stop docker  docker.socket containerd\n# Create a new directory (replace `/home/user/new_dir` with your desired location) \nsudo mkdir -p /home/user/new_dir\nsudo mv /var/lib/docker /home/user/new_dir\n```\n\n- Configure Docker root  in`daemon.json`:\n\n```bash\nsudo vim /etc/docker/daemon.json\n```\n\n```json\n{\n   \"data-root\": \"/home/user/new_dir\",\n   \"runtimes\": {\n      \"nvidia\": {\n         \"args\": [],\n         \"path\": \"nvidia-container-runtime\"\n      }\n    }\n}\n```\n\n- Restart Docker services for the changes to take effect:\n\n```bash\nsudo systemctl restart docker docker.socket containerd\n```\n\n- Validate new Docker root location:\n\n```bash\ndocker info -f '{{ .DockerRootDir}}'\n```\n\n6. Integrating `openedai-speech` TTS into Open WebUI\n\n```bash\n# expose it throught host.docker.internal:8000 so Open WebUI can access it\ndocker run -d --gpus=all -p 8000:8000 --add-host=host.docker.internal:host-gateway -v tts-voices:/app/voices -v tts-config:/app/config --name openedai-speech ghcr.io/matatonic/openedai-speech:latest\n```\n\n- Open the Open WebUI settings and navigate to the TTS Settings under **Admin Panel \u003e Settings \u003e Audio**.\n\n    Text-to-Speech Engine: OpenAI\n    API Base URL: `http://host.docker.internal:8000/v1`\n    API Key: `anykey` (note: this is a dummy API key, as `openedai-speech` doesn't require an API key;  you can use whatever for this field)\n\n- To make sure those 3 containers start automatically on Docker service start/restart\n\n```bash\ndocker update --restart=always ollama openedai-speech open-webui\n```\n\n![open web ui tts settings](https://i.imgur.com/nv0FYAj.png)\n\n\u003c/details\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmskry%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmskry%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmskry%2Fdotfiles/lists"}