initial migration
commit
b721d8c3cb
|
@ -0,0 +1,31 @@
|
||||||
|
# ~/.bashrc
|
||||||
|
|
||||||
|
# If not running interactively, don't do anything
|
||||||
|
[[ $- != *i* ]] && return
|
||||||
|
|
||||||
|
[ -r "$CARGO_HOME/env" ] && . "$CARGO_HOME/env"
|
||||||
|
[ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion
|
||||||
|
[ -r /usr/share/clang/bash-autocomplete.sh ] && . /usr/share/clang/bash-autocomplete.sh
|
||||||
|
|
||||||
|
set -o vi
|
||||||
|
stty -ixon
|
||||||
|
|
||||||
|
shopt -s autocd
|
||||||
|
shopt -s globstar
|
||||||
|
shopt -s checkwinsize
|
||||||
|
|
||||||
|
alias x509inspect='openssl x509 -text -noout -in'
|
||||||
|
|
||||||
|
qinfo() {
|
||||||
|
curl https://cht.sh/$1
|
||||||
|
}
|
||||||
|
|
||||||
|
weather() {
|
||||||
|
curl wttr.in/$1
|
||||||
|
}
|
||||||
|
|
||||||
|
__git_ps1='git rev-parse --abbrev-ref HEAD 2>/dev/null||printf ""'
|
||||||
|
|
||||||
|
export PS1="\[\033[38;5;98m\]\h\[$(tput sgr0)\]\[\033[38;5;15m\]@\[$(tput sgr0)\]\[\033[38;5;206m\]\u\[$(tput sgr0)\]\[\033[38;5;15m\] \[$(tput sgr0)\]\[\033[38;5;228m\]\A\[$(tput sgr0)\]\[\033[38;5;15m\] [\[$(tput sgr0)\]\[\033[38;5;156m\]\W\[$(tput sgr0)\] \$(${__git_ps1})\[\033[38;5;15m\]]\n\[$(tput sgr0)\]\[\033[38;5;195m\]\\$\[$(tput sgr0)\]\[\033[38;5;15m\] \[$(tput sgr0)\]"
|
||||||
|
|
||||||
|
eval "$(direnv hook bash)"
|
|
@ -0,0 +1,127 @@
|
||||||
|
|
||||||
|
---
|
||||||
|
BasedOnStyle: LLVM
|
||||||
|
ColumnLimit: 120
|
||||||
|
---
|
||||||
|
Language: Cpp
|
||||||
|
|
||||||
|
AccessModifierOffset: -8
|
||||||
|
AlignAfterOpenBracket: Align
|
||||||
|
AlignConsecutiveAssignments: true
|
||||||
|
AlignConsecutiveDeclarations: false
|
||||||
|
AlignConsecutiveMacros: true
|
||||||
|
AlignEscapedNewlines: Left
|
||||||
|
AlignOperands: false
|
||||||
|
AlignTrailingComments: false
|
||||||
|
AllowAllArgumentsOnNextLine: false
|
||||||
|
AllowAllParametersOfDeclarationOnNextLine: false
|
||||||
|
AllowShortBlocksOnASingleLine: Never
|
||||||
|
AllowShortCaseLabelsOnASingleLine: false
|
||||||
|
AllowShortFunctionsOnASingleLine: Inline
|
||||||
|
AllowShortIfStatementsOnASingleLine: false
|
||||||
|
AllowShortLoopsOnASingleLine: true
|
||||||
|
AlwaysBreakAfterReturnType: None
|
||||||
|
AlwaysBreakBeforeMultilineStrings: false
|
||||||
|
AlwaysBreakTemplateDeclarations: true
|
||||||
|
BinPackArguments: false
|
||||||
|
BinPackParameters: false
|
||||||
|
BreakBeforeBinaryOperators: All
|
||||||
|
BreakBeforeBraces: Custom
|
||||||
|
#BreakAfterAttributes: Leave
|
||||||
|
BraceWrapping:
|
||||||
|
AfterCaseLabel: false
|
||||||
|
AfterClass: true
|
||||||
|
AfterEnum: false
|
||||||
|
AfterStruct: false
|
||||||
|
AfterFunction: true
|
||||||
|
AfterNamespace: false
|
||||||
|
AfterUnion: false
|
||||||
|
AfterExternBlock: false
|
||||||
|
BeforeCatch: false
|
||||||
|
BeforeElse: false
|
||||||
|
BeforeLambdaBody: false
|
||||||
|
BeforeWhile: false
|
||||||
|
IndentBraces: false
|
||||||
|
SplitEmptyFunction: true
|
||||||
|
SplitEmptyRecord: false
|
||||||
|
SplitEmptyNamespace: false
|
||||||
|
BreakBeforeInheritanceComma: false
|
||||||
|
BreakBeforeTernaryOperators: true
|
||||||
|
BreakConstructorInitializers: AfterColon
|
||||||
|
BreakConstructorInitializersBeforeComma: false
|
||||||
|
BreakStringLiterals: true
|
||||||
|
CompactNamespaces: true
|
||||||
|
ConstructorInitializerAllOnOneLineOrOnePerLine: false
|
||||||
|
ConstructorInitializerIndentWidth: 4
|
||||||
|
ContinuationIndentWidth: 4
|
||||||
|
Cpp11BracedListStyle: true
|
||||||
|
DerivePointerAlignment: false
|
||||||
|
FixNamespaceComments: true
|
||||||
|
IndentWidth: 8
|
||||||
|
TabWidth: 8
|
||||||
|
UseTab: AlignWithSpaces
|
||||||
|
ForEachMacros:
|
||||||
|
- foreach
|
||||||
|
- Q_FOREACH
|
||||||
|
- BOOST_FOREACH
|
||||||
|
- io_uring_for_each_cqe
|
||||||
|
IncludeBlocks: Regroup
|
||||||
|
IncludeCategories:
|
||||||
|
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
|
||||||
|
Priority: 2
|
||||||
|
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
|
||||||
|
Priority: 1
|
||||||
|
- Regex: '.*'
|
||||||
|
Priority: 3
|
||||||
|
IncludeIsMainRegex: '(Test)?$'
|
||||||
|
IndentCaseLabels: false
|
||||||
|
IndentGotoLabels: false
|
||||||
|
IndentPPDirectives: None
|
||||||
|
#IndentAccessModifiers: false
|
||||||
|
IndentWrappedFunctionNames: false
|
||||||
|
KeepEmptyLinesAtTheStartOfBlocks: false
|
||||||
|
MaxEmptyLinesToKeep: 1
|
||||||
|
NamespaceIndentation: All
|
||||||
|
PenaltyBreakAssignment: 2
|
||||||
|
PenaltyBreakBeforeFirstCallParameter: 19
|
||||||
|
PenaltyBreakComment: 300
|
||||||
|
PenaltyBreakFirstLessLess: 120
|
||||||
|
PenaltyBreakString: 1000
|
||||||
|
PenaltyExcessCharacter: 1000000
|
||||||
|
PenaltyReturnTypeOnItsOwnLine: 60
|
||||||
|
PointerAlignment: Right
|
||||||
|
ReflowComments: false
|
||||||
|
SortIncludes: true
|
||||||
|
SortUsingDeclarations: true
|
||||||
|
SpaceAfterCStyleCast: true
|
||||||
|
SpaceAfterLogicalNot: false
|
||||||
|
SpaceAfterTemplateKeyword: false
|
||||||
|
SpaceBeforeAssignmentOperators: true
|
||||||
|
SpaceBeforeParens: ControlStatements
|
||||||
|
SpaceInEmptyParentheses: false
|
||||||
|
SpacesBeforeTrailingComments: 1
|
||||||
|
SpacesInAngles: false
|
||||||
|
SpacesInCStyleCastParentheses: false
|
||||||
|
SpacesInContainerLiterals: false
|
||||||
|
SpacesInParentheses: false
|
||||||
|
SpacesInSquareBrackets: false
|
||||||
|
Standard: c++20
|
||||||
|
...
|
||||||
|
---
|
||||||
|
Language: Java
|
||||||
|
|
||||||
|
AllowShortFunctionsOnASingleLine: None
|
||||||
|
BreakAfterJavaFieldAnnotations: true
|
||||||
|
ColumnLimit: 120
|
||||||
|
IndentWidth: 4
|
||||||
|
JavaImportGroups: ['java', 'javax']
|
||||||
|
TabWidth: 4
|
||||||
|
UseTab: Never
|
||||||
|
...
|
||||||
|
---
|
||||||
|
Language: CSharp
|
||||||
|
BasedOnStyle: Microsoft
|
||||||
|
IndentWidth: 4
|
||||||
|
TabWidth: 4
|
||||||
|
UseTab: Never
|
||||||
|
...
|
|
@ -0,0 +1,4 @@
|
||||||
|
XDG_BIN_HOME=$HOME/.local/bin
|
||||||
|
XDG_CACHE_HOME=$HOME/.cache
|
||||||
|
XDG_CONFIG_HOME=$HOME/.config
|
||||||
|
XDG_DATA_HOME=$HOME/.local/share
|
|
@ -0,0 +1,3 @@
|
||||||
|
EDITOR=nvim
|
||||||
|
FZF_DEFAULT_COMMAND="fd -H --type f"
|
||||||
|
MANPAGES="sh -c 'col -bx | bat -l man -p'"
|
|
@ -0,0 +1,32 @@
|
||||||
|
# [ Fly ]
|
||||||
|
FLYCTL_INSTALL=$HOME/.fly
|
||||||
|
|
||||||
|
## [ SQLITE ]
|
||||||
|
SQLITE_HISTORY=$XDG_CACHE_HOME/sqlite_history
|
||||||
|
|
||||||
|
## [ PostgreSQL ]
|
||||||
|
PGPASSFILE=$XDG_CONFIG_HOME/pg/pgpass
|
||||||
|
PGSERVICEFILE=$XDG_CONFIG_HOME/pg/pg_service.conf
|
||||||
|
PG_COLOR=always
|
||||||
|
PSQLRC=$XDG_CONFIG_HOME/pg/psqlrc
|
||||||
|
PSQL_HISTORY=$XDG_CACHE_HOME/pg/psql_history
|
||||||
|
|
||||||
|
## [ Crypto ]
|
||||||
|
GNUPGHOME=$XDG_DATA_HOME/gnupg
|
||||||
|
MINISIGN_CONFIG_DIR=$XDG_DATA_HOME/minisign
|
||||||
|
|
||||||
|
## [ History ]
|
||||||
|
HISTFILE=$HOME/.history
|
||||||
|
HISTTIMEFORMAT='[%F %T]'
|
||||||
|
LESSHISTFILE=-
|
||||||
|
|
||||||
|
## [ Dotfiles ]
|
||||||
|
DOTFILEDIR=$XDG_DATA_HOME/dotfiles
|
||||||
|
DOTFILEBRANCH=lainpad
|
||||||
|
|
||||||
|
## [ Atuin ]
|
||||||
|
ATUIN_NOBIND="true"
|
||||||
|
|
||||||
|
## [ Wezterm ]
|
||||||
|
WEZTERM_SHELL_SKIP_ALL=1
|
||||||
|
WEZTERM_SHELL_SKIP_SEMANTIC_ZONES=1
|
|
@ -0,0 +1,37 @@
|
||||||
|
## [ C and C++ ]
|
||||||
|
CC=clang
|
||||||
|
CXX=clang++
|
||||||
|
AR=llvm-ar
|
||||||
|
CC_LD=lld
|
||||||
|
CXX_LD=lld
|
||||||
|
|
||||||
|
## [ Rust ]
|
||||||
|
RUSTUP_HOME=$XDG_DATA_HOME/rustup
|
||||||
|
CARGO_HOME=$XDG_DATA_HOME/cargo
|
||||||
|
|
||||||
|
## [ Clojure ]
|
||||||
|
LEIN_HOME=$XDG_DATA_HOME/lein
|
||||||
|
|
||||||
|
## [ Go ]
|
||||||
|
GOPATH=$XDG_DATA_HOME/go
|
||||||
|
|
||||||
|
## [ Haskell ]
|
||||||
|
CABAL_CONFIG=$XDG_CONFIG_HOME/cabal/config
|
||||||
|
CABAL_DIR=$XDG_CACHE_HOME/cabal
|
||||||
|
GHCUP_USE_XDG_DIRS=1
|
||||||
|
STACK_ROOT=$XDG_DATA_HOME/stack
|
||||||
|
|
||||||
|
## [ Julia ]
|
||||||
|
JULIA_DEPOT_PATH=$XDG_DATA_HOME/julia:$JULIA_DEPOT_PATH
|
||||||
|
|
||||||
|
## [ Elixir ]
|
||||||
|
MIX_XDG=1
|
||||||
|
|
||||||
|
## [ Sage ]
|
||||||
|
DOT_SAGE=$XDG_DATA_HOME/sage
|
||||||
|
|
||||||
|
## [ Javascript ]
|
||||||
|
npm_config_prefix=$HOME/.local
|
||||||
|
|
||||||
|
## [ Misc ]
|
||||||
|
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
|
|
@ -0,0 +1 @@
|
||||||
|
XKB_DEFAULT_OPTIONS=caps:swapescape
|
|
@ -0,0 +1 @@
|
||||||
|
PATH=${FLYCTL_INSTALL}/bin:${GOPATH}/bin:${HOME}/.local/bin:${PATH}
|
|
@ -0,0 +1 @@
|
||||||
|
set startup-quietly on
|
|
@ -0,0 +1,8 @@
|
||||||
|
set confirm off
|
||||||
|
set pagination off
|
||||||
|
set print pretty on
|
||||||
|
set verbose off
|
||||||
|
set prompt \001\033[38;5;206m\002gdb> \001\033[0m\002
|
||||||
|
#set prompt \001\033[1;93m\002gdb> \001\033[0m\002
|
||||||
|
set disassembly-flavor intel
|
||||||
|
#set debuginfod enabled on
|
|
@ -0,0 +1,46 @@
|
||||||
|
[user]
|
||||||
|
name = Aydin Mercan
|
||||||
|
email = aydin@mercan.dev
|
||||||
|
signingkey = "~/.ssh/git"
|
||||||
|
|
||||||
|
[core]
|
||||||
|
editor = nvim
|
||||||
|
|
||||||
|
# Despite being under the gpg setting all signing is through ssh
|
||||||
|
[gpg]
|
||||||
|
format = ssh
|
||||||
|
|
||||||
|
[commit]
|
||||||
|
gpgsign = true
|
||||||
|
|
||||||
|
[push]
|
||||||
|
gpgsign = if-asked
|
||||||
|
|
||||||
|
[tag]
|
||||||
|
gpgsign = true
|
||||||
|
|
||||||
|
[merge]
|
||||||
|
conflictstyle = diff3
|
||||||
|
|
||||||
|
[color]
|
||||||
|
status = true
|
||||||
|
branch = true
|
||||||
|
interactive = true
|
||||||
|
diff = true
|
||||||
|
ui = true
|
||||||
|
|
||||||
|
[advice]
|
||||||
|
addEmptyPathspec = false
|
||||||
|
addIgnoredFile = false
|
||||||
|
|
||||||
|
[log]
|
||||||
|
showSignature = true
|
||||||
|
|
||||||
|
[init]
|
||||||
|
defaultBranch = "main"
|
||||||
|
|
||||||
|
[alias]
|
||||||
|
sls = diff --name-only --cached
|
||||||
|
sdiff = diff --staged
|
||||||
|
adog = log --all --decorate --oneline --graph
|
||||||
|
scdiff = diff --staged --check
|
|
@ -0,0 +1,15 @@
|
||||||
|
vim.filetype.add({
|
||||||
|
extension = {
|
||||||
|
ll = "llvm",
|
||||||
|
v = "verilog",
|
||||||
|
},
|
||||||
|
filename = {
|
||||||
|
[".clang-format"] = "yaml",
|
||||||
|
["APKBUILD"] = "sh",
|
||||||
|
["Justfile"] = "make",
|
||||||
|
["sbclrc"] = "lisp",
|
||||||
|
},
|
||||||
|
pattern = {
|
||||||
|
["(Container|Docker)file.*"] = "dockerfile",
|
||||||
|
},
|
||||||
|
})
|
|
@ -0,0 +1,3 @@
|
||||||
|
require 'intangible.keymap'
|
||||||
|
require 'intangible.options'
|
||||||
|
require 'intangible.packages' -- last
|
|
@ -0,0 +1,31 @@
|
||||||
|
-- Saner nagivation and search
|
||||||
|
vim.g.mapleader = ' '
|
||||||
|
|
||||||
|
--
|
||||||
|
vim.api.nvim_set_keymap('n', 'j', 'gj', { noremap = true, silent = true })
|
||||||
|
vim.api.nvim_set_keymap('n', 'k', 'gk', { noremap = true, silent = true })
|
||||||
|
|
||||||
|
-- Tab Control
|
||||||
|
vim.api.nvim_set_keymap('n', 'tn', ':tabnew<CR>', { noremap = true, silent = true })
|
||||||
|
vim.api.nvim_set_keymap('n', 'tq', ':tabclose<CR>', { noremap = true, silent = true })
|
||||||
|
vim.api.nvim_set_keymap('n', '<A-h>', 'gT', { noremap = true, silent = true })
|
||||||
|
vim.api.nvim_set_keymap('n', '<A-l>', 'gt', { noremap = true, silent = true })
|
||||||
|
|
||||||
|
-- Split control via C leader
|
||||||
|
vim.api.nvim_set_keymap('n', 'tv', ':vsplit<CR>', { noremap = true, silent = true })
|
||||||
|
vim.api.nvim_set_keymap('n', 'th', ':split<CR>', { noremap = true, silent = true })
|
||||||
|
vim.api.nvim_set_keymap('n', '<C-h>', '<C-W><C-H>', { noremap = true, silent = true })
|
||||||
|
vim.api.nvim_set_keymap('n', '<C-j>', '<C-W><C-J>', { noremap = true, silent = true })
|
||||||
|
vim.api.nvim_set_keymap('n', '<C-k>', '<C-W><C-K>', { noremap = true, silent = true })
|
||||||
|
vim.api.nvim_set_keymap('n', '<C-l>', '<C-W><C-L>', { noremap = true, silent = true })
|
||||||
|
|
||||||
|
-- Clear search highlight
|
||||||
|
vim.api.nvim_set_keymap('n', '<C-/>', ':nohlsearch<CR>', { noremap = true, silent = true })
|
||||||
|
vim.api.nvim_set_keymap('n', '<C-_>', ':nohlsearch<CR>', { noremap = true, silent = true })
|
||||||
|
|
||||||
|
-- Q as a macro quickloader
|
||||||
|
vim.api.nvim_set_keymap('n', 'Q', '@q', { noremap = true, silent = true })
|
||||||
|
|
||||||
|
-- I don't want F1 to search
|
||||||
|
vim.api.nvim_set_keymap('n', '<F1>', '<ESC>', { noremap = true, silent = true })
|
||||||
|
vim.api.nvim_set_keymap('i', '<F1>', '<ESC>', { noremap = true, silent = true })
|
|
@ -0,0 +1,60 @@
|
||||||
|
-- Appearence
|
||||||
|
vim.o.background = 'dark'
|
||||||
|
vim.o.guifont = 'Symbols Nerd Font:h12'
|
||||||
|
vim.o.magic = true
|
||||||
|
vim.o.showmode = false
|
||||||
|
vim.o.termguicolors = true
|
||||||
|
vim.o.title = true
|
||||||
|
vim.wo.number = true
|
||||||
|
vim.wo.signcolumn = 'number'
|
||||||
|
|
||||||
|
-- Better completion
|
||||||
|
vim.o.completeopt = 'menuone,noinsert,noselect'
|
||||||
|
vim.o.shortmess = vim.o.shortmess .. 'c'
|
||||||
|
|
||||||
|
-- Colorful
|
||||||
|
vim.cmd [[ set termguicolors ]]
|
||||||
|
|
||||||
|
-- Trust plugin handling
|
||||||
|
vim.cmd [[ syntax enable ]]
|
||||||
|
vim.cmd [[ filetype plugin indent on ]]
|
||||||
|
|
||||||
|
-- Large undo size
|
||||||
|
vim.bo.undofile = true
|
||||||
|
vim.o.undofile = true
|
||||||
|
vim.o.undolevels = 1000
|
||||||
|
vim.o.undoreload = 1000
|
||||||
|
|
||||||
|
-- Sane encoding and binary handling
|
||||||
|
vim.o.bomb = true
|
||||||
|
vim.o.binary = true
|
||||||
|
vim.o.encoding = 'utf-8'
|
||||||
|
vim.o.fileencoding = 'utf-8'
|
||||||
|
vim.o.fileencodings = 'utf-8'
|
||||||
|
|
||||||
|
-- Mouse
|
||||||
|
vim.o.mouse = 'ni'
|
||||||
|
|
||||||
|
-- Default Indentation
|
||||||
|
vim.bo.expandtab = true
|
||||||
|
vim.bo.shiftwidth = 4
|
||||||
|
vim.bo.tabstop = 4
|
||||||
|
vim.o.expandtab = true
|
||||||
|
vim.o.shiftwidth = 4
|
||||||
|
vim.o.tabstop = 4
|
||||||
|
|
||||||
|
-- Grep
|
||||||
|
vim.o.grepprg = 'rg --vimgrep --no-heading --smart-case'
|
||||||
|
|
||||||
|
-- Deactivate some unused builtins.
|
||||||
|
vim.g.loaded_tutor_mode_plugin = 0
|
||||||
|
|
||||||
|
-- Misc.
|
||||||
|
vim.fn.matchadd('TSDanger', [[\s\+$]])
|
||||||
|
vim.g.asmsyntax = "nasm"
|
||||||
|
vim.g.tex_flavor = "latex"
|
||||||
|
vim.o.autoindent = true
|
||||||
|
vim.o.clipboard = "unnamedplus"
|
||||||
|
vim.o.copyindent = true
|
||||||
|
vim.o.lazyredraw = true
|
||||||
|
vim.o.virtualedit = "block"
|
|
@ -0,0 +1,275 @@
|
||||||
|
-- Bootstrap lazy.nvim
|
||||||
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
|
if not vim.loop.fs_stat(lazypath) then
|
||||||
|
vim.fn.system({
|
||||||
|
"git",
|
||||||
|
"clone",
|
||||||
|
"--filter=blob:none",
|
||||||
|
"https://github.com/folke/lazy.nvim.git",
|
||||||
|
"--branch=stable", -- latest stable release
|
||||||
|
lazypath,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
|
return require('lazy').setup({
|
||||||
|
{'nvim-lua/completion-nvim'},
|
||||||
|
|
||||||
|
{
|
||||||
|
'neovim/nvim-lspconfig',
|
||||||
|
lazy = true,
|
||||||
|
config = function()
|
||||||
|
local lsp = require('lspconfig')
|
||||||
|
lsp.pyright.setup{}
|
||||||
|
lsp.gopls.setup{}
|
||||||
|
lsp.clangd.setup{
|
||||||
|
default_config = {
|
||||||
|
root_dir = [[
|
||||||
|
root_pattern(
|
||||||
|
'.git',
|
||||||
|
'compile_commands.json',
|
||||||
|
)
|
||||||
|
]],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
'folke/tokyonight.nvim',
|
||||||
|
config = function()
|
||||||
|
require('tokyonight').setup({
|
||||||
|
style = "night",
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.cmd [[ colorscheme tokyonight ]]
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
'nvim-lualine/lualine.nvim',
|
||||||
|
dependencies = {'kyazdani42/nvim-web-devicons', lazy = true},
|
||||||
|
config = function()
|
||||||
|
require('lualine').setup {
|
||||||
|
options = {
|
||||||
|
theme = 'tokyonight',
|
||||||
|
section_separators = '',
|
||||||
|
component_separators = ' ',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
'nvim-telescope/telescope.nvim',
|
||||||
|
dependencies = {{'nvim-lua/popup.nvim'}, {'nvim-lua/plenary.nvim'}},
|
||||||
|
|
||||||
|
keys = {
|
||||||
|
{'<CR>', ':Telescope fd<CR>', mode = 'n', noremap = true, silent = true},
|
||||||
|
},
|
||||||
|
|
||||||
|
config = function()
|
||||||
|
local actions = require('telescope.actions')
|
||||||
|
|
||||||
|
require('telescope').setup {
|
||||||
|
defaults = {
|
||||||
|
mappings = {
|
||||||
|
i = {
|
||||||
|
["<esc>"] = actions.close
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
'mhartington/formatter.nvim',
|
||||||
|
|
||||||
|
keys = {
|
||||||
|
{'<C-f>', ':Format<CR>', mode = 'n', noremap = true, silent = true},
|
||||||
|
},
|
||||||
|
|
||||||
|
config = function()
|
||||||
|
require('formatter').setup({
|
||||||
|
filetype = {
|
||||||
|
rust = {
|
||||||
|
function()
|
||||||
|
return {
|
||||||
|
exe = 'rustfmt',
|
||||||
|
args = {'--emit=stdout', '--edition=2021'},
|
||||||
|
stdin = true,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
python = {
|
||||||
|
function()
|
||||||
|
return {
|
||||||
|
exe = 'black',
|
||||||
|
args = {'-q', '-'},
|
||||||
|
stdin = true,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
cpp = {
|
||||||
|
function()
|
||||||
|
return {
|
||||||
|
exe = "clang-format",
|
||||||
|
args = {"--assume-filename", vim.api.nvim_buf_get_name(0)},
|
||||||
|
stdin = true,
|
||||||
|
cwd = vim.fn.expand('%:p:h') -- Run clang-format in cwd of the file.
|
||||||
|
}
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
c = {
|
||||||
|
function()
|
||||||
|
return {
|
||||||
|
exe = "clang-format",
|
||||||
|
args = {"--assume-filename", vim.api.nvim_buf_get_name(0)},
|
||||||
|
stdin = true,
|
||||||
|
cwd = vim.fn.expand('%:p:h') -- Run clang-format in cwd of the file.
|
||||||
|
}
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
go = {
|
||||||
|
function()
|
||||||
|
return {
|
||||||
|
exe = "gofmt",
|
||||||
|
stdin = true,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
json = {
|
||||||
|
function()
|
||||||
|
return {
|
||||||
|
exe = "jq",
|
||||||
|
args = {".", "-M"},
|
||||||
|
stdin = true,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
elixir = {
|
||||||
|
function()
|
||||||
|
return {
|
||||||
|
exe = "mix",
|
||||||
|
args = {"format", "-"},
|
||||||
|
stdin = true
|
||||||
|
}
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
zig = {
|
||||||
|
function()
|
||||||
|
return {
|
||||||
|
exe = "zig",
|
||||||
|
args = {"fmt", "--stdin"},
|
||||||
|
stdin = true,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
["*"] = {
|
||||||
|
require('formatter.filetypes.any').remove_trailing_whitespace
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
'nvim-treesitter/nvim-treesitter',
|
||||||
|
config = function()
|
||||||
|
require('nvim-treesitter.configs').setup {
|
||||||
|
highlight = {
|
||||||
|
enable = true,
|
||||||
|
additional_vim_regex_highlighting = false,
|
||||||
|
},
|
||||||
|
incremental_selection = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
indent = {
|
||||||
|
enable = true,
|
||||||
|
disable = { 'c', 'cpp', 'java', 'python', 'toml' },
|
||||||
|
},
|
||||||
|
ignore_install = { 'v' },
|
||||||
|
ensure_installed = {
|
||||||
|
'bibtex',
|
||||||
|
'c',
|
||||||
|
'clojure',
|
||||||
|
'cmake',
|
||||||
|
'comment',
|
||||||
|
'commonlisp',
|
||||||
|
'cpp',
|
||||||
|
'dockerfile',
|
||||||
|
'dot',
|
||||||
|
'eex',
|
||||||
|
'elixir',
|
||||||
|
'erlang',
|
||||||
|
'git_config',
|
||||||
|
'git_rebase',
|
||||||
|
'gitattributes',
|
||||||
|
'gitcommit',
|
||||||
|
'gitignore',
|
||||||
|
'go',
|
||||||
|
'gomod',
|
||||||
|
'gosum',
|
||||||
|
'gowork',
|
||||||
|
'haskell',
|
||||||
|
'heex',
|
||||||
|
'hjson',
|
||||||
|
'http',
|
||||||
|
'ini',
|
||||||
|
'java',
|
||||||
|
'jq',
|
||||||
|
'json',
|
||||||
|
'json5',
|
||||||
|
'jsonnet',
|
||||||
|
'julia',
|
||||||
|
'latex',
|
||||||
|
'llvm',
|
||||||
|
'lua',
|
||||||
|
'luadoc',
|
||||||
|
'luap',
|
||||||
|
'make',
|
||||||
|
'markdown',
|
||||||
|
'markdown_inline',
|
||||||
|
'meson',
|
||||||
|
'ocaml',
|
||||||
|
'ocaml_interface',
|
||||||
|
'proto',
|
||||||
|
'python',
|
||||||
|
'r',
|
||||||
|
'racket',
|
||||||
|
'regex',
|
||||||
|
'rust',
|
||||||
|
'scala',
|
||||||
|
'scheme',
|
||||||
|
'sql',
|
||||||
|
'ssh_config',
|
||||||
|
'starlark',
|
||||||
|
'toml',
|
||||||
|
'verilog',
|
||||||
|
'vim',
|
||||||
|
'vimdoc',
|
||||||
|
'yaml',
|
||||||
|
'zig',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
vim.api.nvim_exec([[
|
||||||
|
set foldmethod=expr
|
||||||
|
set foldexpr=nvim_treesitter#foldexpr()
|
||||||
|
set foldlevel=9999
|
||||||
|
]], false)
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
})
|
|
@ -0,0 +1,198 @@
|
||||||
|
# Default config for sway
|
||||||
|
#
|
||||||
|
# Copy this to ~/.config/sway/config and edit it to your liking.
|
||||||
|
#
|
||||||
|
# Read `man 5 sway` for a complete reference.
|
||||||
|
|
||||||
|
### Variables
|
||||||
|
#
|
||||||
|
# Logo key. Use Mod1 for Alt.
|
||||||
|
set $mod Mod4
|
||||||
|
# Home row direction keys, like vim
|
||||||
|
set $left h
|
||||||
|
set $down j
|
||||||
|
set $up k
|
||||||
|
set $right l
|
||||||
|
# Your preferred terminal emulator
|
||||||
|
set $term foot
|
||||||
|
# Your preferred application launcher
|
||||||
|
# Note: pass the final command to swaymsg so that the resulting window can be opened
|
||||||
|
# on the original workspace that the command was run on.
|
||||||
|
|
||||||
|
exec mako
|
||||||
|
smart_borders on
|
||||||
|
|
||||||
|
default_border pixel 5
|
||||||
|
|
||||||
|
### Output configuration
|
||||||
|
#
|
||||||
|
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
|
||||||
|
|
||||||
|
output eDP-1 pos 0 0 res 1920x1080
|
||||||
|
|
||||||
|
output * bg ~/media/lain_wallpaper.jpg fill
|
||||||
|
|
||||||
|
input * {
|
||||||
|
xkb_layout us,tr
|
||||||
|
xkb_options caps:swapescape
|
||||||
|
}
|
||||||
|
|
||||||
|
### Key bindings
|
||||||
|
#
|
||||||
|
# Basics:
|
||||||
|
#
|
||||||
|
# Start a terminal
|
||||||
|
bindsym $mod+Return exec $term
|
||||||
|
|
||||||
|
# Kill focused window
|
||||||
|
bindsym $mod+Shift+c kill
|
||||||
|
|
||||||
|
|
||||||
|
bindsym $mod+w exec firefox
|
||||||
|
bindsym $mod+Shift+w exec flatpak run com.google.Chrome
|
||||||
|
# Start your launcher
|
||||||
|
bindsym $mod+p exec wofi -i --show run
|
||||||
|
bindsym $mod+Shift+p exec wofi -i --show drun
|
||||||
|
|
||||||
|
# Drag floating windows by holding down $mod and left mouse button.
|
||||||
|
# Resize them with right mouse button + $mod.
|
||||||
|
# Despite the name, also works for non-floating windows.
|
||||||
|
# Change normal to inverse to use left mouse button for resizing and right
|
||||||
|
# mouse button for dragging.
|
||||||
|
floating_modifier $mod normal
|
||||||
|
|
||||||
|
# Reload the configuration file
|
||||||
|
bindsym $mod+Shift+r reload
|
||||||
|
|
||||||
|
# Exit sway (logs you out of your Wayland session)
|
||||||
|
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
|
||||||
|
|
||||||
|
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
|
||||||
|
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
|
||||||
|
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||||
|
bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
||||||
|
bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
|
||||||
|
bindsym XF86MonBrightnessUp exec brightnessctl set 5%+
|
||||||
|
bindsym XF86Display exec swaylock
|
||||||
|
#
|
||||||
|
# Moving around:
|
||||||
|
#
|
||||||
|
# Move your focus around
|
||||||
|
bindsym $mod+$left focus left
|
||||||
|
bindsym $mod+$down focus down
|
||||||
|
bindsym $mod+$up focus up
|
||||||
|
bindsym $mod+$right focus right
|
||||||
|
# Or use $mod+[up|down|left|right]
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# Move the focused window with the same, but add Shift
|
||||||
|
bindsym $mod+Shift+$left move left
|
||||||
|
bindsym $mod+Shift+$down move down
|
||||||
|
bindsym $mod+Shift+$up move up
|
||||||
|
bindsym $mod+Shift+$right move right
|
||||||
|
# Ditto, with arrow keys
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
#
|
||||||
|
# Workspaces:
|
||||||
|
#
|
||||||
|
# Switch to workspace
|
||||||
|
bindsym $mod+1 workspace number 1
|
||||||
|
bindsym $mod+2 workspace number 2
|
||||||
|
bindsym $mod+3 workspace number 3
|
||||||
|
bindsym $mod+4 workspace number 4
|
||||||
|
bindsym $mod+5 workspace number 5
|
||||||
|
bindsym $mod+6 workspace number 6
|
||||||
|
bindsym $mod+7 workspace number 7
|
||||||
|
bindsym $mod+8 workspace number 8
|
||||||
|
bindsym $mod+9 workspace number 9
|
||||||
|
bindsym $mod+0 workspace number 10
|
||||||
|
# Move focused container to workspace
|
||||||
|
bindsym $mod+Shift+1 move container to workspace number 1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace number 2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace number 3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace number 4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace number 5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace number 6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace number 7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace number 8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace number 9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace number 10
|
||||||
|
# Note: workspaces can have any name you want, not just numbers.
|
||||||
|
# We just use 1-10 as the default.
|
||||||
|
#
|
||||||
|
# Layout stuff:
|
||||||
|
#
|
||||||
|
# You can "split" the current object of your focus with
|
||||||
|
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||||
|
# respectively.
|
||||||
|
bindsym $mod+b splith
|
||||||
|
bindsym $mod+v splitv
|
||||||
|
|
||||||
|
# Switch the current container between different layout styles
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
#bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# Make the current focus fullscreen
|
||||||
|
bindsym $mod+f fullscreen
|
||||||
|
|
||||||
|
# Toggle the current focus between tiling and floating mode
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# Swap focus between the tiling area and the floating area
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# Move focus to the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
#
|
||||||
|
# Scratchpad:
|
||||||
|
#
|
||||||
|
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||||
|
# You can send windows there and get them back later.
|
||||||
|
|
||||||
|
# Move the currently focused window to the scratchpad
|
||||||
|
bindsym $mod+Shift+grave move scratchpad
|
||||||
|
|
||||||
|
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||||
|
# If there are multiple scratchpad windows, this command cycles through them.
|
||||||
|
bindsym $mod+grave scratchpad show
|
||||||
|
#
|
||||||
|
# Resizing containers:
|
||||||
|
#
|
||||||
|
mode "resize" {
|
||||||
|
# left will shrink the containers width
|
||||||
|
# right will grow the containers width
|
||||||
|
# up will shrink the containers height
|
||||||
|
# down will grow the containers height
|
||||||
|
bindsym $left resize shrink width 10px
|
||||||
|
bindsym $down resize grow height 10px
|
||||||
|
bindsym $up resize shrink height 10px
|
||||||
|
bindsym $right resize grow width 10px
|
||||||
|
|
||||||
|
# Ditto, with arrow keys
|
||||||
|
bindsym Left resize shrink width 10px
|
||||||
|
bindsym Down resize grow height 10px
|
||||||
|
bindsym Up resize shrink height 10px
|
||||||
|
bindsym Right resize grow width 10px
|
||||||
|
|
||||||
|
# Return to default mode
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
#
|
||||||
|
# Status Bar:
|
||||||
|
#
|
||||||
|
# Read `man 5 sway-bar` for more information about this section.
|
||||||
|
bar {
|
||||||
|
swaybar_command waybar
|
||||||
|
}
|
||||||
|
|
||||||
|
include /etc/sway/config.d/*
|
|
@ -0,0 +1,15 @@
|
||||||
|
# This file is written by xdg-user-dirs-update
|
||||||
|
# If you want to change or add directories, just edit the line you're
|
||||||
|
# interested in. All local changes will be retained on the next run.
|
||||||
|
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
|
||||||
|
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
|
||||||
|
# absolute path. No other format is supported.
|
||||||
|
#
|
||||||
|
XDG_DESKTOP_DIR="$HOME/"
|
||||||
|
XDG_DOWNLOAD_DIR="$HOME/downloads"
|
||||||
|
XDG_TEMPLATES_DIR="$HOME/"
|
||||||
|
XDG_DOCUMENTS_DIR="$HOME/docs"
|
||||||
|
XDG_MUSIC_DIR="$HOME/music"
|
||||||
|
XDG_PICTURES_DIR="$HOME/media"
|
||||||
|
XDG_VIDEOS_DIR="$HOME/media"
|
||||||
|
XDG_PUBLICSHARE_DIR="$HOME/downloads"
|
|
@ -0,0 +1,70 @@
|
||||||
|
{
|
||||||
|
"height": 35, // Waybar height (to be removed for auto height)
|
||||||
|
"spacing": 4, // Gaps between modules (4px)
|
||||||
|
|
||||||
|
"modules-left": ["sway/workspaces"],
|
||||||
|
"modules-center": ["sway/window"],
|
||||||
|
"modules-right": ["wireplumber", "network", "backlight", "keyboard-state", "sway/language", "battery", "clock", "tray"],
|
||||||
|
|
||||||
|
"sway/window": {
|
||||||
|
"format": "{title}",
|
||||||
|
"max-length": 120
|
||||||
|
},
|
||||||
|
|
||||||
|
"keyboard-state": {
|
||||||
|
"numlock": true,
|
||||||
|
"capslock": true,
|
||||||
|
"format": "{name} {icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"locked": "",
|
||||||
|
"unlocked": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"sway/mode": {
|
||||||
|
"format": "<span style=\"italic\">{}</span>"
|
||||||
|
},
|
||||||
|
|
||||||
|
"sway/language": {
|
||||||
|
"format": "{}",
|
||||||
|
"on-click": "swaymsg input type:keyboard xkb_switch_layout next",
|
||||||
|
},
|
||||||
|
|
||||||
|
"backlight": {
|
||||||
|
// "device": "acpi_video1",
|
||||||
|
"format": "{percent}% {icon}",
|
||||||
|
"format-icons": ["", "", "", "", "", "", "", "", ""]
|
||||||
|
},
|
||||||
|
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
// "good": 95,
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "{capacity}% {icon}",
|
||||||
|
"format-charging": "{capacity}% ",
|
||||||
|
"format-plugged": "{capacity}% ",
|
||||||
|
"format-alt": "{time} {icon}",
|
||||||
|
// "format-good": "", // An empty format will hide the module
|
||||||
|
// "format-full": "",
|
||||||
|
"format-icons": ["", "", "", "", ""]
|
||||||
|
},
|
||||||
|
|
||||||
|
"network": {
|
||||||
|
// "interface": "wlp2*", // (Optional) To force the use of this interface
|
||||||
|
"format-wifi": "{essid} ({signalStrength}%) ",
|
||||||
|
"format-ethernet": " {ipaddr}/{cidr} ",
|
||||||
|
"tooltip-format": "{ifname} via {gwaddr} ",
|
||||||
|
"format-linked": "{ifname} (No IP) ",
|
||||||
|
"format-disconnected": "Disconnected ⚠",
|
||||||
|
"format-alt": "{ifname}: {ipaddr}/{cidr}"
|
||||||
|
},
|
||||||
|
|
||||||
|
"wireplumber": {
|
||||||
|
"format": "{volume}% {icon}",
|
||||||
|
"format-muted": "",
|
||||||
|
"format-icons": ["", "", ""]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,65 @@
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*.{c,cpp,cc,h,hpp,hh}]
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
indent_style = tab
|
||||||
|
indent_size = 8
|
||||||
|
|
||||||
|
[*.rs]
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
[meson.build]
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
[{go.{mod,work},*.go}]
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
indent_style = tab
|
||||||
|
indent_size = 8
|
||||||
|
|
||||||
|
[*.nix]
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[*.{lisp,el,edn,clj}]
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[*.html]
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
[APKBUILD]
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
indent_style = tab
|
||||||
|
indent_size = 8
|
|
@ -0,0 +1,44 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
[ -z "$DOTCTLCMD" ] && DOTCTLCMD="git --git-dir=$DOTFILEDIR --work-tree=$HOME"
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
ls) echo "==> ${DOTFILEBRANCH:=main} <=="
|
||||||
|
$DOTCTLCMD ls-tree --full-tree -r --name-only $DOTFILEBRANCH
|
||||||
|
echo "==> staging <=="
|
||||||
|
$DOTCTLCMD diff --name-only --cached
|
||||||
|
;;
|
||||||
|
sync)
|
||||||
|
$DOTCTLCMD add -A ~/.
|
||||||
|
echo "==> staging <=="
|
||||||
|
$DOTCTLCMD diff --name-only --cached
|
||||||
|
;;
|
||||||
|
add) $DOTCTLCMD add -f ${@:2} ;;
|
||||||
|
amend) $DOTCTLCMD commit --amend --no-edit ${@:2} ;;
|
||||||
|
autocheckout) $DOTCTLCMD checkout ${DOTFILEBRANCH:-main} ${@:2} ;;
|
||||||
|
cmd) $DOTCTLCMD ${@:2} ;;
|
||||||
|
commit) $DOTCTLCMD commit ${@:2} ;;
|
||||||
|
diff) $DOTCTLCMD diff --staged ${@:2} ;;
|
||||||
|
log) $DOTCTLCMD log ${@:2} ;;
|
||||||
|
pull) $DOTCTLCMD pull ${@:2} ;;
|
||||||
|
push) $DOTCTLCMD push -u origin ${DOTFILEBRANCH:-main} ;;
|
||||||
|
rm) $DOTCTLCMD rm --cached -r -f ${@:2};;
|
||||||
|
sdiff) $DOTCTLCMD diff --staged ${@:2} ;;
|
||||||
|
*) echo "dotctl - stupid bare git repo wrapper for dotfiles"
|
||||||
|
echo "Setup:"
|
||||||
|
echo " * cerate a bare repo, specify the remote repo and set its path to DOTFILEDIR"
|
||||||
|
echo " * specify a branch as DOTFILEBRANCH or use main by default"
|
||||||
|
echo "Usage: dotctl [OPTION] ([ARGUMENT])"
|
||||||
|
echo "Options:"
|
||||||
|
echo " add [FILE]: add FILE to the repository"
|
||||||
|
echo " amend: amend changes to an existing commit"
|
||||||
|
echo " commit: commit changes"
|
||||||
|
echo " diff: show diff of staged changes"
|
||||||
|
echo " log: same as normal log"
|
||||||
|
echo " ls: list files staging and used branch"
|
||||||
|
echo " push: push to DOTFILEBRANCH (default: main, currently: ${DOTFILEBRANCH:-main})"
|
||||||
|
echo " rm [FILE]: remove FILE from tracking only"
|
||||||
|
echo " sdiff: diff staged changed"
|
||||||
|
echo " sync: add all changes in tracked files"
|
||||||
|
;;
|
||||||
|
esac
|
|
@ -0,0 +1,14 @@
|
||||||
|
[alias]
|
||||||
|
a = "audit"
|
||||||
|
b = "build"
|
||||||
|
bb = "build --release"
|
||||||
|
c = "clippy"
|
||||||
|
d = "doc"
|
||||||
|
dd = "doc --release"
|
||||||
|
do = "doc --open"
|
||||||
|
ddo = "doc --release --open"
|
||||||
|
o = "outdated"
|
||||||
|
r = "run"
|
||||||
|
rr = "run --release"
|
||||||
|
t = "nextest run"
|
||||||
|
u = "update"
|
|
@ -0,0 +1,14 @@
|
||||||
|
if [[ -n $BASH ]]; then
|
||||||
|
set -a
|
||||||
|
for f in ~/.config/environment.d/*.conf; do
|
||||||
|
source $f
|
||||||
|
done
|
||||||
|
set +a
|
||||||
|
fi
|
||||||
|
|
||||||
|
[[ -f ~/.bashrc ]] && . ~/.bashrc
|
||||||
|
|
||||||
|
if [[ -z $WAYLAND_DISPLAY ]] && [[ $(tty) = "/dev/tty1" ]]; then
|
||||||
|
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gcr/ssh"
|
||||||
|
exec sway
|
||||||
|
fi
|
Loading…
Reference in New Issue