67 lines
No EOL
4.1 KiB
Markdown
67 lines
No EOL
4.1 KiB
Markdown
# Table of Contents
|
|
1. [Dependencies](#dependencies)
|
|
1. [Optional Dependencies](#optional-dependencies)
|
|
2. [Instructions](#instructions)
|
|
1. [Modifications](#modifications)
|
|
3. [TODO](#todo)
|
|
|
|
# Dependencies
|
|
- If you have root, symlink `/bin/sh` to a copy of `dash` // This isn't necessary but it'll speed things up
|
|
- This repo was intended to be used with `chezmoi`. You can still make use of it manually but you'll have to move all the files to the right place yourself and set the permissions.
|
|
- Many programs here require a Nerd Font to be installed
|
|
- I'm using [Fira Code](https://github.com/ryanoasis/nerd-fonts/releases/latest/download/FiraCode.tar.xz).
|
|
- A patched version of [San Francisco Mono](https://github.com/shaunsingh/SFMono-Nerd-Font-Ligaturized) is viable to
|
|
- There's a ton of other options [here](https://github.com/ryanoasis/nerd-fonts/releases/latest/)
|
|
- This repo primarily targests ZSH as a shell, unfortunately you'll need root to install this and set it as default without using janky hacks
|
|
- If you do want to use janky hacks, I'm sure there's a way to get it through brew/spack, otherwise build it yourself, yeet it into `~/.local/bin` and add `exec zsh` to your `.bashrc`
|
|
## Optional Dependencies
|
|
- Cargo (package manager, should be able to install most of the stuff on this list without root)
|
|
- cargo-binstall (lets you download precompiled binaries for Rust apps)
|
|
- Go (package manager/programming language, should be able to install most of what cargo can't)
|
|
- brew (\*NIX)/scoop (Windows) (*very* optional package manager)
|
|
- Nala (Debian-based Linux) (package manager, don't use `apt`, worse `apt-get`, it's 2023)
|
|
- Zellij (terminal multiplexer, you can replace this with `tmux` but I don't have a config for that)
|
|
- fzf (fuzzy finder, my `.zshrc` should automatically download the binary, but its better if you install this with a package manager)
|
|
- Sheldon (plugin manager, currently only configured for zsh)
|
|
- pywal (lets you generate themes from an image)
|
|
- gpg-agent (lets you store GPG and SSH Keys)
|
|
- ssh-agent comes with ssh, and will also be configured by this repo but gpg agent is more flexible
|
|
- mcfly (history search)
|
|
- zoxide (`cd` but better)
|
|
- broot (`cd` but a TUI)
|
|
- starship (shell theme)
|
|
- lazygit (git TUI)
|
|
- lazydocker (docker TUI)
|
|
- duf (`df` but better (tells you how much disk space you have))
|
|
- delta (`diff` but better)
|
|
- uutils (rust reimplementation of GNU Coreutils, mostly useful for adding progress bars to `cp` and `mv`)
|
|
- fd (aka fdfind) (`find` but better)
|
|
- gdu (`du`/`ncdu` but *much* faster)
|
|
- btdu (`du`/`ncdu` but for more advanced BTRFS setups)
|
|
- viddy (`watch` but better)
|
|
- bat (`cat` but better)
|
|
- gping (`ping` but visual)
|
|
- lsd (`ls` but better)
|
|
- neovim (`vim` but better)
|
|
- ripgrep (`grep` but better)
|
|
- ag/silver searcher (`grep` for source code)
|
|
- bottom (`top` but better)
|
|
|
|
# Instructions
|
|
- To clone this repo run `chezmoi init https://gitea.argentumcation.com/mira/dotfiles`
|
|
- If you're not me, you're gonna have to make a few changes outlined in [Modifications](#modifications)
|
|
- Once done you should be able to run `chezmoi apply`
|
|
## Modifications
|
|
- Run `chezmoi cd` to enter the dir where Chezmoi stores files (`~/.local/share/chezmoi`)
|
|
- Several files are encrypted with my GPG key. If you're not someone with access to those, you'll need to delete the files prefixed with `encrypted_` , If you fork the repo be sure to change the public keys in the Chezmoi config
|
|
- `key.txt.asc` should be deleted as well, or replaced with a GPG private key encrypted with `gpg -a --symmetric`
|
|
- `pubkeys.asc` should contain your public GPG keys, if you have none, delete this file
|
|
-`run_onchange_add_ssh_pubkeys.ps1.tmpl` adds my pubkeys to `.ssh/authorized_keys`, if you don't want me to be able to ssh into your machine, delete this
|
|
- `run_decrypt_private_key.ps1.tmpl`is used to decrypt encrypted files. If you have none, delete this.
|
|
- Most configuration has been done for ZSH, with some copied over for Bash. There's a minimal config for PowerShell as well.
|
|
|
|
# TODO
|
|
- fix `gpg-agent.conf` so it works on WSL
|
|
- automate deleting stuff specific to me
|
|
- add gum
|
|
- install dependencies |