Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ddnomad/dotfiles
dd's dotfiles monorepo
https://github.com/ddnomad/dotfiles
alacritty archlinux chezmoi dotfiles git i3wm linux macos neovim tmux vscode vscode-settings windows
Last synced: 3 months ago
JSON representation
dd's dotfiles monorepo
- Host: GitHub
- URL: https://github.com/ddnomad/dotfiles
- Owner: ddnomad
- License: unlicense
- Created: 2018-11-29T21:36:03.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2024-08-06T12:31:03.000Z (3 months ago)
- Last Synced: 2024-08-06T14:25:08.740Z (3 months ago)
- Topics: alacritty, archlinux, chezmoi, dotfiles, git, i3wm, linux, macos, neovim, tmux, vscode, vscode-settings, windows
- Language: Shell
- Homepage:
- Size: 4.59 MB
- Stars: 8
- Watchers: 3
- Forks: 0
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - ddnomad/dotfiles - dd's dotfiles monorepo (Shell)
README
Dotfiles Monorepo
=================
![GitHub last commit](https://img.shields.io/github/last-commit/ddnomad/dotfiles)
![GitHub commit activity](https://img.shields.io/github/commit-activity/w/ddnomad/dotfiles)This repository contains various configuration files and utility scripts dd relies on daily for various things (mostly work, [leisure](https://raw.githubusercontent.com/ddnomad/dotfiles/main/.github/leisure.jpg) and pet projects).
Screenshots
-----------
![Arch Laptop Screenshot](./.github/arch_screenshot.png)Supported Platforms
-------------------
~~The main focus is Arch Linux support, as that's what dd prefers for development 9 times out of 10. MacOS and Windows are treated as a second class citizen, hence things will most probably be broken, outdated or far from being ideal.~~The main focus is now shifted to MacOS, as Apple Silicon Macs are too good to ignore. Arch Linux support is still in place and will be maintained long-term, albeit without much in terms of planned changes / improvements.
| Platform | Chassis Types | Desktop Environments | Support Tier |
| ------------------------------------------------------ | ------------------------- | -------------------- | ------------------------------- |
| [MacOS](https://www.apple.com/macos) | Laptop / Desktop | Aqua | Tier 1 - Actively Maintained |
| [Arch Linux](https://www.archlinux.org) | Laptop / Desktop / VMWare | i3wm / KDE Plasma | Tier 2 - Best Effort |
| [Windows 10](https://en.wikipedia.org/wiki/Windows_10) | Desktop | Windows Shell | Tier 3 - Low Effort / Barebones |Prerequisites
-------------
The following sofware must be installed on a target platform before the integration should be performed:| Platform | Software |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| Linux | [Chezmoi](https://www.chezmoi.io/), [Git](https://git-scm.com/) |
| MacOS | [Chezmoi](https://www.chezmoi.io/), [Git](https://git-scm.com/), [Homebrew](https://brew.sh) |
| Windows 11 | [Chezmoi](https://www.chezmoi.io/), [Git](https://git-scm.com/), [Chocolatey](https://chocolatey.org/), [Rust Up](https://rustup.rs/) |MacOS development workflow is based around [Alacritty](https://github.com/alacritty/alacritty) and Windows 11 development workflow is based around [VS Code](https://code.visualstudio.com/), thus on these platforms it is a good idea to install them as well.
For local development on Linux or MacOS, [Cargo Make](https://sagiegurari.github.io/cargo-make) will come in handy too, as the repository contains `Makefile.toml` with several somewhat useful targets which save time when iterating on new changes.
Fresh Host Setup
----------------
### OS Specific Prerequisites
For Windows 10, see [setup guide](./docs/setup/windows_setup_guide.md). Linux and MacOS setup guides are not provided as of right now, mostly due to the fact it should be fairly trivial to figure out as is.### Integration
> **WARNING**: On MacOS, `Command+H` hide shortcut should be disabled for Alacritty by setting it to a different (preferably, hard to accidentally trigger) key combination. This can be done from `System Preferences -> Keyboard -> Shortcuts -> App Shortcuts` (menu title value should be set exactly to `Hide alacritty`).> **WARNING**: On MacOS, `Shell Command: Install 'code' command in PATH command` must be executed from within VS Code to make the CLI `code` command available from in `$PATH` before running initial `cargo make apply` or `chezmoi apply`.
> **WARNING**: On Windows, `run_once_*.ps1` will execute in PowerShell bypassing a default security policy (i.e. `powershell.exe -NoLogo -ExecutionPolicy ByPass -File setup.ps1`).
> **WARNING**: On Windows, reboot is required after initial integration, as VS Build Tools are installed and won't be working untill after the reboot.
Run the following to pull down the dotfiles:
```
chezmoi init ddnomad --ssh
```Preview what files will be copied (no changes will be made):
```
chezmoi cd && cargo make dry
```Apply all changes:
```
chezmoi cd && cargo make apply
```When using `nvim` for the first time, it is necessary to install Dein plugins first. Once `nvim` is opened, execute `:call dein#install()` and wait for the process to finish.
When using Alacritty + Tmux, it is necessary to install [Tmux Powerline](https://github.com/erikw/tmux-powerline) plugins first. For that, using `Ctrl+a, Shift+i` key chord and wait for the process to finish.
Please note, that files in `"$(chezmoi cd)"/unmanaged/` directory won't be applied automatically. These should be copied manually as needed, as they fall outside of `"${HOME}"` directory of a current user or just tricky to apply automatically.