mirror of
https://github.com/Lissy93/dotfiles.git
synced 2025-02-10 12:39:12 +01:00
Resolves conflicts in dconf script
This commit is contained in:
commit
c6025d0304
58
.github/README.md
vendored
58
.github/README.md
vendored
@ -1,8 +1,11 @@
|
||||
<h1 align="center"><code>~/.Dotfiles</code></h1>
|
||||
<h2 align="center"><code>$HOME, sweet $HOME</code></h2>
|
||||
<p align="center"><i>My dotfiles for configuring Vim, ZSH, Tmux, Git, etc</i></p>
|
||||
<p align="center"><img width="400" src="https://i.ibb.co/rH30RbM/Dotfiles.png" /></p>
|
||||
|
||||
<p align="center"><i>My dotfiles for configuring literally everything (automatically!)</i></p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/lissy93/dotfiles" title="Automate all the things!">
|
||||
<img width="140" src="https://github.com/Lissy93/dotfiles/raw/master/.github/logo.png" />
|
||||
</a>
|
||||
</p>
|
||||
<h3 align="center"><code>$HOME, sweet $HOME</code></h3>
|
||||
|
||||
## Contents
|
||||
- [Introduction to Dotfiles](#intro)
|
||||
@ -17,6 +20,7 @@
|
||||
- [Directory Structure](#directory-structure)
|
||||
- [Install Script](#install-script)
|
||||
- [Configuring](#configuring)
|
||||
- [Colors](#color-theme)
|
||||
- [Aliases](#aliases)
|
||||
- [Packages](#packages)
|
||||
- [System Preferences](#system-preferences)
|
||||
@ -45,7 +49,7 @@ It's not hard to create your own dotfile repo, it's great fun and you'll learn a
|
||||
|
||||
### XDG Directories
|
||||
|
||||
The location of most config files can be defined using the [XDG base directory specification](https://specifications.freedesktop.org/basedir-spec), which is honored by most apps. This lets you specify where config, log, cache and data files are stored, keeping your top-level home directory free from clutter. You can do this by setting environmental variables, usually within the [`.zshenv`](https://github.com/Lissy93/dotfiles/blob/master/zsh/.zshenv) file.
|
||||
The location of most config files can be defined using the [XDG base directory specification](https://specifications.freedesktop.org/basedir-spec), which is honored by most apps. This lets you specify where config, log, cache and data files are stored, keeping your top-level home directory free from clutter. You can do this by setting environmental variables, usually within the [`.zshenv`](https://github.com/Lissy93/dotfiles/blob/master/config/zsh.zshenv) file.
|
||||
|
||||
Variable | Location
|
||||
--- | ---
|
||||
@ -148,6 +152,8 @@ There's even more to check out at [webpro/awesome-dotfiles](https://github.com/w
|
||||
|
||||
## My Dotfiles
|
||||
|
||||
<p align="center"><img width="380" src="https://i.ibb.co/rH30RbM/Dotfiles.png" /></p>
|
||||
|
||||
### Setup
|
||||
|
||||
> **Warning**
|
||||
@ -189,16 +195,20 @@ Once the repo is cloned, you can modify whatever files you like before running t
|
||||
<pre>
|
||||
~
|
||||
└──.
|
||||
├── <a href="https://github.com/Lissy93/dotfiles/tree/master/bash">bash/</a> # Bash (shell) config
|
||||
├── <a href="https://github.com/Lissy93/dotfiles/tree/master/tmux">tmux/</a> # Tmux (multiplexer) config
|
||||
├── <a href="https://github.com/Lissy93/dotfiles/tree/master/vim">vim/</a> # Vim (text editor) config
|
||||
├── <a href="https://github.com/Lissy93/dotfiles/tree/master/zsh">zsh/</a> # ZSH (shell) config
|
||||
├── <a href="https://github.com/Lissy93/dotfiles/tree/master/config">config/</a> # All other config files
|
||||
├── <a href="https://github.com/Lissy93/dotfiles/tree/master/config">config/</a> # All configuration files
|
||||
│ ├── <a href="https://github.com/Lissy93/dotfiles/tree/master/bash">bash/</a> # Bash (shell) config
|
||||
│ ├── <a href="https://github.com/Lissy93/dotfiles/tree/master/tmux">tmux/</a> # Tmux (multiplexer) config
|
||||
│ ├── <a href="https://github.com/Lissy93/dotfiles/tree/master/vim">vim/</a> # Vim (text editor) config
|
||||
│ ├── <a href="https://github.com/Lissy93/dotfiles/tree/master/zsh">zsh/</a> # ZSH (shell) config
|
||||
│ ├── <a href="https://github.com/Lissy93/dotfiles/tree/master/macos">macos/</a> # Config files for Mac-specific apps
|
||||
│ └── <a href="https://github.com/Lissy93/dotfiles/tree/master/desktop-apps">desktop-apps/</a> # Config files for GUI apps
|
||||
├── <a href="https://github.com/Lissy93/dotfiles/tree/master/scripts">scripts/</a> # Bash scripts for automating tasks
|
||||
│ ├── <a href="https://github.com/Lissy93/dotfiles/tree/master/scripts/installs">installs/</a> # Scripts for software installation
|
||||
│ │ ├── <a href="https://github.com/Lissy93/dotfiles/blob/master/scripts/installs/Brewfile">Brewfile</a> # Package installs for MacOS via Homebrew
|
||||
│ │ ├── <a href="https://github.com/Lissy93/dotfiles/blob/master/scripts/installs/arch-pacman.sh">arch-pacman.sh</a> # Package installs for Arch via Pacman
|
||||
│ │ └── <a href="https://github.com/Lissy93/dotfiles/blob/master/scripts/installs/flatpak.sh">flatpak.sh</a> # Package installs for Linux desktops via Flatpak
|
||||
│ ├── <a href="https://github.com/Lissy93/dotfiles/tree/master/scripts/linux">linux/</a> # Automated configuration for Linux
|
||||
│ │ └── <a href="https://github.com/Lissy93/dotfiles/blob/master/scripts/linux/dconf-prefs.sh">dconf-prefs.sh</a> # Setting GNOME settings via dconf util
|
||||
│ └── <a href="https://github.com/Lissy93/dotfiles/tree/master/scripts/macos-setup">macos-setup/</a> # Scripts for setting up Mac OS machines
|
||||
│ ├── <a href="https://github.com/Lissy93/dotfiles/blob/master/scripts/macos-setup/macos-apps.sh">macos-apps.sh</a> # Sets app preferences
|
||||
│ ├── <a href="https://github.com/Lissy93/dotfiles/blob/master/scripts/macos-setup/macos-preferences.sh">macos-prefs.sh</a> # Sets MacOS system preferences
|
||||
@ -221,7 +231,7 @@ The setup script ([`install.sh`](https://github.com/Lissy93/dotfiles/blob/master
|
||||
- **Setup**
|
||||
- Print welcome message, and a summary of proposed changes, and prompt user to continue
|
||||
- Ensure that core dependencies are met (git, zsh, vim)
|
||||
- Set variables by reading any passed parameters, or fallback to sensible defaults (see [`.zshenv`](https://github.com/Lissy93/dotfiles/blob/master/zsh/.zshenv))
|
||||
- Set variables by reading any passed parameters, or fallback to sensible defaults (see [`.zshenv`](https://github.com/Lissy93/dotfiles/blob/master/config/zsh/.zshenv))
|
||||
- **Dotfiles**
|
||||
- If dotfiles not yet present, will clone from git, otherwise pulls latest changes
|
||||
- Setup / update symlinks each file to it's correct location on disk
|
||||
@ -259,7 +269,11 @@ The install script can accept several flags and environmental variables to confi
|
||||
|
||||
### Configuring
|
||||
|
||||
The locations for all symlinks are defined in [`symlinks.yaml`](https://github.com/Lissy93/dotfiles/blob/master/symlinks.yaml). These are managed using [Dotbot](https://github.com/anishathalye/dotbot), and will be applied whenever you run the [`install.sh`](https://github.com/Lissy93/dotfiles/blob/master/install.sh) script. The symlinks set locations based on XDG paths, all of which are defined in [`.zshenv`](https://github.com/Lissy93/dotfiles/blob/master/zsh/.zshenv).
|
||||
The locations for all symlinks are defined in [`symlinks.yaml`](https://github.com/Lissy93/dotfiles/blob/master/symlinks.yaml). These are managed using [Dotbot](https://github.com/anishathalye/dotbot), and will be applied whenever you run the [`install.sh`](https://github.com/Lissy93/dotfiles/blob/master/install.sh) script. The symlinks set locations based on XDG paths, all of which are defined in [`.zshenv`](https://github.com/Lissy93/dotfiles/blob/master/config/zsh/.zshenv).
|
||||
|
||||
---
|
||||
|
||||
## Color Theme
|
||||
|
||||
---
|
||||
|
||||
@ -282,7 +296,7 @@ You can view a list of defined aliases by running `alias`, or search for a speci
|
||||
|
||||
#### My Aliases
|
||||
|
||||
All aliases in my dotfiles are categorised into files located in [`zsh/aliases/`](https://github.com/Lissy93/dotfiles/blob/master/zsh/aliases/) which are imported in [`zsh/.zshrc`](https://github.com/Lissy93/dotfiles/blob/master/zsh/.zshrc#L9-L14).
|
||||
All aliases in my dotfiles are categorised into files located in [`zsh/aliases/`](https://github.com/Lissy93/dotfiles/blob/master/config/zsh/aliases/) which are imported in [`zsh/.zshrc`](https://github.com/Lissy93/dotfiles/blob/master/config/zsh/.zshrc#L9-L14).
|
||||
|
||||
The following section lists all (or most) the aliases by category:
|
||||
|
||||
@ -290,7 +304,7 @@ The following section lists all (or most) the aliases by category:
|
||||
|
||||
<summary><b>Git Aliases</b></summary>
|
||||
|
||||
> [`zsh/aliases/git.zsh`](https://github.com/Lissy93/dotfiles/blob/master/zsh/aliases/git.zsh)
|
||||
> [`zsh/aliases/git.zsh`](https://github.com/Lissy93/dotfiles/blob/master/config/zsh/aliases/git.zsh)
|
||||
|
||||
Alias | Description
|
||||
---|---
|
||||
@ -351,7 +365,7 @@ Alias | Description
|
||||
|
||||
<summary><b>Flutter Aliases</b></summary>
|
||||
|
||||
> [`zsh/aliases/flutter.zsh`](https://github.com/Lissy93/dotfiles/blob/master/zsh/aliases/flutter.zsh)
|
||||
> [`zsh/aliases/flutter.zsh`](https://github.com/Lissy93/dotfiles/blob/master/config/zsh/aliases/flutter.zsh)
|
||||
|
||||
Alias | Description
|
||||
---|---
|
||||
@ -377,7 +391,7 @@ Alias | Description
|
||||
|
||||
<summary><b>Node.js Aliases</b></summary>
|
||||
|
||||
> [`zsh/aliases/node-js.zsh`](https://github.com/Lissy93/dotfiles/blob/master/zsh/aliases/node-js.zsh)
|
||||
> [`zsh/aliases/node-js.zsh`](https://github.com/Lissy93/dotfiles/blob/master/config/zsh/aliases/node-js.zsh)
|
||||
|
||||
|
||||
##### Yarn
|
||||
@ -441,7 +455,7 @@ Alias | Description
|
||||
|
||||
<summary><b>General Aliases</b></summary>
|
||||
|
||||
> [`zsh/aliases/general.zsh`](https://github.com/Lissy93/dotfiles/blob/master/zsh/aliases/general.zsh)
|
||||
> [`zsh/aliases/general.zsh`](https://github.com/Lissy93/dotfiles/blob/master/config/zsh/aliases/general.zsh)
|
||||
|
||||
|
||||
##### Single-Letter Frequently-Used Commands (only set if not already in use)
|
||||
@ -881,11 +895,11 @@ If you choose to run any of these scripts, take care to read it through first, t
|
||||
|
||||
### Vim
|
||||
|
||||
The entry point for the Vim config is the [`vimrc`](https://github.com/Lissy93/dotfiles/blob/master/vim/vimrc), but the main editor settings are defined in [`vim/editor.vim`](https://github.com/Lissy93/dotfiles/blob/master/vim/editor.vim)
|
||||
The entry point for the Vim config is the [`vimrc`](https://github.com/Lissy93/dotfiles/blob/master/config/vim/vimrc), but the main editor settings are defined in [`vim/editor.vim`](https://github.com/Lissy93/dotfiles/blob/master/config/vim/editor.vim)
|
||||
|
||||
#### Vim Plugins
|
||||
|
||||
Vim plugins are managed using [Plug](https://github.com/junegunn/vim-plug) defined in [`vim/plugins.vim`](https://github.com/Lissy93/dotfiles/blob/master/vim/setup-vim-plug.vim).
|
||||
Vim plugins are managed using [Plug](https://github.com/junegunn/vim-plug) defined in [`vim/plugins.vim`](https://github.com/Lissy93/dotfiles/blob/master/config/vim/setup-vim-plug.vim).
|
||||
To install them from GitHub, run `:PlugInstall` (see [options](https://github.com/junegunn/vim-plug#commands)) from within Vim. They will also be installed or updated when you run the main dotfiles setup script ([`install.sh`](https://github.com/Lissy93/dotfiles/blob/d4b8426629e7fbbd6d17d0b87f0bb863d6618bfd/install.sh#L132-L134)).
|
||||
|
||||
The following plugins are being used:
|
||||
@ -971,9 +985,9 @@ The following plugins are being used:
|
||||
### Tmux
|
||||
|
||||
|
||||
Fairly standard Tmux configuration, strongly based off Tmux-sensible. Configuration is defined in [`.tmux.conf`](https://github.com/Lissy93/dotfiles/blob/master/tmux/tmux.conf)
|
||||
Fairly standard Tmux configuration, strongly based off Tmux-sensible. Configuration is defined in [`.tmux.conf`](https://github.com/Lissy93/dotfiles/blob/master/config/tmux/tmux.conf)
|
||||
|
||||
Tmux plugins are managed using [TMP](https://github.com/tmux-plugins/tpm) and defined in [`.tmux.conf`](https://github.com/Lissy93/dotfiles/blob/master/tmux/tmux.conf). To install them from GitHub, run `prefix` + <kbd>I</kbd> from within Tmux, and they will be cloned int `~/.tmux/plugins/`.
|
||||
Tmux plugins are managed using [TMP](https://github.com/tmux-plugins/tpm) and defined in [`.tmux.conf`](https://github.com/Lissy93/dotfiles/blob/master/config/tmux/tmux.conf). To install them from GitHub, run `prefix` + <kbd>I</kbd> from within Tmux, and they will be cloned int `~/.tmux/plugins/`.
|
||||
|
||||
##### Plugins
|
||||
|
||||
@ -992,7 +1006,7 @@ Tmux plugins are managed using [TMP](https://github.com/tmux-plugins/tpm) and de
|
||||
|
||||
// TODO
|
||||
|
||||
Git aliases for ZSH are located in [`/zsh/aliases/git.zsh`](https://github.com/Lissy93/dotfiles/blob/master/zsh/aliases/git.zsh), and are documented under the [Aliases](https://github.com/lissy93/dotfiles#my-aliases) section, above.
|
||||
Git aliases for ZSH are located in [`/zsh/aliases/git.zsh`](https://github.com/Lissy93/dotfiles/blob/master/config/zsh/aliases/git.zsh), and are documented under the [Aliases](https://github.com/lissy93/dotfiles#my-aliases) section, above.
|
||||
|
||||
---
|
||||
|
||||
|
BIN
.github/logo.png
vendored
Normal file
BIN
.github/logo.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 50 KiB |
6
.gitignore
vendored
6
.gitignore
vendored
@ -4,9 +4,9 @@ tmp/*
|
||||
dotbot/*
|
||||
|
||||
# Auto-generated files
|
||||
zsh/.zcompcache/*
|
||||
zsh/*/*.zwc
|
||||
zsh/.zsh_sessions/*
|
||||
config/zsh/.zcompcache/*
|
||||
config/zsh/*/*.zwc
|
||||
config/zsh/.zsh_sessions/*
|
||||
installs/.Brewfile.lock.json
|
||||
|
||||
# Linux
|
||||
|
10
Dockerfile
10
Dockerfile
@ -50,18 +50,18 @@ RUN \
|
||||
|
||||
COPY ./ /home/${user}/.userspace/
|
||||
|
||||
ENV DOTFILES_DIR="/home/${user}/.dotfiles"
|
||||
|
||||
RUN \
|
||||
git clone --recursive https://${vcsprovider}/${vcsowner}/${dotfiles} /home/${user}/.dotfiles && \
|
||||
git clone --recursive https://${vcsprovider}/${vcsowner}/${dotfiles} ${DOTFILES_DIR} && \
|
||||
chown -R ${user}:${group} /home/${user}/.dotfiles && \
|
||||
chown -R ${user}:${group} /home/${user}/.userspace
|
||||
|
||||
ENV DOTFILES_DIR="$HOME/.dotfiles"
|
||||
|
||||
RUN chmod u+x /home/${user}/.dotfiles/install.sh
|
||||
RUN chmod u+x "${DOTFILES_DIR}/install.sh"
|
||||
|
||||
USER ${user}
|
||||
|
||||
RUN cd $HOME/.dotfiles && ./install.sh --auto-yes
|
||||
RUN cd $DOTFILES_DIR && $DOTFILES_DIR/install.sh --auto-yes
|
||||
|
||||
ENV HISTFILE=/home/${user}/.cache/.zsh_history
|
||||
|
||||
|
@ -3,15 +3,25 @@ Lissy93/Dotfiles - Config ⚙️
|
||||
|
||||
List of configuration files for various apps, utils and systems.
|
||||
|
||||
└── config/
|
||||
├── tmux/ # Tmux (multiplexer) config
|
||||
├── vim/ # Vim (text editor) config
|
||||
├── zsh/ # ZSH (shell) config
|
||||
├── macos/ # Config files for Mac-specific apps
|
||||
└── desktop-apps/ # Config files for GUI apps
|
||||
|
||||
|
||||
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
|
||||
are stored in the root of the config directory, whereas groups of config files, for like
|
||||
ZSH, Vim, Tmux etc are organized into directories.
|
||||
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, gnome, etc).
|
||||
|
||||
The location on disk that files should be symlinked to is specified in symlinks.yml
|
||||
Run the install.sh script to apply settings based on system type and user preferences
|
||||
|
||||
Important: Take care to read through files thouroughly before applying any changes.
|
||||
Important: Take care to read through files thoroughly before applying any changes.
|
||||
|
||||
For full documentation, see: https://github.com/Lissy93/dotfiles
|
||||
Full source and documentation: https://github.com/Lissy93/dotfiles
|
||||
Licensed under MIT (C) Alicia Sykes 2022 <https://aliciasykes.com>
|
||||
|
9
config/config.fish
Normal file
9
config/config.fish
Normal file
@ -0,0 +1,9 @@
|
||||
|
||||
if status is-interactive
|
||||
# Commands to run in interactive sessions can go here
|
||||
end
|
||||
|
||||
# If starship is installed, initialize it
|
||||
if type -q starship
|
||||
starship init fish | source
|
||||
end
|
201
config/macos/alicia-term.terminal
Normal file
201
config/macos/alicia-term.terminal
Normal file
@ -0,0 +1,201 @@
|
||||
<dict>
|
||||
<key>columnCount</key>
|
||||
<integer>90</integer>
|
||||
<key>name</key>
|
||||
<string>Alicia-Term</string>
|
||||
<key>rowCount</key>
|
||||
<integer>50</integer>
|
||||
<key>type</key>
|
||||
<string>Window Settings</string>
|
||||
<key>ANSIBlackColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPEDsw
|
||||
LjEyOTQxMTc3MTg5MzUwMTI4IDAuMTMzMzMzMzQwMjg3MjA4NTYgMC4xNzI1NDkwMjQy
|
||||
MjQyODEzABACgALSEBESE1okY2xhc3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiEhRYTlNP
|
||||
YmplY3RfEA9OU0tleWVkQXJjaGl2ZXLRFxhUcm9vdIABCBEaIy0yNztBSE5bYqCipKm0
|
||||
vcXI0ePm6wAAAAAAAAEBAAAAAAAAABkAAAAAAAAAAAAAAAAAAADt
|
||||
</data>
|
||||
<key>ANSIBlueColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECow
|
||||
LjUwOTgwMzk1MDc4NjU5MDYgMC42NjY2NjY2ODY1MzQ4ODE2IDEuMAAQAoAC0hAREhNa
|
||||
JGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFy
|
||||
Y2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KPkZOYo6y0t8DS1doAAAAAAAABAQAA
|
||||
AAAAAAAZAAAAAAAAAAAAAAAAAAAA3A==
|
||||
</data>
|
||||
<key>ANSIBrightBlackColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPEDkw
|
||||
LjMyOTQxMTc3NDg3MzczMzUgMC4zMjk0MTE3NzQ4NzM3MzM1IDAuMzI5NDExNzc0ODcz
|
||||
NzMzNQAQAoAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2Jq
|
||||
ZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KeoKKnsrvD
|
||||
xs/h5OkAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA6w==
|
||||
</data>
|
||||
<key>ANSIBrightBlueColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECow
|
||||
LjgzOTIxNTY5NTg1ODAwMTcgMC42NzQ1MDk4MjMzMjIyOTYxIDEuMAAQAoAC0hAREhNa
|
||||
JGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFy
|
||||
Y2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KPkZOYo6y0t8DS1doAAAAAAAABAQAA
|
||||
AAAAAAAZAAAAAAAAAAAAAAAAAAAA3A==
|
||||
</data>
|
||||
<key>ANSIBrightCyanColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPEBsw
|
||||
LjY0MzEzNzI3NjE3MjYzNzkgMS4wIDEuMAAQAoAC0hAREhNaJGNsYXNzbmFtZVgkY2xh
|
||||
c3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SA
|
||||
AQgRGiMtMjc7QUhOW2KAgoSJlJ2lqLHDxssAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAA
|
||||
AAAAAAAAzQ==
|
||||
</data>
|
||||
<key>ANSIBrightGreenColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECow
|
||||
LjQxMTc2NDcxMTE0MTU4NjMgMS4wIDAuNTgwMzkyMTgxODczMzIxNQAQAoAC0hAREhNa
|
||||
JGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFy
|
||||
Y2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KPkZOYo6y0t8DS1doAAAAAAAABAQAA
|
||||
AAAAAAAZAAAAAAAAAAAAAAAAAAAA3A==
|
||||
</data>
|
||||
<key>ANSIBrightMagentaColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECkx
|
||||
LjAgMC41NzI1NDkwNDUwODU5MDcgMC44NzQ1MDk4MTE0MDEzNjcyABACgALSEBESE1ok
|
||||
Y2xhc3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiEhRYTlNPYmplY3RfEA9OU0tleWVkQXJj
|
||||
aGl2ZXLRFxhUcm9vdIABCBEaIy0yNztBSE5bYo6Qkpeiq7O2v9HU2QAAAAAAAAEBAAAA
|
||||
AAAAABkAAAAAAAAAAAAAAAAAAADb
|
||||
</data>
|
||||
<key>ANSIBrightRedColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECox
|
||||
LjAgMC40MzEzNzI1NTMxMTAxMjI3IDAuNDMxMzcyNTUzMTEwMTIyNwAQAoAC0hAREhNa
|
||||
JGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFy
|
||||
Y2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KPkZOYo6y0t8DS1doAAAAAAAABAQAA
|
||||
AAAAAAAZAAAAAAAAAAAAAAAAAAAA3A==
|
||||
</data>
|
||||
<key>ANSIBrightWhiteColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPEDkw
|
||||
Ljk3MjU0OTAyMTI0NDA0OTEgMC45NzI1NDkwMjEyNDQwNDkxIDAuOTQ5MDE5NjEwODgx
|
||||
ODA1NAAQAoAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2Jq
|
||||
ZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KeoKKnsrvD
|
||||
xs/h5OkAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA6w==
|
||||
</data>
|
||||
<key>ANSIBrightYellowColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECsx
|
||||
LjAgMC43OTYwNzg0NDM1MjcyMjE3IDAuNDE5NjA3ODQ3OTI5MDAwODUAEAKAAtIQERIT
|
||||
WiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xvcqISFFhOU09iamVjdF8QD05TS2V5ZWRB
|
||||
cmNoaXZlctEXGFRyb290gAEIERojLTI3O0FITltikJKUmaSttbjB09bbAAAAAAAAAQEA
|
||||
AAAAAAAAGQAAAAAAAAAAAAAAAAAAAN0=
|
||||
</data>
|
||||
<key>ANSICyanColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPEDgw
|
||||
LjU0NTA5ODA2NjMyOTk1NiAwLjkxMzcyNTQ5NTMzODQzOTkgMC45OTIxNTY4NjMyMTI1
|
||||
ODU0ABACgALSEBESE1okY2xhc3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiEhRYTlNPYmpl
|
||||
Y3RfEA9OU0tleWVkQXJjaGl2ZXLRFxhUcm9vdIABCBEaIy0yNztBSE5bYp2foaaxusLF
|
||||
zuDj6AAAAAAAAAEBAAAAAAAAABkAAAAAAAAAAAAAAAAAAADq
|
||||
</data>
|
||||
<key>ANSIGreenColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPEDow
|
||||
LjMxMzcyNTUwMTI5ODkwNDQgMC45ODAzOTIxNTgwMzE0NjM2IDAuNDgyMzUyOTQyMjI4
|
||||
MzE3MjYAEAKAAtIQERITWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xvcqISFFhOU09i
|
||||
amVjdF8QD05TS2V5ZWRBcmNoaXZlctEXGFRyb290gAEIERojLTI3O0FITltin6GjqLO8
|
||||
xMfQ4uXqAAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAAAAAAAAAAAOw=
|
||||
</data>
|
||||
<key>ANSIMagentaColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPEDgw
|
||||
Ljc4MDM5MjE2OTk1MjM5MjYgMC41NzI1NDkwNDUwODU5MDcgMC45MTc2NDcwNjM3MzIx
|
||||
NDcyABACgALSEBESE1okY2xhc3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiEhRYTlNPYmpl
|
||||
Y3RfEA9OU0tleWVkQXJjaGl2ZXLRFxhUcm9vdIABCBEaIy0yNztBSE5bYp2foaaxusLF
|
||||
zuDj6AAAAAAAAAEBAAAAAAAAABkAAAAAAAAAAAAAAAAAAADq
|
||||
</data>
|
||||
<key>ANSIRedColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECox
|
||||
LjAgMC4zMzMzMzMzNDMyNjc0NDA4IDAuMzMzMzMzMzQzMjY3NDQwOAAQAoAC0hAREhNa
|
||||
JGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFy
|
||||
Y2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KPkZOYo6y0t8DS1doAAAAAAAABAQAA
|
||||
AAAAAAAZAAAAAAAAAAAAAAAAAAAA3A==
|
||||
</data>
|
||||
<key>ANSIWhiteColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPEDkw
|
||||
Ljk3MjU0OTAyMTI0NDA0OTEgMC45NzI1NDkwMjEyNDQwNDkxIDAuOTQ5MDE5NjEwODgx
|
||||
ODA1NAAQAoAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2Jq
|
||||
ZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KeoKKnsrvD
|
||||
xs/h5OkAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA6w==
|
||||
</data>
|
||||
<key>ANSIYellowColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECsx
|
||||
LjAgMC43OTYwNzg0NDM1MjcyMjE3IDAuNDE5NjA3ODQ3OTI5MDAwODUAEAKAAtIQERIT
|
||||
WiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xvcqISFFhOU09iamVjdF8QD05TS2V5ZWRB
|
||||
cmNoaXZlctEXGFRyb290gAEIERojLTI3O0FITltikJKUmaSttbjB09bbAAAAAAAAAQEA
|
||||
AAAAAAAAGQAAAAAAAAAAAAAAAAAAAN0=
|
||||
</data>
|
||||
<key>BackgroundColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPEDww
|
||||
LjEyOTQxMTc3MTg5MzUwMTI4IDAuMTI5NDExNzcxODkzNTAxMjggMC4xMjk0MTE3NzE4
|
||||
OTM1MDEyOAAQAoAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5T
|
||||
T2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2Kho6Wq
|
||||
tb7GydLk5+wAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA7g==
|
||||
</data>
|
||||
<key>CursorColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPEDcw
|
||||
LjkyNTQ5MDIwMDUxOTU2MTggMC45MzcyNTQ5MDU3MDA2ODM2IDAuOTU2ODYyNzQ3NjY5
|
||||
MjIAEAKAAtIQERITWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xvcqISFFhOU09iamVj
|
||||
dF8QD05TS2V5ZWRBcmNoaXZlctEXGFRyb290gAEIERojLTI3O0FITltinJ6gpbC5wcTN
|
||||
3+LnAAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAAAAAAAAAAAOk=
|
||||
</data>
|
||||
<key>ProfileCurrentVersion</key>
|
||||
<real>2.04</real>
|
||||
<key>SelectionColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPEDkw
|
||||
Ljk3MjU0OTAyMTI0NDA0OTEgMC45NzI1NDkwMjEyNDQwNDkxIDAuOTQ5MDE5NjEwODgx
|
||||
ODA1NAAQAoAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2Jq
|
||||
ZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KeoKKnsrvD
|
||||
xs/h5OkAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA6w==
|
||||
</data>
|
||||
<key>TextBoldColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPEBgw
|
||||
Ljk5OTk5NjAwNjQ4ODggMS4wIDEuMAAQAoAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nl
|
||||
c1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgR
|
||||
GiMtMjc7QUhOW2J9f4GGkZqipa7Aw8gAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAA
|
||||
AAAAyg==
|
||||
</data>
|
||||
<key>TextColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPEDkw
|
||||
Ljk3MjU0OTAyMTI0NDA0OTEgMC45NzI1NDkwMjEyNDQwNDkxIDAuOTQ5MDE5NjEwODgx
|
||||
ODA1NAAQAoAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2Jq
|
||||
ZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KeoKKnsrvD
|
||||
xs/h5OkAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA6w==
|
||||
</data>
|
||||
</dict>
|
404
config/macos/iterm-profile.json
Normal file
404
config/macos/iterm-profile.json
Normal file
@ -0,0 +1,404 @@
|
||||
{
|
||||
"Use Non-ASCII Font" : false,
|
||||
"Tags" : [
|
||||
|
||||
],
|
||||
"Ansi 12 Color" : {
|
||||
"Red Component" : 0.68235294117647061,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.99215686274509807,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.9137254901960784
|
||||
},
|
||||
"Ansi 6 Color" : {
|
||||
"Red Component" : 0,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.70588235294117652,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.80000000000000004
|
||||
},
|
||||
"Draw Powerline Glyphs" : true,
|
||||
"Bold Color" : {
|
||||
"Red Component" : 0,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.70588235294117652,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.80000000000000004
|
||||
},
|
||||
"Normal Font" : "MesloLGS-NF-Regular 13",
|
||||
"Ansi 0 Color" : {
|
||||
"Red Component" : 0.27196189528331161,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.612884521484375,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.35063636161167977
|
||||
},
|
||||
"Guid" : "264074D8-9D6F-4EDA-9077-4694920535DB",
|
||||
"Rows" : 25,
|
||||
"Default Bookmark" : "No",
|
||||
"Ansi 2 Color" : {
|
||||
"Red Component" : 0.011764705882352941,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.59607843137254901,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.97254901960784312
|
||||
},
|
||||
"Cursor Guide Color" : {
|
||||
"Red Component" : 0.70213186740875244,
|
||||
"Color Space" : "sRGB",
|
||||
"Alpha Component" : 0.25,
|
||||
"Blue Component" : 1,
|
||||
"Green Component" : 0.9268307089805603
|
||||
},
|
||||
"Non-ASCII Anti Aliased" : true,
|
||||
"Use Bright Bold" : true,
|
||||
"Ansi 10 Color" : {
|
||||
"Red Component" : 0.59999999999999998,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.83921568627450982,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.99607843137254903
|
||||
},
|
||||
"Ambiguous Double Width" : false,
|
||||
"Jobs to Ignore" : [
|
||||
"rlogin",
|
||||
"ssh",
|
||||
"slogin",
|
||||
"telnet"
|
||||
],
|
||||
"Ansi 15 Color" : {
|
||||
"Red Component" : 1,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 1,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 1
|
||||
},
|
||||
"Foreground Color" : {
|
||||
"Red Component" : 0.79607844352722168,
|
||||
"Color Space" : "sRGB",
|
||||
"Alpha Component" : 1,
|
||||
"Blue Component" : 0.90588235855102539,
|
||||
"Green Component" : 0.88100153207778931
|
||||
},
|
||||
"Working Directory" : "\/Users\/alicia",
|
||||
"Blinking Cursor" : false,
|
||||
"Disable Window Resizing" : true,
|
||||
"Sync Title" : false,
|
||||
"Prompt Before Closing 2" : false,
|
||||
"BM Growl" : true,
|
||||
"Command" : "",
|
||||
"Description" : "Default",
|
||||
"Mouse Reporting" : true,
|
||||
"Screen" : -1,
|
||||
"Selection Color" : {
|
||||
"Red Component" : 0,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.70588235294117652,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.80000000000000004
|
||||
},
|
||||
"Only The Default BG Color Uses Transparency" : true,
|
||||
"Columns" : 80,
|
||||
"Idle Code" : 0,
|
||||
"Ansi 13 Color" : {
|
||||
"Red Component" : 0.82745098039215681,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 1,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.7686274509803922
|
||||
},
|
||||
"Custom Command" : "No",
|
||||
"ASCII Anti Aliased" : true,
|
||||
"Non Ascii Font" : "Monaco 12",
|
||||
"Vertical Spacing" : 1,
|
||||
"Use Bold Font" : true,
|
||||
"Option Key Sends" : 0,
|
||||
"Selected Text Color" : {
|
||||
"Red Component" : 0.078431372549019607,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.20000000000000001,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.10588235294117647
|
||||
},
|
||||
"Background Color" : {
|
||||
"Red Component" : 0.043137254901960784,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.12941176470588237,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.062745098039215685
|
||||
},
|
||||
"Character Encoding" : 4,
|
||||
"Ansi 11 Color" : {
|
||||
"Red Component" : 0.96862745098039216,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.63137254901960782,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.96078431372549022
|
||||
},
|
||||
"Use Italic Font" : true,
|
||||
"Unlimited Scrollback" : false,
|
||||
"Keyboard Map" : {
|
||||
"0xf700-0x260000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[1;6A"
|
||||
},
|
||||
"0x37-0x40000" : {
|
||||
"Action" : 11,
|
||||
"Text" : "0x1f"
|
||||
},
|
||||
"0x32-0x40000" : {
|
||||
"Action" : 11,
|
||||
"Text" : "0x00"
|
||||
},
|
||||
"0xf709-0x20000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[17;2~"
|
||||
},
|
||||
"0xf70c-0x20000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[20;2~"
|
||||
},
|
||||
"0xf729-0x20000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[1;2H"
|
||||
},
|
||||
"0xf72b-0x40000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[1;5F"
|
||||
},
|
||||
"0xf705-0x20000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[1;2Q"
|
||||
},
|
||||
"0xf703-0x260000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[1;6C"
|
||||
},
|
||||
"0xf700-0x220000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[1;2A"
|
||||
},
|
||||
"0xf701-0x280000" : {
|
||||
"Action" : 11,
|
||||
"Text" : "0x1b 0x1b 0x5b 0x42"
|
||||
},
|
||||
"0x38-0x40000" : {
|
||||
"Action" : 11,
|
||||
"Text" : "0x7f"
|
||||
},
|
||||
"0x33-0x40000" : {
|
||||
"Action" : 11,
|
||||
"Text" : "0x1b"
|
||||
},
|
||||
"0xf703-0x220000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[1;2C"
|
||||
},
|
||||
"0xf701-0x240000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[1;5B"
|
||||
},
|
||||
"0xf70d-0x20000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[21;2~"
|
||||
},
|
||||
"0xf702-0x260000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[1;6D"
|
||||
},
|
||||
"0xf729-0x40000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[1;5H"
|
||||
},
|
||||
"0xf706-0x20000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[1;2R"
|
||||
},
|
||||
"0x34-0x40000" : {
|
||||
"Action" : 11,
|
||||
"Text" : "0x1c"
|
||||
},
|
||||
"0xf700-0x280000" : {
|
||||
"Action" : 11,
|
||||
"Text" : "0x1b 0x1b 0x5b 0x41"
|
||||
},
|
||||
"0x2d-0x40000" : {
|
||||
"Action" : 11,
|
||||
"Text" : "0x1f"
|
||||
},
|
||||
"0xf70e-0x20000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[23;2~"
|
||||
},
|
||||
"0xf702-0x220000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[1;2D"
|
||||
},
|
||||
"0xf703-0x280000" : {
|
||||
"Action" : 11,
|
||||
"Text" : "0x1b 0x1b 0x5b 0x43"
|
||||
},
|
||||
"0xf700-0x240000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[1;5A"
|
||||
},
|
||||
"0xf707-0x20000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[1;2S"
|
||||
},
|
||||
"0xf70a-0x20000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[18;2~"
|
||||
},
|
||||
"0x35-0x40000" : {
|
||||
"Action" : 11,
|
||||
"Text" : "0x1d"
|
||||
},
|
||||
"0xf70f-0x20000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[24;2~"
|
||||
},
|
||||
"0xf703-0x240000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[1;5C"
|
||||
},
|
||||
"0xf701-0x260000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[1;6B"
|
||||
},
|
||||
"0xf702-0x280000" : {
|
||||
"Action" : 11,
|
||||
"Text" : "0x1b 0x1b 0x5b 0x44"
|
||||
},
|
||||
"0xf72b-0x20000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[1;2F"
|
||||
},
|
||||
"0x36-0x40000" : {
|
||||
"Action" : 11,
|
||||
"Text" : "0x1e"
|
||||
},
|
||||
"0xf708-0x20000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[15;2~"
|
||||
},
|
||||
"0xf701-0x220000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[1;2B"
|
||||
},
|
||||
"0xf70b-0x20000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[19;2~"
|
||||
},
|
||||
"0xf702-0x240000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[1;5D"
|
||||
},
|
||||
"0xf704-0x20000" : {
|
||||
"Action" : 10,
|
||||
"Text" : "[1;2P"
|
||||
}
|
||||
},
|
||||
"Window Type" : 0,
|
||||
"Blur Radius" : 14.887632978723405,
|
||||
"Background Image Location" : "",
|
||||
"Blur" : true,
|
||||
"Badge Color" : {
|
||||
"Red Component" : 1,
|
||||
"Color Space" : "sRGB",
|
||||
"Alpha Component" : 0.5,
|
||||
"Blue Component" : 0,
|
||||
"Green Component" : 0.1491314172744751
|
||||
},
|
||||
"Scrollback Lines" : 20000,
|
||||
"Send Code When Idle" : false,
|
||||
"Close Sessions On End" : true,
|
||||
"Terminal Type" : "xterm-256color",
|
||||
"Visual Bell" : true,
|
||||
"Flashing Bell" : false,
|
||||
"Silence Bell" : false,
|
||||
"Ansi 14 Color" : {
|
||||
"Red Component" : 0.52156862745098043,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.94509803921568625,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 1
|
||||
},
|
||||
"Name" : "Alicia",
|
||||
"Cursor Text Color" : {
|
||||
"Red Component" : 0,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.70588235294117652,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.80000000000000004
|
||||
},
|
||||
"Minimum Contrast" : 0,
|
||||
"Shortcut" : "A",
|
||||
"Cursor Color" : {
|
||||
"Red Component" : 0.9843137264251709,
|
||||
"Color Space" : "sRGB",
|
||||
"Alpha Component" : 1,
|
||||
"Blue Component" : 0.98823529481887817,
|
||||
"Green Component" : 0.98823529481887817
|
||||
},
|
||||
"Transparency" : 0.055427194148936168,
|
||||
"Ansi 1 Color" : {
|
||||
"Red Component" : 0.97254901960784312,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.38823529411764707,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.011764705882352941
|
||||
},
|
||||
"Custom Directory" : "No",
|
||||
"Link Color" : {
|
||||
"Red Component" : 0,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.70588235294117652,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.80000000000000004
|
||||
},
|
||||
"Horizontal Spacing" : 1,
|
||||
"Right Option Key Sends" : 0,
|
||||
"Ansi 3 Color" : {
|
||||
"Red Component" : 0.92549019607843142,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.082352941176470587,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.90588235294117647
|
||||
},
|
||||
"Ansi 7 Color" : {
|
||||
"Red Component" : 0.873565673828125,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.873565673828125,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.873565673828125
|
||||
},
|
||||
"Ansi 8 Color" : {
|
||||
"Red Component" : 0.59607843137254901,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.59607843137254901,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.59607843137254901
|
||||
},
|
||||
"Ansi 9 Color" : {
|
||||
"Red Component" : 0.99215686274509807,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.59999999999999998,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.34901960784313724
|
||||
},
|
||||
"Ansi 4 Color" : {
|
||||
"Red Component" : 0.20784313725490197,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.98039215686274506,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.78823529411764703
|
||||
},
|
||||
"Ansi 5 Color" : {
|
||||
"Red Component" : 0.56470590829849243,
|
||||
"Color Space" : "sRGB",
|
||||
"Alpha Component" : 1,
|
||||
"Blue Component" : 1,
|
||||
"Green Component" : 0.42352941632270813
|
||||
}
|
||||
}
|
181
config/macos/iterm-shell-integration.zsh
Executable file
181
config/macos/iterm-shell-integration.zsh
Executable file
@ -0,0 +1,181 @@
|
||||
# Downloaded from:
|
||||
# https://raw.githubusercontent.com/gnachman/iTerm2/v3.4.17/Resources/shell_integration/iterm2_shell_integration.zsh
|
||||
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
if [[ -o interactive ]]; then
|
||||
if [ "${ITERM_ENABLE_SHELL_INTEGRATION_WITH_TMUX-}""$TERM" != "tmux-256color" -a "${ITERM_ENABLE_SHELL_INTEGRATION_WITH_TMUX-}""$TERM" != "screen" -a "${ITERM_SHELL_INTEGRATION_INSTALLED-}" = "" -a "$TERM" != linux -a "$TERM" != dumb ]; then
|
||||
ITERM_SHELL_INTEGRATION_INSTALLED=Yes
|
||||
ITERM2_SHOULD_DECORATE_PROMPT="1"
|
||||
# Indicates start of command output. Runs just before command executes.
|
||||
iterm2_before_cmd_executes() {
|
||||
if [ "$TERM_PROGRAM" = "iTerm.app" ]; then
|
||||
printf "\033]133;C;\r\007"
|
||||
else
|
||||
printf "\033]133;C;\007"
|
||||
fi
|
||||
}
|
||||
|
||||
iterm2_set_user_var() {
|
||||
printf "\033]1337;SetUserVar=%s=%s\007" "$1" $(printf "%s" "$2" | base64 | tr -d '\n')
|
||||
}
|
||||
|
||||
# Users can write their own version of this method. It should call
|
||||
# iterm2_set_user_var but not produce any other output.
|
||||
# e.g., iterm2_set_user_var currentDirectory $PWD
|
||||
# Accessible in iTerm2 (in a badge now, elsewhere in the future) as
|
||||
# \(user.currentDirectory).
|
||||
whence -v iterm2_print_user_vars > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
iterm2_print_user_vars() {
|
||||
true
|
||||
}
|
||||
fi
|
||||
|
||||
iterm2_print_state_data() {
|
||||
local _iterm2_hostname="${iterm2_hostname-}"
|
||||
if [ -z "${iterm2_hostname:-}" ]; then
|
||||
_iterm2_hostname=$(hostname -f 2>/dev/null)
|
||||
fi
|
||||
printf "\033]1337;RemoteHost=%s@%s\007" "$USER" "${_iterm2_hostname-}"
|
||||
printf "\033]1337;CurrentDir=%s\007" "$PWD"
|
||||
iterm2_print_user_vars
|
||||
}
|
||||
|
||||
# Report return code of command; runs after command finishes but before prompt
|
||||
iterm2_after_cmd_executes() {
|
||||
printf "\033]133;D;%s\007" "$STATUS"
|
||||
iterm2_print_state_data
|
||||
}
|
||||
|
||||
# Mark start of prompt
|
||||
iterm2_prompt_mark() {
|
||||
printf "\033]133;A\007"
|
||||
}
|
||||
|
||||
# Mark end of prompt
|
||||
iterm2_prompt_end() {
|
||||
printf "\033]133;B\007"
|
||||
}
|
||||
|
||||
# There are three possible paths in life.
|
||||
#
|
||||
# 1) A command is entered at the prompt and you press return.
|
||||
# The following steps happen:
|
||||
# * iterm2_preexec is invoked
|
||||
# * PS1 is set to ITERM2_PRECMD_PS1
|
||||
# * ITERM2_SHOULD_DECORATE_PROMPT is set to 1
|
||||
# * The command executes (possibly reading or modifying PS1)
|
||||
# * iterm2_precmd is invoked
|
||||
# * ITERM2_PRECMD_PS1 is set to PS1 (as modified by command execution)
|
||||
# * PS1 gets our escape sequences added to it
|
||||
# * zsh displays your prompt
|
||||
# * You start entering a command
|
||||
#
|
||||
# 2) You press ^C while entering a command at the prompt.
|
||||
# The following steps happen:
|
||||
# * (iterm2_preexec is NOT invoked)
|
||||
# * iterm2_precmd is invoked
|
||||
# * iterm2_before_cmd_executes is called since we detected that iterm2_preexec was not run
|
||||
# * (ITERM2_PRECMD_PS1 and PS1 are not messed with, since PS1 already has our escape
|
||||
# sequences and ITERM2_PRECMD_PS1 already has PS1's original value)
|
||||
# * zsh displays your prompt
|
||||
# * You start entering a command
|
||||
#
|
||||
# 3) A new shell is born.
|
||||
# * PS1 has some initial value, either zsh's default or a value set before this script is sourced.
|
||||
# * iterm2_precmd is invoked
|
||||
# * ITERM2_SHOULD_DECORATE_PROMPT is initialized to 1
|
||||
# * ITERM2_PRECMD_PS1 is set to the initial value of PS1
|
||||
# * PS1 gets our escape sequences added to it
|
||||
# * Your prompt is shown and you may begin entering a command.
|
||||
#
|
||||
# Invariants:
|
||||
# * ITERM2_SHOULD_DECORATE_PROMPT is 1 during and just after command execution, and "" while the prompt is
|
||||
# shown and until you enter a command and press return.
|
||||
# * PS1 does not have our escape sequences during command execution
|
||||
# * After the command executes but before a new one begins, PS1 has escape sequences and
|
||||
# ITERM2_PRECMD_PS1 has PS1's original value.
|
||||
iterm2_decorate_prompt() {
|
||||
# This should be a raw PS1 without iTerm2's stuff. It could be changed during command
|
||||
# execution.
|
||||
ITERM2_PRECMD_PS1="$PS1"
|
||||
ITERM2_SHOULD_DECORATE_PROMPT=""
|
||||
|
||||
# Add our escape sequences just before the prompt is shown.
|
||||
# Use ITERM2_SQUELCH_MARK for people who can't mdoify PS1 directly, like powerlevel9k users.
|
||||
# This is gross but I had a heck of a time writing a correct if statetment for zsh 5.0.2.
|
||||
local PREFIX=""
|
||||
if [[ $PS1 == *"$(iterm2_prompt_mark)"* ]]; then
|
||||
PREFIX=""
|
||||
elif [[ "${ITERM2_SQUELCH_MARK-}" != "" ]]; then
|
||||
PREFIX=""
|
||||
else
|
||||
PREFIX="%{$(iterm2_prompt_mark)%}"
|
||||
fi
|
||||
PS1="$PREFIX$PS1%{$(iterm2_prompt_end)%}"
|
||||
ITERM2_DECORATED_PS1="$PS1"
|
||||
}
|
||||
|
||||
iterm2_precmd() {
|
||||
local STATUS="$?"
|
||||
if [ -z "${ITERM2_SHOULD_DECORATE_PROMPT-}" ]; then
|
||||
# You pressed ^C while entering a command (iterm2_preexec did not run)
|
||||
iterm2_before_cmd_executes
|
||||
if [ "$PS1" != "${ITERM2_DECORATED_PS1-}" ]; then
|
||||
# PS1 changed, perhaps in another precmd. See issue 9938.
|
||||
ITERM2_SHOULD_DECORATE_PROMPT="1"
|
||||
fi
|
||||
fi
|
||||
|
||||
iterm2_after_cmd_executes "$STATUS"
|
||||
|
||||
if [ -n "$ITERM2_SHOULD_DECORATE_PROMPT" ]; then
|
||||
iterm2_decorate_prompt
|
||||
fi
|
||||
}
|
||||
|
||||
# This is not run if you press ^C while entering a command.
|
||||
iterm2_preexec() {
|
||||
# Set PS1 back to its raw value prior to executing the command.
|
||||
PS1="$ITERM2_PRECMD_PS1"
|
||||
ITERM2_SHOULD_DECORATE_PROMPT="1"
|
||||
iterm2_before_cmd_executes
|
||||
}
|
||||
|
||||
# If hostname -f is slow on your system set iterm2_hostname prior to
|
||||
# sourcing this script. We know it is fast on macOS so we don't cache
|
||||
# it. That lets us handle the hostname changing like when you attach
|
||||
# to a VPN.
|
||||
if [ -z "${iterm2_hostname-}" ]; then
|
||||
if [ "$(uname)" != "Darwin" ]; then
|
||||
iterm2_hostname=`hostname -f 2>/dev/null`
|
||||
# Some flavors of BSD (i.e. NetBSD and OpenBSD) don't have the -f option.
|
||||
if [ $? -ne 0 ]; then
|
||||
iterm2_hostname=`hostname`
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
[[ -z ${precmd_functions-} ]] && precmd_functions=()
|
||||
precmd_functions=($precmd_functions iterm2_precmd)
|
||||
|
||||
[[ -z ${preexec_functions-} ]] && preexec_functions=()
|
||||
preexec_functions=($preexec_functions iterm2_preexec)
|
||||
|
||||
iterm2_print_state_data
|
||||
printf "\033]1337;ShellIntegrationVersion=14;shell=zsh\007"
|
||||
fi
|
||||
fi
|
404
config/macos/iterm.json
Normal file
404
config/macos/iterm.json
Normal file
@ -0,0 +1,404 @@
|
||||
{
|
||||
"Link Color" : {
|
||||
"Red Component" : 0,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.70588235294117652,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.80000000000000004
|
||||
},
|
||||
"Tags" : [
|
||||
|
||||
],
|
||||
"Ansi 12 Color" : {
|
||||
"Red Component" : 0.68235294117647061,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.99215686274509807,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.9137254901960784
|
||||
},
|
||||
"Ansi 7 Color" : {
|
||||
"Red Component" : 0.873565673828125,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.873565673828125,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.873565673828125
|
||||
},
|
||||
"Draw Powerline Glyphs" : true,
|
||||
"Bold Color" : {
|
||||
"Red Component" : 0,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.70588235294117652,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.80000000000000004
|
||||
},
|
||||
"Ansi 8 Color" : {
|
||||
"Red Component" : 0.59607843137254901,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.59607843137254901,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.59607843137254901
|
||||
},
|
||||
"Ansi 9 Color" : {
|
||||
"Red Component" : 0.99215686274509807,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.59999999999999998,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.34901960784313724
|
||||
},
|
||||
"Custom Directory" : "No",
|
||||
"Rows" : 25,
|
||||
"Default Bookmark" : "No",
|
||||
"Right Option Key Sends" : 0,
|
||||
"Cursor Guide Color" : {
|
||||
"Red Component" : 0.70213186740875244,
|
||||
"Color Space" : "sRGB",
|
||||
"Alpha Component" : 0.25,
|
||||
"Blue Component" : 1,
|
||||
"Green Component" : 0.9268307089805603
|
||||
},
|
||||
"Non-ASCII Anti Aliased" : true,
|
||||
"Use Bright Bold" : true,
|
||||
"Ansi 10 Color" : {
|
||||
"Red Component" : 0.59999999999999998,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.83921568627450982,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.99607843137254903
|
||||
},
|
||||
"Ambiguous Double Width" : false,
|
||||
"Jobs to Ignore" : [
|
||||
"rlogin",
|
||||
"ssh",
|
||||
"slogin",
|
||||
"telnet"
|
||||
],
|
||||
"Ansi 15 Color" : {
|
||||
"Red Component" : 1,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 1,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 1
|
||||
},
|
||||
"Foreground Color" : {
|
||||
"Red Component" : 0.79607844352722168,
|
||||
"Color Space" : "sRGB",
|
||||
"Alpha Component" : 1,
|
||||
"Blue Component" : 0.90588235855102539,
|
||||
"Green Component" : 0.88100153207778931
|
||||
},
|
||||
"Working Directory" : "\/Users\/alicia",
|
||||
"Blinking Cursor" : false,
|
||||
"Disable Window Resizing" : true,
|
||||
"Sync Title" : false,
|
||||
"Prompt Before Closing 2" : false,
|
||||
"BM Growl" : true,
|
||||
"Mouse Reporting" : true,
|
||||
"Command" : "",
|
||||
"Description" : "Default",
|
||||
"Screen" : -1,
|
||||
"Selection Color" : {
|
||||
"Red Component" : 0,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.70588235294117652,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.80000000000000004
|
||||
},
|
||||
"Only The Default BG Color Uses Transparency" : true,
|
||||
"Columns" : 80,
|
||||
"Idle Code" : 0,
|
||||
"Ansi 13 Color" : {
|
||||
"Red Component" : 0.82745098039215681,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 1,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.7686274509803922
|
||||
},
|
||||
"Custom Command" : "No",
|
||||
"ASCII Anti Aliased" : true,
|
||||
"Non Ascii Font" : "Monaco 12",
|
||||
"Vertical Spacing" : 1,
|
||||
"Use Bold Font" : true,
|
||||
"Option Key Sends" : 0,
|
||||
"Selected Text Color" : {
|
||||
"Red Component" : 0.078431372549019607,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.20000000000000001,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.10588235294117647
|
||||
},
|
||||
"Background Color" : {
|
||||
"Red Component" : 0.043137254901960784,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.12941176470588237,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.062745098039215685
|
||||
},
|
||||
"Character Encoding" : 4,
|
||||
"Ansi 11 Color" : {
|
||||
"Red Component" : 0.96862745098039216,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.63137254901960782,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.96078431372549022
|
||||
},
|
||||
"Use Italic Font" : true,
|
||||
"Unlimited Scrollback" : false,
|
||||
"Keyboard Map" : {
|
||||
"0xf700-0x260000" : {
|
||||
"Text" : "[1;6A",
|
||||
"Action" : 10
|
||||
},
|
||||
"0x37-0x40000" : {
|
||||
"Text" : "0x1f",
|
||||
"Action" : 11
|
||||
},
|
||||
"0x32-0x40000" : {
|
||||
"Text" : "0x00",
|
||||
"Action" : 11
|
||||
},
|
||||
"0xf709-0x20000" : {
|
||||
"Text" : "[17;2~",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf70c-0x20000" : {
|
||||
"Text" : "[20;2~",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf729-0x20000" : {
|
||||
"Text" : "[1;2H",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf72b-0x40000" : {
|
||||
"Text" : "[1;5F",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf705-0x20000" : {
|
||||
"Text" : "[1;2Q",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf703-0x260000" : {
|
||||
"Text" : "[1;6C",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf700-0x220000" : {
|
||||
"Text" : "[1;2A",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf701-0x280000" : {
|
||||
"Text" : "0x1b 0x1b 0x5b 0x42",
|
||||
"Action" : 11
|
||||
},
|
||||
"0x38-0x40000" : {
|
||||
"Text" : "0x7f",
|
||||
"Action" : 11
|
||||
},
|
||||
"0x33-0x40000" : {
|
||||
"Text" : "0x1b",
|
||||
"Action" : 11
|
||||
},
|
||||
"0xf703-0x220000" : {
|
||||
"Text" : "[1;2C",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf701-0x240000" : {
|
||||
"Text" : "[1;5B",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf70d-0x20000" : {
|
||||
"Text" : "[21;2~",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf702-0x260000" : {
|
||||
"Text" : "[1;6D",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf729-0x40000" : {
|
||||
"Text" : "[1;5H",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf706-0x20000" : {
|
||||
"Text" : "[1;2R",
|
||||
"Action" : 10
|
||||
},
|
||||
"0x34-0x40000" : {
|
||||
"Text" : "0x1c",
|
||||
"Action" : 11
|
||||
},
|
||||
"0xf700-0x280000" : {
|
||||
"Text" : "0x1b 0x1b 0x5b 0x41",
|
||||
"Action" : 11
|
||||
},
|
||||
"0x2d-0x40000" : {
|
||||
"Text" : "0x1f",
|
||||
"Action" : 11
|
||||
},
|
||||
"0xf70e-0x20000" : {
|
||||
"Text" : "[23;2~",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf702-0x220000" : {
|
||||
"Text" : "[1;2D",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf703-0x280000" : {
|
||||
"Text" : "0x1b 0x1b 0x5b 0x43",
|
||||
"Action" : 11
|
||||
},
|
||||
"0xf700-0x240000" : {
|
||||
"Text" : "[1;5A",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf707-0x20000" : {
|
||||
"Text" : "[1;2S",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf70a-0x20000" : {
|
||||
"Text" : "[18;2~",
|
||||
"Action" : 10
|
||||
},
|
||||
"0x35-0x40000" : {
|
||||
"Text" : "0x1d",
|
||||
"Action" : 11
|
||||
},
|
||||
"0xf70f-0x20000" : {
|
||||
"Text" : "[24;2~",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf703-0x240000" : {
|
||||
"Text" : "[1;5C",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf701-0x260000" : {
|
||||
"Text" : "[1;6B",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf702-0x280000" : {
|
||||
"Text" : "0x1b 0x1b 0x5b 0x44",
|
||||
"Action" : 11
|
||||
},
|
||||
"0xf72b-0x20000" : {
|
||||
"Text" : "[1;2F",
|
||||
"Action" : 10
|
||||
},
|
||||
"0x36-0x40000" : {
|
||||
"Text" : "0x1e",
|
||||
"Action" : 11
|
||||
},
|
||||
"0xf708-0x20000" : {
|
||||
"Text" : "[15;2~",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf701-0x220000" : {
|
||||
"Text" : "[1;2B",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf70b-0x20000" : {
|
||||
"Text" : "[19;2~",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf702-0x240000" : {
|
||||
"Text" : "[1;5D",
|
||||
"Action" : 10
|
||||
},
|
||||
"0xf704-0x20000" : {
|
||||
"Text" : "[1;2P",
|
||||
"Action" : 10
|
||||
}
|
||||
},
|
||||
"Window Type" : 0,
|
||||
"Blur Radius" : 14.887632978723405,
|
||||
"Background Image Location" : "",
|
||||
"Blur" : true,
|
||||
"Badge Color" : {
|
||||
"Red Component" : 1,
|
||||
"Color Space" : "sRGB",
|
||||
"Alpha Component" : 0.5,
|
||||
"Blue Component" : 0,
|
||||
"Green Component" : 0.1491314172744751
|
||||
},
|
||||
"Scrollback Lines" : 20000,
|
||||
"Send Code When Idle" : false,
|
||||
"Close Sessions On End" : true,
|
||||
"Terminal Type" : "xterm-256color",
|
||||
"Visual Bell" : true,
|
||||
"Flashing Bell" : false,
|
||||
"Silence Bell" : false,
|
||||
"Ansi 14 Color" : {
|
||||
"Red Component" : 0.52156862745098043,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.94509803921568625,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 1
|
||||
},
|
||||
"Name" : "Alicia",
|
||||
"Cursor Text Color" : {
|
||||
"Red Component" : 0,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.70588235294117652,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.80000000000000004
|
||||
},
|
||||
"Minimum Contrast" : 0,
|
||||
"Shortcut" : "A",
|
||||
"Cursor Color" : {
|
||||
"Red Component" : 0.9843137264251709,
|
||||
"Color Space" : "sRGB",
|
||||
"Alpha Component" : 1,
|
||||
"Blue Component" : 0.98823529481887817,
|
||||
"Green Component" : 0.98823529481887817
|
||||
},
|
||||
"Transparency" : 0.055427194148936168,
|
||||
"Ansi 1 Color" : {
|
||||
"Red Component" : 0.97254901960784312,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.38823529411764707,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.011764705882352941
|
||||
},
|
||||
"Horizontal Spacing" : 1,
|
||||
"Ansi 3 Color" : {
|
||||
"Red Component" : 0.92549019607843142,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.082352941176470587,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.90588235294117647
|
||||
},
|
||||
"Ansi 4 Color" : {
|
||||
"Red Component" : 0.20784313725490197,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.98039215686274506,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.78823529411764703
|
||||
},
|
||||
"Ansi 5 Color" : {
|
||||
"Red Component" : 0.56470590829849243,
|
||||
"Color Space" : "sRGB",
|
||||
"Alpha Component" : 1,
|
||||
"Blue Component" : 1,
|
||||
"Green Component" : 0.42352941632270813
|
||||
},
|
||||
"Use Non-ASCII Font" : false,
|
||||
"Ansi 6 Color" : {
|
||||
"Red Component" : 0,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.70588235294117652,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.80000000000000004
|
||||
},
|
||||
"Normal Font" : "MesloLGS-NF-Regular 13",
|
||||
"Ansi 0 Color" : {
|
||||
"Red Component" : 0.27196189528331161,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.612884521484375,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.35063636161167977
|
||||
},
|
||||
"Guid" : "264074D8-9D6F-4EDA-9077-4694920535DB",
|
||||
"Ansi 2 Color" : {
|
||||
"Red Component" : 0.011764705882352941,
|
||||
"Color Space" : "sRGB",
|
||||
"Blue Component" : 0.59607843137254901,
|
||||
"Alpha Component" : 1,
|
||||
"Green Component" : 0.97254901960784312
|
||||
}
|
||||
}
|
@ -1,3 +1,14 @@
|
||||
######################################################################
|
||||
# MacOS Launchpad Layout (Lissy93/Dotfiles) #
|
||||
######################################################################
|
||||
# Folder structure and layout for organising the MacOS launchpad #
|
||||
# Managed with lporg (brew install lporg) #
|
||||
# To regenerate this file from current layout, run `lporg save` #
|
||||
# To apply changes, run `lporg load ~/.config/launchpad.yml` #
|
||||
# #
|
||||
# Licensed under MIT (C) Alicia Sykes 2022 <https://aliciasykes.com> #
|
||||
######################################################################
|
||||
|
||||
apps:
|
||||
pages:
|
||||
- number: 1
|
||||
@ -14,6 +25,7 @@ apps:
|
||||
- Sourcetree
|
||||
- UTM
|
||||
- Visual Studio
|
||||
- React Native Debugger
|
||||
- MacDown
|
||||
- folder: Work Coms
|
||||
pages:
|
||||
@ -69,20 +81,22 @@ apps:
|
||||
- AltTab
|
||||
- OpenInTerminal
|
||||
- Scroll Reverser
|
||||
- amm
|
||||
- Espanso
|
||||
- Little Snitch
|
||||
- AnyBar
|
||||
- Shottr
|
||||
- Little Snitch
|
||||
- Finicky
|
||||
- Espanso
|
||||
- OnyX
|
||||
- CopyQ
|
||||
- amm
|
||||
- PopClip
|
||||
- Mjolnir
|
||||
- LinearMouse
|
||||
- Übersicht
|
||||
- MacForge
|
||||
- QLMarkdown
|
||||
- Santa
|
||||
- Suspicious Package
|
||||
- folder: Other
|
||||
pages:
|
||||
- number: 1
|
||||
@ -182,3 +196,7 @@ apps:
|
||||
- Chromium
|
||||
- Visual Studio Code
|
||||
- iTerm
|
||||
widgets:
|
||||
pages: []
|
||||
dock_items:
|
||||
desktop: {}
|
||||
|
164
config/starship.toml
Normal file
164
config/starship.toml
Normal file
@ -0,0 +1,164 @@
|
||||
[aws]
|
||||
format = '\[[$symbol($profile)(\($region\))(\[$duration\])]($style)\]'
|
||||
|
||||
[bun]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[c]
|
||||
format = '\[[$symbol($version(-$name))]($style)\]'
|
||||
|
||||
[cmake]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[cmd_duration]
|
||||
format = '\[[⏱ $duration]($style)\]'
|
||||
|
||||
[cobol]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[conda]
|
||||
format = '\[[$symbol$environment]($style)\]'
|
||||
|
||||
[crystal]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[daml]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[dart]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[deno]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[docker_context]
|
||||
format = '\[[$symbol$context]($style)\]'
|
||||
|
||||
[dotnet]
|
||||
format = '\[[$symbol($version)(🎯 $tfm)]($style)\]'
|
||||
|
||||
[elixir]
|
||||
format = '\[[$symbol($version \(OTP $otp_version\))]($style)\]'
|
||||
|
||||
[elm]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[erlang]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[gcloud]
|
||||
format = '\[[$symbol$account(@$domain)(\($region\))]($style)\]'
|
||||
|
||||
[git_branch]
|
||||
format = '\[[$symbol$branch]($style)\]'
|
||||
|
||||
[git_status]
|
||||
format = '([\[$all_status$ahead_behind\]]($style))'
|
||||
|
||||
[golang]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[haskell]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[helm]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[hg_branch]
|
||||
format = '\[[$symbol$branch]($style)\]'
|
||||
|
||||
[java]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[julia]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[kotlin]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[kubernetes]
|
||||
format = '\[[$symbol$context( \($namespace\))]($style)\]'
|
||||
|
||||
[lua]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[memory_usage]
|
||||
format = '\[$symbol[$ram( | $swap)]($style)\]'
|
||||
|
||||
[meson]
|
||||
format = '\[[$symbol$project]($style)\]'
|
||||
|
||||
[nim]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[nix_shell]
|
||||
format = '\[[$symbol$state( \($name\))]($style)\]'
|
||||
|
||||
[nodejs]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[ocaml]
|
||||
format = '\[[$symbol($version)(\($switch_indicator$switch_name\))]($style)\]'
|
||||
|
||||
[openstack]
|
||||
format = '\[[$symbol$cloud(\($project\))]($style)\]'
|
||||
|
||||
[package]
|
||||
format = '\[[$symbol$version]($style)\]'
|
||||
|
||||
[perl]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[php]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[pulumi]
|
||||
format = '\[[$symbol$stack]($style)\]'
|
||||
|
||||
[purescript]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[python]
|
||||
format = '\[[${symbol}${pyenv_prefix}(${version})(\($virtualenv\))]($style)\]'
|
||||
|
||||
[raku]
|
||||
format = '\[[$symbol($version-$vm_version)]($style)\]'
|
||||
|
||||
[red]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[ruby]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[rust]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[scala]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[spack]
|
||||
format = '\[[$symbol$environment]($style)\]'
|
||||
|
||||
[sudo]
|
||||
format = '\[[as $symbol]\]'
|
||||
|
||||
[swift]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[terraform]
|
||||
format = '\[[$symbol$workspace]($style)\]'
|
||||
|
||||
[time]
|
||||
format = '\[[$time]($style)\]'
|
||||
|
||||
[username]
|
||||
format = '\[[$user]($style)\]'
|
||||
|
||||
[vagrant]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[vlang]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
||||
|
||||
[zig]
|
||||
format = '\[[$symbol($version)]($style)\]'
|
@ -41,17 +41,3 @@ export ZLIB="${ZDOTDIR}/lib"
|
||||
export LANG='en_GB.UTF-8';
|
||||
export LC_ALL='en_GB.UTF-8';
|
||||
export PYTHONIOENCODING='UTF-8';
|
||||
|
||||
# Add Brew to path, if installed and on MacOS
|
||||
if [ "$(uname -s)" = "Darwin" ] && [[ -d /opt/homebrew/bin ]]; then
|
||||
export PATH=/opt/homebrew/bin:$PATH
|
||||
fi
|
||||
|
||||
# And Android SDK to path, if within Library direcroty
|
||||
if [ "$(uname -s)" = "Darwin" ] && [[ -d "${HOME}/Library/Android/" ]]; then
|
||||
export PATH="${HOME}/Library/Android/sdk/emulator:${PATH}"
|
||||
export ANDROID_HOME="${HOME}/Library/Android/sdk"
|
||||
export ANDROID_SDK_ROOT="${HOME}/Library/Android/sdk"
|
||||
export ANDROID_AVD_HOME="${ANDROID_SDK_ROOT}/tools/emulator"
|
||||
export NODE_BINARY="/usr/local/bin/node"
|
||||
fi
|
@ -16,6 +16,7 @@ source ${zsh_dir}/aliases/alias-tips.zsh
|
||||
# Setup Antigen, and import plugins
|
||||
source ${zsh_dir}/helpers/setup-antigen.zsh
|
||||
source ${zsh_dir}/helpers/import-plugins.zsh
|
||||
source ${zsh_dir}/helpers/misc-stuff.zsh
|
||||
|
||||
# Configure ZSH stuff
|
||||
source ${zsh_dir}/lib/colors.zsh
|
||||
@ -37,12 +38,28 @@ source ${utils_dir}/am-i-online.sh
|
||||
source ${utils_dir}/welcome-banner.sh
|
||||
source ${utils_dir}/color-map.sh
|
||||
|
||||
# Left over tasks
|
||||
source ${zsh_dir}/helpers/misc-stuff.zsh
|
||||
|
||||
# Import P10k config for command prompt, run `p10k configure` or edit
|
||||
[[ ! -f ${zsh_dir}/.p10k.zsh ]] || source ${zsh_dir}/.p10k.zsh
|
||||
|
||||
# Add Brew to path, if installed and on MacOS
|
||||
if [ "$(uname -s)" = "Darwin" ] && [[ -d /opt/homebrew/bin ]]; then
|
||||
export PATH=/opt/homebrew/bin:$PATH
|
||||
fi
|
||||
|
||||
# If using iTerm on MacOS, import the shell integration
|
||||
if [ "$(uname -s)" = "Darwin" ] && [[ -f "${XDG_CONFIG_HOME}/zsh/.iterm2_shell_integration.zsh" ]]; then
|
||||
source ${XDG_CONFIG_HOME}/iterm/shell-integration.zsh
|
||||
fi
|
||||
|
||||
# And Android SDK to path, if within Library direcroty
|
||||
if [ "$(uname -s)" = "Darwin" ] && [[ -d "${HOME}/Library/Android/" ]]; then
|
||||
export PATH="${HOME}/Library/Android/sdk/emulator:${PATH}"
|
||||
export ANDROID_HOME="${HOME}/Library/Android/sdk"
|
||||
export ANDROID_SDK_ROOT="${HOME}/Library/Android/sdk"
|
||||
export ANDROID_AVD_HOME="${ANDROID_SDK_ROOT}/tools/emulator"
|
||||
export NODE_BINARY="/usr/local/bin/node"
|
||||
fi
|
||||
|
||||
# If not running in nested shell, then show welcome message :)
|
||||
if [[ "${SHLVL}" -lt 2 ]] && [[ -z "$SKIP_WELCOME" ]]; then
|
||||
welcome
|
@ -75,7 +75,7 @@ alias lz='ls-archive'
|
||||
# Make directory, and cd into it
|
||||
mkcd() {
|
||||
local dir="$*";
|
||||
local mkdir -p "$dir" && cd "$dir";
|
||||
mkdir -p "$dir" && cd "$dir";
|
||||
}
|
||||
|
||||
# Make dir and copy
|
||||
@ -117,6 +117,7 @@ alias ff='find . -type f -name' # Find a file by name within current directory
|
||||
alias h='history' # Shows full history
|
||||
alias h-search='fc -El 0 | grep' # Searchses for a word in terminal history
|
||||
alias top-history='history 0 | awk '{print $2}' | sort | uniq -c | sort -n -r | head'
|
||||
alias histrg='history -500 | rg' # Rip grep search recent history
|
||||
|
||||
# Clearing terminal
|
||||
if command_exists hr ; then
|
||||
@ -153,21 +154,26 @@ alias memhog='ps -eo pid,ppid,cmd,%mem --sort=-%mem | head' # Processes consumin
|
||||
alias cpuhog='ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | head' # Processes consuming most cpu
|
||||
alias cpuinfo='lscpu' # Show CPU Info
|
||||
alias distro='cat /etc/*-release' # Show OS info
|
||||
alias ports='netstat -tulanp' # Show open ports
|
||||
|
||||
# Copy / pasting
|
||||
alias cpwd='pwd | pbcopy' # Copy current path
|
||||
alias pa='pbpaste' # Paste clipboard contents
|
||||
|
||||
# App Specific
|
||||
if command_exists code ; then
|
||||
alias vsc='code .' # Open VS Code in current dir
|
||||
fi
|
||||
if command_exists code ; then; alias vsc='code .'; fi # Launch VS Code in current dir
|
||||
if command_exists cointop ; then; alias crypto='cointop'; fi
|
||||
if command_exists gotop ; then; alias gto='gotop'; fi
|
||||
|
||||
# Utilities
|
||||
# External Services
|
||||
alias myip='curl icanhazip.com'
|
||||
alias weather='curl wttr.in'
|
||||
alias weather-short='curl "wttr.in?format=3"'
|
||||
alias cheat='curl cheat.sh/'
|
||||
alias tinyurl='curl -s "http://tinyurl.com/api-create.php?url='
|
||||
alias ports='netstat -tulanp'
|
||||
if command_exists cointop ; then; alias crypto='cointop'; fi
|
||||
if command_exists gotop ; then; alias gto='gotop'; fi
|
||||
alias joke='curl https://icanhazdadjoke.com'
|
||||
alias hackernews='curl hkkr.in'
|
||||
alias worldinternet='curl https://status.plaintext.sh/t'
|
||||
|
||||
# Random lolz
|
||||
alias cls='clear;ls' # Clear and ls
|
199
install.sh
199
install.sh
@ -1,10 +1,11 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
######################################################################
|
||||
# 🧰 Lissy93/Dotfiles - All-in-One Install and Setup Script for Unix #
|
||||
######################################################################
|
||||
# Fetches latest changes, symlinks files, and installs dependencies #
|
||||
# Then sets up ZSH, TMUX, Vim as well as OS-specific tools and apps #
|
||||
# Checks all dependencies are met, and prompts to install if missing #
|
||||
# For docs and more info, see: https://github.com/lissy93/dotfiles #
|
||||
# #
|
||||
# IMPORTANT: Before running, read through everything very carefully! #
|
||||
@ -69,32 +70,46 @@ make_banner () {
|
||||
make_intro () {
|
||||
C2="\033[0;35m"
|
||||
C3="\x1b[2m"
|
||||
echo -e "${CYAN_B}The seup script will do the following:${RESET}"
|
||||
echo -e "${C2}(1) Pre-Setup Tasls"
|
||||
echo -e " ${C3}- Check that all requirements are met, and system is compatible"
|
||||
echo -e " ${C3}- Sets environmental variables from params, or uses sensible defaults"
|
||||
echo -e " ${C3}- Output welcome message"
|
||||
echo -e "${C2}(2) Setup Dotfiles"
|
||||
echo -e " ${C3}- Clone or update dotfiles from git"
|
||||
echo -e " ${C3}- Symlinks dotfiles to correct locations"
|
||||
echo -e "${C2}(3) Install packages"
|
||||
echo -e " ${C3}- On MacOS, prompt to install Homebrew if not present"
|
||||
echo -e " ${C3}- On MacOS, updates and installs apps liseted in Brewfile"
|
||||
echo -e " ${C3}- On Arch Linux, updates and installs packages via Pacman"
|
||||
echo -e " ${C3}- On Debian Linux, updates and installs packages via apt get"
|
||||
echo -e " ${C3}- On Linux desktop systems, prompt to install desktop apps via Flatpak"
|
||||
echo -e " ${C3}- Checks that OS is up-to-date and criticial patches are installed"
|
||||
echo -e "${C2}(4) Configure sytstem"
|
||||
echo -e " ${C3}- Setup Vim, and install Vim plugins via Plug"
|
||||
echo -e " ${C3}- Setup Tmux, and install Tmux plugins via TPM"
|
||||
echo -e " ${C3}- Setup ZSH, and install ZSH plugins via Antigen"
|
||||
echo -e " ${C3}- Prompt to configure OS user preferences"
|
||||
echo -e "${C2}(5) Finishing Up"
|
||||
echo -e " ${C3}- Refresh current terminal session"
|
||||
echo -e " ${C3}- Print summary of applied changes and time taken"
|
||||
echo -e " ${C3}- Exit with appropriate status code"
|
||||
echo -e "\n${PURPLE}You will be prompted at each stage, before any changes are made.${RESET}"
|
||||
echo -e "${PURPLE}For more info, see GitHub: \033[4;35mhttps://github.com/lissy93/dotfiles${RESET}"
|
||||
echo -e "${CYAN_B}The seup script will do the following:${RESET}\n"\
|
||||
"${C2}(1) Pre-Setup Tasls\n"\
|
||||
" ${C3}- Check that all requirements are met, and system is compatible\n"\
|
||||
" ${C3}- Sets environmental variables from params, or uses sensible defaults\n"\
|
||||
" ${C3}- Output welcome message and summary of changes\n"\
|
||||
"${C2}(2) Setup Dotfiles\n"\
|
||||
" ${C3}- Clone or update dotfiles from git\n"\
|
||||
" ${C3}- Symlinks dotfiles to correct locations\n"\
|
||||
"${C2}(3) Install packages\n"\
|
||||
" ${C3}- On MacOS, prompt to install Homebrew if not present\n"\
|
||||
" ${C3}- On MacOS, updates and installs apps liseted in Brewfile\n"\
|
||||
" ${C3}- On Arch Linux, updates and installs packages via Pacman\n"\
|
||||
" ${C3}- On Debian Linux, updates and installs packages via apt get\n"\
|
||||
" ${C3}- On Linux desktop systems, prompt to install desktop apps via Flatpak\n"\
|
||||
" ${C3}- Checks that OS is up-to-date and criticial patches are installed\n"\
|
||||
"${C2}(4) Configure sytstem\n"\
|
||||
" ${C3}- Setup Vim, and install / update Vim plugins via Plug\n"\
|
||||
" ${C3}- Setup Tmux, and install / update Tmux plugins via TPM\n"\
|
||||
" ${C3}- Setup ZSH, and install / update ZSH plugins via Antigen\n"\
|
||||
" ${C3}- Apply system settings (via NSDefaults on Mac, dconf on Linux)\n"\
|
||||
" ${C3}- Apply assets, wallpaper, fonts, screensaver, etc\n"\
|
||||
"${C2}(5) Finishing Up\n"\
|
||||
" ${C3}- Refresh current terminal session\n"\
|
||||
" ${C3}- Print summary of applied changes and time taken\n"\
|
||||
" ${C3}- Exit with appropriate status code\n\n"\
|
||||
"${PURPLE}You will be prompted at each stage, before any changes are made.${RESET}\n"\
|
||||
"${PURPLE}For more info, see GitHub: \033[4;35mhttps://github.com/${REPO_NAME}${RESET}"
|
||||
}
|
||||
|
||||
# Cleanup tasks, run when the script exits
|
||||
cleanup () {
|
||||
# Reset tab color and title (iTerm2 only)
|
||||
echo -e "\033];\007\033]6;1;bg;*;default\a"
|
||||
|
||||
# Unset re-used variables
|
||||
unset PROMPT_TIMEOUT
|
||||
unset AUTO_YES
|
||||
|
||||
# dinosaurs are awesome
|
||||
echo "🦖"
|
||||
}
|
||||
|
||||
# Checks if a given package is installed
|
||||
@ -121,11 +136,29 @@ system_verify () {
|
||||
fi
|
||||
}
|
||||
|
||||
# Shows a desktop notification, on compatible systems ($1 = message)
|
||||
show_notification () {
|
||||
if [[ $PARAMS == *"--no-notifications"* ]]; then return; fi
|
||||
notif_title=$TITLE
|
||||
notif_logo="${DOTFILES_DIR}/.github/logo.png"
|
||||
if command_exists terminal-notifier; then
|
||||
terminal-notifier -group 'dotfiles' -title $notif_title -subtitle $1 \
|
||||
-message $2 -appIcon $notif_logo -contentImage $notif_logo \
|
||||
-remove 'ALL' -sound 'Sosumi' &> /dev/null
|
||||
elif command_exists notify-send; then
|
||||
notify-send -u normal -t 15000 -i "${notif_logo}" "${notif_title}" "${1}"
|
||||
fi
|
||||
}
|
||||
|
||||
# Prints welcome banner, verifies that requirements are met
|
||||
function pre_setup_tasks () {
|
||||
# Show pretty starting banner
|
||||
make_banner "${TITLE}" "${CYAN_B}" 1
|
||||
|
||||
# Set term title
|
||||
echo -e "\033];${TITLE}\007\033]6;1;bg;red;brightness;30\a" \
|
||||
"\033]6;1;bg;green;brightness;235\a\033]6;1;bg;blue;brightness;215\a"
|
||||
|
||||
# Print intro, listing what changes will be applied
|
||||
make_intro
|
||||
|
||||
@ -133,12 +166,18 @@ function pre_setup_tasks () {
|
||||
echo -e "\n${CYAN_B}Are you happy to continue? (y/N)${RESET}"
|
||||
read -t $PROMPT_TIMEOUT -n 1 -r ans_start
|
||||
if [[ ! $ans_start =~ ^[Yy]$ ]] && [[ $AUTO_YES != true ]] ; then
|
||||
echo -e "\n${PURPLE}No worries, feel free to come back another time.\nTerminating...${RESET}"
|
||||
echo -e "\n${PURPLE}No worries, feel free to come back another time."\
|
||||
"\nTerminating...${RESET}"
|
||||
make_banner "🚧 Installation Aborted" ${YELLOW_B} 1
|
||||
exit 0
|
||||
fi
|
||||
echo
|
||||
|
||||
# If pre-requsite packages not found, prompt to install
|
||||
if ! command_exists git; then
|
||||
bash <(curl -s -L 'https://alicia.url.lol/prerequisite-installs') $PARAMS
|
||||
fi
|
||||
|
||||
# Verify required packages are installed
|
||||
system_verify "git" true
|
||||
system_verify "zsh" false
|
||||
@ -149,35 +188,46 @@ function pre_setup_tasks () {
|
||||
# If XDG variables arn't yet set, then configure defaults
|
||||
if [ -z ${XDG_CONFIG_HOME+x} ]; then
|
||||
echo -e "${YELLOW_B}XDG_CONFIG_HOME is not yet set. Will use ~/.config${RESET}"
|
||||
XDG_CONFIG_HOME="${HOME}/.config"
|
||||
export XDG_CONFIG_HOME="${HOME}/.config"
|
||||
fi
|
||||
if [ -z ${XDG_DATA_HOME+x} ]; then
|
||||
echo -e "${YELLOW_B}XDG_DATA_HOME is not yet set. Will use ~/.local/share${RESET}"
|
||||
XDG_DATA_HOME="${HOME}/.local/share"
|
||||
export XDG_DATA_HOME="${HOME}/.local/share"
|
||||
fi
|
||||
|
||||
# Ensure dotfiles source directory is set and valid
|
||||
if [[ ! -d "$SRC_DIR" ]] && [[ ! -d "$DOTFILES_DIR" ]]; then
|
||||
echo -e "${YELLOW_B}Destination direcory not set,"\
|
||||
"defaulting to $HOME/.dotfiles\n"\
|
||||
"${CYAN_B}To specify where you'd like dotfiles to be downloaded to,"\
|
||||
"set the DOTFILES_DIR environmental variable, and re-run.${RESET}"
|
||||
DOTFILES_DIR="${HOME}/.dotfiles"
|
||||
fi
|
||||
}
|
||||
|
||||
# Downloads / updates dotfiles and symlinks them
|
||||
function setup_dot_files () {
|
||||
|
||||
# Download / update dotfiles repo with git
|
||||
if [[ ! -d "$DOTFILES_DIR" ]]
|
||||
then
|
||||
echo -e "${PURPLE}Dotfiles not yet present. Will download ${REPO_NAME} into ${DOTFILES_DIR}${RESET}"
|
||||
mkdir -p "${DOTFILES_DIR}"
|
||||
git clone --recursive ${DOTFILES_REPO} ${DOTFILES_DIR}
|
||||
else
|
||||
# If dotfiles not yet present, clone the repo
|
||||
if [[ ! -d "$DOTFILES_DIR" ]]; then
|
||||
echo -e "${PURPLE}Dotfiles not yet present."\
|
||||
"Downloading ${REPO_NAME} into ${DOTFILES_DIR}${RESET}"
|
||||
echo -e "${YELLOW_B}You can change where dotfiles will be saved to,"\
|
||||
"by setting the DOTFILES_DIR env var${RESET}"
|
||||
mkdir -p "${DOTFILES_DIR}" && \
|
||||
git clone --recursive ${DOTFILES_REPO} ${DOTFILES_DIR} && \
|
||||
cd "${DOTFILES_DIR}"
|
||||
else # Dotfiles already downloaded, just fetch latest changes
|
||||
echo -e "${PURPLE}Pulling changes from ${REPO_NAME} into ${DOTFILES_DIR}${RESET}"
|
||||
cd "${DOTFILES_DIR}" && \
|
||||
git pull origin master && \
|
||||
echo -e "${PURPLE}Updating submodules${RESET}" && \
|
||||
git submodule update --recursive --remote --init
|
||||
fi
|
||||
|
||||
# If git clone / pull failed, then exit with error
|
||||
ret=$?
|
||||
if ! test "$ret" -eq 0
|
||||
then
|
||||
echo >&2 "${RED_B}Failed to fetch dotfiels $ret${RESET}"
|
||||
if ! test "$?" -eq 0; then
|
||||
echo -e >&2 "${RED_B}Failed to fetch dotfiels from git${RESET}"
|
||||
terminate
|
||||
fi
|
||||
|
||||
@ -186,7 +236,7 @@ function setup_dot_files () {
|
||||
cd "${DOTFILES_DIR}"
|
||||
git -C "${DOTBOT_DIR}" submodule sync --quiet --recursive
|
||||
git submodule update --init --recursive "${DOTBOT_DIR}"
|
||||
chmod +x dotbot/bin/dotbot
|
||||
chmod +x lib/dotbot/bin/dotbot
|
||||
"${DOTFILES_DIR}/${DOTBOT_DIR}/${DOTBOT_BIN}" -d "${DOTFILES_DIR}" -c "${SYMLINK_FILE}" "${@}"
|
||||
}
|
||||
|
||||
@ -195,7 +245,7 @@ function apply_preferences () {
|
||||
|
||||
# If ZSH not the default shell, ask user if they'd like to set it
|
||||
if [[ $SHELL != *"zsh"* ]] && command_exists zsh; then
|
||||
echo "\n${CYAN_B}Would you like to set ZSH as your default shell? (y/N)${RESET}"
|
||||
echo -e "\n${CYAN_B}Would you like to set ZSH as your default shell? (y/N)${RESET}"
|
||||
read -t $PROMPT_TIMEOUT -n 1 -r ans_zsh
|
||||
if [[ $ans_zsh =~ ^[Yy]$ ]] || [[ $AUTO_YES = true ]] ; then
|
||||
echo -e "${PURPLE}Setting ZSH as default shell${RESET}"
|
||||
@ -203,29 +253,36 @@ function apply_preferences () {
|
||||
fi
|
||||
fi
|
||||
|
||||
# Install / update vim plugins with Plug
|
||||
echo -e "\n${PURPLE}Installing Vim Plugins${RESET}"
|
||||
vim +PlugInstall +qall
|
||||
# Prompt user to update ZSH, Tmux and Vim plugins, then reload each
|
||||
echo -e "\n${CYAN_B}Would you like to install / update ZSH, Tmux and Vim plugins? (y/N)${RESET}"
|
||||
read -t $PROMPT_TIMEOUT -n 1 -r ans_cliplugins
|
||||
if [[ $ans_cliplugins =~ ^[Yy]$ ]] || [[ $AUTO_YES = true ]] ; then
|
||||
# Install / update vim plugins with Plug
|
||||
echo -e "\n${PURPLE}Installing Vim Plugins${RESET}"
|
||||
vim +PlugInstall +qall
|
||||
|
||||
# Install / update Tmux plugins with TPM
|
||||
echo -e "${PURPLE}Installing TMUX Plugins${RESET}"
|
||||
chmod ug+x "${XDG_DATA_HOME}/tmux/tpm"
|
||||
sh "${TMUX_PLUGIN_MANAGER_PATH}/tpm/bin/install_plugins"
|
||||
sh "${XDG_DATA_HOME}/tmux/plugins/tpm/bin/install_plugins"
|
||||
|
||||
# Install / update ZSH plugins with Antigen
|
||||
echo -e "${PURPLE}Installing ZSH Plugins${RESET}"
|
||||
/bin/zsh -i -c "antigen update && antigen-apply"
|
||||
# Install / update Tmux plugins with TPM
|
||||
echo -e "${PURPLE}Installing TMUX Plugins${RESET}"
|
||||
chmod ug+x "${XDG_DATA_HOME}/tmux/tpm"
|
||||
sh "${TMUX_PLUGIN_MANAGER_PATH}/tpm/bin/install_plugins"
|
||||
sh "${XDG_DATA_HOME}/tmux/plugins/tpm/bin/install_plugins"
|
||||
|
||||
# Install / update ZSH plugins with Antigen
|
||||
echo -e "${PURPLE}Installing ZSH Plugins${RESET}"
|
||||
/bin/zsh -i -c "antigen update && antigen-apply"
|
||||
fi
|
||||
|
||||
# Apply general system, app and OS security preferences (prompt user first)
|
||||
echo -e "${CYAN_B}Would you like to apply system preferences? (y/N)${RESET}"
|
||||
echo -e "\n${CYAN_B}Would you like to apply system preferences? (y/N)${RESET}"
|
||||
read -t $PROMPT_TIMEOUT -n 1 -r ans_syspref
|
||||
if [[ $ans_syspref =~ ^[Yy]$ ]] || [[ $AUTO_YES = true ]]; then
|
||||
if [ "$SYSTEM_TYPE" = "Darwin" ]; then
|
||||
echo -e "\n${PURPLE}Applying MacOS system preferences, ensure you've understood before proceeding${RESET}\n"
|
||||
echo -e "\n${PURPLE}Applying MacOS system preferences,\
|
||||
ensure you've understood before proceeding${RESET}\n"
|
||||
macos_settings_dir="$DOTFILES_DIR/scripts/macos-setup"
|
||||
for macScript in "macos-security.sh" "macos-preferences.sh" "macos-apps.sh"; do
|
||||
chmod +x $macos_settings_dir/$macScript && $macos_settings_dir/$macScript --quick-exit
|
||||
chmod +x $macos_settings_dir/$macScript && \
|
||||
$macos_settings_dir/$macScript --quick-exit --yes-to-all
|
||||
done
|
||||
else
|
||||
echo -e "\n${PURPLE}Applying preferences to GNOME apps, ensure you've understood before proceeding${RESET}\n"
|
||||
@ -243,7 +300,8 @@ function intall_macos_packages () {
|
||||
read -t $PROMPT_TIMEOUT -n 1 -r ans_homebrewins
|
||||
if [[ $ans_homebrewins =~ ^[Yy]$ ]] || [[ $AUTO_YES = true ]] ; then
|
||||
echo -en "🍺 ${PURPLE}Installing Homebrew...${RESET}\n"
|
||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
brew_url='https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh'
|
||||
/bin/bash -c "$(curl -fsSL $brew_url)"
|
||||
export PATH=/opt/homebrew/bin:$PATH
|
||||
fi
|
||||
fi
|
||||
@ -294,7 +352,7 @@ function install_packages () {
|
||||
echo -e "\n${CYAN_B}Would you like to install / update system packages? (y/N)${RESET}"
|
||||
read -t $PROMPT_TIMEOUT -n 1 -r ans_syspackages
|
||||
if [[ ! $ans_syspackages =~ ^[Yy]$ ]] && [[ $AUTO_YES != true ]] ; then
|
||||
echo -e "${PURPLE}Skipping package installs${RESET}"
|
||||
echo -e "\n${PURPLE}Skipping package installs${RESET}"
|
||||
return
|
||||
fi
|
||||
if [ "$SYSTEM_TYPE" = "Darwin" ]; then
|
||||
@ -304,13 +362,13 @@ function install_packages () {
|
||||
# Arch Linux
|
||||
arch_pkg_install_script="${DOTFILES_DIR}/scripts/installs/arch-pacman.sh"
|
||||
chmod +x $arch_pkg_install_script
|
||||
$arch_pkg_install_script $params
|
||||
$arch_pkg_install_script $PARAMS
|
||||
fi
|
||||
# If running in Linux desktop mode, prompt to install desktop apps via Flatpak
|
||||
flatpak_script="${DOTFILES_DIR}/scripts/installs/flatpak.sh"
|
||||
if [[ $(uname -s) == "Linux" ]] && [ ! -z $XDG_CURRENT_DESKTOP ] && [ -f $flatpak_script ]; then
|
||||
if [[ $SYSTEM_TYPE == "Linux" ]] && [ ! -z $XDG_CURRENT_DESKTOP ] && [ -f $flatpak_script ]; then
|
||||
chmod +x $flatpak_script
|
||||
$flatpak_script
|
||||
$flatpak_script $PARAMS
|
||||
fi
|
||||
}
|
||||
|
||||
@ -335,18 +393,25 @@ function finishing_up () {
|
||||
# Refresh ZSH sesssion
|
||||
SKIP_WELCOME=true || exec zsh
|
||||
|
||||
# Show popup
|
||||
if command_exists terminal-notifier; then
|
||||
terminal-notifier -group 'dotfiles' -title $TITLE -subtitle 'All Tasks Complete' \
|
||||
-message "Your dotfiles are now configured and ready to use 🥳" \
|
||||
-appIcon ./.github/logo.png -contentImage ./.github/logo.png \
|
||||
-remove 'ALL' -sound 'Sosumi' &> /dev/null
|
||||
fi
|
||||
|
||||
# Show press any key to exit
|
||||
echo -e "${CYAN_B}Press any key to exit.${RESET}\n"
|
||||
read -t $PROMPT_TIMEOUT -n 1 -s
|
||||
|
||||
# Unset re-used variables
|
||||
unset PROMPT_TIMEOUT
|
||||
unset AUTO_YES
|
||||
|
||||
# Bye
|
||||
exit 0
|
||||
}
|
||||
|
||||
# Trigger cleanup on exit
|
||||
trap cleanup EXIT
|
||||
|
||||
# If --help flag passed in, just show the help menu
|
||||
if [[ $PARAMS == *"--help"* ]]; then
|
||||
make_intro
|
||||
|
@ -25,6 +25,11 @@ echo -e "\033[1;35m""Lissy93/Dotfiles Installation Script 🧰
|
||||
- Into \033[4;35m${DOTFILES_DIR}\033[0;35m
|
||||
Be sure you've read and understood the what will be applied.\033[0m\n"
|
||||
|
||||
# If dependencies not met, install them
|
||||
if ! hash git 2> /dev/null; then
|
||||
bash <(curl -s -L 'https://alicia.url.lol/prerequisite-installs')
|
||||
fi
|
||||
|
||||
# If dotfiles not yet present then clone
|
||||
if [[ ! -d "$DOTFILES_DIR" ]]; then
|
||||
mkdir -p "${DOTFILES_DIR}" && \
|
||||
|
@ -4,15 +4,20 @@ Lissy93/Dotfiles - Scripts 📜
|
||||
|
||||
A set of Bash scripts for automating the setup and management of various systems.
|
||||
|
||||
* scripts/installs/ OS / distro specific package installation / update scripts
|
||||
* Brewfile Packages to be installed via Homebrew on MacOS
|
||||
* flatpak.sh Desktop apps to be installed on Linux GUI systems via Flatpak
|
||||
* arch-pacman.sh Package installations using Pacman for Arch-based systems
|
||||
* debian-apt.sh Package installations using apt for Debian-based systems
|
||||
* alpine-pkg.sh Package installations using pkg for Alpine-based systems
|
||||
* scripts/macos-setup/ Scripts to automate the configuration of MacOS systems
|
||||
* macos-security.sh Apply essential MacOS security settings
|
||||
* macos-preferences.sh Apply user MacOS preferences (spotlight, colors, behaviour, etc)
|
||||
* macos-apps.sh Apply preferences to user applications (Finder, Mail, Terminal, etc)
|
||||
dotfiles/scripts/
|
||||
├── installs/
|
||||
│ ├── arch-pacman.sh Package installations using via for Arch-based systems
|
||||
│ ├── Brewfile Packages to be installed via Homebrew on MacOS
|
||||
│ ├── flatpak.sh Desktop apps to be installed on Linux GUI systems via Flatpak
|
||||
│ ├── alpine-pkg.sh Package installations using pkg for Alpine-based systems
|
||||
│ └── prerequisites.sh Cross-distro installation of prerequisite core packages
|
||||
├── linux/
|
||||
│ └── dconf-prefs.sh Apply preferences to (mostly GNOME apps) via dconf utility
|
||||
└── macos-setup/
|
||||
├── macos-apps.sh Apply preferences to user applications (Finder, Mail, Terminal, etc)
|
||||
├── macos-prefs.sh Apply user MacOS preferences (spotlight, colors, behaviour, etc)
|
||||
└── macos-security.sh Apply essential MacOS security settings
|
||||
|
||||
|
||||
Source: https://github.com/Lissy93/dotfiles/tree/master/scripts
|
||||
Licensed under MIT (C) Alicia Sykes 2022 <https://aliciasykes.com>
|
||||
|
@ -5,6 +5,7 @@
|
||||
# Apps are sorted by category, and arranged alphabetically #
|
||||
# Be sure to delete / comment out anything you do not need #
|
||||
# Usage, run: $ brew bundle --global --file $HOME/.Brewfile #
|
||||
# Source GH repository: https://github.com/lissy93/Brewfile #
|
||||
# See brew docs for more info: https://docs.brew.sh/Manpage #
|
||||
# #
|
||||
# License: MIT © Alicia Sykes 2022 <https://aliciasykes.com>#
|
||||
@ -146,7 +147,6 @@ brew 'bettercap' # Network, scanning and moniroting
|
||||
brew 'nmap' # Port scanning
|
||||
brew 'wrk' # HTTP benchmarking
|
||||
cask 'burp-suite' # Web security testing
|
||||
cask 'metasploit' # Pen testing framework
|
||||
cask 'owasp-zap' # Web app security scanner
|
||||
cask 'wireshark' # Network analyzer + packet capture
|
||||
|
||||
|
@ -9,15 +9,22 @@
|
||||
# - Check app not already installed via system package manager #
|
||||
# - Then install any not-yet-installed that are apps listed #
|
||||
# #
|
||||
# IMPORTANT: Be sure to remove / comment any apps you do not want! #
|
||||
# The following flag parameters are accepted: #
|
||||
# --prompt-before-each - Ask for user confirmation for each app #
|
||||
# --dry-run - Run script, but without making changes to disk #
|
||||
# --auto-yes - Don't prompt for any user input, use with care #
|
||||
# --help - Print usage instructions / help menu, then exit #
|
||||
# #
|
||||
# IMPORTANT: Be sure to remove / comment any apps you do not want! #
|
||||
# For docs and more info, see: https://github.com/lissy93/dotfiles #
|
||||
######################################################################
|
||||
# Licensed under MIT (C) Alicia Sykes 2022 <https://aliciasykes.com> #
|
||||
######################################################################
|
||||
|
||||
# Remote origin to use for installations
|
||||
flatpak_origin='flathub'
|
||||
|
||||
# List of desktop apps to be installed via Flatpak
|
||||
# List of desktop apps to be installed (specified by app ID)
|
||||
flatpak_apps=(
|
||||
|
||||
# Communication
|
||||
@ -33,6 +40,7 @@ flatpak_apps=(
|
||||
# Media
|
||||
'com.spotify.Client' # Music streaming
|
||||
'com.valvesoftware.Steam' # Gaming
|
||||
'com.gitlab.newsflash' # RSS reader
|
||||
'org.gnome.Cheese' # Webcam client
|
||||
'org.libretro.RetroArch' # Retro game emulation
|
||||
'org.videolan.VLC' # Media player
|
||||
@ -40,8 +48,9 @@ flatpak_apps=(
|
||||
# Creativity
|
||||
'com.ultimaker.cura' # 3D slicing
|
||||
'com.obsproject.Studio' # Video streaming
|
||||
'com.transmissionbt.Transmission' # Torrent downloader
|
||||
'com.uploadedlobster.peek' # Screen recorder
|
||||
'fr.handbrake.ghb' # Video transcoder
|
||||
'io.github.seadve.Kooha' # Screen recorder
|
||||
'nl.hjdskes.gcolor3' # Color picker
|
||||
'org.audacityteam.Audacity' # Sound editor
|
||||
'org.blender.Blender' # 3D modeling
|
||||
@ -64,20 +73,25 @@ flatpak_apps=(
|
||||
'org.zaproxy.ZAP' # Auto vulnerability scanning
|
||||
'org.nmap.Zenmap' # GUI for Nmap security scans
|
||||
|
||||
# Settings and system utils
|
||||
'com.borgbase.Vorta' # Borg backup client
|
||||
|
||||
# Browsers
|
||||
'org.mozilla.firefox'
|
||||
'com.github.Eloston.UngoogledChromium'
|
||||
'com.github.micahflee.torbrowser-launcher'
|
||||
|
||||
# Office
|
||||
'org.libreoffice.LibreOffice'
|
||||
'org.libreoffice.LibreOffice' # Office suite
|
||||
'org.cvfosammmm.Setzer' # LaTeX editor
|
||||
|
||||
# Personal
|
||||
'ch.protonmail.protonmail-bridge' # ProtonMail bridge
|
||||
'com.belmoussaoui.Authenticator' # OTP authenticator
|
||||
'org.cryptomator.Cryptomator' # Encryption for cloud
|
||||
'org.standardnotes.standardnotes' # Encrypted synced notes
|
||||
# Missing: Trewsorit, 1Password, EteSync, Veracrypt, Ledger
|
||||
'com.onepassword.OnePassword' # Password manager
|
||||
# Missing: Trewsorit, EteSync, Veracrypt, Ledger
|
||||
)
|
||||
|
||||
# Color Variables
|
||||
@ -89,9 +103,16 @@ GREEN='\033[0;32m'
|
||||
PURPLE='\033[0;35m'
|
||||
LIGHT='\x1b[2m'
|
||||
|
||||
# Options
|
||||
PROMPT_TIMEOUT=15 # When user is prompted for input, skip after x seconds
|
||||
PARAMS=$* # User-specified parameters
|
||||
|
||||
# Helper function to install Flatpak for users current distro
|
||||
if [[ $PARAMS == *"--auto-yes"* ]]; then
|
||||
PROMPT_TIMEOUT=1
|
||||
AUTO_YES=true
|
||||
fi
|
||||
|
||||
# Helper function to install Flatpak (if not present) for users current distro
|
||||
function install_flatpak () {
|
||||
# Arch, Manjaro
|
||||
if hash "pacman" 2> /dev/null; then
|
||||
@ -110,46 +131,29 @@ function install_flatpak () {
|
||||
echo -e "${PURPLE}Installing Flatpak via Yum${RESET}"
|
||||
sudo yum install flatpak
|
||||
fi
|
||||
echo -e "${PURPLE}Adding Flathub repo${RESET}"
|
||||
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
}
|
||||
|
||||
# Ask user if they'd like to proceed, and exit if not
|
||||
echo -e "${CYAN_B}Would you like to install Flatpak desktop apps? (y/N)${RESET}\n"
|
||||
read -t $PROMPT_TIMEOUT -n 1 -r
|
||||
echo
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
echo -e "${YELLOW}Skipping Flatpak installations..."
|
||||
exit 0
|
||||
fi
|
||||
# Checks if a given app ($1) is already installed, otherwise installs it
|
||||
function install_app () {
|
||||
app=$1
|
||||
|
||||
echo -e "${CYAN_B}Starting Flatpak App Installation Script${RESET}"
|
||||
|
||||
# Check that Flatpak is present, prompt to install or exit if not
|
||||
if ! hash flatpak 2> /dev/null; then
|
||||
echo -e "${PURPLE}Flatpak isn't yet installed on your system${RESET}"
|
||||
echo -e "${CYAN_B}Would you like to install Flatpak now?${RESET}\n"
|
||||
read -t $PROMPT_TIMEOUT -n 1 -r
|
||||
echo
|
||||
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||
install_flatpak
|
||||
else
|
||||
echo -e "${YELLOW}Skipping Flatpak installations, as Flatpack not installed"
|
||||
exit 0
|
||||
# If --prompt-before-each is set, then ask user if they'd like to proceed
|
||||
if [[ $PARAMS == *"--prompt-before-each"* ]]; then
|
||||
echo -e -n "\n${CYAN_B}Would you like to install ${app}? (y/N) ${RESET}"
|
||||
read -t 15 -n 1 -r
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]] && [[ $AUTO_YES != true ]] ; then
|
||||
echo -e "\n${YELLOW}[Skipping] ${LIGHT}${app}, rejected by user${RESET}"
|
||||
return
|
||||
fi
|
||||
echo
|
||||
fi
|
||||
fi
|
||||
|
||||
# Update currently installed apps
|
||||
echo -e "${PURPLE}Updating installed apps${RESET}"
|
||||
yes "" | flatpak update
|
||||
|
||||
# Itterate over each app, check if already installed, otherwise install now
|
||||
echo -e "${PURPLE}Installing apps defined in manifest${RESET}"
|
||||
for app in ${flatpak_apps[@]}; do
|
||||
# Process app ID, and grep for it in system
|
||||
app_name=$(echo $app | rev | cut -d "." -f1 | rev)
|
||||
is_in_flatpak=$(echo $(flatpak list --columns=ref | grep $app))
|
||||
is_in_pacman=$(echo $(pacman -Qk $(echo $app_name | tr 'A-Z' 'a-z') 2> /dev/null ))
|
||||
is_in_apt=$(echo $(dpkg -s $(echo $app_name | tr 'A-Z' 'a-z') 2> /dev/null ))
|
||||
|
||||
# Check app not already installed via Flatpak
|
||||
if [ -n "$is_in_flatpak" ]; then
|
||||
echo -e "${YELLOW}[Skipping] ${LIGHT}${app_name} is already installed.${RESET}"
|
||||
@ -162,9 +166,62 @@ for app in ${flatpak_apps[@]}; do
|
||||
else
|
||||
# Install app using Flatpak
|
||||
echo -e "${GREEN}[Installing] ${LIGHT}Downloading ${app_name} (from ${flatpak_origin}).${RESET}"
|
||||
if [[ $PARAMS == *"--dry-run"* ]]; then return; fi # Skip if --dry-run enabled
|
||||
flatpak install -y --noninteractive $flatpak_origin $app
|
||||
echo
|
||||
fi
|
||||
}
|
||||
|
||||
function print_usage () {
|
||||
echo -e "${CYAN_B}Flatpak Linux Desktop App Installation and Update script${RESET}"
|
||||
echo -e "${PURPLE}The following tasks will be completed:\n"\
|
||||
"- Check Flatpak is installed correctly / prompt to install if not\n"\
|
||||
"- Add the flathub repo, if not already present\n"\
|
||||
"- Upgrade Flatpak, and update all exiting installed apps\n"\
|
||||
"- Installs each app in the list (if not already present)\n"\
|
||||
"${RESET}"
|
||||
}
|
||||
|
||||
# Show help menu
|
||||
print_usage
|
||||
if [[ $PARAMS == *"--help"* ]]; then exit; fi
|
||||
|
||||
# Ask user if they'd like to proceed, and exit if not
|
||||
echo -e "${CYAN_B}Would you like to install Flatpak desktop apps? (y/N)${RESET}\n"
|
||||
read -t $PROMPT_TIMEOUT -n 1 -r
|
||||
echo
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]] && [[ $AUTO_YES != true ]] ; then
|
||||
echo -e "${YELLOW}Skipping Flatpak installations..."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo -e "${CYAN_B}Starting Flatpak App Installation Script${RESET}"
|
||||
|
||||
# Check that Flatpak is present, prompt to install or exit if not
|
||||
if ! hash flatpak 2> /dev/null; then
|
||||
echo -e "${PURPLE}Flatpak isn't yet installed on your system${RESET}"
|
||||
echo -e "${CYAN_B}Would you like to install Flatpak now?${RESET}\n"
|
||||
read -t $PROMPT_TIMEOUT -n 1 -r
|
||||
echo
|
||||
if [[ $REPLY =~ ^[Yy]$ ]] || [[ $AUTO_YES = true ]] ; then
|
||||
install_flatpak
|
||||
else
|
||||
echo -e "${YELLOW}Skipping Flatpak installations, as Flatpack not installed"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
# Add FlatHub as upstream repo, if not already present
|
||||
echo -e "${PURPLE}Adding Flathub repo${RESET}"
|
||||
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
|
||||
# Update currently installed apps
|
||||
echo -e "${PURPLE}Updating installed apps${RESET}"
|
||||
flatpak update --assumeyes --noninteractive
|
||||
|
||||
# Install each app listed above (if not already installed)
|
||||
echo -e "${PURPLE}Installing apps defined in manifest${RESET}"
|
||||
for app in ${flatpak_apps[@]}; do
|
||||
install_app $app
|
||||
done
|
||||
|
||||
echo -e "${PURPLE}Finished processing Flatpak apps${RESET}"
|
||||
|
96
scripts/installs/prerequisites.sh
Executable file
96
scripts/installs/prerequisites.sh
Executable file
@ -0,0 +1,96 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
######################################################################
|
||||
# Core Dependency Install Script #
|
||||
######################################################################
|
||||
# Installs essential pre-requsite packages, when using new systems #
|
||||
# Intended to be run before install.sh, if packages not yet present. #
|
||||
# All other package inatslls are managed in system-specific scripts #
|
||||
# For docs and more info, see: https://github.com/lissy93/dotfiles #
|
||||
# IMPORTANT: Before running, read through everything very carefully! #
|
||||
######################################################################
|
||||
# Licensed under MIT (C) Alicia Sykes 2022 <https://aliciasykes.com> #
|
||||
######################################################################
|
||||
|
||||
# List of apps to install
|
||||
core_packages=(
|
||||
'git' # Needed to fetch dotfiles
|
||||
'vim' # Needed to edit files
|
||||
'zsh' # Needed as bash is crap
|
||||
)
|
||||
|
||||
# Color variables
|
||||
PURPLE='\033[0;35m'
|
||||
YELLOW='\033[0;93m'
|
||||
LIGHT='\x1b[2m'
|
||||
RESET='\033[0m'
|
||||
|
||||
# Shows help menu / introduction
|
||||
function print_usage () {
|
||||
echo -e "${PURPLE}Prerequisite Dependency Installation Script${LIGHT}\n"\
|
||||
"There's a few packages that are needed in order to continue with setting up dotfiles.\n"\
|
||||
"This script will detect distro, and use appropriate package manager to install apps.\n"\
|
||||
"Elavated permissions may be required. Ensure you've read the script before proceeding."\
|
||||
"\n${RESET}"
|
||||
}
|
||||
|
||||
function install_debian () {
|
||||
echo -e "${PURPLE}Installing ${1} via apt-get${RESET}"
|
||||
sudo apt install $1
|
||||
}
|
||||
function install_arch () {
|
||||
echo -e "${PURPLE}Installing ${1} via Pacman${RESET}"
|
||||
sudo pacman -S $1
|
||||
}
|
||||
function install_mac () {
|
||||
echo -e "${PURPLE}Installing ${1} via Homebrew${RESET}"
|
||||
brew install $1
|
||||
}
|
||||
function get_homebrew () {
|
||||
echo -e "${PURPLE}Setting up Homebrew${RESET}"
|
||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
export PATH=/opt/homebrew/bin:$PATH
|
||||
}
|
||||
|
||||
# Detect OS type, then triggers install using appropriate package manager
|
||||
function multi_system_install () {
|
||||
app=$1
|
||||
if [ "$(uname -s)" = "Darwin" ]; then
|
||||
if ! hash brew 2> /dev/null; then get_homebrew; fi
|
||||
install_mac $app # MacOS via Homebrew
|
||||
elif [ -f "/etc/arch-release" ] && hash pacman 2> /dev/null; then
|
||||
install_arch $app # Arch Linux via Pacman
|
||||
elif ! [ -f "/etc/debian_version" ] && hash apt 2> /dev/null; then
|
||||
install_debian $app # Debian via apt-get
|
||||
else
|
||||
echo -e "${YELLOW}Skipping ${app}, as couldn't detect system type ${RESET}"
|
||||
fi
|
||||
}
|
||||
|
||||
# Show usage instructions, help menu
|
||||
print_usage
|
||||
if [[ $* == *"--help"* ]]; then exit; fi
|
||||
|
||||
# Ask user if they'd like to proceed
|
||||
if [[ ! $* == *"--auto-yes"* ]] ; then
|
||||
echo -e "${PURPLE}Are you happy to continue? (y/N)${RESET}"
|
||||
read -t 15 -n 1 -r
|
||||
echo
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
echo -e "${YELLOW}Proceeding was rejected by user, exiting...${RESET}"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
# For each app, check if not present and install
|
||||
for app in ${core_packages[@]}; do
|
||||
if ! hash "${app}" 2> /dev/null; then
|
||||
multi_system_install $app
|
||||
else
|
||||
echo -e "${YELLOW}${app} is already installed, skipping${RESET}"
|
||||
fi
|
||||
done
|
||||
|
||||
# All done
|
||||
echo -e "\n${PURPLE}Jobs complete, exiting${RESET}"
|
||||
exit 0
|
@ -19,6 +19,8 @@ WARN_1='\033[1;31m'
|
||||
WARN_2='\033[0;31m'
|
||||
RESET='\033[0m'
|
||||
ITAL='\e[3m'
|
||||
UNDAL='\e[4m'
|
||||
PALE='\e[2m'
|
||||
BOLD='\e[1m'
|
||||
|
||||
PARAMS=$*
|
||||
@ -48,11 +50,11 @@ fi
|
||||
|
||||
# Ask for user confirmation before proceeding (if skip flag isn't passed)
|
||||
if [[ ! $PARAMS == *"--yes-to-all"* ]]; then
|
||||
echo -e "${PRIMARY_COLOR}Would you like to proceed? (y/N)${RESET_COLOR}"
|
||||
echo -e "\n${PRIMARY_COLOR}Would you like to proceed? (y/N)${RESET}"
|
||||
read -t 15 -n 1 -r
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
echo -e "${ACCENT_COLOR}\nNo worries, nothing will be applied - feel free to come back another time."
|
||||
echo -e "${PRIMARY_COLOR}Exiting...${RESET_COLOR}"
|
||||
echo -e "${PRIMARY_COLOR}Exiting...${RESET}"
|
||||
exit 0
|
||||
else
|
||||
echo -e "\n"
|
||||
@ -86,6 +88,17 @@ apply_dconf () {
|
||||
dconf_key=$1
|
||||
dconf_name=$2
|
||||
|
||||
# If --prompt-before-each flag is set, then ask users permission for each app
|
||||
if [[ $PARAMS == *"--prompt-before-each"* ]]; then
|
||||
echo -e -n "\n${PRIMARY_COLOR}Would you like to apply ${dconf_name} settings? (y/N) ${RESET}"
|
||||
read -t 15 -n 1 -r
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
echo -e "\n${ACCENT_COLOR}Skipping ${dconf_name} settings${RESET}"
|
||||
return
|
||||
fi
|
||||
echo
|
||||
fi
|
||||
|
||||
# Check that a valid key is specified
|
||||
if [[ -z "$dconf_key" ]]; then
|
||||
echo -e "${ERROR_COLOR}⚠ Error, no key specified${RESET}"
|
||||
|
@ -341,6 +341,12 @@ defaults write com.apple.terminal StringEncodings -array 4
|
||||
log_msg "Enable secure entry for Terminal"
|
||||
defaults write com.apple.terminal SecureKeyboardEntry -bool true
|
||||
|
||||
log_msg "Apply custom Terminal theme"
|
||||
theme=$(<config/macos/alicia-term.terminal)
|
||||
plutil -replace Window\ Settings.Alicia-Term -xml "$theme" ~/Library/Preferences/com.apple.Terminal.plist
|
||||
defaults write com.apple.terminal 'Default Window Settings' -string Alicia-Term
|
||||
defaults write com.apple.terminal 'Startup Window Settings' -string Alicia-Term
|
||||
echo 'tell application "Terminal" to set current settings of first window to settings set "Alicia-Term"' | osascript
|
||||
|
||||
###############################################################################
|
||||
# Time Machine #
|
||||
@ -483,6 +489,25 @@ defaults write org.m0k.transmission BlocklistAutoUpdate -bool true
|
||||
log_msg "Randomize port on launch"
|
||||
defaults write org.m0k.transmission RandomPort -bool true
|
||||
|
||||
#################################
|
||||
# Restart affected applications #
|
||||
#################################
|
||||
log_section "Finishing Up"
|
||||
log_msg "Restarting afffecting apps"
|
||||
for app in "Activity Monitor" \
|
||||
"Address Book" \
|
||||
"Calendar" \
|
||||
"Contacts" \
|
||||
"Finder" \
|
||||
"Mail" \
|
||||
"Messages" \
|
||||
"Photos" \
|
||||
"Safari" \
|
||||
"Terminal" \
|
||||
"iCal"; do
|
||||
killall "${app}" &> /dev/null
|
||||
done
|
||||
|
||||
#####################################
|
||||
# Print finishing message, and exit #
|
||||
#####################################
|
||||
|
@ -37,7 +37,7 @@ RESET_COLOR='\033[0m'
|
||||
|
||||
# Current and total taslks, used for progress updates
|
||||
current_event=0
|
||||
total_events=68
|
||||
total_events=70
|
||||
|
||||
# Check system is compatible
|
||||
if [ ! "$(uname -s)" = "Darwin" ]; then
|
||||
@ -121,6 +121,9 @@ HIGHLIGHT_COLOR="0 0.8 0.7"
|
||||
# Quit System Preferences before starting
|
||||
osascript -e 'tell application "System Preferences" to quit'
|
||||
|
||||
# Keep script alive
|
||||
while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null &
|
||||
|
||||
###################
|
||||
# Set Device Info #
|
||||
###################
|
||||
@ -373,11 +376,14 @@ sudo mdutil -E / > /dev/null
|
||||
###############################
|
||||
log_section "Dock and Launchpad"
|
||||
|
||||
log_msg "Set dock position to left-hand side"
|
||||
defaults write com.apple.dock orientation left
|
||||
|
||||
log_msg "Add highlight effect to dock stacks"
|
||||
defaults write com.apple.dock mouse-over-hilite-stack -bool true
|
||||
|
||||
log_msg "Set item size within dock stacks"
|
||||
defaults write com.apple.dock tilesize -int 24
|
||||
defaults write com.apple.dock tilesize -int 48
|
||||
|
||||
log_msg "Set dock to use genie animation"
|
||||
defaults write com.apple.dock mineffect -string "genie"
|
||||
@ -446,6 +452,8 @@ sudo ln -sf "/Applications/Xcode.app/Contents/Developer/Applications/Simulator.a
|
||||
log_msg "Add Apple Watch simulator to Launchpad"
|
||||
sudo ln -sf "/Applications/Xcode.app/Contents/Developer/Applications/Simulator (Watch).app" "/Applications/Simulator (Watch).app"
|
||||
|
||||
log_msg "Restarting dock"
|
||||
killall Dock
|
||||
|
||||
#####################################
|
||||
# Print finishing message, and exit #
|
||||
|
@ -7,36 +7,18 @@
|
||||
|
||||
- shell:
|
||||
- description: Set XDG environmental variables
|
||||
command: source ./zsh/.zshenv
|
||||
- description: Check that $XDG_CONFIG_HOME is set
|
||||
command: >
|
||||
if [ -z ${XDG_CONFIG_HOME+x} ]; then; \
|
||||
echo "XDG_CONFIG_HOME is not yet set. Will use ~/.config"; \
|
||||
XDG_CONFIG_HOME="${HOME}/.config"; \
|
||||
fi
|
||||
stdin: false
|
||||
stdout: true
|
||||
stderr: true
|
||||
quiet: true
|
||||
- description: Check that $XDG_DATA_HOME is set
|
||||
command: >
|
||||
if [ -z ${XDG_DATA_HOME+x} ]; then; \
|
||||
echo "XDG_DATA_HOME is not yet set. Will use ~/.local/share"; \
|
||||
XDG_DATA_HOME="${HOME}/.local/share"; \
|
||||
fi
|
||||
stdin: false
|
||||
stdout: true
|
||||
stderr: true
|
||||
quiet: true
|
||||
command: source ./config/zsh/.zshenv
|
||||
|
||||
# Symlink locations for files / directories
|
||||
- link:
|
||||
# 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}/tmux: tmux
|
||||
~/.zshenv: { path: config/zsh/.zshenv, force: true }
|
||||
${XDG_CONFIG_HOME}/zsh: config/zsh
|
||||
${XDG_CONFIG_HOME}/vim: config/vim
|
||||
${XDG_CONFIG_HOME}/nvim: config/vim
|
||||
${XDG_CONFIG_HOME}/tmux: config/tmux
|
||||
|
||||
${XDG_CONFIG_HOME}/fish/config.fish: config/config.fish
|
||||
${XDG_DATA_HOME}/tmux/tpm: lib/tpm
|
||||
${XDG_DATA_HOME}/tmux/plugins/tpm: lib/tpm
|
||||
|
||||
@ -62,6 +44,12 @@
|
||||
~/.finicky.js:
|
||||
if: '[ `uname` = Darwin ]'
|
||||
path: config/macos/.finicky.js
|
||||
~/Library/Application\ Support/iTerm2/DynamicProfiles:
|
||||
if: '[ `uname` = Darwin ]'
|
||||
path: config/macos/iterm.json
|
||||
${XDG_CONFIG_HOME}/zsh/.iterm2_shell_integration.zsh:
|
||||
if: '[ `uname` = Darwin ]'
|
||||
path: config/macos/iterm-shell-integration.zsh
|
||||
|
||||
# If not already present, create home directories
|
||||
- create:
|
||||
|
@ -10,6 +10,10 @@ pre_success=' \033[1;92m✔'
|
||||
pre_failure=' \033[1;91m✗'
|
||||
post_string='\x1b[0m'
|
||||
|
||||
function aio_http_host () {
|
||||
wget -qO- github.com > /dev/null 2>&1 || { echo "Error: no active internet connection" >&2; return 1; }
|
||||
}
|
||||
|
||||
# Checks if DNS gateway is online
|
||||
function aio_check-dns() {
|
||||
: >/dev/tcp/1.1.1.1/53 > /dev/null && \
|
||||
@ -19,7 +23,7 @@ function aio_check-dns() {
|
||||
|
||||
# Checks if can ping default getway
|
||||
function aio_ping-gateway() {
|
||||
ping -q -c 1 `ip r | grep default | cut -d ' ' -f 3` > /dev/null && \
|
||||
ping -q -c 1 `ip r | grep default | cut -d ' ' -f 3 | head -1` > /dev/null && \
|
||||
echo -e "${pre_success} Gateway Availible${post_string}" || \
|
||||
echo -e "${pre_failure} Gateway Unavailible${post_string}"
|
||||
}
|
||||
|
22
utils/free-up-disk-space.sh
Normal file
22
utils/free-up-disk-space.sh
Normal file
@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
|
||||
######################################################################
|
||||
# 📊 Free up disk space #
|
||||
######################################################################
|
||||
# Series of commands for freeing up disk space on *nix based systems #
|
||||
# Will ask for user permission before executing or deleting anything #
|
||||
# Info about current disk usage is printed before starting #
|
||||
# #
|
||||
# Includes the following tasks: #
|
||||
# - Cleaning package cache for various package managers #
|
||||
# - Removing orphaned and unused packages and binaries #
|
||||
# - Setting logging preferences and removing old logs #
|
||||
# - Removing local cache files for the current user #
|
||||
# - Deleting broken symlinks and empty files + folers #
|
||||
# - Finding and deleting duplicated large files #
|
||||
# #
|
||||
# IMPORTANT: Before running, read through everything very carefully! #
|
||||
# For docs and more info, see: https://github.com/lissy93/dotfiles #
|
||||
######################################################################
|
||||
# Licensed under MIT (C) Alicia Sykes 2022 <https://aliciasykes.com> #
|
||||
######################################################################
|
@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
55
utils/weather.sh
Normal file → Executable file
55
utils/weather.sh
Normal file → Executable file
@ -1,15 +1,22 @@
|
||||
#!/usr/bin/env bash
|
||||
# Author: Alexander Epstein https://github.com/alexanderepstein
|
||||
|
||||
currentVersion="1.23.0" #This version variable should not have a v but should contain all other characters ex Github release tag is v1.2.4 currentVersion is 1.2.4
|
||||
LANG="${LANG:-en}"
|
||||
locale=$(echo "$LANG" | cut -c1-2)
|
||||
unset configuredClient
|
||||
######################################################################
|
||||
# Weather - Prints current and forcasted weather in current location #
|
||||
######################################################################
|
||||
# Data fetched from wttr.in provided by @chubin #
|
||||
# This script is inspired by @alexanderepstein #
|
||||
# #
|
||||
# Licensed under MIT (C) Alicia Sykes 2022 <https://aliciasykes.com> #
|
||||
######################################################################
|
||||
|
||||
scriptVersion="0.9.1"
|
||||
locale=$(echo "${LANG:-en}" | cut -c1-2) # Language to use
|
||||
if [[ $(echo "$locale" | grep -Eo "[a-z A-Z]*" | wc -c) != 3 ]]; then locale="en"; fi
|
||||
wttrHost="wttr.in"
|
||||
|
||||
## This function determines which http get tool the system has installed and returns an error if there isnt one
|
||||
getConfiguredClient()
|
||||
{
|
||||
# Determines which HTTP get tool to use, based on what's installed
|
||||
getConfiguredClient() {
|
||||
unset configuredClient
|
||||
if command -v curl &>/dev/null; then
|
||||
configuredClient="curl"
|
||||
elif command -v wget &>/dev/null; then
|
||||
@ -24,9 +31,8 @@ getConfiguredClient()
|
||||
fi
|
||||
}
|
||||
|
||||
## Allows to call the users configured client without if statements everywhere
|
||||
httpGet()
|
||||
{
|
||||
# Make HTTP request, using installed HTTP client
|
||||
httpGet() {
|
||||
case "$configuredClient" in
|
||||
curl) curl -A curl -s "$@" ;;
|
||||
wget) wget -qO- "$@" ;;
|
||||
@ -35,8 +41,7 @@ httpGet()
|
||||
esac
|
||||
}
|
||||
|
||||
getIPWeather()
|
||||
{
|
||||
getIPWeather() {
|
||||
country=$(httpGet ipinfo.io/country) > /dev/null ## grab the country
|
||||
if [[ $country == "US" ]]; then ## if were in the us id rather not use longitude and latitude so the output is nicer
|
||||
city=$(httpGet ipinfo.io/city) > /dev/null
|
||||
@ -44,26 +49,24 @@ getIPWeather()
|
||||
if [[ $(echo "$region" | wc -w) == 2 ]];then
|
||||
region=$(echo "$region" | grep -Eo "[A-Z]*" | tr -d "[:space:]")
|
||||
fi
|
||||
httpGet $locale.wttr.in/"$city","$region""$1"
|
||||
httpGet $locale.$wttrHost/"$city","$region""$1"
|
||||
else ## otherwise we are going to use longitude and latitude
|
||||
location=$(httpGet ipinfo.io/loc) > /dev/null
|
||||
httpGet $locale.wttr.in/"$location""$1"
|
||||
httpGet $locale.$wttrHost/"$location""$1"
|
||||
fi
|
||||
}
|
||||
|
||||
getLocationWeather()
|
||||
{
|
||||
getLocationWeather() {
|
||||
args=$(echo "$@" | tr " " + )
|
||||
httpGet $locale.wttr.in/"${args}"
|
||||
httpGet $locale.$wttrHost/"${args}"
|
||||
}
|
||||
|
||||
checkInternet()
|
||||
{
|
||||
httpGet github.com > /dev/null 2>&1 || { echo "Error: no active internet connection" >&2; return 1; } # query github with a get request
|
||||
# Check connected to internet
|
||||
checkInternet() {
|
||||
httpGet github.com > /dev/null 2>&1 || { echo "Error: no active internet connection" >&2; return 1; }
|
||||
}
|
||||
|
||||
usage()
|
||||
{
|
||||
usage() {
|
||||
cat <<EOF
|
||||
Weather
|
||||
Description: Provides a 3 day forecast on your current location or a specified location.
|
||||
@ -93,10 +96,10 @@ while getopts "uvh" opt; do
|
||||
h) usage
|
||||
exit 0
|
||||
;;
|
||||
v) echo "Version $currentVersion"
|
||||
v) echo "Version $scriptVersion"
|
||||
exit 0
|
||||
;;
|
||||
u) checkInternet || exit 1 # check if we have a valid internet connection if this isnt true the rest of the script will not work so stop here
|
||||
u) checkInternet || exit 1 # Check connection, exit if fail
|
||||
update || exit 1
|
||||
exit 0
|
||||
;;
|
||||
@ -147,4 +150,4 @@ elif [[ "${@: -1}" == "i" ]];then
|
||||
getLocationWeather "$args" || exit 1
|
||||
else
|
||||
getLocationWeather "$@" || exit 1
|
||||
fi
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user