Skip to content

Commit

Permalink
chore: setup cli rust stack
Browse files Browse the repository at this point in the history
  • Loading branch information
btkostner committed Feb 7, 2024
0 parents commit 66e410b
Show file tree
Hide file tree
Showing 9 changed files with 1,359 additions and 0 deletions.
43 changes: 43 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# dotfiles

This is a collection of my dotfiles for my setups. This is managed with Chezmoi and git and is built for MacOS but can also (hopefully) be used on Linux.

There are a couple of "patterns" or "groups" my setup usually follows:

1) CLI should be fast as f*ck. When I open a terminal, I want to be able to get to work. No waiting. No loading. Just. Work. :tm:.

- [Mise](https://mise.jdx.dev/) as a package / version manager. It has support for a ton of languages, and has support for `.tool-versions` files which is what our whole org uses. Highly recommended to use this instead of individual managers (like nvm) or installing languages globally.

- [Nushell](https://www.nushell.sh/) for my shell. This is a pretty recent change, but I like it. It has some pretty built in features like color for `ls`. One thing I'll say is it's taking a while to forget previous habits like always writing `ls -hal`.

- [Starship](https://starship.rs/) as my prompt. Again, it's fast and most important, it has sane defaults that I didn't have to spend a ton of time configuring. I have however made some changes to get things to work the way I like.

- [Zoxide](https://github.com/ajeetdsouza/zoxide) as a replacemenf for `cd`. Because it's nice to just do `cd dotfiles` instead of the full `cd Projects/github.com/btkostner/dotfiles`.

2) GUIs should be beautilful and functional, but _not_ take up all of my resources. So I try to use native (not electron) apps as much as I can. This includes:

- [1Password](https://1password.com/) as a password manager. I know it's not native, but it's the best password manager I've used. Syncs to everything. Multiple vaults to keep things organized. And it's got a CLI for when I'm in the terminal or scripting.

- [Alacritty](https://github.com/alacritty/alacritty) for a terminal emulator. It's _extremely_ fast, has a good amount of options, and it's easy to configure.

- [Arc](https://arc.net/) as my browser. It's easy to have multiple profiles for work and personal stuff. Having perminant tabs that don't take a ton of ram is awesome. And using the sidebar for tabs is chefs kiss.

- [Sketch](https://www.sketch.com/) for design work because it's native mac, has awesome export options, popular enough to have plugins and templates, and over all is just a great tool. Worth mentioning that I also use Inkscape because it's open source and dope.

- [Slack](https://slack.com/) for communicating with coworkers. Not my first choice, but not my decision.

- [TablePlus](https://tableplus.com/) for database management. It supports a ton of databases, it's a native mac app, and has some very nice right click menu options for data.

- [Transmit 5](https://panic.com/transmit/) for file transfer. It's an older app, but Panic makes great Mac apps and it connects to anything I need.

- [UTM](https://getutm.app/) for virtual machines. Honestly, I don't use virtual machines that much, but when I do, UTM is the best option I've found.

- [Zed](https://zed.dev/) for code editing. It's a native code editor that's _super_ fast. It doesn't support all of the languages I use yet, but it does most of what I need. For everything that Zed doesn't handle (or is too annoying for), I use VSCode.

3) I have some small utility apps that I use a ton. These include:

- [Tailscale](https://tailscale.com/) for my personal network VPN. It's installed on most of my servers, my nas, phone, etc. It's super simple and just works everywhere.

- [Soulver 3](https://soulver.app/) for quick calculations. If you've never used an app like this, I'd highly recommend having it in your toolbox. It's a much nicer calculator, with unit conversions, and variable support. It's like psudo code for math.

- [Swish](https://highlyopinionated.co/swish/) for window managment. I love tiling window managers, but also with a mix of floating windows. Swish is the best of both worlds and allows me to use this beautiful large macbook touchpad to it's full potential. Plus it supports gaps!
33 changes: 33 additions & 0 deletions dot_config/alacritty/alacritty.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
[colors.primary]
background = "#282c34"
foreground = "#abb2bf"

[colors.normal]
black = "#1e2127"
red = "#e06c75"
green = "#98c379"
yellow = "#d19a66"
blue = "#61afef"
magenta = "#c678dd"
cyan = "#56b6c2"
white = "#abb2bf"

[colors.bright]
black = "#5c6370"
red = "#e06c75"
green = "#98c379"
yellow = "#d19a66"
blue = "#61afef"
magenta = "#c678dd"
cyan = "#56b6c2"
white = "#ffffff"

[window]
padding.x = 4
padding.y = 32
dynamic_padding = true

decorations = "Transparent"

[shell]
program = "/opt/homebrew/bin/nu"
17 changes: 17 additions & 0 deletions dot_config/mise/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[settings]
always_keep_download = true
always_keep_install = true
env_file = "env"
asdf_compat = true
experimental = true
not_found_auto_install = false
trusted_config_paths = [
"~/Projects/github.com/btkostner",
"~/Projects/github.com/stordco"
]

[tools]
act = "latest"
elixir = "latest"
erlang = "latest"
zig = "latest"
225 changes: 225 additions & 0 deletions dot_config/starship.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,225 @@
# Get editor completions based on the config schema
"$schema" = 'https://starship.rs/config-schema.json'

# Inserts a blank line between shell prompts
add_newline = true

[character]
success_symbol = "[>](bold green)"
error_symbol = "[x](bold red)"
vimcmd_symbol = "[<](bold green)"

[git_commit]
tag_symbol = " tag "

[git_status]
ahead = ">"
behind = "<"
diverged = "<>"
renamed = "r"
deleted = "x"

[aws]
disabled = true

[azure]
disabled = true

[bun]
disabled = true

[c]
disabled = true

[cobol]
disabled = true

[conda]
disabled = true

[crystal]
disabled = true

[cmake]
disabled = true

[daml]
disabled = true

[dart]
disabled = true

[deno]
disabled = true

[dotnet]
disabled = true

[directory]
read_only = " ro"

[docker_context]
disabled = true

[elixir]
symbol = "elixir "

[elm]
disabled = true

[fennel]
disabled = true

[fossil_branch]
disabled = true

[gcloud]
symbol = "gcp "

[git_branch]
symbol = "git "

[golang]
symbol = "go "

[gradle]
disabled = true

[guix_shell]
disabled = true

[hg_branch]
disabled = true

[java]
disabled = true

[julia]
disabled = true

[kotlin]
disabled = true

[lua]
symbol = "lua "

[nodejs]
symbol = "nodejs "

[memory_usage]
disabled = true

[meson]
disabled = true

[nim]
disabled = true

[nix_shell]
disabled = true

[ocaml]
disabled = true

[opa]
disabled = true

[os.symbols]
Alpaquita = "alq "
Alpine = "alp "
Amazon = "amz "
Android = "andr "
Arch = "rch "
Artix = "atx "
CentOS = "cent "
Debian = "deb "
DragonFly = "dfbsd "
Emscripten = "emsc "
EndeavourOS = "ndev "
Fedora = "fed "
FreeBSD = "fbsd "
Garuda = "garu "
Gentoo = "gent "
HardenedBSD = "hbsd "
Illumos = "lum "
Linux = "lnx "
Mabox = "mbox "
Macos = "mac "
Manjaro = "mjo "
Mariner = "mrn "
MidnightBSD = "mid "
Mint = "mint "
NetBSD = "nbsd "
NixOS = "nix "
OpenBSD = "obsd "
OpenCloudOS = "ocos "
openEuler = "oeul "
openSUSE = "osuse "
OracleLinux = "orac "
Pop = "pop "
Raspbian = "rasp "
Redhat = "rhl "
RedHatEnterprise = "rhel "
Redox = "redox "
Solus = "sol "
SUSE = "suse "
Ubuntu = "ubnt "
Unknown = "unk "
Windows = "win "

[package]
disabled = true

[perl]
disabled = true

[php]
disabled = true

[pijul_channel]
disabled = true

[pulumi]
disabled = true

[purescript]
disabled = true

[python]
disabled = true

[raku]
disabled = true

[ruby]
disabled = true

[rust]
symbol = "rust "

[scala]
disabled = true

[spack]
disabled = true

[solidity]
disabled = true

[status]
symbol = "[x](bold red) "

[sudo]
symbol = "sudo "

[swift]
disabled = true

[typst]
disabled = true

[terraform]
symbol = "terraform "

[zig]
disabled = true
Loading

0 comments on commit 66e410b

Please sign in to comment.