1
0
Fork
You've already forked etc
0
~/etc - dotfiles, configs, settings
  • Shell 25.1%
  • sh 20.1%
  • toml 13.3%
  • Markdown 11.1%
  • YAML 8.4%
  • Other 22%
Y. Meyer-Norwood d290ec0f15
All checks were successful
Run Linters / Run Linters (push) Successful in 1m6s
Add Zig support ( #34 )
Reviewed-on: #34 
2026年07月04日 08:47:00 +02:00
.cache Become REUSE-compliant ( #106 ) 2026年06月15日 11:02:08 +12:00
.config Add Zig support ( #34 ) 2026年07月04日 08:47:00 +02:00
.forgejo Pin tainted linters at last slop free versions ( #33 ) 2026年07月04日 03:55:54 +02:00
.local Add Zig support ( #34 ) 2026年07月04日 08:47:00 +02:00
LICENSES Standardise BSD3 license text ( #16 ) 2026年06月23日 02:41:41 +02:00
.editorconfig Make default indent size 4 wide ( #13 ) 2026年06月22日 05:25:37 +02:00
.gitmodules Add Zig support ( #34 ) 2026年07月04日 08:47:00 +02:00
.zshenv Create ZDOTDIR based zsh config ( #83 ) 2026年05月07日 19:45:34 +12:00

~/etc - dotfiles, configs, settings

Hippocratic License HL3-CL-ECO-LAW-MIL-SV Please don't upload to GitHub

Usage

This repo is loosely based on the strategy described on the Arch Linux Wiki, although it is not Arch-specific, I also use this on MacOS.

Installation

git clone --config=status.showUntrackedFiles=no --bare ssh://git@codeberg.org/norwd/etc.git ~/etc
git --git-dir="${HOME}/etc/" --work-tree="${HOME}" checkout # re-run with `--force` if necessary
git --git-dir="${HOME}/etc/" --work-tree="${HOME}" submodule update --init --recursive

Note, after installation, the dotfiles alias will be available instead of specifying the --git-dir flag.

dotfiles pull
dotfiles add ~/.config/vim/vimrc
dotfiles commit -m "Update vimrc"
dotfiles push

Troubleshooting

gpg: unsafe permissions on homedir '~/.config/gnupg'

This can happen because git doesn't clone the file permissions, other than the executable bit. To correct the error, set read/write1 for only the owner:

chown -R "$(whoami)" "$GNUPGHOME"
find "$GNUPGHOME" -type f -exec chmod 600 {} \;
find "$GNUPGHOME" -type d -exec chmod 700 {} \;

Using non-zsh shells

While everything in this repo assumes that zsh will be the only shell used, other shells should work with minimal setup.

Just add the following to the end of ~/.profile or ~/.bash_profile:

. ~/.config/profile

Dependencies

Required

Although designed to work out of the box on a freshly installed OS, these dotfiles do require at least git and zsh to be installed. On most POSIX systems, vim should already be installed2 , either as vim or sometimes as vi.

Optional

In addition to the required dependencies, there are some other tools that these dotfiles make use of or configure. None of these are essential, but all are highly recommended. Unlike other dotfile repos, these are not automatically installed. This is because not all tools will be used on all installations, there's no need to bring across all the development tools onto a media machine, similarly, there's no need to install media tools onto a development machine. Any of the repos in these lists can be mixed and matched with these dotfiles.

The majority of these have not yet given up GitHub3 , so I maintain Codeberg mirrors4 of repositories that I frequently use.


  1. Specifically, the directory should be set to 600, and the files set to 700. See also https://gist.github.com/oseme-techguy/bae2e309c084d93b75a9b25f49718f85 ↩︎

  2. The POSIX standard requires vi, but this is usually just a symlink to vim. See also https://pubs.opengroup.org/onlinepubs/9699919799.2016edition/utilities/vi.html ↩︎

  3. GitHub is a proprietary, trade-secret system that is not Free and Open Source Software (FOSS). I am deeply concerned about using a proprietary system like GitHub to develop my FOSS projects. (See Software Freedom Conservancy's Give Up GitHub site for details.) ↩︎

  4. I will usually reference the mirror on Codeberg instead of the GitHub upstream. See the https://codeberg.org/norwd-forks organisation. ↩︎