mirror of
https://github.com/Lissy93/dotfiles.git
synced 2024-11-21 23:13:09 +01:00
Resolves conflicts
This commit is contained in:
commit
5accb2bf44
71
.github/README.md
vendored
71
.github/README.md
vendored
@ -10,6 +10,7 @@
|
||||
## Contents
|
||||
- [Introduction to Dotfiles](#intro)
|
||||
- [What are dotfiles?](#what-are-dotfiles)
|
||||
- [Why do you need them?](#why-you-need-a-dotfile-system)
|
||||
- [XDG Directories](#xdg-directories)
|
||||
- [Containerized Userspace](#containerized-userspace)
|
||||
- [Security](#security)
|
||||
@ -24,6 +25,7 @@
|
||||
- [Aliases](#aliases)
|
||||
- [Packages](#packages)
|
||||
- [System Preferences](#system-preferences)
|
||||
- [Config Files](#config-files)
|
||||
- [ZSH](#zsh)
|
||||
- [Vim](#vim)
|
||||
- [Tmux](#tmux)
|
||||
@ -47,6 +49,14 @@ It's not hard to create your own dotfile repo, it's great fun and you'll learn a
|
||||
|
||||
---
|
||||
|
||||
### Why you need a Dotfile System?
|
||||
|
||||
By using a dotfile system, you can set up a brand new machine in minutes, keep settings synced across multiple environments, easily roll-back changes, and never risk loosing your precious config files.
|
||||
|
||||
This is important, because as a developer, we usually have multiple machines (work / personal laptops, cloud servers, virtual machines, some GH codespaces, maybe a few Pis, etc). And you're much more productive when working from a familiar environment, with all your settings applied just how you like them. But it would be a pain to have to set each of these machines up manually. Even if you've only got a single device, how much time would you loose if your data became lost or corrupted?
|
||||
|
||||
---
|
||||
|
||||
### 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/config/zsh.zshenv) file.
|
||||
@ -601,19 +611,19 @@ Alias | Description
|
||||
|
||||
### Packages
|
||||
|
||||
The dotfile installation script can also, detect which system and environemnt you're running, and optionally prompt to install packages and applications.
|
||||
The dotfile installation script can also, detect which system and environemnt you're running, and optionally prompt to update and install listed packages and applications.
|
||||
|
||||
Package lists are stored in [`scripts/installs/`](https://github.com/Lissy93/dotfiles/tree/master/installs) directory, with separate files for different OSs. The install script will [pick the appropriate file](https://github.com/Lissy93/dotfiles/blob/22c6a04fdb22c140448b7d15ef8187c3a424ab47/install.sh#L243-L260) based on your distro.
|
||||
|
||||
You will be prompted before anything is installed. Be sure to remove / comment out anything you do not need before proceeding.
|
||||
|
||||
- Linux (desktop): [`flatpak.sh`](https://github.com/Lissy93/dotfiles/blob/master/scripts/installs/flatpak.sh) - Desktop apps can be installed on Linux systems via [Flatpack](https://flatpak.org/)
|
||||
- Mac OS: [`.Brewfile`](https://github.com/Lissy93/dotfiles/blob/master/scripts/installs/Brewfile) - Mac apps installed via [Homebrew](https://brew.sh/)
|
||||
- Mac OS: [`Brewfile`](https://github.com/Lissy93/dotfiles/blob/master/scripts/installs/Brewfile) - Mac apps installed via [Homebrew](https://brew.sh/)
|
||||
- Arch (and Arch-based systems, like Manjaro): [`arch-pacman.sh`](https://github.com/Lissy93/dotfiles/blob/master/scripts/installs/arch-pacman.sh) - Arch CLI apps installed via [pacman](https://wiki.archlinux.org/title/Pacman)
|
||||
- Debian (and Debian-based systems, like Ubuntu): [`apt.sh`](https://github.com/Lissy93/dotfiles/blob/master/scripts/installs/apt.sh) - Debian CLI apps installed via [apt](https://wiki.debian.org/Apt)
|
||||
- Alpine: [`apk.sh`](https://github.com/Lissy93/dotfiles/blob/master/scripts/installs/apk.sh) - Alpine CLI apps installed via [apk](https://docs.alpinelinux.org/user-handbook/0.1a/Working/apk.html)
|
||||
- Debian (and Debian-based systems, like Ubuntu): [`debian-apt.sh`](https://github.com/Lissy93/dotfiles/blob/master/scripts/installs/debian-apt.sh) - Debian CLI apps installed via [apt](https://wiki.debian.org/Apt)
|
||||
- Alpine: [`aplpine-apk.sh`](https://github.com/Lissy93/dotfiles/blob/master/scripts/installs/aplpine-apk.sh) - Alpine CLI apps installed via [apk](https://docs.alpinelinux.org/user-handbook/0.1a/Working/apk.html)
|
||||
|
||||
The following section lists different apps that may be installed for each category:
|
||||
The following section lists apps installed for each category:
|
||||
|
||||
#### Command Line
|
||||
|
||||
@ -644,6 +654,7 @@ The following section lists different apps that may be installed for each catego
|
||||
- [`jq`](https://github.com/stedolan/jq) - JSON parser
|
||||
- [`most`](https://www.jedsoft.org/most/) - Multi-window scroll pager _(better less)_
|
||||
- [`procs`](https://github.com/dalance/procs) - Advanced process viewer _(better ps)_
|
||||
- [`rip`](https://github.com/nivekuil/rip) - Safe and ergonomic deletion tool _(better rm)_
|
||||
- [`ripgrep`](https://github.com/BurntSushi/ripgrep) - Searching within files _(better grep)_
|
||||
- [`rsync`](https://rsync.samba.org/) - Fast, incremental file transfer
|
||||
- [`scc`](https://github.com/boyter/scc) - Count lines of code _(better cloc)_
|
||||
@ -668,6 +679,7 @@ The following section lists different apps that may be installed for each catego
|
||||
- [`gping`](https://github.com/orf/gping) - Interactive ping tool, with graph
|
||||
- [`ncdu`](https://dev.yorhel.nl/ncdu) - Disk usage analyzer and monitor _(better du)_
|
||||
- [`speedtest-cli`](https://github.com/sivel/speedtest-cli) - Command line speed test utility
|
||||
- [`dog`](https://github.com/ogham/dog) - DNS lookup client _(better dig)_
|
||||
|
||||
</details>
|
||||
|
||||
@ -691,6 +703,7 @@ The following section lists different apps that may be installed for each catego
|
||||
- [`httpie`](https://httpie.io/) - HTTP / API testing testing client
|
||||
- [`lazydocker`](https://github.com/jesseduffield/lazydocker) - Full Docker management app
|
||||
- [`lazygit`](https://github.com/jesseduffield/lazygit) - Full Git managemtne app
|
||||
- [`kdash`](https://github.com/kdash-rs/kdash/) - Kubernetes dashboard app
|
||||
|
||||
</details>
|
||||
|
||||
@ -887,9 +900,29 @@ If you choose to run any of these scripts, take care to read it through first, t
|
||||
|
||||
---
|
||||
|
||||
### Config Files
|
||||
|
||||
All config files are located in [`./config/`](https://github.com/Lissy93/dotfiles/tree/master/config/).
|
||||
|
||||
Configurations for ZSH, Tmux, Vim, and a few others are in dedicated sub-directories (covered in the section below). While all other, small config files are located in the [`./config/general`](https://github.com/Lissy93/dotfiles/tree/master/config/general) direcroty, and include:
|
||||
|
||||
- [`.bashrc`](https://github.com/Lissy93/dotfiles/blob/master/config/general/.bashrc)
|
||||
- [`.curlrc`](https://github.com/Lissy93/dotfiles/blob/master/config/general/.curlrc)
|
||||
- [`.gemrc`](https://github.com/Lissy93/dotfiles/blob/master/config/general/.gemrc)
|
||||
- [`.gitconfig`](https://github.com/Lissy93/dotfiles/blob/master/config/general/.gitconfig)
|
||||
- [`.gitignore_global`](https://github.com/Lissy93/dotfiles/blob/master/config/general/.gitignore_global)
|
||||
- [`.wgetrc`](https://github.com/Lissy93/dotfiles/blob/master/config/general/.wgetrc)
|
||||
- [`dnscrypt-proxy.toml`](https://github.com/Lissy93/dotfiles/blob/master/config/general/dnscrypt-proxy.toml)
|
||||
- [`gpg.conf`](https://github.com/Lissy93/dotfiles/blob/master/config/general/gpg.conf)
|
||||
- [`starship.toml`](https://github.com/Lissy93/dotfiles/blob/master/config/general/starship.toml)
|
||||
|
||||
---
|
||||
|
||||
### ZSH
|
||||
|
||||
// TODO
|
||||
[ZSH](https://www.zsh.org/) (or Z shell) is a UNIX command interpriter (shell), similar to and compatible with Korn shell (KSH). Compared to Bash, it includes many useful features and enchanements, notably in the CLI editor, advanced behaviour customization options, filename globbing, recursive path expansion, completion, and it's easyily extandable through plugins. For more info about ZSH, see the [Introduction to ZSH Docs](https://zsh.sourceforge.io/FAQ/zshfaq01.html).
|
||||
|
||||
My ZSH config is located in [`config/zsh/`](https://github.com/Lissy93/dotfiles/tree/master/config/zsh)
|
||||
|
||||
---
|
||||
|
||||
@ -1110,3 +1143,29 @@ bash <(curl -s https://raw.githubusercontent.com/Lissy93/dotfiles/master/utils/w
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
<!-- License + Copyright -->
|
||||
<p align="center">
|
||||
<i>© <a href="https://aliciasykes.com">Alicia Sykes</a> 2022</i><br>
|
||||
<i>Licensed under <a href="https://gist.github.com/Lissy93/143d2ee01ccc5c052a17">MIT</a></i><br>
|
||||
<a href="https://github.com/lissy93"><img src="https://i.ibb.co/4KtpYxb/octocat-clean-mini.png" /></a><br>
|
||||
<sup>Thanks for visiting :)</sup>
|
||||
</p>
|
||||
|
||||
<!-- Dinosaur -->
|
||||
<!--
|
||||
. - ~ ~ ~ - .
|
||||
.. _ .-~ ~-.
|
||||
//| \ `..~ `.
|
||||
|| | } } / \ \
|
||||
(\ \\ \~^..' | } \
|
||||
\`.-~ o / } | / \
|
||||
(__ | / | / `.
|
||||
`- - ~ ~ -._| /_ - ~ ~ ^| /- _ `.
|
||||
| / | / ~-. ~- _
|
||||
|_____| |_____| ~ - . _ _~_-_
|
||||
-->
|
||||
|
||||
|
@ -1,27 +1,44 @@
|
||||
Lissy93/Dotfiles - Config ⚙️
|
||||
----------------------------
|
||||
|
||||
List of configuration files for various apps, utils and systems.
|
||||
|
||||
└── config/
|
||||
├── tmux/ # Tmux (multiplexer) config
|
||||
├── vim/ # Vim (text editor) config
|
||||
├── zsh/ # ZSH (shell) config
|
||||
├── macos/ # Config files for Mac-specific apps
|
||||
└── desktop-apps/ # Config files for GUI apps
|
||||
|
||||
|
||||
Generic configs which are used across all systems (e.g. .gitconfig, .bashrc, .wgetrc)
|
||||
are stored in the root of the config directory, whereas groups of config files, for like
|
||||
ZSH, Vim, Tmux etc are organized into directories.
|
||||
files which are only used on
|
||||
certain systems (like MacOS) or by certain applications (like Firefox's user.js) are
|
||||
kept in category-specific directories (e.g. macos, desktop-apps, gnome, etc).
|
||||
> All configuration files for apps, utils and services used across *nix-based systems
|
||||
|
||||
The location on disk that files should be symlinked to is specified in symlinks.yml
|
||||
Run the install.sh script to apply settings based on system type and user preferences
|
||||
|
||||
Important: Take care to read through files thoroughly before applying any changes.
|
||||
Important: Take care to read through files thoroughly before applying any changes
|
||||
And always make a backup of your pre-existing config files before over-writing them
|
||||
|
||||
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Source: https://github.com/Lissy93/dotfiles/tree/master/scripts ┃
|
||||
┃ Licensed under MIT (C) Alicia Sykes 2022 <https://aliciasykes.com> ┃
|
||||
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
---
|
||||
|
||||
config/
|
||||
├── git/ # Git (version control) config files
|
||||
├── tmux/ # Tmux (multiplexer) config, sessions, bindings and plugin list
|
||||
├── vim/ # Vim (text editor) config, key bindings and plugin list
|
||||
├── zsh/ # ZSH (shell) settings, aliases, utils and plugin list
|
||||
├── general/ # All other config files for *nix-based systems
|
||||
│ ├── .bashrc
|
||||
│ ├── .gemrc
|
||||
│ ├── .gitignore_global
|
||||
│ ├── .gpg.conf
|
||||
│ ├── .curlrc
|
||||
│ ├── .gitconfig
|
||||
│ ├── .wgetrc
|
||||
│ └── dnscrypt-proxy.toml
|
||||
├── macos/ # Configs for apps only used on MacOS
|
||||
│ ├── launchpad.yml # The layout and folder structure of launchpad screen
|
||||
│ ├── skhdrc # Hot keys for managing TWM
|
||||
│ └── yabairc # Settings for tiling window manager
|
||||
├── desktop-apps/ # Config files for GUI applications
|
||||
│ ├── firefox.user.js # Firefox (browser)
|
||||
│ └── thunderbird.user.js # Thunderbird (mail client)
|
||||
├── themes/ # Color themes for various apps
|
||||
│ ├── iterm #
|
||||
│ └── warp #
|
||||
└── README.txt
|
||||
|
||||
Full source and documentation: https://github.com/Lissy93/dotfiles
|
||||
Licensed under MIT (C) Alicia Sykes 2022 <https://aliciasykes.com>
|
||||
|
@ -1,9 +0,0 @@
|
||||
|
||||
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
|
75
config/gnome/gnome-extensions.toml
Normal file
75
config/gnome/gnome-extensions.toml
Normal file
@ -0,0 +1,75 @@
|
||||
[advanced-alt-tab-window-switcher]
|
||||
super-key-mode=1
|
||||
switcher-popup-monitor=2
|
||||
switcher-popup-position=2
|
||||
switcher-popup-preview-selected=1
|
||||
win-switcher-popup-titles=2
|
||||
win-switcher-popup-ws-indexes=false
|
||||
|
||||
[arch-update]
|
||||
always-visible=false
|
||||
boot-wait=20
|
||||
check-interval=600
|
||||
howmuch=0
|
||||
show-count=true
|
||||
use-buildin-icons=false
|
||||
|
||||
[burn-my-windows]
|
||||
close-preview-effect=''
|
||||
destroy-dialogs=true
|
||||
energize-a-open-effect=false
|
||||
energize-b-open-effect=false
|
||||
fire-animation-time=880
|
||||
fire-close-effect=false
|
||||
flame-scale=0.8
|
||||
hexagon-animation-time=500
|
||||
hexagon-open-effect=true
|
||||
hexagon-scale=2.5
|
||||
matrix-animation-time=1142
|
||||
matrix-close-effect=false
|
||||
matrix-scale=15
|
||||
open-preview-effect=''
|
||||
snap-close-effect=false
|
||||
trex-close-effect=false
|
||||
tv-close-effect=true
|
||||
tv-open-effect=true
|
||||
|
||||
[com/github/hermes83/compiz-windows-effect]
|
||||
friction=3.5
|
||||
mass=75.0
|
||||
maximize-effect=true
|
||||
resize-effect=false
|
||||
speedup-factor-divider=14.0
|
||||
spring-k=8.5
|
||||
x-tiles=4.0
|
||||
y-tiles=4.0
|
||||
|
||||
[dash-to-dock]
|
||||
apply-custom-theme=true
|
||||
background-opacity=0.8
|
||||
dash-max-icon-size=58
|
||||
dock-position='LEFT'
|
||||
height-fraction=0.76
|
||||
preferred-monitor=0
|
||||
preview-size-scale=0.8
|
||||
|
||||
[desktop-cube]
|
||||
appgrid-transition-time=0
|
||||
enable-desktop-dragging=false
|
||||
enable-desktop-edge-switch=false
|
||||
enable-overview-edge-switch=false
|
||||
enable-panel-dragging=false
|
||||
inactive-workpace-opacity=167
|
||||
overview-transition-time=0
|
||||
per-monitor-perspective=true
|
||||
window-parallax=0.3
|
||||
workspace-transition-time=0
|
||||
|
||||
[user-theme]
|
||||
name='Sweet-Dark'
|
||||
|
||||
[vitals]
|
||||
position-in-panel=2
|
||||
|
||||
[window-list]
|
||||
grouping-mode='auto'
|
@ -1,3 +1,10 @@
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" Sets up all Vim / Neovim Plugins via Vim Plug "
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" Installs and imports Vim Plug, updates and loads listed plugins "
|
||||
" For more info, see docs at: https://github.com/lissy93/dotfiles "
|
||||
" Licensed under MIT (C) Alicia Sykes 2022 <https://aliciasykes.com> "
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
" Set paths for plug.vim and directory for plugins
|
||||
if has('nvim')
|
||||
|
@ -1,63 +1,82 @@
|
||||
######################################################################
|
||||
# ~/.config/zsh/.zshrc #
|
||||
######################################################################
|
||||
# Instructions to be executed when a new ZSH session is launched #
|
||||
# Imports all plugins, aliases, helper functions, and configurations #
|
||||
# #
|
||||
# After editing, re-source .zshrc for new changes to take effect #
|
||||
# For docs and more info, see: https://github.com/lissy93/dotfiles #
|
||||
######################################################################
|
||||
# Licensed under MIT (C) Alicia Sykes 2022 <https://aliciasykes.com> #
|
||||
######################################################################
|
||||
|
||||
# Directory for all-things ZSH config
|
||||
zsh_dir=${${ZDOTDIR}:-$HOME/.config/zsh}
|
||||
utils_dir=~/.config/utils
|
||||
utils_dir="${XDG_CONFIG_HOME}/utils"
|
||||
|
||||
# If not running interactively, don't do anything
|
||||
[[ $- != *i* ]] && return
|
||||
|
||||
# Import alias files
|
||||
source ${zsh_dir}/aliases/general.zsh
|
||||
source ${zsh_dir}/aliases/git.zsh
|
||||
source ${zsh_dir}/aliases/node-js.zsh
|
||||
source ${zsh_dir}/aliases/flutter.zsh
|
||||
source ${zsh_dir}/aliases/alias-tips.zsh
|
||||
# Source all ZSH config files (if present)
|
||||
if [[ -d $zsh_dir ]]; then
|
||||
# Import alias files
|
||||
source ${zsh_dir}/aliases/general.zsh
|
||||
source ${zsh_dir}/aliases/git.zsh
|
||||
source ${zsh_dir}/aliases/node-js.zsh
|
||||
source ${zsh_dir}/aliases/flutter.zsh
|
||||
source ${zsh_dir}/aliases/alias-tips.zsh
|
||||
|
||||
# Setup Antigen, and import plugins
|
||||
source ${zsh_dir}/helpers/setup-antigen.zsh
|
||||
source ${zsh_dir}/helpers/import-plugins.zsh
|
||||
source ${zsh_dir}/helpers/misc-stuff.zsh
|
||||
# Setup Antigen, and import plugins
|
||||
source ${zsh_dir}/helpers/setup-antigen.zsh
|
||||
source ${zsh_dir}/helpers/import-plugins.zsh
|
||||
source ${zsh_dir}/helpers/misc-stuff.zsh
|
||||
|
||||
# Configure ZSH stuff
|
||||
source ${zsh_dir}/lib/colors.zsh
|
||||
source ${zsh_dir}/lib/cursor.zsh
|
||||
source ${zsh_dir}/lib/history.zsh
|
||||
source ${zsh_dir}/lib/surround.zsh
|
||||
source ${zsh_dir}/lib/completion.zsh
|
||||
source ${zsh_dir}/lib/term-title.zsh
|
||||
source ${zsh_dir}/lib/navigation.zsh
|
||||
source ${zsh_dir}/lib/expansions.zsh
|
||||
source ${zsh_dir}/lib/key-bindings.zsh
|
||||
# Configure ZSH stuff
|
||||
source ${zsh_dir}/lib/colors.zsh
|
||||
source ${zsh_dir}/lib/cursor.zsh
|
||||
source ${zsh_dir}/lib/history.zsh
|
||||
source ${zsh_dir}/lib/surround.zsh
|
||||
source ${zsh_dir}/lib/completion.zsh
|
||||
source ${zsh_dir}/lib/term-title.zsh
|
||||
source ${zsh_dir}/lib/navigation.zsh
|
||||
source ${zsh_dir}/lib/expansions.zsh
|
||||
source ${zsh_dir}/lib/key-bindings.zsh
|
||||
fi
|
||||
|
||||
# Import utility functions
|
||||
source ${utils_dir}/transfer.sh
|
||||
source ${utils_dir}/matrix.sh
|
||||
source ${utils_dir}/hr.sh
|
||||
source ${utils_dir}/web-search.sh
|
||||
source ${utils_dir}/am-i-online.sh
|
||||
source ${utils_dir}/welcome-banner.sh
|
||||
source ${utils_dir}/color-map.sh
|
||||
if [[ -d $utils_dir ]]; then
|
||||
source ${utils_dir}/transfer.sh
|
||||
source ${utils_dir}/matrix.sh
|
||||
source ${utils_dir}/hr.sh
|
||||
source ${utils_dir}/web-search.sh
|
||||
source ${utils_dir}/am-i-online.sh
|
||||
source ${utils_dir}/welcome-banner.sh
|
||||
source ${utils_dir}/color-map.sh
|
||||
fi
|
||||
|
||||
# Import P10k config for command prompt, run `p10k configure` or edit
|
||||
[[ ! -f ${zsh_dir}/.p10k.zsh ]] || source ${zsh_dir}/.p10k.zsh
|
||||
|
||||
# Add Brew to path, if installed and on MacOS
|
||||
if [ "$(uname -s)" = "Darwin" ] && [[ -d /opt/homebrew/bin ]]; then
|
||||
# MacOS-specific services
|
||||
if [ "$(uname -s)" = "Darwin" ]; then
|
||||
# Add Brew to path, if it's installed
|
||||
if [[ -d /opt/homebrew/bin ]]; then
|
||||
export PATH=/opt/homebrew/bin:$PATH
|
||||
fi
|
||||
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
|
||||
# If using iTerm, import the shell integration if availible
|
||||
if [[ -f "${XDG_CONFIG_HOME}/zsh/.iterm2_shell_integration.zsh" ]]; then
|
||||
source "${XDG_CONFIG_HOME}/zsh/.iterm2_shell_integration.zsh"
|
||||
fi
|
||||
|
||||
# And Android SDK to path, if within Library direcroty
|
||||
if [ "$(uname -s)" = "Darwin" ] && [[ -d "${HOME}/Library/Android/" ]]; then
|
||||
# Append the Android SDK locations to path
|
||||
if [[ -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
|
||||
fi
|
||||
|
||||
# Add Zoxide (for cd, quick jump) to shell
|
||||
|
36
config/zsh/README.txt
Normal file
36
config/zsh/README.txt
Normal file
@ -0,0 +1,36 @@
|
||||
Lissy93/Dotfiles - ZSH Config ⚙️
|
||||
-------------------------------
|
||||
|
||||
> My configuration files for Z Shell
|
||||
|
||||
config/zsh/
|
||||
├── .p10k.zsh Configuration for the PowerLevel10K ZSH prompt
|
||||
├── .zlogin Startup tasks, executed when the shell is launched
|
||||
├── .zlogout Cleanup tasks, executed when the shell is exited
|
||||
├── .zshenv Core environmental variables, used to configure file locations for dotfiles
|
||||
├── .zshrc Entry point for ZSH config, here all the other files are imported
|
||||
├── aliases/
|
||||
│ ├── alias-tips.zsh Shows hint when there's an available short-hand alias for a command
|
||||
│ ├── flutter.zsh Aliases, shortcuts and helper functions for Flutter development
|
||||
│ ├── general.zsh General aliases and short functions for common CLI tasks
|
||||
│ ├── git.zsh Aliases, shortcuts and helper functions for working with Git
|
||||
│ └── node-js.zsh Aliases, shortcuts and helper functions for JS/ Node.js development
|
||||
├── helpers/
|
||||
│ ├── import-plugins.zsh Installation, updating and importing of all ZSH plugins, via Antigen
|
||||
│ ├── misc-stuff.zsh
|
||||
│ └── setup-antigen.zsh Installs, and sets up Antigen, which is used for plugin management
|
||||
└── lib/
|
||||
├── colors.zsh Define colors for listing various file types
|
||||
├── completion.zsh Configure completion and fuzzy matching settings
|
||||
├── cursor.zsh Set cursor color, behaviour and key bindings
|
||||
├── expansions.zsh Expands all glob expressions, subcommands and aliases
|
||||
├── history.zsh Configure history settings, file size, age, etc
|
||||
├── key-bindings.zsh Set key bindings, and keyboard shortcuts
|
||||
├── navigation.zsh Settings for jumping around directories
|
||||
├── surround.zsh Match parentheses/quotes around strings
|
||||
└── term-title.zsh Show current command as terminal title (Xterm)
|
||||
|
||||
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Full source and documentation: https://github.com/Lissy93/dotfiles ┃
|
||||
┃ Licensed under MIT (C) Alicia Sykes 2022 <https://aliciasykes.com> ┃
|
||||
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
@ -31,7 +31,7 @@ alias lm='ls -tA -1' # List files sorted by last modified
|
||||
alias lb='ls -lhSA' # List all files sorted by biggest
|
||||
alias lr='ls -R' # List files in sub-directories, recursivley
|
||||
alias lf='ls -A | grep' # Use grep to find files
|
||||
alias ln='find . -type f | wc -l' # Shows number of files
|
||||
alias lc='find . -type f | wc -l' # Shows number of files
|
||||
alias ld='ls -l | grep "^d"' # List directories only
|
||||
|
||||
# If exa installed, then use exa for some ls commands
|
||||
|
@ -124,6 +124,9 @@ function clone {
|
||||
|
||||
# Clone repo
|
||||
git clone $REPO_URL $target;
|
||||
|
||||
# cd into newly cloned directory
|
||||
cd "$(basename "$_" .git)"
|
||||
}
|
||||
|
||||
# Sync fork against upstream repo
|
||||
|
@ -4,20 +4,27 @@ Lissy93/Dotfiles - Scripts 📜
|
||||
|
||||
A set of Bash scripts for automating the setup and management of various systems.
|
||||
|
||||
dotfiles/scripts/
|
||||
├── installs/
|
||||
│ ├── arch-pacman.sh Package installations using via for Arch-based systems
|
||||
│ ├── Brewfile Packages to be installed via Homebrew on MacOS
|
||||
│ ├── flatpak.sh Desktop apps to be installed on Linux GUI systems via Flatpak
|
||||
│ ├── alpine-pkg.sh Package installations using pkg for Alpine-based systems
|
||||
│ └── prerequisites.sh Cross-distro installation of prerequisite core packages
|
||||
├── linux/
|
||||
│ └── dconf-prefs.sh Apply preferences to (mostly GNOME apps) via dconf utility
|
||||
└── macos-setup/
|
||||
├── macos-apps.sh Apply preferences to user applications (Finder, Mail, Terminal, etc)
|
||||
├── macos-prefs.sh Apply user MacOS preferences (spotlight, colors, behaviour, etc)
|
||||
└── macos-security.sh Apply essential MacOS security settings
|
||||
╭───────────────────────────┬─────────────────────────────────────────────────────────────────╮
|
||||
│ File Path │ Description │
|
||||
╞═══════════════════════════╪═════════════════════════════════════════════════════════════════╡
|
||||
│ dotfiles/scripts/ │ │
|
||||
│ ├── installs/ │ │
|
||||
│ │ ├── arch-pacman.sh │ Package installations using via for Arch-based systems │
|
||||
│ │ ├── Brewfile │ Packages to be installed via Homebrew on MacOS │
|
||||
│ │ ├── flatpak.sh │ Desktop apps to be installed on Linux GUI systems via Flatpak │
|
||||
│ │ ├── alpine-pkg.sh │ Package installations using pkg for Alpine-based systems │
|
||||
│ │ ├── debian-apt.sh │ Package installs via apt-get for Ubuntu / Debain-based systems │
|
||||
│ │ └── prerequisites.sh │ Cross-distro installation of prerequisite core packages │
|
||||
│ ├── linux/ │ │
|
||||
│ │ └── dconf-prefs.sh │ Apply preferences to (mostly GNOME apps) via dconf utility │
|
||||
│ └── macos-setup/ │ │
|
||||
│ ├── macos-apps.sh │ Apply preferences to user applications │
|
||||
│ ├── macos-prefs.sh │ Apply user MacOS system preferences │
|
||||
│ └── macos-security.sh │ Apply essential MacOS security settings │
|
||||
╰───────────────────────────┴─────────────────────────────────────────────────────────────────╯
|
||||
|
||||
|
||||
Source: https://github.com/Lissy93/dotfiles/tree/master/scripts
|
||||
Licensed under MIT (C) Alicia Sykes 2022 <https://aliciasykes.com>
|
||||
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Source: https://github.com/Lissy93/dotfiles/tree/master/scripts ┃
|
||||
┃ Licensed under MIT (C) Alicia Sykes 2022 <https://aliciasykes.com> ┃
|
||||
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
@ -53,10 +53,10 @@ brew 'most' # Multi-window scroll pager (better less)
|
||||
brew 'procs' # Advanced process viewer (better ps)
|
||||
brew 'ripgrep' # Searching within files (better grep)
|
||||
brew 'rsync' # Fast incremental file transfer
|
||||
brew 'scc' # Count lines of code (better cloc)
|
||||
brew 'sd' # RegEx find and replace (better sed)
|
||||
brew 'thefuck' # Auto-correct miss-typed commands
|
||||
brew 'tldr' # Community-maintained docs (better man)
|
||||
brew 'tokei' # Count lines of code (better cloc)
|
||||
brew 'tree' # Directory listings as tree structure
|
||||
brew 'trash-cli' # Record and restore removed files
|
||||
brew 'watch' # Run commands periorically
|
||||
|
13
scripts/installs/README.txt
Normal file
13
scripts/installs/README.txt
Normal file
@ -0,0 +1,13 @@
|
||||
Lissy93/Dotfiles - Scripts for Package Installs 📥
|
||||
-------------------------------------------------
|
||||
|
||||
Each of these scripts is used to automate the installation and updates of packages, across various OSs
|
||||
Specific usage instructions can be found in a comment, at the top of each file - read before running
|
||||
Files can either be run directly, or can be invoked (based on system type) when you run install.sh
|
||||
Be sure to check the contents of any file, and modify to your liking before executing anything
|
||||
Currently only MacOS, Arch-based systems, Debian-based systems and Windows are supported
|
||||
|
||||
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Source: https://github.com/Lissy93/dotfiles/tree/master/scripts ┃
|
||||
┃ Licensed under MIT (C) Alicia Sykes 2022 <https://aliciasykes.com> ┃
|
||||
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
@ -27,7 +27,6 @@ pacman_apps=(
|
||||
'aria2' # Resuming download util (better wget)
|
||||
'bat' # Output highlighting (better cat)
|
||||
'broot' # Interactive directory navigation
|
||||
'cloc' # Count lines of code in file / dir
|
||||
'ctags' # Indexing of file info + headers
|
||||
'diff-so-fancy' # Readable file compares (better diff)
|
||||
'duf' # Get info on mounted disks (better df)
|
||||
@ -44,6 +43,7 @@ pacman_apps=(
|
||||
'thefuck' # Auto-correct miss-typed commands
|
||||
'tealdeer' # Reader for command docs (better man)
|
||||
'tree' # Directory listings as tree structure
|
||||
'tokei' # Count lines of code (better cloc)
|
||||
'trash-cli' # Record and restore removed files
|
||||
'xsel' # Copy paste access to the X clipboard
|
||||
'zoxide' # Auto-learning navigation (better cd)
|
||||
|
@ -55,6 +55,7 @@ flatpak_apps=(
|
||||
'org.audacityteam.Audacity' # Sound editor
|
||||
'org.blender.Blender' # 3D modeling
|
||||
'org.darktable.Darktable' # Video editor
|
||||
'org.flameshot.Flameshot' # Screenshot tool
|
||||
'org.gimp.GIMP' # Picture editor
|
||||
'org.inkscape.Inkscape' # Vector editor
|
||||
'org.shotcut.Shotcut' # Video editor
|
||||
|
@ -135,5 +135,8 @@ apply_dconf '/org/gnome/evolution/' 'evolution' # Apply Evolution (mail clie
|
||||
apply_dconf '/org/gnome/gedit/preferences/' 'gedit' # Apply Gedit (text editor) settings
|
||||
apply_dconf '/org/gnome/gthumb/' 'gthumb' # Apply gthumb (image editor) settings
|
||||
apply_dconf '/org/gnome/todo/' 'todo' # Apply todo list app settings
|
||||
apply_dconf '/org/gnome/shell/extensions/' 'gnome-extensions'
|
||||
|
||||
# EOF
|
||||
# Run update command
|
||||
echo -e "\n${PRIMARY_COLOR}Reloading dconf database${RESET}"
|
||||
sudo dconf update
|
||||
|
@ -379,6 +379,9 @@ log_section "Dock and Launchpad"
|
||||
log_msg "Set dock position to left-hand side"
|
||||
defaults write com.apple.dock orientation left
|
||||
|
||||
log_msg "Remove default apps from the dock"
|
||||
defaults write com.apple.dock persistent-apps -array
|
||||
|
||||
log_msg "Add highlight effect to dock stacks"
|
||||
defaults write com.apple.dock mouse-over-hilite-stack -bool true
|
||||
|
||||
|
@ -11,22 +11,26 @@
|
||||
|
||||
# Symlink locations for files / directories
|
||||
- link:
|
||||
|
||||
# Essential configs (ZSH, Vim, Tmux)
|
||||
~/.zshenv: { path: config/zsh/.zshenv, force: true }
|
||||
${XDG_CONFIG_HOME}/zsh: config/zsh
|
||||
${XDG_CONFIG_HOME}/vim: config/vim
|
||||
${XDG_CONFIG_HOME}/nvim: config/vim
|
||||
${XDG_CONFIG_HOME}/tmux: config/tmux
|
||||
${XDG_CONFIG_HOME}/fish: config/fish
|
||||
|
||||
${XDG_CONFIG_HOME}/fish/config.fish: config/config.fish
|
||||
${XDG_DATA_HOME}/tmux/tpm: lib/tpm
|
||||
${XDG_DATA_HOME}/tmux/plugins/tpm: lib/tpm
|
||||
|
||||
# Utility config files
|
||||
${XDG_CONFIG_HOME}/bash/.bashrc: config/.bashrc
|
||||
${XDG_CONFIG_HOME}/git/.gitconfig: config/.gitconfig
|
||||
${XDG_CONFIG_HOME}/.gitignore_global: config/.gitignore_global
|
||||
${XDG_CONFIG_HOME}/.wgetrc: config/.wgetrc
|
||||
${XDG_CONFIG_HOME}/bash/.bashrc: config/general/.bashrc
|
||||
${XDG_CONFIG_HOME}/git/.gitconfig: config/general/.gitconfig
|
||||
${XDG_CONFIG_HOME}/.gitignore_global: config/general/.gitignore_global
|
||||
${XDG_CONFIG_HOME}/.wgetrc: config/general/.wgetrc
|
||||
|
||||
# Desktop Apps
|
||||
${XDG_CONFIG_HOME}/alacritty.yml: config/desktop-apps/alacritty.yml
|
||||
|
||||
# Bash utils
|
||||
${XDG_CONFIG_HOME}/utils: utils
|
||||
|
@ -5,7 +5,8 @@
|
||||
######################################################################
|
||||
# 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 #
|
||||
# Info about current disk usage, and recomendations is printed prior #
|
||||
# Tasks are split into 3 categories: recommended, optional, hardcore #
|
||||
# #
|
||||
# Includes the following tasks: #
|
||||
# - Cleaning package cache for various package managers #
|
||||
@ -20,3 +21,60 @@
|
||||
######################################################################
|
||||
# Licensed under MIT (C) Alicia Sykes 2022 <https://aliciasykes.com> #
|
||||
######################################################################
|
||||
|
||||
function fuds_check_space () {
|
||||
convert_to_gb() { echo "$(($1/1048576))" ; }
|
||||
storage_used="$(df --output=used / | tail -n 1)"
|
||||
storage_free="$(df --output=avail / | tail -n 1)"
|
||||
storage_total="$(($storage_used + $storage_free))"
|
||||
math_str="${storage_used} / ${storage_total} * 100"
|
||||
storage_percent="$(echo "${math_str}" | bc -l)"
|
||||
echo "Disk ${storage_percent%%.*}% full"
|
||||
echo "You're using $(convert_to_gb $storage_used) GB out of $(convert_to_gb $storage_total) GB."\
|
||||
"($(convert_to_gb $storage_free) GB free)."
|
||||
}
|
||||
|
||||
fuds_check_space
|
||||
|
||||
function fuds_clean_pacman () {
|
||||
# Clean pacman cache
|
||||
sudo pacman -Scc
|
||||
# Remove orphaned packages
|
||||
sudo pacman -Rns $(pacman -Qtdq)
|
||||
}
|
||||
|
||||
function fuds_clean_flatpak () {
|
||||
# Remove unused Flatpak packages
|
||||
flatpak uninstall --unused
|
||||
# Delete Flatpak package cache
|
||||
sudo rm -rfv /var/tmp/flatpak-cache-*
|
||||
}
|
||||
|
||||
function fuds_clean_apt () {
|
||||
# Removes obsolete packages
|
||||
sudo apt autoremove
|
||||
}
|
||||
|
||||
function fuds_remove_dead_snaps () {
|
||||
snap list --all | awk '/disabled/{print $1, $3}' |
|
||||
while read snapname revision; do
|
||||
snap remove "$snapname" --revision="$revision"
|
||||
done
|
||||
}
|
||||
|
||||
function fuds_journal_configure () {
|
||||
# Limit size of journal logs to 0.5 GB
|
||||
journalctl --vacuum-size=500M
|
||||
# Limit age of journal logs to 1 month
|
||||
journalctl --vacuum-time=4weeks
|
||||
}
|
||||
|
||||
function fuds_empty_trash () {
|
||||
# Delete the current users trash
|
||||
rm -rf ~/.local/share/Trash/*
|
||||
}
|
||||
|
||||
function fuds_clear_caches () {
|
||||
# Remove thumbnails for file viewers
|
||||
rm -rf ~/.cache/thumbnails/*
|
||||
}
|
||||
|
@ -21,14 +21,8 @@ getConfiguredClient () {
|
||||
fi
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
## Allows to call the users configured client without if statements everywhere
|
||||
httpGet()
|
||||
{
|
||||
=======
|
||||
# Call appropriate http get method
|
||||
httpGet() {
|
||||
>>>>>>> fe6ffbba54ca34778e1f4245466e1efc3394b896
|
||||
case "$configuredClient" in
|
||||
curl) curl -A curl -s "$@" ;;
|
||||
wget) wget -qO- "$@" ;;
|
||||
|
Loading…
Reference in New Issue
Block a user