Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/xevion/dotfiles


https://github.com/xevion/dotfiles

Last synced: 13 days ago
JSON representation

Awesome Lists containing this project

README

        

# dotfiles

[![wakatime](https://wakatime.com/badge/user/f362871f-b27f-44c8-88eb-c2108ff82eb2/project/018cf683-de72-49c0-98d1-7af6dd2b0b63.svg)](https://wakatime.com/badge/user/f362871f-b27f-44c8-88eb-c2108ff82eb2/project/018cf683-de72-49c0-98d1-7af6dd2b0b63)

A [chezmoi][chezmoi]-activated dotfiles repository containing all settings related to any number of activities for me: [**Xevion**](https://xevion.dev).

This repository is not intended for others, but is kept public in the spirit of Open Source, as well as a test of my ability to build an encrypted config in the open.

> [!NOTE]
> If you're not used to Chezmoi, it's a dotfile manager for multiple machines, with special abilities like templating, encryption, secret management, scripting, and more.

> [!WARNING]
> While Chezmoi is a powerful tool with mass configurability, it is not a fully featured declarative configuration manager. This warning is more for myself than others: if you want a fully declarative OS, go install NixOS dumbass.

## Links

Documentation, references, etc.

- [www.chezmoi.io][chezmoi]

## Important Commands

Commands that are of chief importance for managing the repository, scripts, etc.

#### Installation/Bootstrap

```bash
# Install only
sh -c "$(curl -fsLS get.chezmoi.io)" -- init Xevion -b $HOME/.local/bin

# Bootstrap immediately (apply configurations, potentially overwriting existing files)
sh -c "$(curl -fsLS get.chezmoi.io)" -- init Xevion -b $HOME/.local/bin --apply
```

#### Basic

```bash
# Change to the dotfiles 'source' directory
chezmoi cd
# With a specific directory
chezmoi cd ~/.ssh/
```

#### Status

```bash
# Print all unmanaged files in the home directory (tree style, absolute path)
chezmoi unmanaged ~/ -t -p absolute
```

- Not yet developed
- List all changed config files (source vs )
- Show diffing, search via `fzf` or something.
- Show diffing, fuzzy matching

## Intended Goals

- Lock rbw automatically
- 8 hour session by default
- Lock when computer sleeps, idle, screen saver
- Encrypted configurations for private details
- Bootstrapping for any Ubuntu-based system
- WSL-support
- Windows integration?
- Device-specific configuration
- Automatic package/script install/setup
- Neovim
- VS Code
- Terminal startup for when configs changed, out of date, etc.
- Ideally, this would run on a timer and only fetch the latest status upon terminal startup, keeping startup times low.
- GitHub Language Attributes Script
- Automatically update the language attributes for GitHub repositories
- Prehook for commits, updates .gitattributes
- [Reference](https://github.com/github-linguist/linguist/blob/main/docs/overrides.md)

[chezmoi]: https://www.chezmoi.io/