Compare commits

..

No commits in common. "6453de1775c2b40868212703bf4d241caee4a8a4" and "2885146556f3b89f47a73e4760685b57622156ba" have entirely different histories.

8 changed files with 321544 additions and 177 deletions

View file

@ -6,10 +6,6 @@ I manage my dotfiles using [dotdrop](https://github.com/deadc0de6/dotdrop).
### Script
> [!IMPORTANT]
> Copy ssh public/private key for age, to encrypt/decrypt files to `~/.ssh/identities/phg-age-dotfiles` and `~/.ssh/identities/phg-age-dotfiles.pub`
> Otherwise empty files will be created instead.
```shell
[[ ! $(command -v brew) ]] && /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" \
; eval "$(/opt/homebrew/bin/brew shellenv)" \
@ -34,49 +30,21 @@ I manage my dotfiles using [dotdrop](https://github.com/deadc0de6/dotdrop).
### Manual
1. Install [Homebrew](https://brew.sh/)
2. Install `age`, `coreutils`, `fzf`, `libmagic`, `mas`, `uv` and `zsh` via Homebrew.
2. Install `coreutils`, `fzf`, `libmagic`, `mas`, `uv` and `zsh` via Homebrew.
```shell
brew bundle install --file=~/.files/bootstrap/Brewfile
```
3. Install `drotdrop` via `uv` (`uv tool install --allow-python-downloads --python 3.11 dotdrop`).
4. Copy ssh public/private key for age, to encrypt/decrypt files to `~/.ssh/identities/phg-age-dotfiles` and `~/.ssh/identities/phg-age-dotfiles.pub`
5. Clone dotfiles, install dependencies for dotdrop and install dotfiles.
4. Clone dotfiles, install dependencies for dotdrop and install dotfiles.
```shell
git clone https://github.com/shokinn/.files ~/.files \
&& ~/.local/bin/dotdrop --cfg=~/.files/config.yaml install
```
6. Install my default set of tools:
5. Install my default set of tools:
```shell
brew bundle install --file=~/.files/config/brew/Brewfile
```
## Encrypted files
### Initially import a dot file as encrypted file
```shell
dotdrop import --transw=_encrypt --transr=_decrypt <file>
```
Installs/updates will now be automatically decrypted/encrypted.
### Decrypt a dotfile manually
```shell
age --decrypt -i ~/.ssh/identities/phg-age-dotfiles -o <ouput paht for decrypted file> <path to encrypted file>
```
### Encrypt a dotfile manually
```shell
cat <path to plain file> | age -R ~/.ssh/identities/phg-age-dotfiles.pub > <path to encrypted file>
```
### Edit an encrypted dotfile
TBD
## Backup/Restore settings for macOS native user preferences
See here for a defaults documentation: <https://macos-defaults.com/>

View file

@ -1,4 +1,3 @@
brew "age"
brew "coreutils"
brew "fzf"
brew "libmagic"

View file

@ -2,16 +2,6 @@ config:
backup: true
create: true
dotpath: dotfiles
variables:
ageidentity: ${{HOME}}/.ssh/identities/phg-age-dotfiles
SHELL_ERR_MESSAGE: '\033[41;30m'
SHELL_RESET_COLOR: '\033[0m'
trans_install:
_decrypt: |
[[ -f {{@@ ageidentity @@}} ]] && age --decrypt -i {{@@ ageidentity @@}} -o {1} {0} || ([[ ! -f {{@@ _dotfile_abs_dst @@}} ]] && (echo "{{@@ SHELL_ERR_MESSAGE @@}}Missing age identity file {{@@ ageidentity @@}}, cannot decrypt {0}, creating empty file instead{{@@ SHELL_RESET_COLOR @@}}"; echo "" > {1}) || (echo "{{@@ SHELL_ERR_MESSAGE @@}}Missing age identity file {{@@ ageidentity @@}}, cannot decrypt {0}{{@@ SHELL_RESET_COLOR @@}}"; cp {{@@ _dotfile_abs_dst @@}} {1}))
trans_update:
_encrypt: |
[[ -f {{@@ ageidentity @@}}.pub ]] && cat {0} | age -R {{@@ ageidentity @@}}.pub > {1} || echo "{{@@ SHELL_ERR_MESSAGE @@}}Missing age identity file {{@@ ageidentity @@}}.pub, cannot encrypt {0}{{@@ SHELL_RESET_COLOR @@}}"
actions:
oh-my-zsh: |
[[ ! -d ${{HOME}}/.oh-my-zsh ]] && sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" "" --unattended || echo "do nothing" >/dev/null
@ -158,11 +148,6 @@ dotfiles:
f_p10k_mise:
dst: ~/.config/zsh/p10k.mise.zsh
src: config/zsh/p10k.mise.zsh
f_finicky.js:
src: finicky.js
dst: ~/.finicky.js
trans_install: _decrypt
trans_update: _encrypt
profiles:
meta_base:
variables:
@ -176,6 +161,7 @@ profiles:
- f_config
- f_p10k_mise
- f_powerlevel10krc
- f_rmquarantine
- f_secretfiles
- f_vimrc
- f_zprofile
@ -207,7 +193,6 @@ profiles:
- meta_base
dotfiles:
- f_rmquarantine
- f_finicky.js
os_ubuntu:
variables:
distro: ubuntu

View file

@ -1,123 +0,0 @@
{
"settings": [
{
"name": "activeMode",
"value": true
},
{
"name": "cacheCleanup",
"value": false
},
{
"name": "cleanCookiesFromOpenTabsOnStartup",
"value": true
},
{
"name": "cleanExpiredCookies",
"value": true
},
{
"name": "contextMenus",
"value": true
},
{
"name": "contextualIdentities",
"value": true
},
{
"name": "contextualIdentitiesAutoRemove",
"value": true
},
{
"name": "debugMode",
"value": false
},
{
"name": "delayBeforeClean",
"value": 15
},
{
"name": "discardedCleanup",
"value": false
},
{
"name": "domainChangeCleanup",
"value": true
},
{
"name": "enableGreyListCleanup",
"value": true
},
{
"name": "enableNewVersionPopup",
"value": false
},
{
"id": "DEPRECATED - use default expressions",
"name": "greyCleanLocalstorage",
"value": false
},
{
"name": "indexedDBCleanup",
"value": false
},
{
"name": "keepDefaultIcon",
"value": false
},
{
"id": "DEPRECATED - use localStorageCleanup",
"name": "localstorageCleanup",
"value": false
},
{
"name": "localStorageCleanup",
"value": false
},
{
"name": "manualNotifications",
"value": true
},
{
"name": "notificationOnScreen",
"value": 3
},
{
"name": "pluginDataCleanup",
"value": false
},
{
"name": "serviceWorkersCleanup",
"value": false
},
{
"name": "showNotificationAfterCleanup",
"value": true
},
{
"name": "showNumOfCookiesInIcon",
"value": true
},
{
"name": "siteDataEmptyOnEnable",
"value": true
},
{
"name": "sizePopup",
"value": 16
},
{
"name": "sizeSetting",
"value": 16
},
{
"name": "statLogging",
"value": true
},
{
"id": "DEPRECATED - use default expressions",
"name": "whiteCleanLocalstorage",
"value": false
}
]
}

File diff suppressed because it is too large Load diff

View file

@ -60,8 +60,6 @@ cask "browserino", args: { no_quarantine: true }
cask "bruno"
cask "crossover"
cask "crystalfetch"
cask "firefox"
cask "firefox@developer-edition"
cask "finicky"
cask "iina"
cask "istat-menus"
@ -79,6 +77,7 @@ cask "snagit"
cask "soundsource"
cask "sublime-text"
cask "visual-studio-code"
cask "zen"
mas "AdGuard for Safari", id: 1440147259
mas "Amphetamine", id: 937984704
mas "AusweisApp", id: 948660805

Binary file not shown.