Resolves conflicts

This commit is contained in:
Alicia Sykes 2022-12-24 18:27:55 +00:00
commit 5accb2bf44
28 changed files with 392 additions and 102 deletions

71
.github/README.md vendored
View File

@ -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 / } | / \
(__ | / | / `.
`- - ~ ~ -._| /_ - ~ ~ ^| /- _ `.
| / | / ~-. ~- _
|_____| |_____| ~ - . _ _~_-_
-->

View File

@ -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>

View File

@ -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

View 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'

View File

@ -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')

View File

@ -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
View 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> ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

View File

@ -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

View File

@ -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

View File

@ -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> ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

View File

@ -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

View 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> ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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/*
}

View File

@ -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- "$@" ;;