Top-level scripts and config direcrtories

This commit is contained in:
Alicia Sykes 2022-10-27 15:47:28 +01:00
parent 7eaf862ead
commit 4689c86918
26 changed files with 617 additions and 74 deletions

30
.github/README.md vendored
View File

@ -140,7 +140,7 @@ Zach Holman wrote a great article titled [Dotfiles Are Meant to Be Forked](https
By all means feel free to take what you want from mine. I've taken care to ensure that each file is standalone, and well documented so that certain files can just be dropped into any system. But I cannot stress enough the importance of reading through files to ensure it's actually what you want.
If you're looking for some more example dotfile repos to get you started, I can highly recommend taking a look at: [@holman/dotfiles](https://github.com/holman/dotfiles), [@nickjj/dotfiles](https://github.com/nickjj/dotfiles), [@caarlos0/dotfiles](https://github.com/caarlos0/dotfiles), [@cowboy/dotfiles](https://github.com/cowboy/dotfiles).
If you're looking for some more example dotfile repos to get you started, I can highly recommend taking a look at: [@holman/dotfiles](https://github.com/holman/dotfiles), [@nickjj/dotfiles](https://github.com/nickjj/dotfiles), [@caarlos0/dotfiles](https://github.com/caarlos0/dotfiles), [@cowboy/dotfiles](https://github.com/cowboy/dotfiles), [@drduh/config](https://github.com/drduh/config).
There's even more to check out at [webpro/awesome-dotfiles](https://github.com/webpro/awesome-dotfiles), [dotfiles.github.io](https://dotfiles.github.io/) and [r/unixporn](https://www.reddit.com/r/unixporn/).
@ -193,10 +193,10 @@ Once the repo is cloned, you can modify whatever files you like before running t
├── <a href="https://github.com/Lissy93/dotfiles/tree/master/tmux" title="Tmux Configs">tmux/</a> # Tmux (multiplexer) config
├── <a href="https://github.com/Lissy93/dotfiles/tree/master/vim" title="Vim Configs">vim/</a> # Vim (text editor) config
├── <a href="https://github.com/Lissy93/dotfiles/tree/master/zsh" title="ZSH Configs">zsh/</a> # ZSH (shell) config
└── <a href="https://github.com/Lissy93/dotfiles/tree/master/installs" title="List of packages to install">installs/</a> # Scripts for software installation
├── <a href="https://github.com/Lissy93/dotfiles/blob/master/installs/Brewfile" title="Packages for MacOS via Homebrew">Brewfile</a> # Package installs for MacOS via Homebrew
├── <a href="https://github.com/Lissy93/dotfiles/blob/master/installs/arch-pacman.sh" title="Packages for Arch Linux via Pacman">arch-pacman.sh</a> # Package installs for Arch via Pacman
└── <a href="https://github.com/Lissy93/dotfiles/blob/master/installs/flatpak.sh" title="Packages for Linux Desktops via Flatpak">flatpak.sh</a> # Package installs for Linux desktops via Flatpak
└── <a href="https://github.com/Lissy93/dotfiles/tree/master/installs" title="List of packages to install">scripts/installs/</a> # Scripts for software installation
├── <a href="https://github.com/Lissy93/dotfiles/blob/master/scripts/installs/Brewfile" title="Packages for MacOS via Homebrew">Brewfile</a> # Package installs for MacOS via Homebrew
├── <a href="https://github.com/Lissy93/dotfiles/blob/master/scripts/installs/arch-pacman.sh" title="Packages for Arch Linux via Pacman">arch-pacman.sh</a> # Package installs for Arch via Pacman
└── <a href="https://github.com/Lissy93/dotfiles/blob/master/scripts/installs/flatpak.sh" title="Packages for Linux Desktops via Flatpak">flatpak.sh</a> # Package installs for Linux desktops via Flatpak
├── <a href="https://github.com/Lissy93/dotfiles/tree/master/.github" title="Repo Meta">.github/</a> # Meta files for GitHub repo
├── <a href="https://github.com/Lissy93/dotfiles/blob/master/lets-go.sh" title="Remote Setup Initiator">lets-go.sh</a> # One-line remote installation entry point
├── <a href="https://github.com/Lissy93/dotfiles/blob/master/install.sh" title="Setup Script">install.sh</a> # All-in-one install and setup script
@ -582,15 +582,15 @@ Alias | Description
The dotfile installation script can also, detect which system and environemnt you're running, and optionally prompt to install packages and applications.
Package lists are stored in [`installs/`](https://github.com/Lissy93/dotfiles/tree/master/installs) directory, with separate files for different OSs. The install script will [pick the appropriate file](https://github.com/Lissy93/dotfiles/blob/22c6a04fdb22c140448b7d15ef8187c3a424ab47/install.sh#L243-L260) based on your distro.
Package lists are stored in [`scripts/installs/`](https://github.com/Lissy93/dotfiles/tree/master/installs) directory, with separate files for different OSs. The install script will [pick the appropriate file](https://github.com/Lissy93/dotfiles/blob/22c6a04fdb22c140448b7d15ef8187c3a424ab47/install.sh#L243-L260) based on your distro.
You will be prompted before anything is installed. Be sure to remove / comment out anything you do not need before proceeding.
- Linux (desktop): [`flatpak.sh`](https://github.com/Lissy93/dotfiles/blob/master/installs/flatpak.sh) - Desktop apps can be installed on Linux systems via [Flatpack](https://flatpak.org/)
- Mac OS: [`.Brewfile`](https://github.com/Lissy93/dotfiles/blob/master/installs/Brewfile) - Mac apps installed via [Homebrew](https://brew.sh/)
- Arch (and Arch-based systems, like Manjaro): [`arch-pacman.sh`](https://github.com/Lissy93/dotfiles/blob/master/installs/arch-pacman.sh) - Arch CLI apps installed via [pacman](https://wiki.archlinux.org/title/Pacman)
- Debian (and Debian-based systems, like Ubuntu): [`apt.sh`](https://github.com/Lissy93/dotfiles/blob/master/installs/apt.sh) - Debian CLI apps installed via [apt](https://wiki.debian.org/Apt)
- Alpine: [`apk.sh`](https://github.com/Lissy93/dotfiles/blob/master/installs/apk.sh) - Alpine CLI apps installed via [apk](https://docs.alpinelinux.org/user-handbook/0.1a/Working/apk.html)
- Linux (desktop): [`flatpak.sh`](https://github.com/Lissy93/dotfiles/blob/master/scripts/installs/flatpak.sh) - Desktop apps can be installed on Linux systems via [Flatpack](https://flatpak.org/)
- Mac OS: [`.Brewfile`](https://github.com/Lissy93/dotfiles/blob/master/scripts/installs/Brewfile) - Mac apps installed via [Homebrew](https://brew.sh/)
- Arch (and Arch-based systems, like Manjaro): [`arch-pacman.sh`](https://github.com/Lissy93/dotfiles/blob/master/scripts/installs/arch-pacman.sh) - Arch CLI apps installed via [pacman](https://wiki.archlinux.org/title/Pacman)
- Debian (and Debian-based systems, like Ubuntu): [`apt.sh`](https://github.com/Lissy93/dotfiles/blob/master/scripts/installs/apt.sh) - Debian CLI apps installed via [apt](https://wiki.debian.org/Apt)
- Alpine: [`apk.sh`](https://github.com/Lissy93/dotfiles/blob/master/scripts/installs/apk.sh) - Alpine CLI apps installed via [apk](https://docs.alpinelinux.org/user-handbook/0.1a/Working/apk.html)
The following section lists different apps that may be installed for each category:
@ -855,10 +855,10 @@ All settings are then updated in the `.plist` files stored in `~/Library/Prefere
In my dotfiles, the MacOS preferences will configure everything from system security to launchpad layout.
The Mac settings are located in [`system-specific/macos/system-settings/`](https://github.com/Lissy93/dotfiles/tree/master/system-specific/macos/system-settings), and are split into three files:
- [`macos-security.sh`](https://github.com/Lissy93/dotfiles/blob/master/system-specific/macos/system-settings/macos-security.sh) - Sets essential security settings, disables telementry, disconnects unused ports, enforces signing, sets logout timeouts, and much more
- [`macos-preferences.sh`](https://github.com/Lissy93/dotfiles/blob/master/system-specific/macos/system-settings/macos-preferences.sh) - Configures all user preferences, including computer name, highlight color, finder options, spotlight settings, hardware preferences and more
- [`macos-apps.sh`](https://github.com/Lissy93/dotfiles/blob/master/system-specific/macos/system-settings/macos-apps.sh) - Applies preferences to any installed desktop apps, such as Terminal, Time Machine, Photos, Spotify, and many others
The Mac settings are located in [`scripts/macos-setup/`](https://github.com/Lissy93/dotfiles/tree/master/scripts/macos-setup), and are split into three files:
- [`macos-security.sh`](https://github.com/Lissy93/dotfiles/blob/master/scripts/macos-setup/macos-security.sh) - Sets essential security settings, disables telementry, disconnects unused ports, enforces signing, sets logout timeouts, and much more
- [`macos-preferences.sh`](https://github.com/Lissy93/dotfiles/blob/master/scripts/macos-setup/macos-preferences.sh) - Configures all user preferences, including computer name, highlight color, finder options, spotlight settings, hardware preferences and more
- [`macos-apps.sh`](https://github.com/Lissy93/dotfiles/blob/master/scripts/macos-setup/macos-apps.sh) - Applies preferences to any installed desktop apps, such as Terminal, Time Machine, Photos, Spotify, and many others
Upon running each script, a summary of what will be changed will be shown, and you'll be prompted as to weather you'd like to continue. Each script also handles permissions, compatibility checking, and graceful fallbacks. Backup of original settings will be made, and a summary of all changes made will be logged as output when the script is complete.

2
.github/sync.yml vendored
View File

@ -1,4 +1,4 @@
lissy93/Brewfile:
- source: installs/Brewfile
- source: scripts/installs/Brewfile
dest: Brewfile

8
config/.curlrc Normal file
View File

@ -0,0 +1,8 @@
# Configuration for curl
# For more info, see: https://everything.curl.dev/
# When following a redirect, automatically set the previous URL as referrer
referer = ";auto"
# Wait 60 seconds before timing out
connect-timeout = 60

11
config/.gemrc Normal file
View File

@ -0,0 +1,11 @@
---
:benchmark: false
:update_sources: true
:backtrace: false
:bulk_threshold: 1000
:verbose: true
:sources:
- http://gemcutter.org
- http://gems.rubyforge.org/
- http://gems.github.com/

284
config/.gitconfig Normal file
View File

@ -0,0 +1,284 @@
# Global Git Configuration
[user]
name = Alicia Sykes
email = alicia@omg.lol
username = lissy93
[init]
defaultBranch = master
[pull]
rebase = false
[core]
editor = nvim
whitespace = fix,-indent-with-non-tab,trailing-space,cr-at-eol
pager = delta
excludesfile = /Users/alicia/.config/.gitignore_global
autocrlf = false
symlinks = true
[web]
browser = firefox
[instaweb]
httpd = apache2 -f
[rerere]
enabled = 1
autoupdate = 1
[color]
ui = auto
[color "branch"]
current = yellow bold
local = purple bold
remote = cyan bold
[color "diff"]
meta = yellow bold
frag = magenta bold
old = red bold
new = green bold
whitespace = red reverse
[color "status"]
added = green bold
changed = yellow bold
untracked = red bold
[diff]
tool = vimdiff
[difftool]
prompt = false
[delta]
features = line-numbers decorations
line-numbers = true
[delta "decorations"]
minus-style = red bold normal
plus-style = green bold normal
minus-emph-style = white bold red
minus-non-emph-style = red bold normal
plus-emph-style = white bold green
plus-non-emph-style = green bold normal
file-style = yellow bold none
file-decoration-style = yellow box
hunk-header-style = magenta bold
hunk-header-decoration-style = magenta box
minus-empty-line-marker-style = normal normal
plus-empty-line-marker-style = normal normal
line-numbers-right-format = "{np:^4}│ "
# [github]
# user = lissy93
# token = token
[gitflow "prefix"]
versiontag = v
[sequence]
editor = interactive-rebase-tool
[alias]
a = add --all
ai = add -i
#############
ap = apply
as = apply --stat
ac = apply --check
#############
ama = am --abort
amr = am --resolved
ams = am --skip
#############
b = branch
ba = branch -a
bd = branch -d
bdd = branch -D
br = branch -r
bc = rev-parse --abbrev-ref HEAD
bu = !git rev-parse --abbrev-ref --symbolic-full-name "@{u}"
bs = !git-branch-status
#############
c = commit
ca = commit -a
cm = commit -m
cam = commit -am
cem = commit --allow-empty -m
cd = commit --amend
cad = commit -a --amend
ced = commit --allow-empty --amend
#############
cl = clone
cld = clone --depth 1
clg = !sh -c 'git clone git://github.com/$1 $(basename $1)' -
clgp = !sh -c 'git clone git@github.com:$1 $(basename $1)' -
clgu = !sh -c 'git clone git@github.com:$(git config --get user.username)/$1 $1' -
#############
cp = cherry-pick
cpa = cherry-pick --abort
cpc = cherry-pick --continue
#############
d = diff
dp = diff --patience
dc = diff --cached
dk = diff --check
dck = diff --cached --check
dt = difftool
dct = difftool --cached
#############
f = fetch
fo = fetch origin
fu = fetch upstream
#############
fp = format-patch
#############
fk = fsck
#############
g = grep -p
#############
l = log --oneline
lg = log --oneline --graph --decorate
#############
ls = ls-files
lsf = !git ls-files | grep -i
#############
m = merge
ma = merge --abort
mc = merge --continue
ms = merge --skip
#############
o = checkout
om = checkout master
ob = checkout -b
opr = !sh -c 'git fo pull/$1/head:pr-$1 && git o pr-$1'
#############
pr = prune -v
#############
ps = push
psf = push -f
psu = push -u
pst = push --tags
#############
pso = push origin
psao = push --all origin
psfo = push -f origin
psuo = push -u origin
#############
psom = push origin master
psaom = push --all origin master
psfom = push -f origin master
psuom = push -u origin master
psoc = !git push origin $(git bc)
psaoc = !git push --all origin $(git bc)
psfoc = !git push -f origin $(git bc)
psuoc = !git push -u origin $(git bc)
psdc = !git push origin :$(git bc)
#############
pl = pull
pb = pull --rebase
#############
plo = pull origin
pbo = pull --rebase origin
plom = pull origin master
ploc = !git pull origin $(git bc)
pbom = pull --rebase origin master
pboc = !git pull --rebase origin $(git bc)
#############
plu = pull upstream
plum = pull upstream master
pluc = !git pull upstream $(git bc)
pbum = pull --rebase upstream master
pbuc = !git pull --rebase upstream $(git bc)
#############
rb = rebase
rba = rebase --abort
rbc = rebase --continue
rbi = rebase --interactive
rbs = rebase --skip
#############
re = reset
rh = reset HEAD
reh = reset --hard
rem = reset --mixed
res = reset --soft
rehh = reset --hard HEAD
remh = reset --mixed HEAD
resh = reset --soft HEAD
rehom = reset --hard origin/master
#############
r = remote
ra = remote add
rr = remote rm
rv = remote -v
rn = remote rename
rp = remote prune
rs = remote show
rao = remote add origin
rau = remote add upstream
rro = remote remove origin
rru = remote remove upstream
rso = remote show origin
rsu = remote show upstream
rpo = remote prune origin
rpu = remote prune upstream
#############
rmf = rm -f
rmrf = rm -r -f
#############
s = status
sb = status -s -b
#############
sa = stash apply
sc = stash clear
sd = stash drop
sl = stash list
sp = stash pop
ss = stash save
ssk = stash save -k
sw = stash show
st = !git stash list | wc -l 2>/dev/null | grep -oEi '[0-9][0-9]*'
#############
t = tag
td = tag -d
#############
w = show
wp = show -p
wr = show -p --no-color
#############
svnr = svn rebase
svnd = svn dcommit
svnl = svn log --oneline --show-commit
#############
subadd = !sh -c 'git submodule add git://github.com/$1 $2/$(basename $1)' -
subrm = !sh -c 'git submodule deinit -f -- $1 && rm -rf .git/modules/$1 && git rm -f $1' -
subup = submodule update --init --recursive
subpull = !git submodule foreach git pull --tags -f origin master
#############
assume = update-index --assume-unchanged
unassume = update-index --no-assume-unchanged
assumed = !git ls -v | grep ^h | cut -c 3-
unassumeall = !git assumed | xargs git unassume
assumeall = !git status -s | awk {'print $2'} | xargs git assume
#############
bump = !sh -c 'git commit -am \"Version bump v$1\" && git psuoc && git release $1' -
release = !sh -c 'git tag v$1 && git pst' -
unrelease = !sh -c 'git tag -d v$1 && git pso :v$1' -
merged = !sh -c 'git o master && git plom && git bd $1 && git rpo' -
aliases = !git config -l | grep alias | cut -c 7-
snap = !git stash save 'snapshot: $(date)' && git stash apply 'stash@{0}'
bare = !sh -c 'git symbolic-ref HEAD refs/heads/$1 && git rm --cached -r . && git clean -xfd' -
whois = !sh -c 'git log -i -1 --author=\"$1\" --pretty=\"format:%an <%ae>\"' -
serve = daemon --reuseaddr --verbose --base-path=. --export-all ./.git
#############
behind = !git rev-list --left-only --count $(git bu)...HEAD
ahead = !git rev-list --right-only --count $(git bu)...HEAD
#############
ours = "!f() { git checkout --ours $@ && git add $@; }; f"
theirs = "!f() { git checkout --theirs $@ && git add $@; }; f"
subrepo = !sh -c 'git filter-branch --prune-empty --subdirectory-filter $1 master' -
human = name-rev --name-only --refs=refs/heads/*
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[difftool "sourcetree"]
cmd = opendiff \"$LOCAL\" \"$REMOTE\"
path =
[mergetool "sourcetree"]
cmd = /Users/alicia/Applications/Sourcetree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\"
trustExitCode = true
[remote "origin"]
url = https://github.com/Homebrew/brew
fetch = +refs/heads/*:refs/remotes/origin/*
[homebrew]
analyticsmessage = true
caskanalyticsmessage = true

37
config/.gitignore_global Normal file
View File

@ -0,0 +1,37 @@
# Linux
*~
.fuse_hidden*
.directory
.Trash-*
.nfs*
# MacOS
.DS_Store
.AppleDouble
.LSOverride
Icon
._*
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
*.icloud
# Windows
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
*.stackdump
[Dd]esktop.ini
$RECYCLE.BIN/
*.lnk

35
config/.wgetrc Normal file
View File

@ -0,0 +1,35 @@
# Use the server-provided last modification date, if available
timestamping = on
# Do not go up in the directory structure when downloading recursively
no_parent = on
# Wait 60 seconds before timing out (DNS, connect and read)
timeout = 60
# Retry a few times when a download fails, but dont overdo it
tries = 3
# Retry even when the connection was refused
retry_connrefused = on
# Use the last component of a redirection URL for the local file name
trust_server_names = on
# Follow FTP links from HTML documents by default
follow_ftp = on
# Add extensions when missing, based on header type (e.g. text/html --> .html)
adjust_extension = on
# Use UTF-8 as the default system encoding
#local_encoding = UTF-8
# Ignore `robots.txt` and `<meta name=robots content=nofollow>`
robots = off
# Print the HTTP and FTP server responses
server_response = on
# Disguise as IE 9 on Windows 7
user_agent = Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)

6
config/README.txt Normal file
View File

@ -0,0 +1,6 @@
The config directory stores configuration files for various apps, utils and systems.
Generic configs which are used across all systems (e.g. .gitconfig, .bashrc, .wgetrc)
are stored in the root of the config directory, whereas files which are only used on
certain systems (like MacOS) or by certain applications (like Firefox's user.js) are
kept in category-specific directories (e.g. macos, desktop-apps, etc).

View File

View File

@ -0,0 +1,71 @@
# https://github.com/drduh/config/blob/master/dnscrypt-proxy.toml
# https://github.com/jedisct1/dnscrypt-proxy/blob/master/dnscrypt-proxy/example-dnscrypt-proxy.toml
#user_name = '_dnscrypt-proxy'
#server_names = ['quad9']
#server_names = ['abc']
listen_addresses = ['127.0.0.1:4200']
max_clients = 250
ipv4_servers = true
ipv6_servers = false
block_ipv6 = true
block_unqualified = true
block_undelegated = true
reject_ttl = 3600
force_tcp = false
timeout = 4000
keepalive = 60
cert_refresh_delay = 240
dnscrypt_ephemeral_keys = true
tls_disable_session_tickets = true
tls_cipher_suite = [52393] # TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
fallback_resolvers = ['9.9.9.9:53', '8.8.8.8:53']
ignore_system_dns = false
netprobe_timeout = 30
cache = true
cache_size = 4096
cache_min_ttl = 600
cache_max_ttl = 86400
cache_neg_min_ttl = 60
cache_neg_max_ttl = 600
forwarding_rules = 'forwarding-rules.txt'
log_level = 2
log_file = 'dnscrypt.log'
log_files_max_size = 10
log_files_max_age = 7
log_files_max_backups = 1
[query_log]
file = 'query.log'
[nx_log]
file = 'nx.log'
[blocked_names]
blocked_names_file = 'blocklist.txt'
log_file = 'blocked.log'
[blocked_ips]
blocked_ips_file = 'ip-blocklist.txt'
log_file = 'ip-blocked.log'
#[allowed_names]
# allowed_names_file = 'allowed.txt'
# log_file = 'allowed-names.log'
#[sources]
# [sources.'public-resolvers']
# urls = ['https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v2/public-resolvers.md', 'https://download.dnscrypt.info/resolvers-list/v2/public-resolvers.md']
# cache_file = 'public-resolvers.md'
# minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
# prefix = ''
# [sources.'relays']
# urls = ['https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v2/relays.md',
# 'https://download.dnscrypt.info/resolvers-list/v2/relays.md']
# cache_file = 'relays.md'
# minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
# refresh_delay = 72
# prefix = ''
# [sources.quad9-resolvers]
# urls = ['https://www.quad9.net/quad9-resolvers.md']
# minisign_key = 'RWQBphd2+f6eiAqBsvDZEBXBGHQBJfeG6G+wJPPKxCZMoEQYpmoysKUN'
# cache_file = 'quad9-resolvers.md'
# prefix = 'quad9-'
#[static]
# [static.'quad9']
# stamp = 'sdns://AQMAAAAAAAAAEjE0OS4xMTIuMTEyLjk6ODQ0MyBnyEe4yHWM0SAkVUO-dWdG3zTfHYTAC4xHA2jfgh2GPhkyLmRuc2NyeXB0LWNlcnQucXVhZDkubmV0'
# [static.'abc']
# stamp = 'sdns://AAAAA...'

86
config/gpg.conf Normal file
View File

@ -0,0 +1,86 @@
# https://www.gnupg.org/documentation/manuals/gnupg/GPG-Configuration-Options.html
# https://www.gnupg.org/documentation/manuals/gnupg/GPG-Esoteric-Options.html
# Use AES256, 192, or 128 as cipher
personal-cipher-preferences AES256 AES192 AES
# Use SHA512, 384, or 256 as digest
personal-digest-preferences SHA512 SHA384 SHA256
# Use ZLIB, BZIP2, ZIP, or no compression
personal-compress-preferences ZLIB BZIP2 ZIP Uncompressed
# Default preferences for new keys
default-preference-list SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed
# SHA512 as digest to sign keys
cert-digest-algo SHA512
# SHA512 as digest for symmetric ops
s2k-digest-algo SHA512
# AES256 as cipher for symmetric ops
s2k-cipher-algo AES256
# UTF-8 support for compatibility
charset utf-8
# Show Unix timestamps
fixed-list-mode
# No comments in signature
no-comments
# No version in output
no-emit-version
# Disable banner
no-greeting
# Long hexidecimal key format
keyid-format 0xlong
# Display UID validity
list-options show-uid-validity
verify-options show-uid-validity
# Display all keys and their fingerprints
with-fingerprint
# Display key origins and updates
#with-key-origin
# Cross-certify subkeys are present and valid
require-cross-certification
# Disable caching of passphrase for symmetrical ops
no-symkey-cache
# Enable smartcard
use-agent
# Disable recipient key ID in messages
throw-keyids
# Default/trusted key ID to use (helpful with throw-keyids)
#default-key 0xFF3E7D88647EBCDB
#trusted-key 0xFF3E7D88647EBCDB
# Group recipient keys (preferred ID last)
#group keygroup = 0xFF00000000000001 0xFF00000000000002 0xFF3E7D88647EBCDB
# Keyserver URL
#keyserver hkps://keys.openpgp.org
#keyserver hkps://keyserver.ubuntu.com:443
#keyserver hkps://hkps.pool.sks-keyservers.net
#keyserver hkps://pgp.ocf.berkeley.edu
# Proxy to use for keyservers
#keyserver-options http-proxy=http://127.0.0.1:8118
#keyserver-options http-proxy=socks5-hostname://127.0.0.1:9050
# Verbose output
#verbose
# Show expired subkeys
#list-options show-unusable-subkeys

View File

@ -1,14 +1,3 @@
######################################################################
# MacOS App Launchpad Layout #
######################################################################
# Specifies the folder layout and app order within OSX Launchpad #
# Useful for setting up fresh systems quickly after installing apps #
# Intended for use with lporg, run: brew install blacktop/tap/lporg #
# To restore launchpad layout with lporg, run: lporg load [file] #
# #
# Licensed under MIT (C) Alicia Sykes 2022 <https://aliciasykes.com> #
######################################################################
apps:
pages:
- number: 1
@ -93,41 +82,42 @@ apps:
- LinearMouse
- Übersicht
- MacForge
- QLMarkdown
- folder: Other
pages:
- number: 1
items:
- Shortcuts
- QuickTime Player
- TextEdit
- Grapher
- Time Machine
- Font Book
- Chess
- Stickies
- Image Capture
- VoiceOver Utility
- AirPort Utility
- Migration Assistant
- Terminal
- Activity Monitor
- Automator
- TextEdit
- System Information
- Console
- Keychain Access
- System Information
- Automator
- Script Editor
- Disk Utility
- Console
- Digital Color Meter
- ColorSync Utility
- Screenshot
- Bluetooth File Exchange
- Audio MIDI Setup
- Calculator
- System Preferences
- Simulator
- TestFlight
- Developer
- Time Machine
- Dictionary
- Stickies
- Shortcuts
- Grapher
- Digital Color Meter
- ColorSync Utility
- Font Book
- Chess
- Audio MIDI Setup
- Image Capture
- VoiceOver Utility
- Bluetooth File Exchange
- AirPort Utility
- Migration Assistant
- QuickTime Player
- VMware Fusion Tech Preview
- Jabra Direct
- CotEditor

0
config/macos/skhdrc Normal file
View File

View File

@ -42,13 +42,16 @@ brew 'diff-so-fancy'# Readable file compares (better diff)
brew 'duf' # Get info on mounted disks (better df)
brew 'entr' # Run command whenever file changes
brew 'exa' # Listing files with info (better ls)
brew 'exiftool' # Read, write and modify exif data
brew 'fzf' # Fuzzy file finder and filtering
brew 'hyperfine' # Benchmarking for arbitrary commands
brew 'jdupes' # Duplicate file finder
brew 'just' # Powerful command runner (better make)
brew 'jq' # JSON parser, output and query files
brew 'most' # Multi-window scroll pager (better less)
brew 'procs' # Advanced process viewer (better ps)
brew 'ripgrep' # Searching within files (better grep)
brew 'rsync' # Fast incremental file transfer
brew 'scc' # Count lines of code (better cloc)
brew 'sd' # RegEx find and replace (better sed)
brew 'thefuck' # Auto-correct miss-typed commands
@ -111,11 +114,9 @@ brew 'gradle' # Build automation for Java
cask 'iterm2' # Better terminal emulator
cask 'postman' # HTTP API testing app
cask 'sourcetree' # Git visual client
cask 'utm' # VM management console
cask 'visual-studio-code' # Code editor
# Development Langs, Compilers, Package Managers and SDKs
brew 'docker' # Containers
brew 'gcc' # GNU C++ compilers
brew 'go' # Compiler for Go Lang
brew 'lua' # Lua interpreter
@ -127,6 +128,10 @@ brew 'python' # Python interpriter
brew 'rust' # Rust language
cask 'android-sdk' # Android software dev kit
# DevOps
brew 'ansible' # Automation
brew 'docker' # Containers
# Development Utils
brew 'gh' # Interact with GitHub PRs, issues, repos
brew 'git-extras' # Extra git commands for common tasks
@ -148,6 +153,7 @@ cask 'wireshark' # Network analyzer + packet capture
# Security Utilities
brew 'bcrypt' # Encryption utility, using blowfish
brew 'clamav' # Open source virus scanning suite
brew 'dnscrypt-proxy' # Proxy for using encrypted DNS
cask 'gpg-suite' # PGP encryption for emails and files
brew 'git-crypt' # Transparent encryption for git repos
brew 'lynis' # Scan system for common security issues
@ -202,17 +208,16 @@ cask 'font-inconsolata'
cask 'font-meslo-lg-nerd-font'
# Mac OS Quick-Look Plugins
cask 'qlcolorcode' # QL for code with highlighting
cask 'qlimagesize' # QL for size info for images
cask 'qlmarkdown' # QL for markdown files
cask 'qlprettypatch' # QL for patch / diff files
cask 'qlstephen' # QL for dev text files
cask 'qlvideo' # QL for video formats
cask 'quicklook-csv' # QL for tables in CSV format
cask 'quicklook-json', args: { require_sha: false } # QL for JSON, with trees
cask 'quicklookapk', args: { require_sha: false } # QL for Android APKs
cask 'suspicious-package', args: { require_sha: false } # QL for OSX app installers
cask 'webpquicklook', args: { require_sha: false } # QL for WebP image files
cask 'qlcolorcode' # QL for code with highlighting
cask 'qlimagesize' # QL for size info for images
cask 'qlmarkdown' # QL for markdown files
cask 'qlprettypatch' # QL for patch / diff files
cask 'qlstephen' # QL for dev text files
cask 'qlvideo' # QL for video formats
cask 'quicklook-csv' # QL for tables in CSV format
cask 'quicklook-json', args: { require_sha: false } # QL for JSON, with trees
cask 'quicklookapk', args: { require_sha: false } # QL for Android APKs
cask 'webpquicklook', args: { require_sha: false } # QL for WebP image files
# Mac OS Mods and Imrovments
cask 'alt-tab' # Much better alt-tab window switcher
@ -228,6 +233,7 @@ cask 'mjolnir' # Util for loading Lua automations
cask 'openinterminal' # Finder button, opens directory in terminal
cask 'popclip' # Popup options for text on highlight
cask 'raycast', args: { require_sha: false } # Spotlight alternative
cask 'santa' # Binary authorization for security
cask 'shottr' # Better screenshot utility
brew 'skhd' # Hotkey daemon for macOS
cask 'stats' # System resource usage in menubar

View File

@ -21,7 +21,7 @@ if [ ! -z $0 ]; then # Use local files
done
else # Run from remote origin
REMOTE_DIR="https://raw.githubusercontent.com/Lissy93/dotfiles"
REMOTE_DIR+="/master/system-specific/macos/system-settings"
REMOTE_DIR+="/master/scripts/macos-setup"
for mac_script in ${macos_scripts[@]}; do
bash <(curl -s "${REMOTE_DIR}/${mac_script}")
done

View File

@ -9,32 +9,41 @@
# Before symlinking, source .zshenv in order to set XDG variables
- description: Set XDG environmental variables
command: source ./zsh/.zshenv
# Symlink locations for files / directories
- link:
~/.zshenv:
path: zsh/.zshenv
force: true
# Essential configs (ZSH, Vim, Tmux)
~/.zshenv: { path: zsh/.zshenv, force: true }
${XDG_CONFIG_HOME}/zsh: zsh
${XDG_CONFIG_HOME}/vim: vim
${XDG_CONFIG_HOME}/nvim: vim
${XDG_CONFIG_HOME}/bash: bash
${XDG_DATA_HOME}/tmux/plugins/tpm: tpm
${XDG_CONFIG_HOME}/tmux/tmux.conf: tmux/tmux.conf
${XDG_CONFIG_HOME}/tmux: tmux
${XDG_DATA_HOME}/tmux/plugins/tpm: lib/tpm
# Utility config files
${XDG_CONFIG_HOME}/bash/.bashrc: config/.bashrc
${XDG_CONFIG_HOME}/git/.gitconfig: config/.gitconfig
${XDG_CONFIG_HOME}/.gitignore_global: config/.gitignore_global
${XDG_CONFIG_HOME}/.wgetrc: config/.wgetrc
# Bash utils
${XDG_CONFIG_HOME}/utils: utils
${XDG_CONFIG_HOME}/git/.gitconfig: configs/.gitconfig
${XDG_CONFIG_HOME}/.gitignore_global: configs/.gitignore_global
$XDG_CONFIG_HOME/yabai/yabairc:
# MacOS-Only
${XDG_CONFIG_HOME}/yabai/yabairc:
if: '[ `uname` = Darwin ]'
path: system-specific/macos/app-configs/yabairc
$XDG_CONFIG_HOME/skhd/skhdrc:
path: config/macos/yabairc
${XDG_CONFIG_HOME}/skhd/skhdrc:
if: '[ `uname` = Darwin ]'
path: system-specific/macos/app-configs/skhdrc
path: config/macos/skhdrc
~/.Brewfile:
if: '[ `uname` = Darwin ]'
path: installs/Brewfile
path: scripts/installs/Brewfile
~/.finicky.js:
if: '[ `uname` = Darwin ]'
path: system-specific/macos/app-configs/.finicky.js
path: config/macos/.finicky.js
# If not already present, create home directories
- create:
- ~/Downloads
- ~/Documents