No description
AppData/Local | ||
dot_local | ||
private_dot_config | ||
private_dot_ssh | ||
WindowsPowerShell | ||
wsl/scripts | ||
.chezmoi.toml.tmpl | ||
.chezmoiignore | ||
.gitmodules | ||
dot_envrc | ||
dot_nix-channels | ||
dot_wslconfig | ||
dot_xonshrc | ||
executable_dot_aliasrc | ||
executable_dot_bashrc | ||
executable_dot_zshenv | ||
executable_dot_zshrc | ||
key.txt.asc | ||
pubkeys.asc | ||
README.md | ||
run_decrypt_private_key.ps1.tmpl | ||
run_onchange_add_ssh_pubkeys.ps1.tmpl |
Table of Contents
Dependencies
- If you have root, symlink
/bin/sh
to a copy ofdash
// 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.
- A patched version of San Francisco Mono is viable to
- There's a ton of other options here
- 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 addexec zsh
to your.bashrc
- 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
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
, worseapt-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
andmv
) - fd (aka fdfind) (
find
but better) - gdu (
du
/ncdu
but much faster)- btdu (
du
/ncdu
but for more advanced BTRFS setups)
- btdu (
- 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
- 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 withgpg -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 thisrun_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