commit 23a3755402ada945d1e6e1c02baa58d112488386 Author: ArgentumCation Date: Tue Apr 25 01:12:31 2023 -0400 Initial commit diff --git a/.chezmoi.toml.tmpl b/.chezmoi.toml.tmpl new file mode 100644 index 0000000..495ffa8 --- /dev/null +++ b/.chezmoi.toml.tmpl @@ -0,0 +1,18 @@ +{{- $email := promptStringOnce . "email" "Email address" -}} +{{- $name := promptStringOnce . "name" "Name" -}} + +encryption = "gpg" + +[data] +email = {{ $email | quote }} +name = {{ $name | quote }} + +[gpg] +identity = "{{ .chezmoi.homeDir }}/key.txt" +recipients = [ + "DD8583A510DEB949714ED847430C50CA90F98BBE", + "6A10DF52E755E8174CD5C4C18ED045D80561353B", + "30FA9C303E45B42AA688839C557DE35A80C4461F" +] + + diff --git a/.chezmoiignore b/.chezmoiignore new file mode 100644 index 0000000..9b3534e --- /dev/null +++ b/.chezmoiignore @@ -0,0 +1,23 @@ +# Files to ignore on windows +{{- if eq .chezmoi.os "windows" }} +.bashrc +.nix-channels +.vimrc +.zshenv +.aliasrc +.zshrc +.config/nvim +.config/sheldon +.config/Yubico +.config/zellij +.inputrc +{{- end }} +# Windows specific files +{{- if ne .chezmoi.os "windows" }} +WindowsPowerShell/profile.ps1 +AppData +wsl +.wslconfig +{{- end }} +key.txt.asc +README.md diff --git a/AppData/Local/Packages/Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe/LocalState/settings.json b/AppData/Local/Packages/Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe/LocalState/settings.json new file mode 100644 index 0000000..f3ce48b --- /dev/null +++ b/AppData/Local/Packages/Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe/LocalState/settings.json @@ -0,0 +1,461 @@ +{ + "$help": "https://aka.ms/terminal-documentation", + "$schema": "https://aka.ms/terminal-profiles-schema", + "actions": + [ + { + "command": + { + "action": "copy", + "singleLine": false + }, + "keys": "ctrl+c" + }, + { + "command": "paste" + }, + { + "command": "find", + "keys": "ctrl+shift+f" + }, + { + "command": "unbound", + "keys": "ctrl+v" + }, + { + "command": "unbound", + "keys": "alt+enter" + }, + { + "command": + { + "action": "splitPane", + "split": "auto", + "splitMode": "duplicate" + }, + "keys": "alt+shift+d" + } + ], + "copyFormatting": "none", + "copyOnSelect": false, + "defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}", + "newTabMenu": + [ + { + "type": "remainingProfiles" + } + ], + "profiles": + { + "defaults": + { + "colorScheme": "Catppuccin Mocha", + "font": + { + "face": "Liga SFMono Nerd Font", + "size": 10.0 + }, + "useAtlasEngine": true + }, + "list": + [ + { + "colorScheme": + { + "light": "Lunar Witch" + }, + "commandline": "%SystemRoot%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe", + "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}", + "hidden": false, + "name": "Windows PowerShell" + }, + { + "commandline": "%SystemRoot%\\System32\\cmd.exe", + "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}", + "hidden": true, + "name": "Command Prompt" + }, + { + "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}", + "hidden": true, + "name": "Azure Cloud Shell", + "source": "Windows.Terminal.Azure" + }, + { + "guid": "{51855cb2-8cce-5362-8f54-464b92b32386}", + "hidden": false, + "name": "Ubuntu", + "source": "CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc" + }, + { + "altGrAliasing": true, + "antialiasingMode": "grayscale", + "closeOnExit": "automatic", + "commandline": "%SystemRoot%\\System32\\cmd.exe", + "cursorShape": "bar", + "elevate": true, + "guid": "{e25be6dc-a8ab-4509-93a2-ca542a280948}", + "hidden": true, + "historySize": 9001, + "icon": "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png", + "name": "Command Prompt (Admin)", + "padding": "8, 8, 8, 8", + "snapOnInput": true, + "startingDirectory": "%USERPROFILE%", + "useAcrylic": false + }, + { + "guid": "{aa765003-161c-5b2d-816b-b0cd74e6d454}", + "hidden": false, + "name": "Developer Command Prompt for VS 2019", + "source": "Windows.Terminal.VisualStudio" + }, + { + "guid": "{54efe6fb-80db-532e-9f8d-2db111ec9195}", + "hidden": false, + "name": "Developer PowerShell for VS 2019", + "source": "Windows.Terminal.VisualStudio" + }, + { + "colorScheme": "Lunar Witch", + "commandline": "ssh mira@ssh.argentumcation.com", + "guid": "{43a400e9-709b-4832-be4a-f4bd41c45cf3}", + "hidden": false, + "icon": "\ud83c\udf3f", + "name": "Auxin" + }, + { + "altGrAliasing": true, + "antialiasingMode": "grayscale", + "closeOnExit": "automatic", + "colorScheme": + { + "light": "Lunar Witch" + }, + "commandline": "%SystemRoot%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe", + "cursorShape": "bar", + "elevate": true, + "guid": "{63a1d8bd-a450-41fa-90e5-c7f2a57d032f}", + "hidden": false, + "historySize": 9001, + "icon": "ms-appx:///ProfileIcons/{61c54bbd-c2c6-5271-96e7-009a87ff44bf}.png", + "name": "Windows PowerShell (Admin)", + "padding": "8, 8, 8, 8", + "snapOnInput": true, + "startingDirectory": "%USERPROFILE%", + "useAcrylic": false + }, + { + "guid": "{c397f356-5e7b-55bc-956b-8cb4b9762c26}", + "hidden": false, + "icon": "C:\\Users\\akristip\\Downloads\\nix-snowflake.png", + "name": "NixOS", + "source": "Windows.Terminal.Wsl" + } + ] + }, + "schemes": + [ + { + "background": "#0C0C0C", + "black": "#0C0C0C", + "blue": "#0037DA", + "brightBlack": "#767676", + "brightBlue": "#3B78FF", + "brightCyan": "#61D6D6", + "brightGreen": "#16C60C", + "brightPurple": "#B4009E", + "brightRed": "#E74856", + "brightWhite": "#F2F2F2", + "brightYellow": "#F9F1A5", + "cursorColor": "#FFFFFF", + "cyan": "#3A96DD", + "foreground": "#CCCCCC", + "green": "#13A10E", + "name": "Campbell", + "purple": "#881798", + "red": "#C50F1F", + "selectionBackground": "#FFFFFF", + "white": "#CCCCCC", + "yellow": "#C19C00" + }, + { + "background": "#012456", + "black": "#0C0C0C", + "blue": "#0037DA", + "brightBlack": "#767676", + "brightBlue": "#3B78FF", + "brightCyan": "#61D6D6", + "brightGreen": "#16C60C", + "brightPurple": "#B4009E", + "brightRed": "#E74856", + "brightWhite": "#F2F2F2", + "brightYellow": "#F9F1A5", + "cursorColor": "#FFFFFF", + "cyan": "#3A96DD", + "foreground": "#CCCCCC", + "green": "#13A10E", + "name": "Campbell Powershell", + "purple": "#881798", + "red": "#C50F1F", + "selectionBackground": "#FFFFFF", + "white": "#CCCCCC", + "yellow": "#C19C00" + }, + { + "background": "#1E1E2E", + "black": "#45475A", + "blue": "#89B4FA", + "brightBlack": "#585B70", + "brightBlue": "#89B4FA", + "brightCyan": "#94E2D5", + "brightGreen": "#A6E3A1", + "brightPurple": "#F5C2E7", + "brightRed": "#F38BA8", + "brightWhite": "#A6ADC8", + "brightYellow": "#F9E2AF", + "cursorColor": "#F5E0DC", + "cyan": "#94E2D5", + "foreground": "#CDD6F4", + "green": "#A6E3A1", + "name": "Catppuccin Mocha", + "purple": "#F5C2E7", + "red": "#F38BA8", + "selectionBackground": "#585B70", + "white": "#BAC2DE", + "yellow": "#F9E2AF" + }, + { + "background": "#010206", + "black": "#0E1358", + "blue": "#334774", + "brightBlack": "#342F53", + "brightBlue": "#445F9B", + "brightCyan": "#39CAEC", + "brightGreen": "#98DB95", + "brightPurple": "#AE8BB0", + "brightRed": "#CF5997", + "brightWhite": "#BFBFC0", + "brightYellow": "#997087", + "cursorColor": "#BFBFC0", + "cyan": "#2A97B1", + "foreground": "#BFBFC0", + "green": "#6FA49E", + "name": "Lunar Witch", + "purple": "#72546C", + "red": "#9B4271", + "selectionBackground": "#342F53", + "white": "#808082", + "yellow": "#84686E" + }, + { + "background": "#282C34", + "black": "#282C34", + "blue": "#61AFEF", + "brightBlack": "#5A6374", + "brightBlue": "#61AFEF", + "brightCyan": "#56B6C2", + "brightGreen": "#98C379", + "brightPurple": "#C678DD", + "brightRed": "#E06C75", + "brightWhite": "#DCDFE4", + "brightYellow": "#E5C07B", + "cursorColor": "#FFFFFF", + "cyan": "#56B6C2", + "foreground": "#DCDFE4", + "green": "#98C379", + "name": "One Half Dark", + "purple": "#C678DD", + "red": "#E06C75", + "selectionBackground": "#FFFFFF", + "white": "#DCDFE4", + "yellow": "#E5C07B" + }, + { + "background": "#FAFAFA", + "black": "#383A42", + "blue": "#0184BC", + "brightBlack": "#4F525D", + "brightBlue": "#61AFEF", + "brightCyan": "#56B5C1", + "brightGreen": "#98C379", + "brightPurple": "#C577DD", + "brightRed": "#DF6C75", + "brightWhite": "#FFFFFF", + "brightYellow": "#E4C07A", + "cursorColor": "#4F525D", + "cyan": "#0997B3", + "foreground": "#383A42", + "green": "#50A14F", + "name": "One Half Light", + "purple": "#A626A4", + "red": "#E45649", + "selectionBackground": "#FFFFFF", + "white": "#FAFAFA", + "yellow": "#C18301" + }, + { + "background": "#002B36", + "black": "#002B36", + "blue": "#268BD2", + "brightBlack": "#073642", + "brightBlue": "#839496", + "brightCyan": "#93A1A1", + "brightGreen": "#586E75", + "brightPurple": "#6C71C4", + "brightRed": "#CB4B16", + "brightWhite": "#FDF6E3", + "brightYellow": "#657B83", + "cursorColor": "#FFFFFF", + "cyan": "#2AA198", + "foreground": "#839496", + "green": "#859900", + "name": "Solarized Dark", + "purple": "#D33682", + "red": "#DC322F", + "selectionBackground": "#FFFFFF", + "white": "#EEE8D5", + "yellow": "#B58900" + }, + { + "background": "#FDF6E3", + "black": "#002B36", + "blue": "#268BD2", + "brightBlack": "#073642", + "brightBlue": "#839496", + "brightCyan": "#93A1A1", + "brightGreen": "#586E75", + "brightPurple": "#6C71C4", + "brightRed": "#CB4B16", + "brightWhite": "#FDF6E3", + "brightYellow": "#657B83", + "cursorColor": "#002B36", + "cyan": "#2AA198", + "foreground": "#657B83", + "green": "#859900", + "name": "Solarized Light", + "purple": "#D33682", + "red": "#DC322F", + "selectionBackground": "#FFFFFF", + "white": "#EEE8D5", + "yellow": "#B58900" + }, + { + "background": "#000000", + "black": "#000000", + "blue": "#3465A4", + "brightBlack": "#555753", + "brightBlue": "#729FCF", + "brightCyan": "#34E2E2", + "brightGreen": "#8AE234", + "brightPurple": "#AD7FA8", + "brightRed": "#EF2929", + "brightWhite": "#EEEEEC", + "brightYellow": "#FCE94F", + "cursorColor": "#FFFFFF", + "cyan": "#06989A", + "foreground": "#D3D7CF", + "green": "#4E9A06", + "name": "Tango Dark", + "purple": "#75507B", + "red": "#CC0000", + "selectionBackground": "#FFFFFF", + "white": "#D3D7CF", + "yellow": "#C4A000" + }, + { + "background": "#FFFFFF", + "black": "#000000", + "blue": "#3465A4", + "brightBlack": "#555753", + "brightBlue": "#729FCF", + "brightCyan": "#34E2E2", + "brightGreen": "#8AE234", + "brightPurple": "#AD7FA8", + "brightRed": "#EF2929", + "brightWhite": "#EEEEEC", + "brightYellow": "#FCE94F", + "cursorColor": "#000000", + "cyan": "#06989A", + "foreground": "#555753", + "green": "#4E9A06", + "name": "Tango Light", + "purple": "#75507B", + "red": "#CC0000", + "selectionBackground": "#FFFFFF", + "white": "#D3D7CF", + "yellow": "#C4A000" + }, + { + "background": "#300A24", + "black": "#171421", + "blue": "#0037DA", + "brightBlack": "#767676", + "brightBlue": "#08458F", + "brightCyan": "#2C9FB3", + "brightGreen": "#26A269", + "brightPurple": "#A347BA", + "brightRed": "#C01C28", + "brightWhite": "#F2F2F2", + "brightYellow": "#A2734C", + "cursorColor": "#FFFFFF", + "cyan": "#3A96DD", + "foreground": "#FFFFFF", + "green": "#26A269", + "name": "Ubuntu-ColorScheme", + "purple": "#881798", + "red": "#C21A23", + "selectionBackground": "#FFFFFF", + "white": "#CCCCCC", + "yellow": "#A2734C" + }, + { + "background": "#000000", + "black": "#000000", + "blue": "#000080", + "brightBlack": "#808080", + "brightBlue": "#0000FF", + "brightCyan": "#00FFFF", + "brightGreen": "#00FF00", + "brightPurple": "#FF00FF", + "brightRed": "#FF0000", + "brightWhite": "#FFFFFF", + "brightYellow": "#FFFF00", + "cursorColor": "#FFFFFF", + "cyan": "#008080", + "foreground": "#C0C0C0", + "green": "#008000", + "name": "Vintage", + "purple": "#800080", + "red": "#800000", + "selectionBackground": "#FFFFFF", + "white": "#C0C0C0", + "yellow": "#808000" + } + ], + "startOnUserLogin": false, + "theme": "Catppuccin Mocha", + "themes": + [ + { + "name": "Catppuccin Mocha", + "tab": + { + "background": "#313244FF", + "showCloseButton": "always", + "unfocusedBackground": null + }, + "tabRow": + { + "background": "#1E1E2EFF", + "unfocusedBackground": "#181825FF" + }, + "window": + { + "applicationTheme": "dark", + "useMica": false + } + } + ], + "useAcrylicInTabRow": false +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..1b499c7 --- /dev/null +++ b/README.md @@ -0,0 +1,67 @@ +# 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 \ No newline at end of file diff --git a/WindowsPowerShell/profile.ps1 b/WindowsPowerShell/profile.ps1 new file mode 100644 index 0000000..d823f15 --- /dev/null +++ b/WindowsPowerShell/profile.ps1 @@ -0,0 +1,2 @@ +Invoke-Expression (&starship init powershell) +Invoke-Expression (&sfsu hook) \ No newline at end of file diff --git a/dot_cargo/config.toml.tmpl b/dot_cargo/config.toml.tmpl new file mode 100644 index 0000000..ff35bb1 --- /dev/null +++ b/dot_cargo/config.toml.tmpl @@ -0,0 +1,6 @@ +[install] +{{ if eq .chezmoi.os "windows" -}} +root = "{{ .chezmoi.homeDir }}/Programs" +{{ else if eq .chezmoi.os "linux" -}} +root = "{{ .chezmoi.homeDir }}/.local/" +{{- end }} diff --git a/dot_inputrc b/dot_inputrc new file mode 100644 index 0000000..536863e --- /dev/null +++ b/dot_inputrc @@ -0,0 +1,11 @@ +set editing-mode vi +set keymap vi +set show-mode-in-prompt on +set show-all-if-ambiguous on +$if term=linux + set vi-ins-mode-string \1\e[?0c\2 + set vi-cmd-mode-string \1\e[?8c\2 +$else + set vi-ins-mode-string \1\e[6 q\2 + set vi-cmd-mode-string \1\e[2 q\2 +$endif diff --git a/dot_local/share/cargo/config.toml b/dot_local/share/cargo/config.toml new file mode 100644 index 0000000..927359d --- /dev/null +++ b/dot_local/share/cargo/config.toml @@ -0,0 +1,2 @@ +[install] +root = "/home/mira/.local/" diff --git a/dot_local/share/private_gnupg/gpg-agent.conf.tmpl b/dot_local/share/private_gnupg/gpg-agent.conf.tmpl new file mode 100644 index 0000000..739ac71 --- /dev/null +++ b/dot_local/share/private_gnupg/gpg-agent.conf.tmpl @@ -0,0 +1,7 @@ +{{- if eq .chezmoi.os "windows" -}} +pinentry-program pinentry.exe +{{- else if (and (eq .chezmoi.os "linux") (.chezmoi.kernel.osrelease | lower | contains "microsoft"))}} +pinentry-program pinentry.exe +{{else}} +pinentry-program /usr/bin/pinentry +{{end}} diff --git a/dot_local/share/private_gnupg/sshcontrol b/dot_local/share/private_gnupg/sshcontrol new file mode 100644 index 0000000..ce81e5a --- /dev/null +++ b/dot_local/share/private_gnupg/sshcontrol @@ -0,0 +1,24 @@ +FA20B436CC48AB73926450C6122A40A7E2D4A8CD +58B7D56DBB5A29F6B8F5358DE5E31C1170471DDE +EF803CE7544EE04D4011BCAF20FC9779F19264D4 +541B6AFD12608401ED8ECCD85872EEDB82657DF2 +0AB42E268050691513E0A785A6A82B38066A9369 +91684DD965E3C7E429EB0A491B9937D0BFB2CBB8 +F77B017C64D1FD80B10C3CC9558A091B82B142CD +FB2C2F939EB427CA303AB4CB9AEEEAA7D66B0702 +541B6AFD12608401ED8ECCD85872EEDB82657DF2 +1E207165BF8C54F7A81D67D0451F7A1C99A6F949 +BDF1399132B08590F0D893CBCB7D06243D711249 +FA20B436CC48AB73926450C6122A40A7E2D4A8CD +FFB472C9E88C2694F499445C175753E509EBA949 +D296AC8EAB045A84F85ABCEAC91350179C95BD91 +58B7D56DBB5A29F6B8F5358DE5E31C1170471DDE +49718EBE841A9C366BA28FCA5742C58E69DBA17B +F886E9DEE55B2447A0A39D1B4E1B864F3341C2B0 +EF803CE7544EE04D4011BCAF20FC9779F19264D4 +C2AE7045928F5C2C47E650FAE38432CDA38DCB20 +0AB42E268050691513E0A785A6A82B38066A9369 +8A05603E55BCCBC4D799BDB87CB03E010446CFB0 +46499676F0E3416374E178B3B7974699E052A560 +91684DD965E3C7E429EB0A491B9937D0BFB2CBB8 +1FA7F1A864A323A90579D72F49151AE46D71D80E diff --git a/dot_nix-channels b/dot_nix-channels new file mode 100644 index 0000000..3a07ba5 --- /dev/null +++ b/dot_nix-channels @@ -0,0 +1,2 @@ +https://github.com/nix-community/NUR/archive/master.tar.gz nur +https://nixos.org/channels/nixpkgs-unstable nixpkgs diff --git a/dot_vimrc b/dot_vimrc new file mode 100644 index 0000000..0173810 --- /dev/null +++ b/dot_vimrc @@ -0,0 +1,157 @@ +" Install vim-plug if not found +if empty(glob('~/.vim/autoload/plug.vim')) + silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs + \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim +endif + +set laststatus=2 "lightline requires it? +"Setup Plugins +call plug#begin() +Plug 'junegunn/goyo.vim' +Plug 'francoiscabrol/ranger.vim' +Plug 'rbgrouleff/bclose.vim' +Plug 'airblade/vim-gitgutter' "may cause lag +Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app && yarn install' } +" Line +Plug 'itchyny/lightline.vim' +Plug 'cespare/vim-toml' +"pywal +if has('wal') + Plug 'dylanaraps/wal.vim' +endif + +"Auto add delimiters +Plug 'Raimondi/delimitMate' + +"Linting +Plug 'dense-analysis/ale' + +" Commenting +Plug 'tpope/vim-commentary' + +" c +Plug 'vim-scripts/c.vim', {'for': ['c', 'cpp']} +Plug 'ludwig/split-manpage.vim' + +" latex +if has('nvim') + Plug 'lervag/vimtex', {'for': 'latex'} + let g:tex_flavor='latex' + let g:vimtex_view_method='zathura' + let g:vimtex_quickfix_mode=0 + set conceallevel=1 + let g:tex_conceal='abdmg' +endif + +" haskell +"" Haskell Bundle +Plug 'eagletmt/neco-ghc', {'for': 'haskell'} +Plug 'dag/vim2hs', {'for': 'haskell'} +Plug 'pbrisbin/vim-syntax-shakespeare', {'for': 'haskell'} + + +" html +"" HTML Bundle +Plug 'hail2u/vim-css3-syntax', {'for': ['html','css']} +Plug 'gko/vim-coloresque', {'for': ['html','css']} +Plug 'tpope/vim-haml', {'for': 'html'} +Plug 'mattn/emmet-vim', {'for': 'html'} +" python +"" Python Bundle +Plug 'davidhalter/jedi-vim', {'for': 'python' } +Plug 'raimon49/requirements.txt.vim', {'for': 'requirements'} + +" rust +" Vim racer +Plug 'racer-rust/vim-racer', {'for': 'rust'} + +" Rust.vim +Plug 'rust-lang/rust.vim', {'for': 'rust'} + +" Async.vim +Plug 'prabirshrestha/async.vim' + +" Vim lsp +Plug 'prabirshrestha/vim-lsp' + +if has('nvim') + " Asyncomplete.vim + Plug 'prabirshrestha/asyncomplete.vim' + + " Asyncomplete lsp.vim + Plug 'prabirshrestha/asyncomplete-lsp.vim' +endif + +" typescript +Plug 'leafgarland/typescript-vim', {'for': 'typescript'} +Plug 'HerringtonDarkholme/yats.vim', {'for': 'typescript'} + +"Git +Plug 'tpope/vim-fugitive' +Plug 'tpope/vim-rhubarb' " required by fugitive to :Gbrowse + +"Copy using OSC52 +Plug 'ojroques/vim-oscyank', {'branch': 'main'} +call plug#end() + +" Run PlugInstall if there are missing plugins +autocmd VimEnter * if len(filter(values(g:plugs), '!isdirectory(v:val.dir)')) + \| PlugInstall --sync | source $MYVIMRC + \| endif +if exists('##TextYankPost') + autocmd TextYankPost * if v:event.operator is 'y' && v:event.regname is '' | execute 'OSCYank"' | endif +endif + +try + colorscheme wal +catch /^Vim\%((\a\+)\)\=:E185/ + try + colorscheme catppuccin + let g:lightline = {'colorscheme': 'catppuccin'} + catch /^Vim\%((\a\+)\)\=:E185/ + endtry +endtry +"set notermguicolors + +set nocompatible +filetype on +filetype plugin on +filetype indent on +syntax on +set noshowmode "conflicts with airline +set mouse=a "mouse anywhere +set number "line numbers +set relativenumber "relative line numbers +" search +set hlsearch "highlight search +set ignorecase "case insensitive? +set smartcase "only case insensitive for lowercase +set incsearch +set showmatch " show matching brace +set autoindent "auto indent +set smartindent "smart indent +set tabstop=4 +set shiftwidth=4 +set ruler +set expandtab +" Autocomplete +set wildmode=longest:list:full +set wildmenu +set encoding=utf-8 +set ttyfast + +" w!! to sudo save +cmap w!! !sudo tee % > /dev/null + +" Search mappings: These will make it so that going to the next one in a +" search will center on the line it's found in. +nnoremap n nzzzv +nnoremap N Nzzzv + +" status line +set statusline=%F%m%r%h%w%=(%{&ff}/%Y)\ (line\ %l\/%L,\ col\ %c)\ +if exists("*fugitive#statusline") + set statusline+=%{fugitive#statusline()} +endif + +map g :Goyo \| set linebreak diff --git a/dot_wslconfig b/dot_wslconfig new file mode 100644 index 0000000..b1869b1 --- /dev/null +++ b/dot_wslconfig @@ -0,0 +1,2 @@ +[wsl2] +swap=0 \ No newline at end of file diff --git a/executable_dot_aliasrc b/executable_dot_aliasrc new file mode 100644 index 0000000..f24751f --- /dev/null +++ b/executable_dot_aliasrc @@ -0,0 +1,127 @@ +#!/bin/sh +load_aliases() { + local TIMEFMT='\%J\n%mE:' + local OLDPATH=$PATH + # local SUDO=/bin/sudo + PATH=$(echo "$PATH" | sed -e 's/\/mnt\/.*\?://g') + if command -v type >/dev/null 2>&1; then + CHECK=type + else + CHECK='command -v' + fi + + checkCommand() { + $CHECK "$1" >/dev/null 2>&1 + } + + # make a directory and cd to it + mcd() + { + test -d "$1" || mkdir -p "$1" && cd "$1" + } + # Put wget hsts file in XDG dir + alias wget=wget --hsts-file="$XDG_DATA_HOME/wget-hsts" + + # Utilities for managing git and docker + alias lg='lazygit' + alias lzd='lazydocker' + + # for static compilation of go binaries + alias musl-go="GOBIN=$HOME/bin CGO_ENABLED=1 CC=musl-gcc go install --ldflags '-linkmode external -extldflags=-static'" + + # Replace df with duf + if checkCommand duf; then + alias df="duf" + fi + + # Replace diff with delta + if checkCommand delta; then + alias diff="delta" + fi + + # replaces gnu coreutils with the rust versions, cp and mv are worth + if checkCommand coreutils; then + alias cp="coreutils cp -g" + alias mv="coreutils mv -g" + alias hashsum="coreutils hashsum" + #alias more="coreutils more" + alias cut="coreutils cut" + alias chmod="coreutils chmod" + alias chown="coreutils chown" + alias chroot="coreutils chroot" + alias echo="coreutils echo" + alias head="coreutils head" + alias kill="coreutils kill" + alias ln="coreutils ln" + alias mkdir="coreutils mkdir" + alias nohup="coreutils nohup" + alias tail="coreutils tail" + fi + + # Replace find with fd + if checkCommand fd; then + alias find="fd" + fi + if checkCommand fdfind; then + alias find="fdfind" + fi + + # Replace du with gdu + if checkCommand gdu; then + alias du="gdu" + alias ncdu="gdu" + fi + + # Replace watch with viddy + if checkCommand viddy; then + alias watch="viddy" + fi + + # Replace cat with bat + if checkCommand bat; then + alias cat="bat" + fi + + # Replace tree with broot + if checkCommand tree; then + alias tree="broot" + fi + + # Replace gping with ping + if checkCommand gping; then + alias ping="gping" + fi + + # replace vim with neovim (this is probably done automatically usually) + if checkCommand nvim; then + alias vim="nvim" + fi + # Replace ls with lsd, and other useful aliases + if checkCommand lsd; then + alias l="lsd -l" + alias ls="lsd" + alias la="lsd -laa" + alias ll="lsd -la" + else + alias l="ls -lF -v --color=auto" + alias ls="ls -vF --color=auto" + alias la="ls -laF -v --color=auto" + alias ll="ls -lhAF -v --color=auto" + fi + + PATH=$OLDPATH + unset OLDPATH + if checkCommand nala; then + alias apt="nala" + # sudo() { + # if [ "$1" = "apt" ]; then + # shift + # $SUDO nala "$@" + # else + # $SUDO "$@" + # fi + # } + fi +} +load_aliases +unset -f load_aliases diff --git a/executable_dot_bash_profile b/executable_dot_bash_profile new file mode 100644 index 0000000..3f56aa0 --- /dev/null +++ b/executable_dot_bash_profile @@ -0,0 +1 @@ +[[ -f ~/.bashrc ]] && . ~/.bashrc diff --git a/executable_dot_bashrc b/executable_dot_bashrc new file mode 100644 index 0000000..6485e33 --- /dev/null +++ b/executable_dot_bashrc @@ -0,0 +1,107 @@ +#! /bin/bash +# Note, I don't really use bash so this may be kinda sparse, but you may be able to copy stuff from .zshrc + +# Source global definitions +if [ -f /etc/bashrc ]; then + . /etc/bashrc +fi + +checkCommand(){ + type "$1" >/dev/null 2>&1 +} + +# If you have zellij installed, this will auto start it +if [ -z "$ZELLIJ" ] && checkCommand zellij; then + #export ZELLIJ_AUTO_ATTACH=true + exec zellij +fi + +# Speed up shell load on WSL +OLDPATH=$PATH +PATH=$(echo "$PATH" | sed -e 's/\/mnt\/.*\?://g') + + +# enable programmable completion features (you don't need to enable +# this, if it's already enabled in /etc/bash.bashrc and /etc/profile +# sources /etc/bash.bashrc). +if ! shopt -oq posix; then + if [ -f /usr/share/bash-completion/bash_completion ]; then + . /usr/share/bash-completion/bash_completion + elif [ -f /etc/bash_completion ]; then + . /etc/bash_completion + fi +fi + +# check the window size after each command and, if necessary, +# update the values of LINES and COLUMNS. +shopt -s checkwinsize + +# don't put duplicate lines or lines starting with space in the history. +# See bash(1) for more options +HISTCONTROL=ignoreboth + +# append to the history file, don't overwrite it +shopt -s histappend + + +# Shell Agnostic Env Vars +[[ -f ~/.env ]] && . ~/.env + +# Load Aliases +[[ -f ~/.aliasrc ]] && . ~/.aliasrc + +# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) +HISTSIZE=10000 +HISTFILESIZE=10000 +HISTFILE="${XDG_STATE_HOME}/bash/history" + +# set colors if pywal is installed +if checkCommand wal && [ -z "$SSH_TTY" ]; then + eval 'cat ~/.cache/wal/sequences &' +fi + +# Load sheldon +#if checkCommand sheldon; then +# eval "$(sheldon -q source)"; + + +# if ssh-agent isn't running, run it +if ! pgrep -u "$USER" '(ssh|gpg)-agent' >/dev/null; then + if checkCommand gpg-agent; then + gpg-agent --daemon --enable-ssh-support; + unset SSH_AGENT_PID; + export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-socket); + export GPG_TTY=$(tty) + gpg-connect-agent updatestartuptty /bye >/dev/null + elif checkCommand ssh-agent; then + ssh-agent > "$HOME/.ssh-agent.env"; + fi +fi +if [ ! -f "$SSH_AUTH_SOCK" ] && [ -f ~/.ssh-agent.env ]; then + source "$HOME/.ssh-agent.env" >/dev/null +fi + +# Set up mcfly if installed (lets you search through history easily with ctrl+r) +if command -v mcfly >/dev/null 2>&1; then + eval "$(mcfly init bash)" +fi + + +# set up zoxide if installed (lets you jump through folders easily using the z and zi commands instead of cd) +if command -v zoxide >/dev/null 2>&1; then + eval "$(zoxide init bash)" +fi + +[[ -f "$HOME"/.config/broot/launcher/bash/br ]] && source "$HOME"/.config/broot/launcher/bash/br + +if checkCommand hyfetch; then + hyfetch -b fastfetch +fi + +if checkCommand starship; then + eval "$(starship init $0)"; +else #Fallback prompt + PS1='[\u@\h \W]\$ '; +fi +PATH=$OLDPATH +unset OLDPATH diff --git a/executable_dot_env b/executable_dot_env new file mode 100644 index 0000000..d21790f --- /dev/null +++ b/executable_dot_env @@ -0,0 +1,78 @@ +#!/bin/sh +# ~/.profile: executed by the command interpreter for login shells. +# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login +# exists. +# see /usr/share/doc/bash/examples/startup-files for examples. +# the files are located in the bash-doc package. + +# the default umask is set in /etc/profile; for setting the umask +# for ssh logins, install and configure the libpam-umask package. +#umask 022 + +# XDG Base Dirs +XDG_DATA_HOME="$HOME/.local/share" +XDG_CONFIG_HOME="$HOME/.config" +XDG_STATE_HOME="$HOME/.local/state" +XDG_CACHE_HOME="$HOME/.cache" + + +[[ "$TERM_PROGRAM" = "vscode" ]] && . "$(code --locate-shell-integration-path $0)" + +# set PATH so it includes user's private bin if it exists +if [ -d "$HOME/bin" ] ; then + PATH="$HOME/bin:$PATH" +fi + +# set PATH so it includes user's private bin if it exists +if [ -d "$HOME/.local/bin" ] ; then + PATH="$HOME/.local/bin:$PATH" +fi + +# Source Cargo Environment +if [[ -f "$HOME/.cargo/env" ]]; then + . "$HOME/.cargo/env"; +#else + # curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh; +fi + +# Source Nix Environment +if [ -e "$HOME"/.nix-profile/etc/profile.d/nix.sh ]; then + . "$HOME"/.nix-profile/etc/profile.d/nix.sh +# else +# echo "If this doesn't work, comment out this part of .zshenv" +# sh <(curl -L https://nixos.org/nix/install) --no-daemon; +fi + +# Add Ruby +#[ "${PATH#*"$HOME"/.local/share/gem/ruby/*/bin:}" = "$PATH" ] && export PATH="$HOME/.local/share/gem/ruby/*/bin:$PATH" + +# User bin folder +[ "${PATH#*"$HOME"/.local/bin:}" = "$PATH" ] && export PATH="$HOME/.local/bin:$PATH" + +# add nodejs +# [ "${PATH#*"$HOME"/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:}" = "$PATH" ] && export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH" + +# add go +[ "${PATH#*"$HOME"/go/bin:}" = "$PATH" ] && export PATH="$HOME/go/bin:$PATH" + +# Set PATH, MANPATH, etc., for Homebrew. +[ -e /home/linuxbrew/.linuxbrew/bin/brew ] && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv) + +# pnpm +export PNPM_HOME="$XDG_DATA_HOME/pnpm" +[ "${PATH#*$PNPM_HOME:}" = "$PATH" ] && export PATH="$PNPM_HOME:$PATH" + +# Make Cargo install to user bin directory +export CARGO_HOME="$XDG_DATA_HOME/cargo" +export CARGO_INSTALL_ROOT="$HOME/.local" + +export GNUPGHOME="$XDG_DATA_HOME/gnupg" + +# If you use non-default GnuPG Home directory, you will need to edit all +# socket files to use the values of gpgconf --list-dirs. +# If you set your SSH_AUTH_SOCK manually, keep in mind that your socket +# location may be different if you are using a custom GNUPGHOME + +export LESSHISTFILE="$XDG_STATE_HOME/less/history" + +export INPUTRC="$XDG_CONFIG_HOME/readline/inputrc" diff --git a/executable_dot_gitconfig.tmpl b/executable_dot_gitconfig.tmpl new file mode 100644 index 0000000..405d560 --- /dev/null +++ b/executable_dot_gitconfig.tmpl @@ -0,0 +1,52 @@ +[user] +email = {{ .email | quote }} +name = {{ .name | quote }} + +[core] +editor = nvim +pager = delta +# Remove Carriage Returns +autocrlf = input +eol = lf + +[interactive] +diffFilter = delta --color-only + +[delta] +navigate = true # use n and N to move between diff sections +light = false # set to true if you're in a terminal w/ a light background color (e.g. the default macOS terminal) + +[merge] +conflictstyle = diff3 + +[diff] +colorMoved = default +mnemonicPrefix = true +renames = true +algorithm = patience + +[pull] +rebase = merges +autoSetupRemote = true +default = simple +followTags = true + +[apply] +whitespace = fix + +[help] +#Automatically fix commands and run after 0.5s +autocorrect = 50 + +[safe] +directory = / + +[rebase] +autostash = true + +[log] +abbrevCommit = true + +[rerere] +autoupdate = true +enabled = true \ No newline at end of file diff --git a/executable_dot_zshenv b/executable_dot_zshenv new file mode 100644 index 0000000..8f31411 --- /dev/null +++ b/executable_dot_zshenv @@ -0,0 +1,9 @@ +#!/bin/zsh +# .zshenv always runs +# Set Env Vars here + +#fix permissions errors +export ZSH_DISABLE_COMPFIX=true + +# Load .profile +[[ -f ~/.env ]] && . ~/.env diff --git a/executable_dot_zshrc b/executable_dot_zshrc new file mode 100644 index 0000000..cd7dbd7 --- /dev/null +++ b/executable_dot_zshrc @@ -0,0 +1,158 @@ +#!/bin/zsh +# Runs for interactive shells + +export START="${START:=$(date '+%s.%N')}" + +checkCommand(){ + type "$1" >/dev/null 2>&1 +} +# If you have zellij installed, this will auto start it +if [ -z "$ZELLIJ" ] && checkCommand zellij; then + #export ZELLIJ_AUTO_ATTACH=true + exec zellij +fi + +# Speed up shell load on WSL +OLDPATH=$PATH +PATH=$(echo "$PATH" | sed -e 's/\/mnt\/.*\?://g') + + +# Uncomment to debug lag +#zmodload zsh/zprof + +# Set where history is saved and how much to save +HISTFILE="$XDG_STATE_HOME/zsh/history" +HISTSIZE=10000 +SAVEHIST=10000 + +# disable system beep on error +setopt BEEP +# if you type a folder name, it will automatically cd into it +setopt autocd +# if a glob has no matches, display an error +setopt nomatch +# report status of bg jobs immediately +setopt notify +#dedupe history, and append to histfile after every command +setopt histfindnodups histsavenodups incappendhistory +# correct all arguments in a line +setopt correctall +# vim style line editing +bindkey -v +# make file name completion case-insensitive +zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}' +zstyle ':completion:*' cache-path $XDG_CACHE_HOME/zsh/zcompcache + +# Move completions to XDG Dir +compinit -d "$XDG_CACHE_HOME"/zsh/zcompdump-"$ZSH_VERSION" + + +# Use hyphen-insensitive completion. +# Case-sensitive completion must be off. _ and - will be interchangeable. +HYPHEN_INSENSITIVE="true" + +# Enable command auto-correction. +ENABLE_CORRECTION="true" + +# Display red dots whilst waiting for completion. +COMPLETION_WAITING_DOTS="true" + +# Speed up autosuggestions +ZSH_AUTOSUGGEST_MANUAL_REBIND="true" + +# fix home end and delete buttons +bindkey "${terminfo[khome]}" beginning-of-line +bindkey "${terminfo[kend]}" end-of-line +bindkey "${terminfo[kdch1]}" delete-char + +#if ! checkCommand gum && checkCommand go; then +# # TODO +#fi + + +#Allows fuzzy-finding +if checkCommand fzf; then + export FZF_BASE=$(which fzf) +else + git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf; + ~/.fzf/install --bin; + mkdir -p ~/.local/bin; + mv ~/.fzf/bin/* ~/.local/bin/; + rm -rf ~/.fzf; +fi + +#todo: install if not found +# Load plugins +mkdir -p ~/.config/sheldon +touch ~/.config/sheldon/plugins.toml +if checkCommand sheldon; then + eval "$(sheldon -q source)"; +elif checkCommand brew; then + brew install sheldon; +elif checkCommand cargo; then + cargo install sheldon +else + curl --proto '=https' -fLsS https://rossmacarthur.github.io/install/crate.sh \ + | bash -s -- --repo rossmacarthur/sheldon --to ~/.local/bin +fi + +#zplug "plugins/git", from:oh-my-zsh, lazy:on +#zplug "plugins/vi-mode", from:oh-my-zsh +#zplug "plugins/adb", from:oh-my-zsh, lazy:on +#zplug "plugins/pip", from:oh-my-zsh, lazy:on + + +# set colors if pywal is installed +if checkCommand wal && [ -z "$SSH_TTY" ]; then + eval 'cat ~/.cache/wal/sequences &' +fi + +# if ssh-agent isn't running, run it +if ! pgrep -u "$USER" '(ssh|gpg)-agent' >/dev/null; then + if checkCommand gpg-agent; then + gpg-agent --daemon --enable-ssh-support; + unset SSH_AGENT_PID; + export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-socket); + export GPG_TTY=$(tty) + gpg-connect-agent updatestartuptty /bye >/dev/null + elif checkCommand ssh-agent; then + ssh-agent > "$HOME/.ssh-agent.env"; + fi +fi +if [ ! -f "$SSH_AUTH_SOCK" ] && [ -f ~/.ssh-agent.env ]; then + source "$HOME/.ssh-agent.env" >/dev/null +fi + +[[ -f ~/.zsh_history ]] && touch ~/.zsh_history + +# Set up mcfly if installed (lets you search through history easily with ctrl+r) +if checkCommand mcfly; then + zsh-defer _evalcache mcfly init zsh +fi + +# set up zoxide if installed (lets you jump through folders easily using the z and zi commands instead of cd) +if checkCommand zoxide; then + zsh-defer _evalcache zoxide init zsh +fi + +#if "$(checkCommand notify-send)"; then +# notify-send() { wsl-notify-send.exe --category $WSL_DISTRO_NAME "${@}"; } +#fi + + +# Set up broot if installed (a nicer tree, probably has other cool stuff I haven't looked at yet) +[ -e "$HOME"/.config/broot/launcher/bash/br ] && zsh-defer -t 15 eval "$(broot --print-shell-function $(basename $0))" +# Set aliases +[ -f "$HOME/.aliasrc" ] && source "$HOME/.aliasrc" # >/dev/null 2>&1 &; + +if checkCommand hyfetch; then + hyfetch -b fastfetch +fi +END="$(date '+%s.%N')" +PATH=$OLDPATH +printf "Startup Time: %.2fms\n" $((1000 * (END - START))) +# todo: install if not found +checkCommand starship && eval "$(starship init $(basename $0))" +unset OLDPATH +unset START +unset END diff --git a/key.txt.asc b/key.txt.asc new file mode 100644 index 0000000..fd5e554 --- /dev/null +++ b/key.txt.asc @@ -0,0 +1,28 @@ +-----BEGIN PGP MESSAGE----- + +jA0ECQMI9j9jUyW+H0b/0uoByLy0OCXebhFhlFrLQjwipEe0wOyZdkBVUDERTna1 +LEQHTe7Kl6F2MFaog36NfB4mCS/JNTvZ7eEOXE5EOBpST61DpzMUXCicDJUTTGgz +gkKjUdZxjO/WPAWp8iZYDMHIbyzMGi+FeLVz4Z3TVzzz2Ft8G8HwCssnlG7Rct/g +cyeS/AuXVuCs4qnuL+2y/t9dbTRrmf39cafyW5vYHeL3B1rY8coeqRv7hmXdTwcx +d2W3w3g0ME+JwZIzB8p8snQ5OwLi0sJ8bFdkYQ5J39U45plKvsJ2miN5pBpPfogz +D2ZLp72JOu0GSpIz2PBMa+1h34XMW+Yu8gpKujRI76YPBoor6iRkDXyuvwqeOX7t +pAnf9KEhj04oNvVLLdb0qI3TeHw9FIjum6fiVN6O6dX2yAlsz3Qjqb1tAxj0B6mQ +g055ztL12ijY8OwndF7byxTV7MKLVHTaDfStnVeNa70R05X7eRQvtAJ1ai03gd03 +uH8Cpg1IBSKqph/qMzqyvIvAC9JRzqqmNZ8b6ZMtrUMt6fGrmYsgPOv4tRj2AnoO +WDrvEqny5X95RnLCW88yCrt3sYdGVV55XegypLa+yFNmlmABkijOsQnE8rZCF+Jx +8IqABbwjhWD3QDxl/OxBLA4CjX1RIFRbGpizMZHVtg5DUe5BbatOcVugA926omSP +2Weok2Pw90voqxog6/iYoTWPUItIjhYstwIe3di50KEwO13iZoW0hlVazTJ1H4X1 +sij0u7J6Arikm2C/OAB60vvd1j5ZD6/NR05Z4N3KIDmge+oiKduKDNqtyyiRrFAG +AZGXPorjdTRvS5rHSkyBvJb4CkXd6X3Fj4tsaz4RTNqX1IKqibNgQbC8DkIWUcxS +pgk3NN8M7vBrKF95nhf/gBeWw3E2Gm30+0y5wYRe+guFfAw/U9VKEga17mwclB8c +o4/u8wPvvrI/aEbnskF+OdthlZVwlpaq4r3FMwn/Ak1bWEdOkBelZz0IAOBuFbF9 +mfYHllxvqaMUnVhVADUElgJ5W+VzZBiZkG4EwKtgDQXYJToyGpEjwnqJSEYT3wMQ +p/20zZATdeb8v/LPyXpaOgCNP0sMXrmF3obzvvqO0wdQvWwkLZmZZ1M6aJIX9RKO +CbMu1mi3Xp9XqyXAM2r4BAswlhJ9KQWSQR9IOXBHeoXuXLu/lyagOxJk3rT9jZZF +s2rmlFXNnqRZzrB8LGU5v6XXyAoyR27FSqEWYGqi311Y7JLNYcXnmpj+r8156i+r ++bo/wQJI965ZvskKgxeQw4wFFLxfZTj8t7IWvEcH6DOHkfvIVX7SlrPj8K825oIW +HpUvGYTPZhsVZ+io5mtDhvYcir3S++/3bGwCZ8YQkrL6SA9Ygl9eC9eRsK225Kj7 +nE2FrXEL9gdTPkq7i32iUp0Y6dsARlrVSURuhTQsoUieIwPpf2w9aMhoyuSlWWUV +UwpyQqWCC06vPA== +=P1bL +-----END PGP MESSAGE----- diff --git a/private_dot_config/Yubico/u2f_keys b/private_dot_config/Yubico/u2f_keys new file mode 100644 index 0000000..60bd5a1 --- /dev/null +++ b/private_dot_config/Yubico/u2f_keys @@ -0,0 +1 @@ +mira:3/mKHeiToxQrkYu5sQN7vcmR13Sw8Lq8YzMhAYFxHvOMkFgw4iDRwAIghF3Yvwz+w1U+W6BqR4p0UbFQA/DUwg==,fgKPKHMyodKBg36scDM/UVuamyXMMmPgqd7M7JLxCkYAT+e2uB+Pkv0b5Nudx2hH2l3BtwQ6SrlJwT7cwYz6nw==,es256,+presence \ No newline at end of file diff --git a/private_dot_config/chezmoi/.chezmoi.toml.tmpl b/private_dot_config/chezmoi/.chezmoi.toml.tmpl new file mode 100644 index 0000000..495ffa8 --- /dev/null +++ b/private_dot_config/chezmoi/.chezmoi.toml.tmpl @@ -0,0 +1,18 @@ +{{- $email := promptStringOnce . "email" "Email address" -}} +{{- $name := promptStringOnce . "name" "Name" -}} + +encryption = "gpg" + +[data] +email = {{ $email | quote }} +name = {{ $name | quote }} + +[gpg] +identity = "{{ .chezmoi.homeDir }}/key.txt" +recipients = [ + "DD8583A510DEB949714ED847430C50CA90F98BBE", + "6A10DF52E755E8174CD5C4C18ED045D80561353B", + "30FA9C303E45B42AA688839C557DE35A80C4461F" +] + + diff --git a/private_dot_config/git/executable_config b/private_dot_config/git/executable_config new file mode 100644 index 0000000..af2ae46 --- /dev/null +++ b/private_dot_config/git/executable_config @@ -0,0 +1,52 @@ +[user] +email = "akristip@cisco.com" +name = "Mira Kristipati" + +[core] +editor = nvim +pager = delta +# Remove Carriage Returns +autocrlf = input +eol = lf + +[interactive] +diffFilter = delta --color-only + +[delta] +navigate = true # use n and N to move between diff sections +light = false # set to true if you're in a terminal w/ a light background color (e.g. the default macOS terminal) + +[merge] +conflictstyle = diff3 + +[diff] +colorMoved = default +mnemonicPrefix = true +renames = true +algorithm = patience + +[pull] +rebase = merges +autoSetupRemote = true +default = simple +followTags = true + +[apply] +whitespace = fix + +[help] +#Automatically fix commands and run after 0.5s +autocorrect = 50 + +[safe] +directory = / + +[rebase] +autostash = true + +[log] +abbrevCommit = true + +[rerere] +autoupdate = true +enabled = true \ No newline at end of file diff --git a/private_dot_config/nix/nix-channels b/private_dot_config/nix/nix-channels new file mode 100644 index 0000000..3a07ba5 --- /dev/null +++ b/private_dot_config/nix/nix-channels @@ -0,0 +1,2 @@ +https://github.com/nix-community/NUR/archive/master.tar.gz nur +https://nixos.org/channels/nixpkgs-unstable nixpkgs diff --git a/private_dot_config/nvim/init.vim b/private_dot_config/nvim/init.vim new file mode 100644 index 0000000..b42c8d9 --- /dev/null +++ b/private_dot_config/nvim/init.vim @@ -0,0 +1,3 @@ +set runtimepath^=~/.vim runtimepath+=~/.vim/after +let &packpath=&runtimepath +source ~/.vimrc diff --git a/private_dot_config/readline/inputrc b/private_dot_config/readline/inputrc new file mode 100644 index 0000000..a50426c --- /dev/null +++ b/private_dot_config/readline/inputrc @@ -0,0 +1,21 @@ +set editing-mode vi +$if mode=vi +set keymap vi-command +# these are for vi-command mode +Control-l: clear-screen + +set keymap vi-insert +# these are for vi-insert mode +Control-l: clear-screen +$endif + +set keymap vi +set show-mode-in-prompt on +set show-all-if-ambiguous on +$if term=linux + set vi-ins-mode-string \1\e[?0c\2 + set vi-cmd-mode-string \1\e[?8c\2 +$else + set vi-ins-mode-string \1\e[6 q\2 + set vi-cmd-mode-string \1\e[2 q\2 +$endif diff --git a/private_dot_config/sheldon/plugins.toml b/private_dot_config/sheldon/plugins.toml new file mode 100644 index 0000000..99836fa --- /dev/null +++ b/private_dot_config/sheldon/plugins.toml @@ -0,0 +1,92 @@ +# `sheldon` configuration file +# ---------------------------- +# +# You can modify this file directly or you can use one of the following +# `sheldon` commands which are provided to assist in editing the config file: +# +# - `sheldon add` to add a new plugin to the config file +# - `sheldon edit` to open up the config file in the default editor +# - `sheldon remove` to remove a plugin from the config file +# +# See the documentation for more https://github.com/rossmacarthur/sheldon#readme + +shell = "zsh" + +[templates] +defer = "{% for file in files %}zsh-defer source \"{{ file }}\"\n{% endfor %}" +defer-more = "{% for file in files %}zsh-defer -t 10 source \"{{ file }}\"\n{% endfor %}" +defer-medium = "{% for file in files %}zsh-defer -t 5 source \"{{ file }}\"\n{% endfor %}" + +[plugins] + +[plugins.zsh-defer] +github = "romkatv/zsh-defer" + +[plugins.evalcache] +github = 'mroth/evalcache' + + +[plugins.fast-syntax-highlighting] +github = 'zdharma-continuum/fast-syntax-highlighting' +apply = ["defer-medium"] + +[plugins.zsh-autosuggestions] +github = 'zsh-users/zsh-autosuggestions' +apply = ["defer"] + +[plugins.bash-completions-fallback] +github = '3v1n0/zsh-bash-completions-fallback' +apply = ["defer-more"] + +[plugins.fzf-tab] +github = 'Aloxaf/fzf-tab' +apply = ["defer"] + +[plugins.zsh-cargo-completion] +github = 'MenkeTechnologies/zsh-cargo-completion' +apply = ["defer"] + +[plugins.click-completion] +github = 'click-contrib/click-completion' +apply = ["defer"] + +#[plugins.zsh-direnv] +#github = 'ptavares/zsh-direnv' +#apply = ["defer"] + +[plugins.undollar] +github = 'zpm-zsh/undollar' +apply = ["defer"] + +[plugins.fzf] +remote = 'https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/plugins/fzf/fzf.plugin.zsh' +apply = ["defer"] + +[plugins.extract] +remote = 'https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/plugins/extract/extract.plugin.zsh' +apply = ["defer"] + +[plugins.zsh-interactive-cd] +remote = 'https://github.com/ohmyzsh/ohmyzsh/blob/master/plugins/zsh-interactive-cd/zsh-interactive-cd.plugin.zsh' +apply = ["defer"] + +#[plugins.aliases] +#remote = 'https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/aliases' + +[plugins.zsh-vim-plugin] +github = 'nviennot/zsh-vim-plugin' +apply = ["defer"] + +[plugins.docker-zsh-completion] +github = 'greymd/docker-zsh-completion' +apply = ["defer"] + +[plugins.zsh-nohup] + +#Needs to be last plugin in list, lets you nohup a running process with ctrl+h +github = 'micrenda/zsh-nohup' +apply = ["defer"] +# For example: +# +# [plugins.base16] +# github = "chriskempson/base16-shell" diff --git a/private_dot_config/starship.toml b/private_dot_config/starship.toml new file mode 100644 index 0000000..a7714c1 --- /dev/null +++ b/private_dot_config/starship.toml @@ -0,0 +1,167 @@ +# Get editor completions based on the config schema +"$schema" = 'https://starship.rs/config-schema.json' + +format = """ +[](fg:bright-purple)\ +$os\ +$shell\ +$username\ +[](bg:bright-red fg:bright-purple)\ +$directory\ +[](fg:bright-red bg:bright-blue)\ +$git_branch\ +$git_status\ +$git_state\ +[](fg:bright-blue bg:bright-cyan )\ +$c\ +$golang\ +$gradle\ +$java\ +$nodejs\ +$rust\ +[](fg:bright-cyan bg:bright-green)\ +$docker_context\ +[](fg:bright-green bg:bright-blue)\ +$time\ +[ ](fg:bright-blue)\ +""" + +right_format = """ +[](fg:bright-red) +$status\ +[](bg:bright-red fg:bright-blue) +$cmd_duration\ +$hostname\ +[](fg:bright-blue) +""" + +# Disable the blank line at the start of the prompt +# add_newline = false + +# You can also replace your username with a neat symbol like  or disable this +# and use the os module below +[username] +style_user = "bg:bright-purple fg:black" +style_root = "bg:bright-purple fg:black" +format = '[$user ]($style)' +disabled = false + +# An alternative to the username module which displays a symbol that +# represents the current operating system +[os] +style = "bg:bright-purple fg:black" +format = "[$symbol]($style)" +disabled = false # Disabled by default + +[os.symbols] +Ubuntu = " " +Arch = " " +CentOS = " " +# AlmaLinux = " " +NixOS = " " +Windows = " " +Macos = " " + +[directory] +style = "bg:bright-red fg:black" +format = "[ $path ]($style)" +truncation_length = 3 +truncation_symbol = "…/" + +# Here is how you can shorten some long paths by text replacement +# similar to mapped_locations in Oh My Posh: +[directory.substitutions] +"Documents" = " " +"Downloads" = " " +"Music" = " " +"Pictures" = " " +# Keep in mind that the order matters. For example: +# "Important Documents" = "  " +# will not be replaced, because "Documents" was already substituted before. +# So either put "Important Documents" before "Documents" or use the substituted version: +# "Important  " = "  " + +[c] +symbol = " " +style = "bg:bright-cyan fg:black" +format = '[ $symbol ($version) ]($style)' + +[docker_context] +symbol = " " +style = "bg:bright-green fg:black" +format = '[ $symbol $context ]($style) $path' + + +[git_branch] +symbol = "" +style = "bg:bright-blue fg:black" +format = '[ $symbol $branch ]($style)' + +[git_commit] +symbol = "" +style = "bg:bright-blue fg:black" +format = "[($hash$tag)]($style) " + +[git_status] +style = "bg:bright-blue fg:black" +format = '[$all_status$ahead_behind ]($style)' + +[git_state] +style = "bg:bright-blue fg:black" +format = '[\($state( $progress_current of $progress_total)\)]($style) ' + +[golang] +symbol = " " +style = "bg:bright-cyan fg:black" +format = '[ $symbol ($version) ]($style)' + +[gradle] +style = "bg:bright-cyan fg:black" +format = '[ $symbol ($version) ]($style)' + +[java] +symbol = " " +style = "bg:bright-cyan fg:black" +format = '[ $symbol ($version) ]($style)' + +[nodejs] +symbol = "" +style = "bg:bright-cyan fg:black" +format = '[ $symbol ($version) ]($style)' + +[rust] +symbol = "" +style = "bg:bright-cyan fg:black" +format = '[ $symbol ($version) ]($style)' + +[time] +time_format = "%r" # Hour:Minute Format +disabled = false +style = "bg:bright-blue fg:black" +format = '[ $time ]($style)' + +[shell] +bash_indicator = "" +powershell_indicator = "" +zsh_indicator = "" +style = "bg:bright-purple fg:black" +format = '[$indicator ]($style)' +disabled = false + +[cmd_duration] +format = "[ $duration]($style)" +style = "fg:black bg:bright-blue" +show_milliseconds = true +show_notifications = true + +[status] +disabled=false +style="fg:black bg:bright-red" +symbol="" +# success_symbol="" +format = "[ $symbol $status ]($style)" + +[hostname] +style="bg:bright-blue fg:black" +ssh_symbol="@" +format='[ $ssh_symbol$hostname ]($style)' diff --git a/private_dot_config/zellij/config.kdl b/private_dot_config/zellij/config.kdl new file mode 100644 index 0000000..6cfc834 --- /dev/null +++ b/private_dot_config/zellij/config.kdl @@ -0,0 +1,371 @@ +// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true" +keybinds { + normal { + // uncomment this and adjust key if using copy_on_select=false + // bind "Alt c" { Copy; } + } + locked { + bind "Ctrl g" { SwitchToMode "Normal"; } + } + resize { + bind "Ctrl n" { SwitchToMode "Normal"; } + bind "h" "Left" { Resize "Increase Left"; } + bind "j" "Down" { Resize "Increase Down"; } + bind "k" "Up" { Resize "Increase Up"; } + bind "l" "Right" { Resize "Increase Right"; } + bind "H" { Resize "Decrease Left"; } + bind "J" { Resize "Decrease Down"; } + bind "K" { Resize "Decrease Up"; } + bind "L" { Resize "Decrease Right"; } + bind "=" "+" { Resize "Increase"; } + bind "-" { Resize "Decrease"; } + } + pane { + bind "Ctrl p" { SwitchToMode "Normal"; } + bind "h" "Left" { MoveFocus "Left"; } + bind "l" "Right" { MoveFocus "Right"; } + bind "j" "Down" { MoveFocus "Down"; } + bind "k" "Up" { MoveFocus "Up"; } + bind "p" { SwitchFocus; } + bind "n" { NewPane; SwitchToMode "Normal"; } + bind "d" { NewPane "Down"; SwitchToMode "Normal"; } + bind "r" { NewPane "Right"; SwitchToMode "Normal"; } + bind "x" { CloseFocus; SwitchToMode "Normal"; } + bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; } + bind "z" { TogglePaneFrames; SwitchToMode "Normal"; } + bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; } + bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; } + bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;} + } + move { + bind "Ctrl h" { SwitchToMode "Normal"; } + bind "n" "Tab" { MovePane; } + bind "h" "Left" { MovePane "Left"; } + bind "j" "Down" { MovePane "Down"; } + bind "k" "Up" { MovePane "Up"; } + bind "l" "Right" { MovePane "Right"; } + } + tab { + bind "Ctrl t" { SwitchToMode "Normal"; } + bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; } + bind "h" "Left" "Up" "k" { GoToPreviousTab; } + bind "l" "Right" "Down" "j" { GoToNextTab; } + bind "n" { NewTab; SwitchToMode "Normal"; } + bind "x" { CloseTab; SwitchToMode "Normal"; } + bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; } + bind "1" { GoToTab 1; SwitchToMode "Normal"; } + bind "2" { GoToTab 2; SwitchToMode "Normal"; } + bind "3" { GoToTab 3; SwitchToMode "Normal"; } + bind "4" { GoToTab 4; SwitchToMode "Normal"; } + bind "5" { GoToTab 5; SwitchToMode "Normal"; } + bind "6" { GoToTab 6; SwitchToMode "Normal"; } + bind "7" { GoToTab 7; SwitchToMode "Normal"; } + bind "8" { GoToTab 8; SwitchToMode "Normal"; } + bind "9" { GoToTab 9; SwitchToMode "Normal"; } + bind "Tab" { ToggleTab; } + } + scroll { + bind "Ctrl s" { SwitchToMode "Normal"; } + bind "e" { EditScrollback; SwitchToMode "Normal"; } + bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; } + bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; } + bind "j" "Down" { ScrollDown; } + bind "k" "Up" { ScrollUp; } + bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; } + bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; } + bind "d" { HalfPageScrollDown; } + bind "u" { HalfPageScrollUp; } + // uncomment this and adjust key if using copy_on_select=false + // bind "Alt c" { Copy; } + } + search { + bind "Ctrl s" { SwitchToMode "Normal"; } + bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; } + bind "j" "Down" { ScrollDown; } + bind "k" "Up" { ScrollUp; } + bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; } + bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; } + bind "d" { HalfPageScrollDown; } + bind "u" { HalfPageScrollUp; } + bind "n" { Search "down"; } + bind "p" { Search "up"; } + bind "c" { SearchToggleOption "CaseSensitivity"; } + bind "w" { SearchToggleOption "Wrap"; } + bind "o" { SearchToggleOption "WholeWord"; } + } + entersearch { + bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; } + bind "Enter" { SwitchToMode "Search"; } + } + renametab { + bind "Ctrl c" { SwitchToMode "Normal"; } + bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; } + } + renamepane { + bind "Ctrl c" { SwitchToMode "Normal"; } + bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; } + } + session { + bind "Ctrl o" { SwitchToMode "Normal"; } + bind "Ctrl s" { SwitchToMode "Scroll"; } + bind "d" { Detach; } + } + tmux { + bind "[" { SwitchToMode "Scroll"; } + bind "Ctrl b" { Write 2; SwitchToMode "Normal"; } + bind "\"" { NewPane "Down"; SwitchToMode "Normal"; } + bind "%" { NewPane "Right"; SwitchToMode "Normal"; } + bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; } + bind "c" { NewTab; SwitchToMode "Normal"; } + bind "," { SwitchToMode "RenameTab"; } + bind "p" { GoToPreviousTab; SwitchToMode "Normal"; } + bind "n" { GoToNextTab; SwitchToMode "Normal"; } + bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; } + bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; } + bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; } + bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; } + bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; } + bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; } + bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; } + bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; } + bind "o" { FocusNextPane; } + bind "d" { Detach; } + } + shared_except "locked" { + bind "Ctrl g" { SwitchToMode "Locked"; } + bind "Ctrl q" { Quit; } + bind "Alt n" { NewPane; } + bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; } + bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; } + bind "Alt j" "Alt Down" { MoveFocus "Down"; } + bind "Alt k" "Alt Up" { MoveFocus "Up"; } + bind "Alt =" "Alt +" { Resize "Increase"; } + bind "Alt -" { Resize "Decrease"; } + } + shared_except "normal" "locked" { + bind "Enter" "Esc" { SwitchToMode "Normal"; } + } + shared_except "pane" "locked" { + bind "Ctrl p" { SwitchToMode "Pane"; } + } + shared_except "resize" "locked" { + bind "Ctrl n" { SwitchToMode "Resize"; } + } + shared_except "scroll" "locked" { + bind "Ctrl s" { SwitchToMode "Scroll"; } + } + shared_except "session" "locked" { + bind "Ctrl o" { SwitchToMode "Session"; } + } + shared_except "tab" "locked" { + bind "Ctrl t" { SwitchToMode "Tab"; } + } + shared_except "move" "locked" { + bind "Ctrl h" { SwitchToMode "Move"; } + } + shared_except "tmux" "locked" { + bind "Ctrl b" { SwitchToMode "Tmux"; } + } +} + +plugins { + tab-bar { path "tab-bar"; } + status-bar { path "status-bar"; } + strider { path "strider"; } + compact-bar { path "compact-bar"; } +} + +// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP +// eg. when terminal window with an active zellij session is closed +// Options: +// - detach (Default) +// - quit +// + on_force_close "quit" + +// Send a request for a simplified ui (without arrow fonts) to plugins +// Options: +// - true +// - false (Default) +// +// simplified_ui true + +// Choose the path to the default shell that zellij will use for opening new panes +// Default: $SHELL +// +// default_shell "fish" + +// Toggle between having pane frames around the panes +// Options: +// - true (default) +// - false +// + pane_frames false + +// Define color themes for Zellij +// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes +// Once these themes are defined, one of them should to be selected in the "theme" section of this file +// +themes { + dracula { + fg 248 248 242 + bg 40 42 54 + red 255 85 85 + green 80 250 123 + yellow 241 250 140 + blue 98 114 164 + magenta 255 121 198 + orange 255 184 108 + cyan 139 233 253 + black 0 0 0 + white 255 255 255 + } + base16 { + fg 15 + bg 8 + red 9 + green 10 + yellow 11 + blue 12 + magenta 13 + orange 16 + cyan 14 + black 0 + white 15 + } + // Catppuccin Theme: +// https://github.com/catppuccin/catppuccin + + catppuccin-latte { + bg "#acb0be" // Surface2 + fg "#acb0be" // Surface2 + red "#d20f39" + green "#40a02b" + blue "#1e66f5" + yellow "#df8e1d" + magenta "#ea76cb" // Pink + orange "#fe640b" // Peach + cyan "#04a5e5" // Sky + black "#dce0e8" // Crust + white "#4c4f69" // Text + } + + catppuccin-frappe { + bg "#626880" // Surface2 + fg "#c6d0f5" + red "#e78284" + green "#a6d189" + blue "#8caaee" + yellow "#e5c890" + magenta "#f4b8e4" // Pink + orange "#ef9f76" // Peach + cyan "#99d1db" // Sky + black "#292c3c" // Mantle + white "#c6d0f5" + } + + catppuccin-macchiato { + bg "#5b6078" // Surface2 + fg "#cad3f5" + red "#ed8796" + green "#a6da95" + blue "#8aadf4" + yellow "#eed49f" + magenta "#f5bde6" // Pink + orange "#f5a97f" // Peach + cyan "#91d7e3" // Sky + black "#1e2030" // Mantle + white "#cad3f5" + } + + catppuccin-mocha { + bg "#585b70" // Surface2 + fg "#cdd6f4" + red "#f38ba8" + green "#a6e3a1" + blue "#89b4fa" + yellow "#f9e2af" + magenta "#f5c2e7" // Pink + orange "#fab387" // Peach + cyan "#89dceb" // Sky + black "#181825" // Mantle + white "#cdd6f4" + } + +} + +// Choose the theme that is specified in the themes section. +// Default: default +// +theme "base16" + +// The name of the default layout to load on startup +// Default: "default" +// +// default_layout "compact" + +// Choose the mode that zellij uses when starting up. +// Default: normal +// +// default_mode "locked" + +// Toggle enabling the mouse mode. +// On certain configurations, or terminals this could +// potentially interfere with copying text. +// Options: +// - true (default) +// - false +// +// mouse_mode false + +// Configure the scroll back buffer size +// This is the number of lines zellij stores for each pane in the scroll back +// buffer. Excess number of lines are discarded in a FIFO fashion. +// Valid values: positive integers +// Default value: 10000 +// +// scroll_buffer_size 10000 + +// Provide a command to execute when copying text. The text will be piped to +// the stdin of the program to perform the copy. This can be used with +// terminal emulators which do not support the OSC 52 ANSI control sequence +// that will be used by default if this option is not set. +// Examples: +// +// copy_command "xclip -selection clipboard" // x11 +// copy_command "wl-copy" // wayland +// copy_command "pbcopy" // osx + +// Choose the destination for copied text +// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard. +// Does not apply when using copy_command. +// Options: +// - system (default) +// - primary +// +// copy_clipboard "primary" + +// Enable or disable automatic copy (and clear) of selection when releasing mouse +// Default: true +// +// copy_on_select false + +// Path to the default editor to use to edit pane scrollbuffer +// Default: $EDITOR or $VISUAL +// +// scrollback_editor "/usr/bin/vim" + +// When attaching to an existing session with other users, +// should the session be mirrored (true) +// or should each user have their own cursor (false) +// Default: false +// +// mirror_session true + +// The folder in which Zellij will look for layouts +// +// layout_dir "/path/to/my/layout_dir" + +// The folder in which Zellij will look for themes +// +// theme_dir "/path/to/my/theme_dir" diff --git a/private_dot_ssh/encrypted_private_id_ed25519.asc b/private_dot_ssh/encrypted_private_id_ed25519.asc new file mode 100644 index 0000000..2c3c2aa --- /dev/null +++ b/private_dot_ssh/encrypted_private_id_ed25519.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP MESSAGE----- + +hF4DnKsPAEE6CNQSAQdAWCa4a7OENzOpI+7/42caOGKqoe1mYpMfIGoD00wISwEw +51FBQ5kjjFuz23ftIDhAl7Q8rbYpwl0NoB+WDCDcmN9Aq4ZfOHFUkL91NZoGTimk +hF4DKuDO9f9TeKkSAQdAA+KVvXNX0tDpyP798rJZPsgNgmz1uVr2zvAuGcT1F1ow +Ka18Sh8g/OED2rnIPbenINAvEnU8YgxUe9Cy7UZUvF9dwR98cUVWBG31QflOpuj+ +hF4DA3+i/9us1joSAQdAX/jlK1THtSq0Lj9YBbt8R86YoT/+BBTJDfidV7tyahIw +WTuIYivb+6FbTKTVnBN9jwUSUyQ0yXKcVSr9Pl3xoJL75WBMRes5CF0JqeIqPCfS +0sCsAeB0i7v0xYv2sThESyQ+4yfIXC2l530qlwPvkI2p9o1hX0nI4mhoNXQt+mx4 +W1Krl2xqOjTumbaxTU9rD0NFv6WFa4t3wPTQMLJxW9L17vEWjVwbFk4WoBf0sJUD +rmREk0vKAeAI969NGsIVsMXiqzgtwajuEolkTaUV7+A4fprJgVj+nUwMzRAtTWUX +sVF1plxXW7JjnfKUaWUwqpohtZQ5rZkBwUNxdhX+DboGOGhd/D1pdkGV9HW3dJg/ +vNTKwQXF7JQH/lTxzore0J0/vOWliRM4YWuC4NAM4XcVmjS3TbiPrTYeQxNd1cre +q3wW0+O22A0ZqGPKkUNHA4mansyC06D3ZOb2HmEpq4SYtR+hPPrhOCSW8t2mD4j3 +4j4+Zn1gGgVhngSFdLzsZRsVv0MuKsutRCk8thu5HyGigUZDxK0gqzfZLC6deW0z +AOoqP8eKP02AJfq1gzk/cFUOQnolCbP1ZjrrD3uZnQ== +=uj3j +-----END PGP MESSAGE----- diff --git a/private_dot_ssh/encrypted_private_id_ed25519_sk.asc b/private_dot_ssh/encrypted_private_id_ed25519_sk.asc new file mode 100644 index 0000000..330d202 --- /dev/null +++ b/private_dot_ssh/encrypted_private_id_ed25519_sk.asc @@ -0,0 +1,19 @@ +-----BEGIN PGP MESSAGE----- + +hF4DnKsPAEE6CNQSAQdAT6hXnXWaY56fPJBPlusWwqK87vSrKLb3tKwfmwDeAA0w +n7ao8thtT2KynhHzOvdeS1HM+IqhaiRcpFSmOCxU+4Z+dS+eonPHzrRTSH7Msm3R +hF4DKuDO9f9TeKkSAQdARHr74fZ5hVC6kkqZquSdD6EZ6sCuPbT9jjnnvcJbPRsw +pampnMA9GE8l5cz5LH8d19H8+G95j5TZV8DRfT/92kC+v6KvypgwshIIrjFrjdbg +hF4DA3+i/9us1joSAQdAP1YI5caLABBjkqsXSohus1AfoTXoGOLrKjwIMaEUE0ww +NRYGp2nYZtVzCkMhS5a/oEdSmti4wy+iK4kwdDoQtBE8X2535YSV04vNnpYmooXk +0sDYAf0z2iyI8Ahz71mX2Yq8AY2Xsutj+6VfuQq/xFQT2+ywcKCnKa5tirNY3k5d +7WeukNqZd+mDSiY43C+Cr8DNhJRGAgjoo9/1LGdSlOA4I54bWtQ6BC3p+ol3U+5X +zqiSe9pe3tHIa0CpHpEeIUkQfX7ZjF+/Y/6e1Kwm5mN8t+e8XqjH7zQTSFqrWpVi +CWyF371ib/e6qzYWE7WzGzepcCgUiViufL00wHB4Ke+o25BehgBaIdfY9AdTKoGI +Ou1q1c1kiaHIOoxVwFSvxgPhnk1npAtpHWWK8z9E1aAZoie0k3UXmWyvW3SD0P+9 +tWz0M3bekwYuVwRsOROjJu3ltcgu3sNRC00VunD2VwCfWl6YGO0RibANEoLEfUPz +3/Q2AWBtKM3Ru1CyAmF1T/Y4pT+/yXUse9LPOILIJPoGORAolpMAcJw2Wqv3a7p3 +3s0XdN/8GCVk9MRZ1+Z3itKfEGidLnERHK/s3tttdtikhgPRDeuq6YtXaWcDWln6 +iyMB5D6Hjw+by6k/IK1CjU6FOdhRNOfWL9oa +=o8di +-----END PGP MESSAGE----- diff --git a/private_dot_ssh/encrypted_private_id_rsa.asc b/private_dot_ssh/encrypted_private_id_rsa.asc new file mode 100644 index 0000000..c2df8b4 --- /dev/null +++ b/private_dot_ssh/encrypted_private_id_rsa.asc @@ -0,0 +1,53 @@ +-----BEGIN PGP MESSAGE----- + +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 +MD66yXH+li2HcXcM0Hod8Y1qLh8Q0DyY/muSVA== +=fO+U +-----END PGP MESSAGE----- diff --git a/private_dot_ssh/private_id_ed25519.pub b/private_dot_ssh/private_id_ed25519.pub new file mode 100644 index 0000000..062aaba --- /dev/null +++ b/private_dot_ssh/private_id_ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIA0ikP2zdDBaJZ+aoE6jFz3UpCyHjz1r1QtuZTAvTpx zagreus\ed25519 diff --git a/private_dot_ssh/private_id_ed25519_sk.pub b/private_dot_ssh/private_id_ed25519_sk.pub new file mode 100644 index 0000000..fa768a1 --- /dev/null +++ b/private_dot_ssh/private_id_ed25519_sk.pub @@ -0,0 +1 @@ +sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIDqxmVC31UWIlR96JJSHnDXpc7okc1jl5G9WZqhuF3o1AAAABHNzaDo= mira@yubikey-black diff --git a/private_dot_ssh/private_id_rsa.pub b/private_dot_ssh/private_id_rsa.pub new file mode 100644 index 0000000..a1bf84e --- /dev/null +++ b/private_dot_ssh/private_id_rsa.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDmlwH8493bn92giGF0fc5sBhtmYFCxVVk/r6Xeo6O8G+FhdzVLJPnnO8H5Rhs8O/7sa8+Ng/OipTEEZ16ZkPDFUVNCTZdI0GnI0K/YlffCgI0k3FLlQpL/NKBdH+9kDzWlm96vMp3cFjHLbk1tDOiUTgt50OBKxcfzeYqJ7TDBwlXDxwjt5z3yKbTUgYlbd6GYhfLmgZZmxBml2Opj2qJkm1ERyn34KG/XwrMowCAWjpBxxgLDNLiOJGQ/MZfe8h7cFig5YKBsSSQ7h37SU4qzuecb6y6NGgu6JpcBKXIvqLilCnnjZbxWrMlLz4fHlPTAqAMUiu5w/uFty5ZPQ3E+EkjeUUqLzHBNXDdEQSP+AOh1HbsTa6cg0NjtF63BecTQZ+cnIWIAOk8l+IemtJyhdVDYqEG7q7SNzX1FdRxyFVU3uNGHJmX4S2AlN44JwpeUcX7qyZNEG9BkcKVSOMRQIdkilyt3pCtvK0yf6Ot6Ab39QKs5gUYa0nHqP+HXheE= mira@NAS diff --git a/pubkeys.asc b/pubkeys.asc new file mode 100644 index 0000000..2e79965 --- /dev/null +++ b/pubkeys.asc @@ -0,0 +1,119 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mDMEZIjWHxYJKwYBBAHaRw8BAQdAtI4ucxI1PHAJNSIj2TITGcW4BWK2muk3sFfh +cyTHvrW0MkFyZ2VudHVtQ2F0aW9uIDxhcmdlbnR1bWNhdGlvbkBhcmdlbnR1bWNh +dGlvbi5jb20+iJMEExYKADsWIQTdhYOlEN65SXFO2EdDDFDKkPmLvgUCZIjWHwIb +IwULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRBDDFDKkPmLvl3wAQCPR0mt +8omFlGLTYi8XJqGu/ha+wGeGrNCh7LixYHfHkwD+Im2LqQkcNXLAJPDK1vGGOh0A +D+bSiGT+5Ly40/gkPw6IjgQTFgoANgULCQgHAgYVCgkICwIFFgIDAQACHgQWIQTd +hYOlEN65SXFO2EdDDFDKkPmLvgUCZI44XwIbAQAKCRBDDFDKkPmLvi9PAP9jdP8l +63zO8ArwyFm8QbUf4z95AVloDO9IDYU5aZNGjwD7BvJAJu6f0Fvl8Jnj+TEdxobN +WBQlKy3iP9EytZRd0gy4OARkiNYfEgorBgEEAZdVAQUBAQdAFfcK11UfBm4IPs9w +i7YrZ78OxMRm4wf0qdSCQ7vQTDoDAQgHiHgEGBYKACAWIQTdhYOlEN65SXFO2EdD +DFDKkPmLvgUCZIjWHwIbDAAKCRBDDFDKkPmLvpsLAQCVeepy/NKnrrMrgBq8F/jp +YLaPLV6ZsglRafNuZSUT6wD/dzdvEHqgJz7LLXia1jFDf76zwvFjHm0pL7vY49ud +nQGIfgQYFgoAJgIbDBYhBN2Fg6UQ3rlJcU7YR0MMUMqQ+Yu+BQJkjjjaBQkB5pY7 +AAoJEEMMUMqQ+Yu+LG4A/3HHUsTa7aorzm/Dy1fRerQJgxygkeUKSvlAKUF3m/0z +AP9qcHKQ9gadloxemrAAQV5j9iSEZaBOGQrPOOPUW9fLALgzBGSOOGYWCSsGAQQB +2kcPAQEHQOY3LSWsg9XK1rI7r2E+1tmX3Vi7W5opwkvqO6AsduZRiPUEGBYKACYW +IQTdhYOlEN65SXFO2EdDDFDKkPmLvgUCZI44ZgIbIgUJAeEzgACBCRBDDFDKkPmL +vnYgBBkWCgAdFiEEmDuCuojiYMGK2/BtFWu6Znyls88FAmSOOGYACgkQFWu6Znyl +s89UTwD/Q+5QGxpHlAk/sKOJEHSgaYWzhD/FMtX48WhQ1A082UYBAPEk3HzjgGyy +koN5731yCHoozNECk2M0CYMGQp7MWKUHDYcBAMBOXVl6E+uRADUfrK0vSYQupBiU +mPi9MZKwG1PGZnY2AP0cGMZ3o4QCMlHukCYX7vbQnMMeC0QucUjUT7/kmQ3IDJgz +BGSI1TEWCSsGAQQB2kcPAQEHQPROwOfv1JxmtvsnLFf4U5PTVWyehgF8jxP2sqLL +Kl09tCRNaXJhIEtyaXN0aXBhdGkgPGFrcmlzdGlwQGNpc2NvLmNvbT6IkwQTFgoA +OwULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgBYhBCwCrLaN2gzvip5yL6L1Eyad +T2nJBQJkjjtpAhsBAAoJEKL1EyadT2nJZocBAMs+4mcqYkXjG4OASYJ8nFdBEi6n +gupWgwIYH3fCrL5rAQCEJFkc8xYywN4eqznKq4f1n/ZH64UcjcvLl8vNf2D0CLQv +QWpheSBLcmlzdGlwYXRpIChha3Jpc3RpcCkgPGFrcmlzdGlwQGNpc2NvLmNvbT6I +kwQTFgoAOxYhBCwCrLaN2gzvip5yL6L1EyadT2nJBQJkiNUxAhsjBQsJCAcCAiIC +BhUKCQgLAgQWAgMBAh4HAheAAAoJEKL1EyadT2nJRsgA/igWBameBi93s+itBwLX +fV9gg5C0KtYDTT2JN2/uXtACAQDg5C5f8dgHUj9f2q+ZIzD8NjNY9T9wc1nd3sCR +z9S9DbQkQWpheSBLcmlzdGlwYXRpIDxha3Jpc3RpcEBjaXNjby5jb20+iJMEExYK +ADsWIQQsAqy2jdoM74qeci+i9RMmnU9pyQUCZIjVowIbIwULCQgHAgIiAgYVCgkI +CwIEFgIDAQIeBwIXgAAKCRCi9RMmnU9pyefjAP9TfuPYKnmxJVpbB9HRgE7qdDkS +c8gRC+V6ec41no3hRAEAu7lf4Ki3xu7BSE2Y3Podhkwze+o3ox8pwRWd8AkeKwu4 +OARkiNUxEgorBgEEAZdVAQUBAQdA/HWw6kb/hzA1TEgaZut4PG1ohLq/3Mfg32iS +S+9hSyMDAQgHiH4EGBYKACYCGwwWIQQsAqy2jdoM74qeci+i9RMmnU9pyQUCZI47 +dwUJAeaZxgAKCRCi9RMmnU9pyZebAQCY2BxqrdAtrlWL8Uy6Aj8bis6mJbo0gofj +0z/ZZPx5KgEAnTMfp2Z/0sr+Ms8Zm2EKsmSYzm5Jb8rSc3t42rruVQ+4MwRkjjuF +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 +fgA= +=toTs +-----END PGP PUBLIC KEY BLOCK----- diff --git a/run_decrypt_private_key.ps1.tmpl b/run_decrypt_private_key.ps1.tmpl new file mode 100755 index 0000000..388e233 --- /dev/null +++ b/run_decrypt_private_key.ps1.tmpl @@ -0,0 +1,14 @@ +{{- if eq .chezmoi.os "windows" -}} +if (-not(Test-Path -Path $env:USERPROFILE\.key.asc -PathType Leaf)) { + gpg --decrypt -o "$env:USERPROFILE\.key.asc" "{{ .chezmoi.sourceDir }}/key.txt.asc" + gpg --import --armor "$env:USERPROFILE\.key.asc" +} +{{- else -}} +#!/bin/sh + +if [ ! -f "${HOME}/.key.asc" ]; then + gpg --decrypt -o "${HOME}/.key.asc" "{{ .chezmoi.sourceDir }}/key.txt.asc" + chmod 600 "${HOME}/.key.asc" + gpg --import --armor "${HOME}/.key.asc" +fi +{{- end -}} diff --git a/run_onchange_add_ssh_pubkeys.ps1.tmpl b/run_onchange_add_ssh_pubkeys.ps1.tmpl new file mode 100755 index 0000000..02a5092 --- /dev/null +++ b/run_onchange_add_ssh_pubkeys.ps1.tmpl @@ -0,0 +1,24 @@ +{{- if ne .chezmoi.os "windows" -}} +#! /bin/sh +{{ end }} +echo 'sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIMggnmTj7KL409V2mtbPgKERbmyJAeCGBcyzxWW+arRZAAAABHNzaDo= yubikey-black' >> ~/.ssh/authorized_keys +echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAltYcKHavkQBJFlogNuT3JhX6ob30V3EYje4pOQBLgq gpg\mira.kristipati@gmail.com' >> ~/.ssh/authorized_keys +echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEKT/rbUu87QyRD7L/QSr+lQMJz2m/mdqlqyCQEMwUJj gpg\cisco' >> ~/.ssh/authorized_keys +echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEw3/9inZC/MRPkuOF6T5LiFoOlgo5HZVIM36IC+hlzJ gpg\mira-yubikey-black' >> ~/.ssh/authorized_keys +echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFdRtpQWCPyQQuzcwlbFukGZSlRTcfNzG840kMvbuPwr gpg\kristipati.ajay@gmail.com' >> ~/.ssh/authorized_keys +echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIA0ikP2zdDBaJZ+aoE6jFz3UpCyHjz1r1QtuZTAvTpx zagreus\ed25519' >> ~/.ssh/authorized_keys +echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJx1GWB1xkE+ECavUypp99FqmB4emiw+j2PpsxN8OXpa gpg\mira@xn--2dkua.xn--tckwe' >> ~/.ssh/authorized_keys +echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINa3w6lweeP4XBokNCEJb86th9S81WQQ+LVVwCRpADap kristipati.ajay@gmail.com' >> ~/.ssh/authorized_keys +echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOY3LSWsg9XK1rI7r2E+1tmX3Vi7W5opwkvqO6AsduZR gpg\ArgentumCation' >> ~/.ssh/authorized_keys +echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDA+Hrb45HQrcBe+gXQz4goWw0PBWdmAWMQ0RWrHXwvkWXM4KsXXrUP7qijEPPtDvJG3JL4Ifsbj+VIN7RprjE5wfvkIxlmnluUK6m2u8r8BlNDhFW5wjoA6PBuHhqYEKGbdqm5s+3WaZt8l2EERyIV87YJPbxNpwc175J3mWYWesvxSp/uNxcXEbOClr+jHXVxztno3XVoVXfpiFfjSsUgprQonbPYiKdfiLwFeXHI03vZlWfmEjERzBE+Ro5ireJ8JVNjKOgiw7aU6tQAyDKe2NkcyTV/tO/OdUSGlnO3Nc3qHHE9B0OTdoKPpiv5A1GdmJWub7UNJKzKB1y7eSGHU3X/FVMSCf9eZUmLIMxWcu1y6GrH1CHIpdqPk+rw6lfjkFg1dDL2f3CXoAwLIEFVaUzI+Gg7BC9Z2jUWTkaj7KoI4sN65PzqrNiJ5QfUjlGh1T0hgMB/QwGarPUilBljGUo7IQfcleDQF3Y5F05Amjr6isZ9ONpeOlCegUB6BIU= mira@epinephrine' >> ~/.ssh/authorized_keys +echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDDD48bhv1AEPhbrGIKxf+XTSWMyxu2qBeaN4nZNZ0YMyinltHd6/VaDEZIzCvadBi3Rc9oTdJIEiXzcMTKj26DacuAuh+YPMvoA0I+lfT36q2SZmWIaVSREtfYYdluJtAyiLvFTkv6G0p5c/x1v9ovEXY3OYo1lnio7j0SmBpj4R9UQJYJhohJLtJCTdfutSuQVclhx/kiytdmFqsCDlCI0EaNxTFS861iTmm2ZjKm7o8ohevxPmnXAHizIBOAZDzbhJ61sPLKIOLWWgJNiK04YUDsBToZBOpeLEnNGkkKY++V4u+5tGI5L1RlVwoGSSB40aY5WLouFmeVE/f42nVuTIF2r/UDjsxeiUdivai+L5xNiqHa5JRWg4+at1lYWGdpineXOPYF6MmzkV+HQMvxC8YhG7ig7W+V7KCfKzMy8EEej+gIMxGFqr6CJQCDXZxqt5o0+Ksh7IMw8AEcrBszuMdJEE/7E/XUnYQHfGUNgFvFwKVzPjOSzbwHMfWPI1k= root@epinephrine' >> ~/.ssh/authorized_keys +echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDm1kPy3bxyLX2nUwvETrsBbjmPDHEvKxmzn9dCoaa/C1tWttrvaXUhYZ6svftR7ofqjCailq1WHU4qkIlfz6Hxwq/mxZdOGRg3A2lzDgbJ5C9RSA8LIfYht2UhbqW40wHCEa1B6+bcwLHFWbDyoeT+NQO007lK4Tu1OY3nTNz3QFJgxAPtFuqQSTFpkxL8JZetQtc/KwJ5ofZBZ+nFc4PUstPE47uf4OEOaKY+fbDZ2bf8tmybGhVq6Oc+BQKij5usnQLTeN8XyVxPxGvXahXHx7ESnp//wCs6DrzoMHBbAVFVXS+w6ZzX2el9gCAcUeyZt8iu0zl9GxnVkpyQzHuuBgYON3orYaCdM5vRCnECFoK8XNwP45jNPzFxrIpSYeJ4tR4uhLxCfD3OHB/BQtOQsEdMJvnLnynzyWePeweTe2S1+ohg9zskyxt9c2rSxw8OlWdHds32JuWka6mTJCdfZgHaNY+Ppz1NEo5XYIfz9Jt0vevmaCVbBHo73Tyh6+k= norepinephrine' >> ~/.ssh/authorized_keys +echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDmOATOG9brF/pBmMufk0LQkPQuLwgZAOZMeHCSdOpr+4Tap/mmqCHGtDL/JW6KsDfFpOFmdnSoeihVPGT3r/Mixt3cGOJlzoWXDt2bHyaEOsLz5B3MuYqBIXG3d2wvxharbmlVg3xyArSaCtuBZcopC5rXajnrPW4HxW+pxPC1NsL3RRGSF0edWdJVdX8oJJBsMMUzfeWh1bxEz2iLKMSYb6KPbQITwFTr+RuiEIppOW3n0zJko1wNG8oWTOgHdkmY4C4rUOk6KgW4qs19t7Mjlc7CnZa3XV7/0DcxERGsphpKvS7dpnEtOt7RaHUr/t0V3yLgl58MPbJKG6WSNIRaXZ0EPSlzz8k+4JjuEFdCDg7WjEDSZsBS9U4AyYQjlEwrkinT7g+LUVKYEDqb0hE539SwARvHZsOXrRgtA+Jh2CJIb/rRWfQRkgxpT9hKiBfYbSj8qbphUrbJ/g72UOQyhIbEW8fF9vmWY75NV/X2+EFZyF56ZhvLFk08sjGIF+s= u0_a441@localhost' >> ~/.ssh/authorized_keys +{{ if eq .chezmoi.os "windows" }} +cat ~/.ssh/authorized_keys | sort | get-unique > ~/.ssh/authorized_keys +{{ else }} +sort ~/.ssh/authorized_keys | uniq -u +sort ~/.ssh/authorized_keys | uniq -u ~/.ssh/authorized_keys +chmod og= ~/.ssh/authorized_keys +{{ end }} + diff --git a/wsl/scripts/setCiscoVpnMetric.ps1 b/wsl/scripts/setCiscoVpnMetric.ps1 new file mode 100644 index 0000000..cf88d13 --- /dev/null +++ b/wsl/scripts/setCiscoVpnMetric.ps1 @@ -0,0 +1 @@ +Get-NetAdapter | Where-Object {$_.InterfaceDescription -Match "Cisco AnyConnect"} | Set-NetIPInterface -InterfaceMetric 6000 \ No newline at end of file diff --git a/wsl/scripts/setDns.ps1 b/wsl/scripts/setDns.ps1 new file mode 100644 index 0000000..1668b5f --- /dev/null +++ b/wsl/scripts/setDns.ps1 @@ -0,0 +1,13 @@ +$dnsServers = (Get-NetAdapter | Where-Object InterfaceDescription -like "Cisco AnyConnect*" | Get-DnsClientServerAddress).ServerAddresses -join ',' +$searchSuffix = (Get-DnsClientGlobalSetting).SuffixSearchList -join ',' + +function set-DnsWsl($distro) { + if ( $dnsServers ) { + wsl.exe -d $distro -u root /opt/wsl_dns.py --servers $dnsServers --search $searchSuffix + } + else { + wsl.exe -d $distro -u root /opt/wsl_dns.py + } +} + +set-DnsWsl Ubuntu \ No newline at end of file