Initial commit

This commit is contained in:
ArgentumCation 2023-04-25 01:12:31 -04:00 committed by Mira Kristipati
commit 23a3755402
41 changed files with 2333 additions and 0 deletions

18
.chezmoi.toml.tmpl Normal file
View file

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

23
.chezmoiignore Normal file
View file

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

View file

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

67
README.md Normal file
View file

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

View file

@ -0,0 +1,2 @@
Invoke-Expression (&starship init powershell)
Invoke-Expression (&sfsu hook)

View file

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

11
dot_inputrc Normal file
View file

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

View file

@ -0,0 +1,2 @@
[install]
root = "/home/mira/.local/"

View file

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

View file

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

2
dot_nix-channels Normal file
View file

@ -0,0 +1,2 @@
https://github.com/nix-community/NUR/archive/master.tar.gz nur
https://nixos.org/channels/nixpkgs-unstable nixpkgs

157
dot_vimrc Normal file
View file

@ -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 <leader>g :Goyo \| set linebreak<CR>

2
dot_wslconfig Normal file
View file

@ -0,0 +1,2 @@
[wsl2]
swap=0

127
executable_dot_aliasrc Normal file
View file

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

View file

@ -0,0 +1 @@
[[ -f ~/.bashrc ]] && . ~/.bashrc

107
executable_dot_bashrc Normal file
View file

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

78
executable_dot_env Normal file
View file

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

View file

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

9
executable_dot_zshenv Normal file
View file

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

158
executable_dot_zshrc Normal file
View file

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

28
key.txt.asc Normal file
View file

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

View file

@ -0,0 +1 @@
mira:3/mKHeiToxQrkYu5sQN7vcmR13Sw8Lq8YzMhAYFxHvOMkFgw4iDRwAIghF3Yvwz+w1U+W6BqR4p0UbFQA/DUwg==,fgKPKHMyodKBg36scDM/UVuamyXMMmPgqd7M7JLxCkYAT+e2uB+Pkv0b5Nudx2hH2l3BtwQ6SrlJwT7cwYz6nw==,es256,+presence

View file

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

View file

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

View file

@ -0,0 +1,2 @@
https://github.com/nix-community/NUR/archive/master.tar.gz nur
https://nixos.org/channels/nixpkgs-unstable nixpkgs

View file

@ -0,0 +1,3 @@
set runtimepath^=~/.vim runtimepath+=~/.vim/after
let &packpath=&runtimepath
source ~/.vimrc

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -0,0 +1,53 @@
-----BEGIN PGP MESSAGE-----
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
MD66yXH+li2HcXcM0Hod8Y1qLh8Q0DyY/muSVA==
=fO+U
-----END PGP MESSAGE-----

View file

@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIA0ikP2zdDBaJZ+aoE6jFz3UpCyHjz1r1QtuZTAvTpx zagreus\ed25519

View file

@ -0,0 +1 @@
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIDqxmVC31UWIlR96JJSHnDXpc7okc1jl5G9WZqhuF3o1AAAABHNzaDo= mira@yubikey-black

View file

@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDmlwH8493bn92giGF0fc5sBhtmYFCxVVk/r6Xeo6O8G+FhdzVLJPnnO8H5Rhs8O/7sa8+Ng/OipTEEZ16ZkPDFUVNCTZdI0GnI0K/YlffCgI0k3FLlQpL/NKBdH+9kDzWlm96vMp3cFjHLbk1tDOiUTgt50OBKxcfzeYqJ7TDBwlXDxwjt5z3yKbTUgYlbd6GYhfLmgZZmxBml2Opj2qJkm1ERyn34KG/XwrMowCAWjpBxxgLDNLiOJGQ/MZfe8h7cFig5YKBsSSQ7h37SU4qzuecb6y6NGgu6JpcBKXIvqLilCnnjZbxWrMlLz4fHlPTAqAMUiu5w/uFty5ZPQ3E+EkjeUUqLzHBNXDdEQSP+AOh1HbsTa6cg0NjtF63BecTQZ+cnIWIAOk8l+IemtJyhdVDYqEG7q7SNzX1FdRxyFVU3uNGHJmX4S2AlN44JwpeUcX7qyZNEG9BkcKVSOMRQIdkilyt3pCtvK0yf6Ot6Ab39QKs5gUYa0nHqP+HXheE= mira@NAS

119
pubkeys.asc Normal file
View file

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

View file

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

View file

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

View file

@ -0,0 +1 @@
Get-NetAdapter | Where-Object {$_.InterfaceDescription -Match "Cisco AnyConnect"} | Set-NetIPInterface -InterfaceMetric 6000

13
wsl/scripts/setDns.ps1 Normal file
View file

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