{"id":20798131,"url":"https://github.com/samcfuchs/dot","last_synced_at":"2026-04-20T22:01:50.140Z","repository":{"id":93775362,"uuid":"295529145","full_name":"Samcfuchs/dot","owner":"Samcfuchs","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-02T02:14:51.000Z","size":52,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T03:23:18.585Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/Samcfuchs.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":"2020-09-14T20:18:24.000Z","updated_at":"2025-04-02T02:14:54.000Z","dependencies_parsed_at":"2024-11-17T16:38:32.197Z","dependency_job_id":"4a81ea5d-4d2f-4813-9f3c-0153d841ba20","html_url":"https://github.com/Samcfuchs/dot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Samcfuchs/dot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samcfuchs%2Fdot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samcfuchs%2Fdot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samcfuchs%2Fdot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samcfuchs%2Fdot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Samcfuchs","download_url":"https://codeload.github.com/Samcfuchs/dot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samcfuchs%2Fdot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28040432,"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","status":"online","status_checked_at":"2025-12-25T02:00:05.988Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-17T16:36:43.655Z","updated_at":"2026-04-20T22:01:50.128Z","avatar_url":"https://github.com/Samcfuchs.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dotfiles\nI generally stick to GNOME Debian forks. Currently I'm partial to Linux Mint.\nThis deprecates a lot of modifications I used to do, e.g. GNOME shell\nextensions. I no longer move all the files into `~/.config`, I prefer to add\nlinks to these files in the native configurations.\n\n## Apt packages\n\nInstall system packages with\n\n```sh\nsudo apt install -y $(cat apt-packages.txt)\n```\n\n#### Docker\n\nInstalls with apt, but you need to add their repo:\n\n\u003chttps://docs.docker.com/engine/install/ubuntu/#install-using-the-repository\u003e\n\n```bash\n# Add Docker's official GPG key:\nsudo apt-get update\nsudo apt-get install ca-certificates curl\nsudo install -m 0755 -d /etc/apt/keyrings\nsudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc\nsudo chmod a+r /etc/apt/keyrings/docker.asc\n\n# Add the repository to Apt sources:\necho \\\n  \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \\\n  $(. /etc/os-release \u0026\u0026 echo \"${UBUNTU_CODENAME:-$VERSION_CODENAME}\") stable\" | \\\n  sudo tee /etc/apt/sources.list.d/docker.list \u003e /dev/null\nsudo apt-get update\n```\n\nBefore installing:\n\n```bash\nsudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n```\n\n## Configuration\n\nScripts are stored in [bin](./bin), including [link-config](./bin/link-config) which creates\nsymbolic links to some of these config files in `~/.config`.\n\n### bash\n\nInclude the local bashrc by running the following:\n\n```bash\necho \"source ~/dot/.bashrc\" \u003e ~/.bash_aliases\n```\n\n### zsh\n\nIf you want to use it:\n\n```bash\ngit submodule update --init\nchsh -s $(which zsh)\n```\n\n### nvim\n\nI've switched from vim-plug to [lazy.nvim](https://lazy.folke.io/) although I've\nnot fallen in love with it yet. Starting nvim and then typing `:Lazy` should\nopen the plugin manager though. The version packaged for ubuntu falls behind\nsometimes, which can break autocomplete plugins. If you can't get the package\nyou want via your package manager, I recommend just installing the AppImage.\n\n### git\n\nAdd the following configuration to `~/.gitconfig`:\n\n```ini\n[include]\n    path = ~/dot/git/config\n```\n\n### Cinnamon\n\nInstall \"Command Launcher\" and then import the file\n[command.json](cinnamon/command.json) which adds an icon to the panel which\nrotates the secondary monitor. Must use proprietary Nvidia drivers for this to\nwork. Add further extensions to taste. The following keyboard commands are\nuseful:\n\n- Super-Tab: Show the window selection screen\n- Super+R: Run dialog\n- Super+H: Switch to left workspace\n- Super+L: Switch to right workspace\n- Super+T: Launch terminal\n- Super+W: Launch web browser\n- Super+.: Toggle always on top\n- Super+F11: Toggle fullscreen state\n\n### VS Code\nThe [settings.json](Code/User/settings.json) goes in `~/.config/Code/User/`.\nThere's no way to reference this file from the default. You could maybe symlink\nit if you really wanted to. These are all necessary extensions, but there are\nmore, too.\n\n- vscodevim\n- Dracula\n- Rewrap\n- Remote - SSH\n- Remote Explorer\n- Banner Comments+\n\nThese are more project-specific:\n\n- Pylance\n- Continue\n- Debugger for firefox/chrome\n- Docker\n- Jupyter\n- Python\n- vscode-pdf\n\n## Llama\n\nSetting up a local llama is actually very easy using [ollama](https://ollama.com).\nI access my local models through an [open-webui](https://github.com/open-webui/open-webui)\nrunning in a docker container on my home server which accesses the models\nrunning on my PC.\n\n```bash\ncurl -fsSL https://ollama.com/install.sh | sh\n\npython3 -m venv llama-env\nsource ./llama-env/bin/activate\nollama serve\n```\n\nServes at \u003chttp://localhost:11434\u003e. This is one of the few web services I actually run\non my PC rather than the server. When you log into your hosted open-webui, give it the IP\nof this service to make requests to the models.\n\n## Unpackaged apps\n\nThese can't be installed through a package manager, I think. Some are bundled\nwith operating systems by default. I generally try to avoid Flatpaks in order to\npreserve storage, but some cannot be avoided.\n\n- Unity\n- Obsidian\n- AppFlowy\n- LibreOffice\n\n## Audio Stack\n\nMy audio production setup seems to get more complicated all the time. I just\nadded a bunch of parts.\n\n- [Bitwig Studio](https://www.bitwig.com/): Download as a Flatpak from their site\n- [Vital](https://account.vital.audio/): Available as a deb\n- Cardinal/VCVrack\n- Mixxx (Virtual DJ tool)\n- Surge XT (Hybrid synthesizer)\n- Rolling sampler\n- Helvum (GTK audio patchbay)\n- Protokol (MIDI/OSC monitor)\n- Open Stage Control\n- DrivenByMoss\n\nToday I connected a bunch of things together. Helvum connects audio output to\nthe input of rolling sampler. DrivenByMoss has a script for OSC--once we start\nthe OSC server, we can add a MIDI device with this script. When they communicate\non the same port, outputs from OSC are connected to parameters in Bitwig.\n\n## Apps that are just electron wrappers\n\nInstall these as necessary because you can use them exactly the same in the browser.\n\n- Spotify\n- Discord\n- Slack\n\n## Wake-on-LAN\n\nOnce WOL is enabled in BIOS, we just need to run the following on the target\nsystem to enable magic packets. [wake-pc.sh](wake-pc.sh) will wake up CHRIS.\n\n```bash\nnmcli connection show\nnmcli connection modify \"Wired connection 1\" 802-3-ethernet.wake-on-lan magic\n```\n\n## i3-wm\n\ni3 is a window manager with tiling functionality that I often find more appealing\nthan Cinnamon's. It requires some configuration to be pleasant to use. I use the\nfollowing packages:\n\n- rofi\n- polybar\n- dunst\n\nFortunately these are very easy to set up. [link-config](./bin/link-config) will\nset up the config files. In most display managers it is straightforward to\nlaunch these alongside a more featured DE, such as Cinnamon or KDE.\n\n## Archival\n\nI don't generally use these tools anymore:\n\n### nvim (old config)\n\nI use [vim-plug](https://github.com/junegunn/vim-plug#unix-linux) to load\nextensions. Create a link in .config/nvim/init.vim to load the file in this\nrepo. Run `pip install neovim` to fix YCM completion.\n\n```bash\nsh -c 'curl -fLo \"${XDG_DATA_HOME:-$HOME/.local/share}\"/nvim/site/autoload/plug.vim --create-dirs \\\n       https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'\n\nmkdir .config/nvim\necho \"source ~/dot/nvim/init.vim\" \u003e .config/nvim/init.vim\n```\n\nThen open vim and run `:PlugInstall`\n\n### Alacritty\n- [Inconsolata Nerd Font](https://github.com/ryanoasis/nerd-fonts/blob/master/patched-fonts/InconsolataGo/Regular/complete/InconsolataGo%20Nerd%20Font%20Complete.ttf)\n\n### zsh\n- [thefuck](https://github.com/nvbn/thefuck#installation)\n- [PowerLevel10k](https://github.com/romkatv/powerlevel10k#manual)\n- [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/INSTALL.md#in-your-zshrc)\n\n### GNOME\n\n- [NVidia Monitor](https://extensions.gnome.org/extension/1320/nvidia-gpu-stats-tool/)\n- [Dash to Dock](https://extensions.gnome.org/extension/307/dash-to-dock/)\n- Change alt+tab to switch windows\n\n### NVidia CUDA\n\n- CUDA 10.1 (should be pre installed)\n- CUDNN 7.6 (not higher)\n\n[Use the system76 libraries](http://support.system76.com/articles/cuda/) and\nmake sure you install the 10.1 versions. System76 installs these into\n`/usr/lib/cuda` but tensorflow still finds them I think.\n\n```\nsudo apt install system76-cuda-10.1\nsudo apt install system76-cudnn-10.1\n```\n\n[You might need to fix the symbolic links](https://stackoverflow.com/questions/49656725/importerror-libcudnn-so-7-cannot-open-shared-object-file-no-such-file-or-dire/61563579#61563579)\n\n# Python\n\nUse [miniconda](https://docs.anaconda.com/miniconda/) to avoid bloat but for easy environment management\n\n- tensorflow\n- pytorch\n- jupyter\n- numpy\n- sklearn\n- matplotlib\n- seaborn\n\n# Other Apps\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamcfuchs%2Fdot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamcfuchs%2Fdot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamcfuchs%2Fdot/lists"}