mirror of
https://github.com/Lissy93/dotfiles.git
synced 2025-02-15 22:49: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>
|
<h1 align="center"><code>~/.Dotfiles</code></h1>
|
||||||
<h2 align="center"><code>$HOME, sweet $HOME</code></h2>
|
<p align="center"><i>My dotfiles for configuring literally everything (automatically!)</i></p>
|
||||||
<p align="center"><i>My dotfiles for configuring Vim, ZSH, Tmux, Git, etc</i></p>
|
<p align="center">
|
||||||
<p align="center"><img width="400" src="https://i.ibb.co/rH30RbM/Dotfiles.png" /></p>
|
<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
|
## Contents
|
||||||
- [Introduction to Dotfiles](#intro)
|
- [Introduction to Dotfiles](#intro)
|
||||||
@ -17,6 +20,7 @@
|
|||||||
- [Directory Structure](#directory-structure)
|
- [Directory Structure](#directory-structure)
|
||||||
- [Install Script](#install-script)
|
- [Install Script](#install-script)
|
||||||
- [Configuring](#configuring)
|
- [Configuring](#configuring)
|
||||||
|
- [Colors](#color-theme)
|
||||||
- [Aliases](#aliases)
|
- [Aliases](#aliases)
|
||||||
- [Packages](#packages)
|
- [Packages](#packages)
|
||||||
- [System Preferences](#system-preferences)
|
- [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
|
### 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
|
Variable | Location
|
||||||
--- | ---
|
--- | ---
|
||||||
@ -148,6 +152,8 @@ There's even more to check out at [webpro/awesome-dotfiles](https://github.com/w
|
|||||||
|
|
||||||
## My Dotfiles
|
## My Dotfiles
|
||||||
|
|
||||||
|
<p align="center"><img width="380" src="https://i.ibb.co/rH30RbM/Dotfiles.png" /></p>
|
||||||
|
|
||||||
### Setup
|
### Setup
|
||||||
|
|
||||||
> **Warning**
|
> **Warning**
|
||||||
@ -189,16 +195,20 @@ Once the repo is cloned, you can modify whatever files you like before running t
|
|||||||
<pre>
|
<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/config">config/</a> # All configuration files
|
||||||
├── <a href="https://github.com/Lissy93/dotfiles/tree/master/tmux">tmux/</a> # Tmux (multiplexer) config
|
│ ├── <a href="https://github.com/Lissy93/dotfiles/tree/master/bash">bash/</a> # Bash (shell) 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/tmux">tmux/</a> # Tmux (multiplexer) 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/vim">vim/</a> # Vim (text editor) 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/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">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/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/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/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/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/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-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
|
│ ├── <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**
|
- **Setup**
|
||||||
- Print welcome message, and a summary of proposed changes, and prompt user to continue
|
- Print welcome message, and a summary of proposed changes, and prompt user to continue
|
||||||
- Ensure that core dependencies are met (git, zsh, vim)
|
- 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**
|
- **Dotfiles**
|
||||||
- If dotfiles not yet present, will clone from git, otherwise pulls latest changes
|
- 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
|
- 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
|
### 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
|
#### 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:
|
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>
|
<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
|
Alias | Description
|
||||||
---|---
|
---|---
|
||||||
@ -351,7 +365,7 @@ Alias | Description
|
|||||||
|
|
||||||
<summary><b>Flutter Aliases</b></summary>
|
<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
|
Alias | Description
|
||||||
---|---
|
---|---
|
||||||
@ -377,7 +391,7 @@ Alias | Description
|
|||||||
|
|
||||||
<summary><b>Node.js Aliases</b></summary>
|
<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
|
##### Yarn
|
||||||
@ -441,7 +455,7 @@ Alias | Description
|
|||||||
|
|
||||||
<summary><b>General Aliases</b></summary>
|
<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)
|
##### 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
|
### 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
|
||||||
|
|
||||||
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)).
|
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:
|
The following plugins are being used:
|
||||||
@ -971,9 +985,9 @@ The following plugins are being used:
|
|||||||
### Tmux
|
### 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
|
##### Plugins
|
||||||
|
|
||||||
@ -992,7 +1006,7 @@ Tmux plugins are managed using [TMP](https://github.com/tmux-plugins/tpm) and de
|
|||||||
|
|
||||||
// TODO
|
// 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/*
|
dotbot/*
|
||||||
|
|
||||||
# Auto-generated files
|
# Auto-generated files
|
||||||
zsh/.zcompcache/*
|
config/zsh/.zcompcache/*
|
||||||
zsh/*/*.zwc
|
config/zsh/*/*.zwc
|
||||||
zsh/.zsh_sessions/*
|
config/zsh/.zsh_sessions/*
|
||||||
installs/.Brewfile.lock.json
|
installs/.Brewfile.lock.json
|
||||||
|
|
||||||
# Linux
|
# Linux
|
||||||
|
10
Dockerfile
10
Dockerfile
@ -50,18 +50,18 @@ RUN \
|
|||||||
|
|
||||||
COPY ./ /home/${user}/.userspace/
|
COPY ./ /home/${user}/.userspace/
|
||||||
|
|
||||||
|
ENV DOTFILES_DIR="/home/${user}/.dotfiles"
|
||||||
|
|
||||||
RUN \
|
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}/.dotfiles && \
|
||||||
chown -R ${user}:${group} /home/${user}/.userspace
|
chown -R ${user}:${group} /home/${user}/.userspace
|
||||||
|
|
||||||
ENV DOTFILES_DIR="$HOME/.dotfiles"
|
RUN chmod u+x "${DOTFILES_DIR}/install.sh"
|
||||||
|
|
||||||
RUN chmod u+x /home/${user}/.dotfiles/install.sh
|
|
||||||
|
|
||||||
USER ${user}
|
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
|
ENV HISTFILE=/home/${user}/.cache/.zsh_history
|
||||||
|
|
||||||
|
@ -3,15 +3,25 @@ Lissy93/Dotfiles - Config ⚙️
|
|||||||
|
|
||||||
List of configuration files for various apps, utils and systems.
|
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)
|
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
|
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).
|
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
|
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
|
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>
|
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:
|
apps:
|
||||||
pages:
|
pages:
|
||||||
- number: 1
|
- number: 1
|
||||||
@ -14,6 +25,7 @@ apps:
|
|||||||
- Sourcetree
|
- Sourcetree
|
||||||
- UTM
|
- UTM
|
||||||
- Visual Studio
|
- Visual Studio
|
||||||
|
- React Native Debugger
|
||||||
- MacDown
|
- MacDown
|
||||||
- folder: Work Coms
|
- folder: Work Coms
|
||||||
pages:
|
pages:
|
||||||
@ -69,20 +81,22 @@ apps:
|
|||||||
- AltTab
|
- AltTab
|
||||||
- OpenInTerminal
|
- OpenInTerminal
|
||||||
- Scroll Reverser
|
- Scroll Reverser
|
||||||
|
- amm
|
||||||
|
- Espanso
|
||||||
|
- Little Snitch
|
||||||
- AnyBar
|
- AnyBar
|
||||||
- Shottr
|
- Shottr
|
||||||
- Little Snitch
|
|
||||||
- Finicky
|
- Finicky
|
||||||
- Espanso
|
|
||||||
- OnyX
|
- OnyX
|
||||||
- CopyQ
|
- CopyQ
|
||||||
- amm
|
|
||||||
- PopClip
|
- PopClip
|
||||||
- Mjolnir
|
- Mjolnir
|
||||||
- LinearMouse
|
- LinearMouse
|
||||||
- Übersicht
|
- Übersicht
|
||||||
- MacForge
|
- MacForge
|
||||||
- QLMarkdown
|
- QLMarkdown
|
||||||
|
- Santa
|
||||||
|
- Suspicious Package
|
||||||
- folder: Other
|
- folder: Other
|
||||||
pages:
|
pages:
|
||||||
- number: 1
|
- number: 1
|
||||||
@ -182,3 +196,7 @@ apps:
|
|||||||
- Chromium
|
- Chromium
|
||||||
- Visual Studio Code
|
- Visual Studio Code
|
||||||
- iTerm
|
- 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 LANG='en_GB.UTF-8';
|
||||||
export LC_ALL='en_GB.UTF-8';
|
export LC_ALL='en_GB.UTF-8';
|
||||||
export PYTHONIOENCODING='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
|
# Setup Antigen, and import plugins
|
||||||
source ${zsh_dir}/helpers/setup-antigen.zsh
|
source ${zsh_dir}/helpers/setup-antigen.zsh
|
||||||
source ${zsh_dir}/helpers/import-plugins.zsh
|
source ${zsh_dir}/helpers/import-plugins.zsh
|
||||||
|
source ${zsh_dir}/helpers/misc-stuff.zsh
|
||||||
|
|
||||||
# Configure ZSH stuff
|
# Configure ZSH stuff
|
||||||
source ${zsh_dir}/lib/colors.zsh
|
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}/welcome-banner.sh
|
||||||
source ${utils_dir}/color-map.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
|
# Import P10k config for command prompt, run `p10k configure` or edit
|
||||||
[[ ! -f ${zsh_dir}/.p10k.zsh ]] || source ${zsh_dir}/.p10k.zsh
|
[[ ! -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 not running in nested shell, then show welcome message :)
|
||||||
if [[ "${SHLVL}" -lt 2 ]] && [[ -z "$SKIP_WELCOME" ]]; then
|
if [[ "${SHLVL}" -lt 2 ]] && [[ -z "$SKIP_WELCOME" ]]; then
|
||||||
welcome
|
welcome
|
@ -75,7 +75,7 @@ alias lz='ls-archive'
|
|||||||
# Make directory, and cd into it
|
# Make directory, and cd into it
|
||||||
mkcd() {
|
mkcd() {
|
||||||
local dir="$*";
|
local dir="$*";
|
||||||
local mkdir -p "$dir" && cd "$dir";
|
mkdir -p "$dir" && cd "$dir";
|
||||||
}
|
}
|
||||||
|
|
||||||
# Make dir and copy
|
# 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='history' # Shows full history
|
||||||
alias h-search='fc -El 0 | grep' # Searchses for a word in terminal 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 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
|
# Clearing terminal
|
||||||
if command_exists hr ; then
|
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 cpuhog='ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | head' # Processes consuming most cpu
|
||||||
alias cpuinfo='lscpu' # Show CPU Info
|
alias cpuinfo='lscpu' # Show CPU Info
|
||||||
alias distro='cat /etc/*-release' # Show OS 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
|
# App Specific
|
||||||
if command_exists code ; then
|
if command_exists code ; then; alias vsc='code .'; fi # Launch VS Code in current dir
|
||||||
alias vsc='code .' # Open VS Code in current dir
|
if command_exists cointop ; then; alias crypto='cointop'; fi
|
||||||
fi
|
if command_exists gotop ; then; alias gto='gotop'; fi
|
||||||
|
|
||||||
# Utilities
|
# External Services
|
||||||
alias myip='curl icanhazip.com'
|
alias myip='curl icanhazip.com'
|
||||||
alias weather='curl wttr.in'
|
alias weather='curl wttr.in'
|
||||||
alias weather-short='curl "wttr.in?format=3"'
|
alias weather-short='curl "wttr.in?format=3"'
|
||||||
alias cheat='curl cheat.sh/'
|
alias cheat='curl cheat.sh/'
|
||||||
alias tinyurl='curl -s "http://tinyurl.com/api-create.php?url='
|
alias tinyurl='curl -s "http://tinyurl.com/api-create.php?url='
|
||||||
alias ports='netstat -tulanp'
|
alias joke='curl https://icanhazdadjoke.com'
|
||||||
if command_exists cointop ; then; alias crypto='cointop'; fi
|
alias hackernews='curl hkkr.in'
|
||||||
if command_exists gotop ; then; alias gto='gotop'; fi
|
alias worldinternet='curl https://status.plaintext.sh/t'
|
||||||
|
|
||||||
# Random lolz
|
# Random lolz
|
||||||
alias cls='clear;ls' # Clear and ls
|
alias cls='clear;ls' # Clear and ls
|
197
install.sh
197
install.sh
@ -1,10 +1,11 @@
|
|||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
# 🧰 Lissy93/Dotfiles - All-in-One Install and Setup Script for Unix #
|
# 🧰 Lissy93/Dotfiles - All-in-One Install and Setup Script for Unix #
|
||||||
######################################################################
|
######################################################################
|
||||||
# Fetches latest changes, symlinks files, and installs dependencies #
|
# Fetches latest changes, symlinks files, and installs dependencies #
|
||||||
# Then sets up ZSH, TMUX, Vim as well as OS-specific tools and apps #
|
# 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 #
|
# For docs and more info, see: https://github.com/lissy93/dotfiles #
|
||||||
# #
|
# #
|
||||||
# IMPORTANT: Before running, read through everything very carefully! #
|
# IMPORTANT: Before running, read through everything very carefully! #
|
||||||
@ -69,32 +70,46 @@ make_banner () {
|
|||||||
make_intro () {
|
make_intro () {
|
||||||
C2="\033[0;35m"
|
C2="\033[0;35m"
|
||||||
C3="\x1b[2m"
|
C3="\x1b[2m"
|
||||||
echo -e "${CYAN_B}The seup script will do the following:${RESET}"
|
echo -e "${CYAN_B}The seup script will do the following:${RESET}\n"\
|
||||||
echo -e "${C2}(1) Pre-Setup Tasls"
|
"${C2}(1) Pre-Setup Tasls\n"\
|
||||||
echo -e " ${C3}- Check that all requirements are met, and system is compatible"
|
" ${C3}- Check that all requirements are met, and system is compatible\n"\
|
||||||
echo -e " ${C3}- Sets environmental variables from params, or uses sensible defaults"
|
" ${C3}- Sets environmental variables from params, or uses sensible defaults\n"\
|
||||||
echo -e " ${C3}- Output welcome message"
|
" ${C3}- Output welcome message and summary of changes\n"\
|
||||||
echo -e "${C2}(2) Setup Dotfiles"
|
"${C2}(2) Setup Dotfiles\n"\
|
||||||
echo -e " ${C3}- Clone or update dotfiles from git"
|
" ${C3}- Clone or update dotfiles from git\n"\
|
||||||
echo -e " ${C3}- Symlinks dotfiles to correct locations"
|
" ${C3}- Symlinks dotfiles to correct locations\n"\
|
||||||
echo -e "${C2}(3) Install packages"
|
"${C2}(3) Install packages\n"\
|
||||||
echo -e " ${C3}- On MacOS, prompt to install Homebrew if not present"
|
" ${C3}- On MacOS, prompt to install Homebrew if not present\n"\
|
||||||
echo -e " ${C3}- On MacOS, updates and installs apps liseted in Brewfile"
|
" ${C3}- On MacOS, updates and installs apps liseted in Brewfile\n"\
|
||||||
echo -e " ${C3}- On Arch Linux, updates and installs packages via Pacman"
|
" ${C3}- On Arch Linux, updates and installs packages via Pacman\n"\
|
||||||
echo -e " ${C3}- On Debian Linux, updates and installs packages via apt get"
|
" ${C3}- On Debian Linux, updates and installs packages via apt get\n"\
|
||||||
echo -e " ${C3}- On Linux desktop systems, prompt to install desktop apps via Flatpak"
|
" ${C3}- On Linux desktop systems, prompt to install desktop apps via Flatpak\n"\
|
||||||
echo -e " ${C3}- Checks that OS is up-to-date and criticial patches are installed"
|
" ${C3}- Checks that OS is up-to-date and criticial patches are installed\n"\
|
||||||
echo -e "${C2}(4) Configure sytstem"
|
"${C2}(4) Configure sytstem\n"\
|
||||||
echo -e " ${C3}- Setup Vim, and install Vim plugins via Plug"
|
" ${C3}- Setup Vim, and install / update Vim plugins via Plug\n"\
|
||||||
echo -e " ${C3}- Setup Tmux, and install Tmux plugins via TPM"
|
" ${C3}- Setup Tmux, and install / update Tmux plugins via TPM\n"\
|
||||||
echo -e " ${C3}- Setup ZSH, and install ZSH plugins via Antigen"
|
" ${C3}- Setup ZSH, and install / update ZSH plugins via Antigen\n"\
|
||||||
echo -e " ${C3}- Prompt to configure OS user preferences"
|
" ${C3}- Apply system settings (via NSDefaults on Mac, dconf on Linux)\n"\
|
||||||
echo -e "${C2}(5) Finishing Up"
|
" ${C3}- Apply assets, wallpaper, fonts, screensaver, etc\n"\
|
||||||
echo -e " ${C3}- Refresh current terminal session"
|
"${C2}(5) Finishing Up\n"\
|
||||||
echo -e " ${C3}- Print summary of applied changes and time taken"
|
" ${C3}- Refresh current terminal session\n"\
|
||||||
echo -e " ${C3}- Exit with appropriate status code"
|
" ${C3}- Print summary of applied changes and time taken\n"\
|
||||||
echo -e "\n${PURPLE}You will be prompted at each stage, before any changes are made.${RESET}"
|
" ${C3}- Exit with appropriate status code\n\n"\
|
||||||
echo -e "${PURPLE}For more info, see GitHub: \033[4;35mhttps://github.com/lissy93/dotfiles${RESET}"
|
"${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
|
# Checks if a given package is installed
|
||||||
@ -121,11 +136,29 @@ system_verify () {
|
|||||||
fi
|
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
|
# Prints welcome banner, verifies that requirements are met
|
||||||
function pre_setup_tasks () {
|
function pre_setup_tasks () {
|
||||||
# Show pretty starting banner
|
# Show pretty starting banner
|
||||||
make_banner "${TITLE}" "${CYAN_B}" 1
|
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
|
# Print intro, listing what changes will be applied
|
||||||
make_intro
|
make_intro
|
||||||
|
|
||||||
@ -133,12 +166,18 @@ function pre_setup_tasks () {
|
|||||||
echo -e "\n${CYAN_B}Are you happy to continue? (y/N)${RESET}"
|
echo -e "\n${CYAN_B}Are you happy to continue? (y/N)${RESET}"
|
||||||
read -t $PROMPT_TIMEOUT -n 1 -r ans_start
|
read -t $PROMPT_TIMEOUT -n 1 -r ans_start
|
||||||
if [[ ! $ans_start =~ ^[Yy]$ ]] && [[ $AUTO_YES != true ]] ; then
|
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
|
make_banner "🚧 Installation Aborted" ${YELLOW_B} 1
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
echo
|
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
|
# Verify required packages are installed
|
||||||
system_verify "git" true
|
system_verify "git" true
|
||||||
system_verify "zsh" false
|
system_verify "zsh" false
|
||||||
@ -149,35 +188,46 @@ function pre_setup_tasks () {
|
|||||||
# If XDG variables arn't yet set, then configure defaults
|
# If XDG variables arn't yet set, then configure defaults
|
||||||
if [ -z ${XDG_CONFIG_HOME+x} ]; then
|
if [ -z ${XDG_CONFIG_HOME+x} ]; then
|
||||||
echo -e "${YELLOW_B}XDG_CONFIG_HOME is not yet set. Will use ~/.config${RESET}"
|
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
|
fi
|
||||||
if [ -z ${XDG_DATA_HOME+x} ]; then
|
if [ -z ${XDG_DATA_HOME+x} ]; then
|
||||||
echo -e "${YELLOW_B}XDG_DATA_HOME is not yet set. Will use ~/.local/share${RESET}"
|
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
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Downloads / updates dotfiles and symlinks them
|
# Downloads / updates dotfiles and symlinks them
|
||||||
function setup_dot_files () {
|
function setup_dot_files () {
|
||||||
|
|
||||||
# Download / update dotfiles repo with git
|
# If dotfiles not yet present, clone the repo
|
||||||
if [[ ! -d "$DOTFILES_DIR" ]]
|
if [[ ! -d "$DOTFILES_DIR" ]]; then
|
||||||
then
|
echo -e "${PURPLE}Dotfiles not yet present."\
|
||||||
echo -e "${PURPLE}Dotfiles not yet present. Will download ${REPO_NAME} into ${DOTFILES_DIR}${RESET}"
|
"Downloading ${REPO_NAME} into ${DOTFILES_DIR}${RESET}"
|
||||||
mkdir -p "${DOTFILES_DIR}"
|
echo -e "${YELLOW_B}You can change where dotfiles will be saved to,"\
|
||||||
git clone --recursive ${DOTFILES_REPO} ${DOTFILES_DIR}
|
"by setting the DOTFILES_DIR env var${RESET}"
|
||||||
else
|
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}"
|
echo -e "${PURPLE}Pulling changes from ${REPO_NAME} into ${DOTFILES_DIR}${RESET}"
|
||||||
cd "${DOTFILES_DIR}" && \
|
cd "${DOTFILES_DIR}" && \
|
||||||
git pull origin master && \
|
git pull origin master && \
|
||||||
|
echo -e "${PURPLE}Updating submodules${RESET}" && \
|
||||||
git submodule update --recursive --remote --init
|
git submodule update --recursive --remote --init
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# If git clone / pull failed, then exit with error
|
# If git clone / pull failed, then exit with error
|
||||||
ret=$?
|
if ! test "$?" -eq 0; then
|
||||||
if ! test "$ret" -eq 0
|
echo -e >&2 "${RED_B}Failed to fetch dotfiels from git${RESET}"
|
||||||
then
|
|
||||||
echo >&2 "${RED_B}Failed to fetch dotfiels $ret${RESET}"
|
|
||||||
terminate
|
terminate
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -186,7 +236,7 @@ function setup_dot_files () {
|
|||||||
cd "${DOTFILES_DIR}"
|
cd "${DOTFILES_DIR}"
|
||||||
git -C "${DOTBOT_DIR}" submodule sync --quiet --recursive
|
git -C "${DOTBOT_DIR}" submodule sync --quiet --recursive
|
||||||
git submodule update --init --recursive "${DOTBOT_DIR}"
|
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}" "${@}"
|
"${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 ZSH not the default shell, ask user if they'd like to set it
|
||||||
if [[ $SHELL != *"zsh"* ]] && command_exists zsh; then
|
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
|
read -t $PROMPT_TIMEOUT -n 1 -r ans_zsh
|
||||||
if [[ $ans_zsh =~ ^[Yy]$ ]] || [[ $AUTO_YES = true ]] ; then
|
if [[ $ans_zsh =~ ^[Yy]$ ]] || [[ $AUTO_YES = true ]] ; then
|
||||||
echo -e "${PURPLE}Setting ZSH as default shell${RESET}"
|
echo -e "${PURPLE}Setting ZSH as default shell${RESET}"
|
||||||
@ -203,29 +253,36 @@ function apply_preferences () {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Install / update vim plugins with Plug
|
# Prompt user to update ZSH, Tmux and Vim plugins, then reload each
|
||||||
echo -e "\n${PURPLE}Installing Vim Plugins${RESET}"
|
echo -e "\n${CYAN_B}Would you like to install / update ZSH, Tmux and Vim plugins? (y/N)${RESET}"
|
||||||
vim +PlugInstall +qall
|
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
|
# Install / update Tmux plugins with TPM
|
||||||
echo -e "${PURPLE}Installing TMUX Plugins${RESET}"
|
echo -e "${PURPLE}Installing TMUX Plugins${RESET}"
|
||||||
chmod ug+x "${XDG_DATA_HOME}/tmux/tpm"
|
chmod ug+x "${XDG_DATA_HOME}/tmux/tpm"
|
||||||
sh "${TMUX_PLUGIN_MANAGER_PATH}/tpm/bin/install_plugins"
|
sh "${TMUX_PLUGIN_MANAGER_PATH}/tpm/bin/install_plugins"
|
||||||
sh "${XDG_DATA_HOME}/tmux/plugins/tpm/bin/install_plugins"
|
sh "${XDG_DATA_HOME}/tmux/plugins/tpm/bin/install_plugins"
|
||||||
|
|
||||||
# Install / update ZSH plugins with Antigen
|
# Install / update ZSH plugins with Antigen
|
||||||
echo -e "${PURPLE}Installing ZSH Plugins${RESET}"
|
echo -e "${PURPLE}Installing ZSH Plugins${RESET}"
|
||||||
/bin/zsh -i -c "antigen update && antigen-apply"
|
/bin/zsh -i -c "antigen update && antigen-apply"
|
||||||
|
fi
|
||||||
|
|
||||||
# Apply general system, app and OS security preferences (prompt user first)
|
# 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
|
read -t $PROMPT_TIMEOUT -n 1 -r ans_syspref
|
||||||
if [[ $ans_syspref =~ ^[Yy]$ ]] || [[ $AUTO_YES = true ]]; then
|
if [[ $ans_syspref =~ ^[Yy]$ ]] || [[ $AUTO_YES = true ]]; then
|
||||||
if [ "$SYSTEM_TYPE" = "Darwin" ]; 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"
|
macos_settings_dir="$DOTFILES_DIR/scripts/macos-setup"
|
||||||
for macScript in "macos-security.sh" "macos-preferences.sh" "macos-apps.sh"; do
|
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
|
done
|
||||||
else
|
else
|
||||||
echo -e "\n${PURPLE}Applying preferences to GNOME apps, ensure you've understood before proceeding${RESET}\n"
|
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
|
read -t $PROMPT_TIMEOUT -n 1 -r ans_homebrewins
|
||||||
if [[ $ans_homebrewins =~ ^[Yy]$ ]] || [[ $AUTO_YES = true ]] ; then
|
if [[ $ans_homebrewins =~ ^[Yy]$ ]] || [[ $AUTO_YES = true ]] ; then
|
||||||
echo -en "🍺 ${PURPLE}Installing Homebrew...${RESET}\n"
|
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
|
export PATH=/opt/homebrew/bin:$PATH
|
||||||
fi
|
fi
|
||||||
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}"
|
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
|
read -t $PROMPT_TIMEOUT -n 1 -r ans_syspackages
|
||||||
if [[ ! $ans_syspackages =~ ^[Yy]$ ]] && [[ $AUTO_YES != true ]] ; then
|
if [[ ! $ans_syspackages =~ ^[Yy]$ ]] && [[ $AUTO_YES != true ]] ; then
|
||||||
echo -e "${PURPLE}Skipping package installs${RESET}"
|
echo -e "\n${PURPLE}Skipping package installs${RESET}"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
if [ "$SYSTEM_TYPE" = "Darwin" ]; then
|
if [ "$SYSTEM_TYPE" = "Darwin" ]; then
|
||||||
@ -304,13 +362,13 @@ function install_packages () {
|
|||||||
# Arch Linux
|
# Arch Linux
|
||||||
arch_pkg_install_script="${DOTFILES_DIR}/scripts/installs/arch-pacman.sh"
|
arch_pkg_install_script="${DOTFILES_DIR}/scripts/installs/arch-pacman.sh"
|
||||||
chmod +x $arch_pkg_install_script
|
chmod +x $arch_pkg_install_script
|
||||||
$arch_pkg_install_script $params
|
$arch_pkg_install_script $PARAMS
|
||||||
fi
|
fi
|
||||||
# If running in Linux desktop mode, prompt to install desktop apps via Flatpak
|
# If running in Linux desktop mode, prompt to install desktop apps via Flatpak
|
||||||
flatpak_script="${DOTFILES_DIR}/scripts/installs/flatpak.sh"
|
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
|
chmod +x $flatpak_script
|
||||||
$flatpak_script
|
$flatpak_script $PARAMS
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -335,18 +393,25 @@ function finishing_up () {
|
|||||||
# Refresh ZSH sesssion
|
# Refresh ZSH sesssion
|
||||||
SKIP_WELCOME=true || exec zsh
|
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
|
# Show press any key to exit
|
||||||
echo -e "${CYAN_B}Press any key to exit.${RESET}\n"
|
echo -e "${CYAN_B}Press any key to exit.${RESET}\n"
|
||||||
read -t $PROMPT_TIMEOUT -n 1 -s
|
read -t $PROMPT_TIMEOUT -n 1 -s
|
||||||
|
|
||||||
# Unset re-used variables
|
|
||||||
unset PROMPT_TIMEOUT
|
|
||||||
unset AUTO_YES
|
|
||||||
|
|
||||||
# Bye
|
# Bye
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Trigger cleanup on exit
|
||||||
|
trap cleanup EXIT
|
||||||
|
|
||||||
# If --help flag passed in, just show the help menu
|
# If --help flag passed in, just show the help menu
|
||||||
if [[ $PARAMS == *"--help"* ]]; then
|
if [[ $PARAMS == *"--help"* ]]; then
|
||||||
make_intro
|
make_intro
|
||||||
|
@ -25,6 +25,11 @@ echo -e "\033[1;35m""Lissy93/Dotfiles Installation Script 🧰
|
|||||||
- Into \033[4;35m${DOTFILES_DIR}\033[0;35m
|
- Into \033[4;35m${DOTFILES_DIR}\033[0;35m
|
||||||
Be sure you've read and understood the what will be applied.\033[0m\n"
|
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 dotfiles not yet present then clone
|
||||||
if [[ ! -d "$DOTFILES_DIR" ]]; then
|
if [[ ! -d "$DOTFILES_DIR" ]]; then
|
||||||
mkdir -p "${DOTFILES_DIR}" && \
|
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.
|
A set of Bash scripts for automating the setup and management of various systems.
|
||||||
|
|
||||||
* scripts/installs/ OS / distro specific package installation / update scripts
|
dotfiles/scripts/
|
||||||
* Brewfile Packages to be installed via Homebrew on MacOS
|
├── installs/
|
||||||
* flatpak.sh Desktop apps to be installed on Linux GUI systems via Flatpak
|
│ ├── arch-pacman.sh Package installations using via for Arch-based systems
|
||||||
* arch-pacman.sh Package installations using Pacman for Arch-based systems
|
│ ├── Brewfile Packages to be installed via Homebrew on MacOS
|
||||||
* debian-apt.sh Package installations using apt for Debian-based systems
|
│ ├── flatpak.sh Desktop apps to be installed on Linux GUI systems via Flatpak
|
||||||
* alpine-pkg.sh Package installations using pkg for Alpine-based systems
|
│ ├── alpine-pkg.sh Package installations using pkg for Alpine-based systems
|
||||||
* scripts/macos-setup/ Scripts to automate the configuration of MacOS systems
|
│ └── prerequisites.sh Cross-distro installation of prerequisite core packages
|
||||||
* macos-security.sh Apply essential MacOS security settings
|
├── linux/
|
||||||
* macos-preferences.sh Apply user MacOS preferences (spotlight, colors, behaviour, etc)
|
│ └── dconf-prefs.sh Apply preferences to (mostly GNOME apps) via dconf utility
|
||||||
* macos-apps.sh Apply preferences to user applications (Finder, Mail, Terminal, etc)
|
└── 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
|
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 #
|
# Apps are sorted by category, and arranged alphabetically #
|
||||||
# Be sure to delete / comment out anything you do not need #
|
# Be sure to delete / comment out anything you do not need #
|
||||||
# Usage, run: $ brew bundle --global --file $HOME/.Brewfile #
|
# 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 #
|
# See brew docs for more info: https://docs.brew.sh/Manpage #
|
||||||
# #
|
# #
|
||||||
# License: MIT © Alicia Sykes 2022 <https://aliciasykes.com>#
|
# License: MIT © Alicia Sykes 2022 <https://aliciasykes.com>#
|
||||||
@ -146,7 +147,6 @@ brew 'bettercap' # Network, scanning and moniroting
|
|||||||
brew 'nmap' # Port scanning
|
brew 'nmap' # Port scanning
|
||||||
brew 'wrk' # HTTP benchmarking
|
brew 'wrk' # HTTP benchmarking
|
||||||
cask 'burp-suite' # Web security testing
|
cask 'burp-suite' # Web security testing
|
||||||
cask 'metasploit' # Pen testing framework
|
|
||||||
cask 'owasp-zap' # Web app security scanner
|
cask 'owasp-zap' # Web app security scanner
|
||||||
cask 'wireshark' # Network analyzer + packet capture
|
cask 'wireshark' # Network analyzer + packet capture
|
||||||
|
|
||||||
|
@ -9,15 +9,22 @@
|
|||||||
# - Check app not already installed via system package manager #
|
# - Check app not already installed via system package manager #
|
||||||
# - Then install any not-yet-installed that are apps listed #
|
# - 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> #
|
# Licensed under MIT (C) Alicia Sykes 2022 <https://aliciasykes.com> #
|
||||||
######################################################################
|
######################################################################
|
||||||
|
|
||||||
# Remote origin to use for installations
|
# Remote origin to use for installations
|
||||||
flatpak_origin='flathub'
|
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=(
|
flatpak_apps=(
|
||||||
|
|
||||||
# Communication
|
# Communication
|
||||||
@ -33,6 +40,7 @@ flatpak_apps=(
|
|||||||
# Media
|
# Media
|
||||||
'com.spotify.Client' # Music streaming
|
'com.spotify.Client' # Music streaming
|
||||||
'com.valvesoftware.Steam' # Gaming
|
'com.valvesoftware.Steam' # Gaming
|
||||||
|
'com.gitlab.newsflash' # RSS reader
|
||||||
'org.gnome.Cheese' # Webcam client
|
'org.gnome.Cheese' # Webcam client
|
||||||
'org.libretro.RetroArch' # Retro game emulation
|
'org.libretro.RetroArch' # Retro game emulation
|
||||||
'org.videolan.VLC' # Media player
|
'org.videolan.VLC' # Media player
|
||||||
@ -40,8 +48,9 @@ flatpak_apps=(
|
|||||||
# Creativity
|
# Creativity
|
||||||
'com.ultimaker.cura' # 3D slicing
|
'com.ultimaker.cura' # 3D slicing
|
||||||
'com.obsproject.Studio' # Video streaming
|
'com.obsproject.Studio' # Video streaming
|
||||||
|
'com.transmissionbt.Transmission' # Torrent downloader
|
||||||
|
'com.uploadedlobster.peek' # Screen recorder
|
||||||
'fr.handbrake.ghb' # Video transcoder
|
'fr.handbrake.ghb' # Video transcoder
|
||||||
'io.github.seadve.Kooha' # Screen recorder
|
|
||||||
'nl.hjdskes.gcolor3' # Color picker
|
'nl.hjdskes.gcolor3' # Color picker
|
||||||
'org.audacityteam.Audacity' # Sound editor
|
'org.audacityteam.Audacity' # Sound editor
|
||||||
'org.blender.Blender' # 3D modeling
|
'org.blender.Blender' # 3D modeling
|
||||||
@ -64,20 +73,25 @@ flatpak_apps=(
|
|||||||
'org.zaproxy.ZAP' # Auto vulnerability scanning
|
'org.zaproxy.ZAP' # Auto vulnerability scanning
|
||||||
'org.nmap.Zenmap' # GUI for Nmap security scans
|
'org.nmap.Zenmap' # GUI for Nmap security scans
|
||||||
|
|
||||||
|
# Settings and system utils
|
||||||
|
'com.borgbase.Vorta' # Borg backup client
|
||||||
|
|
||||||
# Browsers
|
# Browsers
|
||||||
'org.mozilla.firefox'
|
'org.mozilla.firefox'
|
||||||
'com.github.Eloston.UngoogledChromium'
|
'com.github.Eloston.UngoogledChromium'
|
||||||
'com.github.micahflee.torbrowser-launcher'
|
'com.github.micahflee.torbrowser-launcher'
|
||||||
|
|
||||||
# Office
|
# Office
|
||||||
'org.libreoffice.LibreOffice'
|
'org.libreoffice.LibreOffice' # Office suite
|
||||||
|
'org.cvfosammmm.Setzer' # LaTeX editor
|
||||||
|
|
||||||
# Personal
|
# Personal
|
||||||
'ch.protonmail.protonmail-bridge' # ProtonMail bridge
|
'ch.protonmail.protonmail-bridge' # ProtonMail bridge
|
||||||
'com.belmoussaoui.Authenticator' # OTP authenticator
|
'com.belmoussaoui.Authenticator' # OTP authenticator
|
||||||
'org.cryptomator.Cryptomator' # Encryption for cloud
|
'org.cryptomator.Cryptomator' # Encryption for cloud
|
||||||
'org.standardnotes.standardnotes' # Encrypted synced notes
|
'org.standardnotes.standardnotes' # Encrypted synced notes
|
||||||
# Missing: Trewsorit, 1Password, EteSync, Veracrypt, Ledger
|
'com.onepassword.OnePassword' # Password manager
|
||||||
|
# Missing: Trewsorit, EteSync, Veracrypt, Ledger
|
||||||
)
|
)
|
||||||
|
|
||||||
# Color Variables
|
# Color Variables
|
||||||
@ -89,9 +103,16 @@ GREEN='\033[0;32m'
|
|||||||
PURPLE='\033[0;35m'
|
PURPLE='\033[0;35m'
|
||||||
LIGHT='\x1b[2m'
|
LIGHT='\x1b[2m'
|
||||||
|
|
||||||
|
# Options
|
||||||
PROMPT_TIMEOUT=15 # When user is prompted for input, skip after x seconds
|
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 () {
|
function install_flatpak () {
|
||||||
# Arch, Manjaro
|
# Arch, Manjaro
|
||||||
if hash "pacman" 2> /dev/null; then
|
if hash "pacman" 2> /dev/null; then
|
||||||
@ -110,46 +131,29 @@ function install_flatpak () {
|
|||||||
echo -e "${PURPLE}Installing Flatpak via Yum${RESET}"
|
echo -e "${PURPLE}Installing Flatpak via Yum${RESET}"
|
||||||
sudo yum install flatpak
|
sudo yum install flatpak
|
||||||
fi
|
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
|
# Checks if a given app ($1) is already installed, otherwise installs it
|
||||||
echo -e "${CYAN_B}Would you like to install Flatpak desktop apps? (y/N)${RESET}\n"
|
function install_app () {
|
||||||
read -t $PROMPT_TIMEOUT -n 1 -r
|
app=$1
|
||||||
echo
|
|
||||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
|
||||||
echo -e "${YELLOW}Skipping Flatpak installations..."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -e "${CYAN_B}Starting Flatpak App Installation Script${RESET}"
|
# If --prompt-before-each is set, then ask user if they'd like to proceed
|
||||||
|
if [[ $PARAMS == *"--prompt-before-each"* ]]; then
|
||||||
# Check that Flatpak is present, prompt to install or exit if not
|
echo -e -n "\n${CYAN_B}Would you like to install ${app}? (y/N) ${RESET}"
|
||||||
if ! hash flatpak 2> /dev/null; then
|
read -t 15 -n 1 -r
|
||||||
echo -e "${PURPLE}Flatpak isn't yet installed on your system${RESET}"
|
if [[ ! $REPLY =~ ^[Yy]$ ]] && [[ $AUTO_YES != true ]] ; then
|
||||||
echo -e "${CYAN_B}Would you like to install Flatpak now?${RESET}\n"
|
echo -e "\n${YELLOW}[Skipping] ${LIGHT}${app}, rejected by user${RESET}"
|
||||||
read -t $PROMPT_TIMEOUT -n 1 -r
|
return
|
||||||
echo
|
fi
|
||||||
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
echo
|
||||||
install_flatpak
|
|
||||||
else
|
|
||||||
echo -e "${YELLOW}Skipping Flatpak installations, as Flatpack not installed"
|
|
||||||
exit 0
|
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
|
|
||||||
# Update currently installed apps
|
# Process app ID, and grep for it in system
|
||||||
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
|
|
||||||
app_name=$(echo $app | rev | cut -d "." -f1 | rev)
|
app_name=$(echo $app | rev | cut -d "." -f1 | rev)
|
||||||
is_in_flatpak=$(echo $(flatpak list --columns=ref | grep $app))
|
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_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 ))
|
is_in_apt=$(echo $(dpkg -s $(echo $app_name | tr 'A-Z' 'a-z') 2> /dev/null ))
|
||||||
|
|
||||||
# Check app not already installed via Flatpak
|
# Check app not already installed via Flatpak
|
||||||
if [ -n "$is_in_flatpak" ]; then
|
if [ -n "$is_in_flatpak" ]; then
|
||||||
echo -e "${YELLOW}[Skipping] ${LIGHT}${app_name} is already installed.${RESET}"
|
echo -e "${YELLOW}[Skipping] ${LIGHT}${app_name} is already installed.${RESET}"
|
||||||
@ -162,9 +166,62 @@ for app in ${flatpak_apps[@]}; do
|
|||||||
else
|
else
|
||||||
# Install app using Flatpak
|
# Install app using Flatpak
|
||||||
echo -e "${GREEN}[Installing] ${LIGHT}Downloading ${app_name} (from ${flatpak_origin}).${RESET}"
|
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
|
flatpak install -y --noninteractive $flatpak_origin $app
|
||||||
echo
|
|
||||||
fi
|
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
|
done
|
||||||
|
|
||||||
echo -e "${PURPLE}Finished processing Flatpak apps${RESET}"
|
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'
|
WARN_2='\033[0;31m'
|
||||||
RESET='\033[0m'
|
RESET='\033[0m'
|
||||||
ITAL='\e[3m'
|
ITAL='\e[3m'
|
||||||
|
UNDAL='\e[4m'
|
||||||
|
PALE='\e[2m'
|
||||||
BOLD='\e[1m'
|
BOLD='\e[1m'
|
||||||
|
|
||||||
PARAMS=$*
|
PARAMS=$*
|
||||||
@ -48,11 +50,11 @@ fi
|
|||||||
|
|
||||||
# Ask for user confirmation before proceeding (if skip flag isn't passed)
|
# Ask for user confirmation before proceeding (if skip flag isn't passed)
|
||||||
if [[ ! $PARAMS == *"--yes-to-all"* ]]; then
|
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
|
read -t 15 -n 1 -r
|
||||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||||
echo -e "${ACCENT_COLOR}\nNo worries, nothing will be applied - feel free to come back another time."
|
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
|
exit 0
|
||||||
else
|
else
|
||||||
echo -e "\n"
|
echo -e "\n"
|
||||||
@ -86,6 +88,17 @@ apply_dconf () {
|
|||||||
dconf_key=$1
|
dconf_key=$1
|
||||||
dconf_name=$2
|
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
|
# Check that a valid key is specified
|
||||||
if [[ -z "$dconf_key" ]]; then
|
if [[ -z "$dconf_key" ]]; then
|
||||||
echo -e "${ERROR_COLOR}⚠ Error, no key specified${RESET}"
|
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"
|
log_msg "Enable secure entry for Terminal"
|
||||||
defaults write com.apple.terminal SecureKeyboardEntry -bool true
|
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 #
|
# Time Machine #
|
||||||
@ -483,6 +489,25 @@ defaults write org.m0k.transmission BlocklistAutoUpdate -bool true
|
|||||||
log_msg "Randomize port on launch"
|
log_msg "Randomize port on launch"
|
||||||
defaults write org.m0k.transmission RandomPort -bool true
|
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 #
|
# Print finishing message, and exit #
|
||||||
#####################################
|
#####################################
|
||||||
|
@ -37,7 +37,7 @@ RESET_COLOR='\033[0m'
|
|||||||
|
|
||||||
# Current and total taslks, used for progress updates
|
# Current and total taslks, used for progress updates
|
||||||
current_event=0
|
current_event=0
|
||||||
total_events=68
|
total_events=70
|
||||||
|
|
||||||
# Check system is compatible
|
# Check system is compatible
|
||||||
if [ ! "$(uname -s)" = "Darwin" ]; then
|
if [ ! "$(uname -s)" = "Darwin" ]; then
|
||||||
@ -121,6 +121,9 @@ HIGHLIGHT_COLOR="0 0.8 0.7"
|
|||||||
# Quit System Preferences before starting
|
# Quit System Preferences before starting
|
||||||
osascript -e 'tell application "System Preferences" to quit'
|
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 #
|
# Set Device Info #
|
||||||
###################
|
###################
|
||||||
@ -373,11 +376,14 @@ sudo mdutil -E / > /dev/null
|
|||||||
###############################
|
###############################
|
||||||
log_section "Dock and Launchpad"
|
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"
|
log_msg "Add highlight effect to dock stacks"
|
||||||
defaults write com.apple.dock mouse-over-hilite-stack -bool true
|
defaults write com.apple.dock mouse-over-hilite-stack -bool true
|
||||||
|
|
||||||
log_msg "Set item size within dock stacks"
|
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"
|
log_msg "Set dock to use genie animation"
|
||||||
defaults write com.apple.dock mineffect -string "genie"
|
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"
|
log_msg "Add Apple Watch simulator to Launchpad"
|
||||||
sudo ln -sf "/Applications/Xcode.app/Contents/Developer/Applications/Simulator (Watch).app" "/Applications/Simulator (Watch).app"
|
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 #
|
# Print finishing message, and exit #
|
||||||
|
@ -7,36 +7,18 @@
|
|||||||
|
|
||||||
- shell:
|
- shell:
|
||||||
- description: Set XDG environmental variables
|
- description: Set XDG environmental variables
|
||||||
command: source ./zsh/.zshenv
|
command: source ./config/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
|
|
||||||
|
|
||||||
# Symlink locations for files / directories
|
# Symlink locations for files / directories
|
||||||
- link:
|
- link:
|
||||||
# Essential configs (ZSH, Vim, Tmux)
|
# Essential configs (ZSH, Vim, Tmux)
|
||||||
~/.zshenv: { path: zsh/.zshenv, force: true }
|
~/.zshenv: { path: config/zsh/.zshenv, force: true }
|
||||||
${XDG_CONFIG_HOME}/zsh: zsh
|
${XDG_CONFIG_HOME}/zsh: config/zsh
|
||||||
${XDG_CONFIG_HOME}/vim: vim
|
${XDG_CONFIG_HOME}/vim: config/vim
|
||||||
${XDG_CONFIG_HOME}/nvim: vim
|
${XDG_CONFIG_HOME}/nvim: config/vim
|
||||||
${XDG_CONFIG_HOME}/tmux: tmux
|
${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/tpm: lib/tpm
|
||||||
${XDG_DATA_HOME}/tmux/plugins/tpm: lib/tpm
|
${XDG_DATA_HOME}/tmux/plugins/tpm: lib/tpm
|
||||||
|
|
||||||
@ -62,6 +44,12 @@
|
|||||||
~/.finicky.js:
|
~/.finicky.js:
|
||||||
if: '[ `uname` = Darwin ]'
|
if: '[ `uname` = Darwin ]'
|
||||||
path: config/macos/.finicky.js
|
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
|
# If not already present, create home directories
|
||||||
- create:
|
- create:
|
||||||
|
@ -10,6 +10,10 @@ pre_success=' \033[1;92m✔'
|
|||||||
pre_failure=' \033[1;91m✗'
|
pre_failure=' \033[1;91m✗'
|
||||||
post_string='\x1b[0m'
|
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
|
# Checks if DNS gateway is online
|
||||||
function aio_check-dns() {
|
function aio_check-dns() {
|
||||||
: >/dev/tcp/1.1.1.1/53 > /dev/null && \
|
: >/dev/tcp/1.1.1.1/53 > /dev/null && \
|
||||||
@ -19,7 +23,7 @@ function aio_check-dns() {
|
|||||||
|
|
||||||
# Checks if can ping default getway
|
# Checks if can ping default getway
|
||||||
function aio_ping-gateway() {
|
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_success} Gateway Availible${post_string}" || \
|
||||||
echo -e "${pre_failure} Gateway Unavailible${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
|
||||||
|
|
||||||
|
|
53
utils/weather.sh
Normal file → Executable file
53
utils/weather.sh
Normal file → Executable file
@ -1,15 +1,22 @@
|
|||||||
#!/usr/bin/env bash
|
#!/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}"
|
# Weather - Prints current and forcasted weather in current location #
|
||||||
locale=$(echo "$LANG" | cut -c1-2)
|
######################################################################
|
||||||
unset configuredClient
|
# 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
|
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
|
# Determines which HTTP get tool to use, based on what's installed
|
||||||
getConfiguredClient()
|
getConfiguredClient() {
|
||||||
{
|
unset configuredClient
|
||||||
if command -v curl &>/dev/null; then
|
if command -v curl &>/dev/null; then
|
||||||
configuredClient="curl"
|
configuredClient="curl"
|
||||||
elif command -v wget &>/dev/null; then
|
elif command -v wget &>/dev/null; then
|
||||||
@ -24,9 +31,8 @@ getConfiguredClient()
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
## Allows to call the users configured client without if statements everywhere
|
# Make HTTP request, using installed HTTP client
|
||||||
httpGet()
|
httpGet() {
|
||||||
{
|
|
||||||
case "$configuredClient" in
|
case "$configuredClient" in
|
||||||
curl) curl -A curl -s "$@" ;;
|
curl) curl -A curl -s "$@" ;;
|
||||||
wget) wget -qO- "$@" ;;
|
wget) wget -qO- "$@" ;;
|
||||||
@ -35,8 +41,7 @@ httpGet()
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
getIPWeather()
|
getIPWeather() {
|
||||||
{
|
|
||||||
country=$(httpGet ipinfo.io/country) > /dev/null ## grab the country
|
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
|
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
|
city=$(httpGet ipinfo.io/city) > /dev/null
|
||||||
@ -44,26 +49,24 @@ getIPWeather()
|
|||||||
if [[ $(echo "$region" | wc -w) == 2 ]];then
|
if [[ $(echo "$region" | wc -w) == 2 ]];then
|
||||||
region=$(echo "$region" | grep -Eo "[A-Z]*" | tr -d "[:space:]")
|
region=$(echo "$region" | grep -Eo "[A-Z]*" | tr -d "[:space:]")
|
||||||
fi
|
fi
|
||||||
httpGet $locale.wttr.in/"$city","$region""$1"
|
httpGet $locale.$wttrHost/"$city","$region""$1"
|
||||||
else ## otherwise we are going to use longitude and latitude
|
else ## otherwise we are going to use longitude and latitude
|
||||||
location=$(httpGet ipinfo.io/loc) > /dev/null
|
location=$(httpGet ipinfo.io/loc) > /dev/null
|
||||||
httpGet $locale.wttr.in/"$location""$1"
|
httpGet $locale.$wttrHost/"$location""$1"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
getLocationWeather()
|
getLocationWeather() {
|
||||||
{
|
|
||||||
args=$(echo "$@" | tr " " + )
|
args=$(echo "$@" | tr " " + )
|
||||||
httpGet $locale.wttr.in/"${args}"
|
httpGet $locale.$wttrHost/"${args}"
|
||||||
}
|
}
|
||||||
|
|
||||||
checkInternet()
|
# Check connected to internet
|
||||||
{
|
checkInternet() {
|
||||||
httpGet github.com > /dev/null 2>&1 || { echo "Error: no active internet connection" >&2; return 1; } # query github with a get request
|
httpGet github.com > /dev/null 2>&1 || { echo "Error: no active internet connection" >&2; return 1; }
|
||||||
}
|
}
|
||||||
|
|
||||||
usage()
|
usage() {
|
||||||
{
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
Weather
|
Weather
|
||||||
Description: Provides a 3 day forecast on your current location or a specified location.
|
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
|
h) usage
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
v) echo "Version $currentVersion"
|
v) echo "Version $scriptVersion"
|
||||||
exit 0
|
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
|
update || exit 1
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
|
Loading…
Reference in New Issue
Block a user