mirror of
https://github.com/nikdoof/dotfiles.git
synced 2026-01-30 19:08:16 +00:00
Compare commits
20 Commits
8bfd35dd8d
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e9e9b10165 | ||
|
a9c028f7df
|
|||
|
|
c85ccc3d6f | ||
|
213d5a306b
|
|||
|
|
678a487ef8 | ||
|
|
e0cfc2654c | ||
|
12590e3547
|
|||
|
a57503f372
|
|||
|
c88d401471
|
|||
|
a4d55ff664
|
|||
|
53be68450e
|
|||
|
|
8c013bb66c | ||
|
|
cbc7e5fe81 | ||
|
|
bcaf15a2db | ||
|
|
e02f4eb767 | ||
|
fb18cefe7a
|
|||
|
57317f8c74
|
|||
|
d5ea661a87
|
|||
|
|
36a81735e3 | ||
|
|
4a589b902a |
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -1,3 +0,0 @@
|
|||||||
[submodule "tmux/.tmux/plugins/tpm"]
|
|
||||||
path = tmux/.tmux/plugins/tpm
|
|
||||||
url = https://github.com/tmux-plugins/tpm
|
|
||||||
15
README.md
15
README.md
@@ -1,11 +1,20 @@
|
|||||||
## Dotfiles
|
# .dotfiles
|
||||||
|
|
||||||
A collection of dotfiles used by [nikdoof](https://github.com/nikdoof)
|
A collection of dotfiles used by [nikdoof](https://github.com/nikdoof)
|
||||||
|
|
||||||
## Linux / macOS
|
## Used Tools
|
||||||
|
* [Aerospace](https://nikitabobko.github.io/AeroSpace/guide)
|
||||||
|
* [Jankyborders](https://github.com/FelixKratz/JankyBorders)
|
||||||
|
* [Ghostty](https://ghostty.org)
|
||||||
|
* [Starship](https://starship.rs)
|
||||||
|
* [Zed](https://zed.dev)
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### Linux / macOS
|
||||||
|
|
||||||
Installation is handled by `stowage`. 'Github' SSH key from private dotfiles required to run successfully.
|
Installation is handled by `stowage`. 'Github' SSH key from private dotfiles required to run successfully.
|
||||||
|
|
||||||
```
|
```shell-session
|
||||||
curl https://raw.githubusercontent.com/nikdoof/dotfiles/main/bootstrap.sh | bash
|
curl https://raw.githubusercontent.com/nikdoof/dotfiles/main/bootstrap.sh | bash
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -194,12 +194,7 @@ on-mode-changed = []
|
|||||||
alt-shift-y = 'move-node-to-workspace Y'
|
alt-shift-y = 'move-node-to-workspace Y'
|
||||||
alt-shift-z = 'move-node-to-workspace Z'
|
alt-shift-z = 'move-node-to-workspace Z'
|
||||||
|
|
||||||
# See: https://nikitabobko.github.io/AeroSpace/commands#workspace-back-and-forth
|
|
||||||
alt-tab = 'workspace-back-and-forth'
|
|
||||||
# See: https://nikitabobko.github.io/AeroSpace/commands#move-workspace-to-monitor
|
|
||||||
alt-shift-tab = 'move-workspace-to-monitor --wrap-around next'
|
alt-shift-tab = 'move-workspace-to-monitor --wrap-around next'
|
||||||
|
|
||||||
# See: https://nikitabobko.github.io/AeroSpace/commands#mode
|
|
||||||
alt-shift-semicolon = 'mode service'
|
alt-shift-semicolon = 'mode service'
|
||||||
|
|
||||||
# 'service' binding mode declaration.
|
# 'service' binding mode declaration.
|
||||||
@@ -240,7 +235,7 @@ run = 'move-node-to-workspace B'
|
|||||||
# VSCode windows to workspace C
|
# VSCode windows to workspace C
|
||||||
[[on-window-detected]]
|
[[on-window-detected]]
|
||||||
if.app-id = 'com.microsoft.VSCode'
|
if.app-id = 'com.microsoft.VSCode'
|
||||||
run = 'move-node-to-workspace C'
|
run = ['move-node-to-workspace C', 'layout v_accordion']
|
||||||
|
|
||||||
# Zed settings windows float
|
# Zed settings windows float
|
||||||
[[on-window-detected]]
|
[[on-window-detected]]
|
||||||
@@ -252,7 +247,7 @@ check-further-callbacks = false
|
|||||||
# Zed windows to workspace C
|
# Zed windows to workspace C
|
||||||
[[on-window-detected]]
|
[[on-window-detected]]
|
||||||
if.app-id = 'dev.zed.Zed'
|
if.app-id = 'dev.zed.Zed'
|
||||||
run = 'move-node-to-workspace C'
|
run = ['move-node-to-workspace C', 'layout v_accordion']
|
||||||
|
|
||||||
# Ghostty terminal windows to workspace T
|
# Ghostty terminal windows to workspace T
|
||||||
[[on-window-detected]]
|
[[on-window-detected]]
|
||||||
@@ -262,12 +257,12 @@ run = 'move-node-to-workspace T'
|
|||||||
# Finder windows float
|
# Finder windows float
|
||||||
[[on-window-detected]]
|
[[on-window-detected]]
|
||||||
if.app-id = 'com.apple.finder'
|
if.app-id = 'com.apple.finder'
|
||||||
run = ['layout floating']
|
run = ['move-node-to-workspace F']
|
||||||
|
|
||||||
# Telegram windows float
|
# Telegram windows float
|
||||||
[[on-window-detected]]
|
[[on-window-detected]]
|
||||||
if.app-name-regex-substring = 'telegram'
|
if.app-name-regex-substring = 'telegram'
|
||||||
run = 'layout floating'
|
run = ['move-node-to-workspace S', 'layout v_accordion']
|
||||||
|
|
||||||
# Activity Monitor windows float
|
# Activity Monitor windows float
|
||||||
[[on-window-detected]]
|
[[on-window-detected]]
|
||||||
@@ -316,3 +311,25 @@ run = 'layout floating'
|
|||||||
[[on-window-detected]]
|
[[on-window-detected]]
|
||||||
if.app-id = 'com.coconut-flavour.coconutBattery'
|
if.app-id = 'com.coconut-flavour.coconutBattery'
|
||||||
run = 'layout floating'
|
run = 'layout floating'
|
||||||
|
|
||||||
|
# Float the main window of Windows App
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.microsoft.rdc.macos'
|
||||||
|
if.window-title-regex-substring = 'Devices'
|
||||||
|
run = ['move-node-to-workspace R', 'layout floating']
|
||||||
|
check-further-callbacks = false
|
||||||
|
|
||||||
|
# Accordian the connection windows
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.microsoft.rdc.macos'
|
||||||
|
run = ['move-node-to-workspace R', 'layout v_accordion']
|
||||||
|
|
||||||
|
# Float DaisyDisk windows
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.daisydiskapp.DaisyDiskStandAlone'
|
||||||
|
run = ['layout floating']
|
||||||
|
|
||||||
|
# Float Compressor windows
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.apple.CompressorApp'
|
||||||
|
run = ['layout floating']
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# shellcheck shell=bash
|
||||||
# History
|
# History
|
||||||
mkdir -p "${XDG_STATE_HOME}"/bash
|
mkdir -p "${XDG_STATE_HOME}"/bash
|
||||||
export HISTFILE="${XDG_STATE_HOME}"/bash/history
|
export HISTFILE="${XDG_STATE_HOME}"/bash/history
|
||||||
|
|||||||
@@ -1,2 +1,3 @@
|
|||||||
|
# shellcheck shell=bash
|
||||||
# SSH completion based on ssh config
|
# SSH completion based on ssh config
|
||||||
[ -e "$HOME/.ssh/config" ] && complete -o "default" -o "nospace" -W "$(grep "^Host" ~/.ssh/config* | grep -v "[?*]" | cut -d " " -f2- | tr ' ' '\n')" scp sftp ssh
|
[ -e "$HOME/.ssh/config" ] && complete -o "default" -o "nospace" -W "$(grep "^Host" ~/.ssh/config* | grep -v "[?*]" | cut -d " " -f2- | tr ' ' '\n')" scp sftp ssh
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ window-save-state = never
|
|||||||
window-new-tab-position = end
|
window-new-tab-position = end
|
||||||
theme = Nord
|
theme = Nord
|
||||||
font-family = JetBrainsMono Nerd Font
|
font-family = JetBrainsMono Nerd Font
|
||||||
|
background-opacity = 0.95
|
||||||
|
|
||||||
# Handled via Brew
|
# Handled via Brew
|
||||||
auto-update = off
|
auto-update = off
|
||||||
|
|||||||
Binary file not shown.
@@ -10,6 +10,7 @@ tap "nikitabobko/tap"
|
|||||||
tap "terraform-docs/tap"
|
tap "terraform-docs/tap"
|
||||||
tap "sass/sass"
|
tap "sass/sass"
|
||||||
tap "setchy/brews"
|
tap "setchy/brews"
|
||||||
|
tap "nikdoof/tap"
|
||||||
|
|
||||||
# Formulae
|
# Formulae
|
||||||
brew "awscli"
|
brew "awscli"
|
||||||
@@ -38,6 +39,7 @@ brew "kubernetes-cli"
|
|||||||
brew "kubeseal"
|
brew "kubeseal"
|
||||||
brew "localstack/tap/localstack-cli"
|
brew "localstack/tap/localstack-cli"
|
||||||
brew "mas"
|
brew "mas"
|
||||||
|
brew "nikdoof/tap/nikdoof-lsq"
|
||||||
brew "node"
|
brew "node"
|
||||||
brew "php"
|
brew "php"
|
||||||
brew "poetry"
|
brew "poetry"
|
||||||
@@ -51,6 +53,7 @@ brew "starship"
|
|||||||
brew "terraform-docs"
|
brew "terraform-docs"
|
||||||
brew "terraform-local"
|
brew "terraform-local"
|
||||||
brew "tflint"
|
brew "tflint"
|
||||||
|
brew "tlrc"
|
||||||
brew "tz"
|
brew "tz"
|
||||||
brew "uv"
|
brew "uv"
|
||||||
brew "yazi"
|
brew "yazi"
|
||||||
|
|||||||
16
macos/.config/shell-common/98_theme.sh
Normal file
16
macos/.config/shell-common/98_theme.sh
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
# Set themes for various CLI apps to match our terminal settings
|
||||||
|
# Theme flavour of the month: Nord
|
||||||
|
|
||||||
|
# Bat
|
||||||
|
if [ -x "$(command -v bat)" ]; then
|
||||||
|
export BAT_THEME="Nord"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fzf
|
||||||
|
if [ -x "$(command -v bat)" ]; then
|
||||||
|
export FZF_DEFAULT_OPTS='
|
||||||
|
--color=fg:#e5e9f0,bg:#2E3440,hl:#81a1c1
|
||||||
|
--color=fg+:#e5e9f0,bg+:#2E3440,hl+:#81a1c1
|
||||||
|
--color=info:#eacb8a,prompt:#bf6069,pointer:#b48dac
|
||||||
|
--color=marker:#a3be8b,spinner:#b48dac,header:#a3be8b'
|
||||||
|
fi
|
||||||
@@ -138,5 +138,10 @@ f() {
|
|||||||
# Search for a file using macOS Spotlight
|
# Search for a file using macOS Spotlight
|
||||||
# https://natelandau.com/my-mac-os-zsh-profile/
|
# https://natelandau.com/my-mac-os-zsh-profile/
|
||||||
spotlight() {
|
spotlight() {
|
||||||
mdfind "kMDItemDisplayName == '${1}'wc"
|
mdfind "kMDItemDisplayName == '${1}'wc" | fzf --preview 'fzf-preview.sh {}' --height 40%
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Provide default args to LSQ
|
||||||
|
if [ -x "$(command -v lsq)" ]; then
|
||||||
|
alias lsq='lsq -d $HOME/Documents/Logseq/PKM/'
|
||||||
|
fi
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# shellcheck shell=bash
|
||||||
# Override application locations to fix XDG
|
# Override application locations to fix XDG
|
||||||
export ANSIBLE_HOME="$XDG_DATA_HOME"/ansible
|
export ANSIBLE_HOME="$XDG_DATA_HOME"/ansible
|
||||||
export LESSHISTFILE="$XDG_STATE_HOME"/less/history
|
export LESSHISTFILE="$XDG_STATE_HOME"/less/history
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# shellcheck shell=bash
|
# shellcheck shell=bash
|
||||||
|
# AWS functions
|
||||||
|
|
||||||
# Get the list of AWS profiles
|
# Get the list of AWS profiles
|
||||||
function awsprofiles() {
|
function awsprofiles() {
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
|
# shellcheck shell=bash
|
||||||
# Go stuff
|
# Go stuff
|
||||||
|
|
||||||
export GOPATH=$XDG_DATA_HOME/go/
|
export GOPATH=$XDG_DATA_HOME/go/
|
||||||
export PATH=${GOPATH}bin:$PATH
|
export PATH=${GOPATH}bin:$PATH
|
||||||
if [ -z ${GOROOT+x} ] && [ -d /usr/local/go ]; then
|
if [ -z ${GOROOT+x} ] && [ -d /usr/local/go ]; then
|
||||||
|
|||||||
@@ -1,2 +1,4 @@
|
|||||||
|
# shellcheck shell=bash
|
||||||
# Python stuff
|
# Python stuff
|
||||||
|
|
||||||
export POETRY_VIRTUALENVS_IN_PROJECT=true
|
export POETRY_VIRTUALENVS_IN_PROJECT=true
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
|
# shellcheck shell=bash
|
||||||
# Rust stuff
|
# Rust stuff
|
||||||
|
|
||||||
if [ -f $HOME/.cargo/env ]; then
|
if [ -f $HOME/.cargo/env ]; then
|
||||||
source $HOME/.cargo/env
|
source $HOME/.cargo/env
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -6,16 +6,22 @@ format = """
|
|||||||
[](nord10)\
|
[](nord10)\
|
||||||
$os\
|
$os\
|
||||||
$username[@](bg:nord10 fg:nord0)$hostname\
|
$username[@](bg:nord10 fg:nord0)$hostname\
|
||||||
[](bg:nord9 fg:nord10)\
|
[](bg:nord9 fg:nord10)\
|
||||||
$directory\
|
$directory\
|
||||||
[](bg:nord8 fg:nord9)\
|
[](bg:nord8 fg:nord9)\
|
||||||
$git_branch$git_commit$git_state$git_metrics$git_status\
|
$git_branch$git_commit\
|
||||||
[](bg:nord7 fg:nord8)\
|
[](bg:nord7 fg:nord8)\
|
||||||
$package$c$cmake$cobol$daml$dart$deno$dotnet$elixir$elm$erlang$fennel$gleam\
|
$package\
|
||||||
$golang$guix_shell$haskell$haxe$helm$java$julia$kotlin$gradle$lua$nim$nodejs\
|
$golang\
|
||||||
$ocaml$opa$perl$php$pulumi$purescript$python$quarto$raku$rlang$red$ruby$rust\
|
$nodejs\
|
||||||
$scala$solidity$swift$terraform$typst$vlang$vagrant$zig$aws\
|
$php\
|
||||||
[](bg:bg fg:nord7)\
|
$python\
|
||||||
|
$rust\
|
||||||
|
$terraform\
|
||||||
|
$aws\
|
||||||
|
[](bg:nord4 fg:nord7)\
|
||||||
|
$cmd_duration\
|
||||||
|
[](fg:#d9dee9)\
|
||||||
$line_break\
|
$line_break\
|
||||||
$character
|
$character
|
||||||
"""
|
"""
|
||||||
@@ -81,6 +87,7 @@ disabled = true
|
|||||||
[package]
|
[package]
|
||||||
format = "[ $version ]($style)"
|
format = "[ $version ]($style)"
|
||||||
style = "fg:nord0 bg:nord7"
|
style = "fg:nord0 bg:nord7"
|
||||||
|
disabled = true
|
||||||
|
|
||||||
# Languages
|
# Languages
|
||||||
|
|
||||||
@@ -99,14 +106,25 @@ symbol = 'go'
|
|||||||
format = "[ $symbol($version )]($style)"
|
format = "[ $symbol($version )]($style)"
|
||||||
style = "fg:nord0 bg:nord7"
|
style = "fg:nord0 bg:nord7"
|
||||||
|
|
||||||
|
[nodejs]
|
||||||
|
symbol = ' '
|
||||||
|
format = "[ $symbol($version )]($style)"
|
||||||
|
style = "fg:nord0 bg:nord7"
|
||||||
|
|
||||||
|
[php]
|
||||||
|
symbol = ' '
|
||||||
|
format = "[ $symbol($version )]($style)"
|
||||||
|
style = "fg:nord0 bg:nord7"
|
||||||
|
|
||||||
[terraform]
|
[terraform]
|
||||||
symbol = ' '
|
symbol = ' '
|
||||||
format = "[ $symbol($version )]($style)"
|
format = "[ $symbol($version )]($style)"
|
||||||
style = "fg:nord0 bg:nord7"
|
style = "fg:nord0 bg:nord7"
|
||||||
disabled = false
|
disabled = false
|
||||||
|
|
||||||
# MISC
|
[cmd_duration]
|
||||||
# ====
|
format = "[ $duration ]($style)"
|
||||||
|
style = "fg:#2e3440 bg:#d9dee9"
|
||||||
|
|
||||||
[hostname]
|
[hostname]
|
||||||
ssh_only = false
|
ssh_only = false
|
||||||
@@ -129,6 +147,12 @@ format = "[ $path ]($style)[$read_only]($read_only_style)"
|
|||||||
read_only_style = "fg:nord0 bold bg:nord9"
|
read_only_style = "fg:nord0 bold bg:nord9"
|
||||||
|
|
||||||
[character]
|
[character]
|
||||||
success_symbol = "[ >](bold green)"
|
success_symbol = "[ »](bold green)"
|
||||||
error_symbol = "[ >](bold red)"
|
error_symbol = "[ »](bold red)"
|
||||||
vimcmd_symbol = "[ >](bold green)"
|
vimcmd_symbol = "[ >](bold green)"
|
||||||
|
|
||||||
|
[time]
|
||||||
|
disabled = false
|
||||||
|
format = " [$time]($style) "
|
||||||
|
style = "bold fg:nord2"
|
||||||
|
time_format = "%R"
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
# List of plugins
|
|
||||||
set -g @plugin 'tmux-plugins/tpm'
|
|
||||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
|
||||||
set -g @plugin 'ndyakov/pimux'
|
|
||||||
|
|
||||||
# Other examples:
|
|
||||||
# set -g @plugin 'github_username/plugin_name'
|
|
||||||
# set -g @plugin 'git@github.com:user/plugin'
|
|
||||||
# set -g @plugin 'git@bitbucket.com:user/plugin'
|
|
||||||
|
|
||||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
|
||||||
run -b '~/.tmux/plugins/tpm/tpm'
|
|
||||||
1
tmux/.tmux/plugins/.gitignore
vendored
1
tmux/.tmux/plugins/.gitignore
vendored
@@ -1 +0,0 @@
|
|||||||
*
|
|
||||||
Submodule tmux/.tmux/plugins/tpm deleted from 5c4f37a52d
@@ -40,9 +40,9 @@
|
|||||||
"agent": {
|
"agent": {
|
||||||
"default_model": {
|
"default_model": {
|
||||||
"provider": "copilot_chat",
|
"provider": "copilot_chat",
|
||||||
"model": "claude-sonnet-4",
|
"model": "claude-sonnet-4.5",
|
||||||
},
|
},
|
||||||
"always_allow_tool_actions": false,
|
"always_allow_tool_actions": true,
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"button": true,
|
"button": true,
|
||||||
"model_parameters": [],
|
"model_parameters": [],
|
||||||
@@ -148,6 +148,8 @@
|
|||||||
|
|
||||||
"project_panel": {
|
"project_panel": {
|
||||||
"entry_spacing": "standard",
|
"entry_spacing": "standard",
|
||||||
|
"hide_root": false,
|
||||||
|
"default_width": 400,
|
||||||
},
|
},
|
||||||
"toolbar": {
|
"toolbar": {
|
||||||
"breadcrumbs": false,
|
"breadcrumbs": false,
|
||||||
@@ -166,4 +168,12 @@
|
|||||||
"diagnostics": false,
|
"diagnostics": false,
|
||||||
"metrics": false,
|
"metrics": false,
|
||||||
},
|
},
|
||||||
|
"title_bar": {
|
||||||
|
"show_onboarding_banner": false,
|
||||||
|
"show_user_picture": false,
|
||||||
|
"show_branch_icon": true,
|
||||||
|
},
|
||||||
|
"file_finder": {
|
||||||
|
"modal_max_width": "medium",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# shellcheck shell=zsh
|
||||||
# History
|
# History
|
||||||
mkdir -p "${XDG_STATE_HOME}/zsh"
|
mkdir -p "${XDG_STATE_HOME}/zsh"
|
||||||
HISTFILE="${XDG_STATE_HOME}/zsh/history"
|
HISTFILE="${XDG_STATE_HOME}/zsh/history"
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# shellcheck shell=zsh
|
||||||
# Zsh specific aliases
|
# Zsh specific aliases
|
||||||
# Mostly suffix and global aliases
|
# Mostly suffix and global aliases
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# shellcheck shell=zsh
|
||||||
fpath+=($XDG_CONFIG_HOME/zsh/completions)
|
fpath+=($XDG_CONFIG_HOME/zsh/completions)
|
||||||
|
|
||||||
autoload -Uz compinit
|
autoload -Uz compinit
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# shellcheck shell=zsh
|
||||||
# Source shell common
|
# Source shell common
|
||||||
for f in ~/.config/shell-common/*.sh; do
|
for f in ~/.config/shell-common/*.sh; do
|
||||||
source $f
|
source $f
|
||||||
|
|||||||
Reference in New Issue
Block a user