Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/raehik/dotfiles
those dotfiley things
https://github.com/raehik/dotfiles
dotfiles
Last synced: 11 days ago
JSON representation
those dotfiley things
- Host: GitHub
- URL: https://github.com/raehik/dotfiles
- Owner: raehik
- License: mit
- Created: 2014-07-03T14:46:25.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-02-29T17:02:53.000Z (11 months ago)
- Last Synced: 2024-11-13T16:32:03.514Z (2 months ago)
- Topics: dotfiles
- Language: Shell
- Size: 1.07 MB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# raehik's dotfiles
Stored using `stow`.## Installation
stow -t ~
`EDIT_*` files will very likely require some other configuration. Search for
EDIT in them to find the important lines more quickly.## Issues
* Some places you need to manually `mkdir` so that only inner files are
symlinked, due to their complaining about directory symlinks and/or creating
states files that shouldn't go in config.
* PulseAudio: `~/.config/pulse`
* MPD: `~/.config/mpd`
* Neovim config doesn't come with vim-plug baked in, I prefer requiring the
user to do the legwork for the latest version. Very simple.
* See GitHub: https://github.com/junegunn/vim-plug
* Once installed, run `:PlugInstall`## Dependencies
### General
Not tied to any one OS. *(But I do use Arch Linux, so my `--version`s are very
up-to-date.)** Unix-like OS
* Filesystem that supports symlinks
* Git
* systemd### Specified
To find all dependencies in a given package (or overall if run in root):```sh
ag -o "REQ: .*$"
```Because these dotfiles aren't tied to a specific OS, dependencies are stored as
generic guidelines for finding the correct package to install: some might be
GitHub repos, others Pacman packages, others exact program names (that may come
packaged under a utility collection).Where possible, dependencies are stored inline in config files (as comments), so
it should be clear why something is required.### Not a big deal
You shouldn't have to worry too much about dependencies:* Most software configuration either doesn't expect any other software, or is
tightly enough coupled that the user basically must have the dependency if
they run it.
* I try to gracefully skip things if a dependency isn't present.
* A dependency will only be noted if its correct execution depends on the
program referred to.
* If my dotfiles provide some sort of option, or store the program in a
generically-named variable, it's not considered a dependency.
* Config files don't depend on themselves (`i3/config` doesn't require i3).Most dependencies are concentrated in the X package, for various keybinds and
programs. Really it's just for those little background programs and scripts.### systemd user services
Some systemd user services come pre-configured to be enabled. All systemd user
services are found at `~/.config/systemd/user` if you want to check it out.## Structure
* `~/.assets`: things which change when I use my computers but should be the
same across all, if possibleTODO etc.
## dconf installation
dconf is a low-level GNOME configuration tool which stores key-value pairs for
different programs together in a **single binary file** (`/.config/dconf/user`).
Instead of providing a base binary file, I load an edited text dump using `dconf
load` during installation. To do this yourself:```sh
$ dconf dump /
[org/example-application]
key=value
...
$ dconf dump / > dconf.cfg
$ vim dconf.cfg
$ dconf reset -f / # resets everything
$ dconf load / < dconf.cfg
```During install, only `dconf load` is done, so as to not delete other settings.
If you'd like to start anew, follow the instructions above.