···11-tell application "Ghostty"
22- if it is running then
33- activate
44- delay 0.05
55- tell application "System Events" to keystroke "n" using {command down}
66- else
77- activate
88- end if
99-end tell
···11+font_family Iosevka Term
22+bold_font auto
33+italic_font auto
44+bold_italic_font auto
55+66+cursor_shape underline
77+88+font_size 14.0
99+1010+confirm_os_window_close 0
1111+1212+shell nu
1313+1414+# BEGIN_KITTY_THEME
1515+# Catppuccin-Latte
1616+include current-theme.conf
1717+# END_KITTY_THEME
···11+autocmd BufNewFile,BufRead *.mzn set filetype=zinc
22+autocmd BufNewFile,BufRead *.fzn set filetype=zinc
33+autocmd BufNewFile,BufRead *.dzn set filetype=zinc
+113
dot_config/nvim/init.lua
···11+local fn = vim.fn
22+local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
33+if fn.empty(fn.glob(install_path)) > 0 then
44+ packer_bootstrap = fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
55+end
66+77+---- Set general neovim options ----
88+require 'options'
99+1010+---- Load and configure plugins using Packer
1111+return require('packer').startup(function(use)
1212+ local use = require('packer').use
1313+ -- Package manager (Self update)
1414+ use 'wbthomason/packer.nvim'
1515+ -- General Editing
1616+ use {
1717+ 'numToStr/Comment.nvim', -- 'gc' to comment visual regions/lines
1818+ config = function()
1919+ require('Comment').setup()
2020+ end
2121+ }
2222+ use {
2323+ 'Konfekt/vim-sentence-chopper', -- 'gw' to split using sentences
2424+ config = function() vim.g.latexindent = false end, -- "gw" should not use latexindent
2525+ }
2626+ -- Appearance
2727+ use {
2828+ 'SmiteshP/nvim-gps', -- Status line
2929+ requires = 'nvim-treesitter/nvim-treesitter',
3030+ config = function() require("nvim-gps").setup({
3131+ disable_icons = true,
3232+ depth = 3,
3333+ }) end,
3434+ }
3535+ use {
3636+ 'nvim-lualine/lualine.nvim', -- Status line
3737+ requires = 'SmiteshP/nvim-gps',
3838+ }
3939+ use {
4040+ 'cormacrelf/dark-notify', -- Automatic theme switching
4141+ requires = {
4242+ 'rose-pine/neovim', -- Theme
4343+ 'nvim-lualine/lualine.nvim',
4444+ },
4545+ config = require('plugins.appearance').conf_theme,
4646+ }
4747+ use {
4848+ 'lukas-reineke/indent-blankline.nvim', -- Add indentation guides even on blank lines
4949+ config = require('plugins.appearance').conf_indent,
5050+ }
5151+ use {
5252+ 'folke/which-key.nvim', -- Show key mappings
5353+ config = function() require('plugins.keymap') end,
5454+ }
5555+ use {
5656+ 'beauwilliams/focus.nvim',
5757+ config = function() require("focus").setup() end,
5858+ }
5959+ -- Language configuration
6060+ use {
6161+ 'nvim-treesitter/nvim-treesitter',
6262+ run = ':TSUpdate',
6363+ config = require('plugins.appearance').conf_treesitter,
6464+ }
6565+ use {
6666+ 'neovim/nvim-lspconfig', -- Configuration of LSP
6767+ requires = 'nvim-treesitter/nvim-treesitter',
6868+ config = function()
6969+ require('lang.c++')
7070+ require('lang.go')
7171+ require('lang.python')
7272+ require('lang.rust')
7373+ require('lang.svelte')
7474+ require('lang.tex')
7575+ require('lang.yaml')
7676+ require('lang.zinc')
7777+ end,
7878+ }
7979+ use {
8080+ 'mfussenegger/nvim-dap',
8181+ config = require('lang.debug').conf_debug,
8282+ }
8383+ use {
8484+ 'pianocomposer321/yabs.nvim', -- Build System
8585+ config = require('lang.build').conf_yabs,
8686+ }
8787+ -- Auto-completion
8888+ use {
8989+ 'hrsh7th/nvim-cmp',
9090+ requires = {
9191+ -- Sources
9292+ 'Saecki/crates.nvim',
9393+ 'hrsh7th/cmp-buffer',
9494+ 'hrsh7th/cmp-nvim-lsp',
9595+ 'hrsh7th/cmp-nvim-lua',
9696+ 'hrsh7th/cmp-vsnip',
9797+ -- Further Requirements
9898+ 'hrsh7th/vim-vsnip',
9999+ 'nvim-lua/plenary.nvim'
100100+ },
101101+ config = require('plugins.completion').conf_cmp,
102102+ }
103103+ -- Component: Popup Navigation/Search
104104+ use {
105105+ 'nvim-telescope/telescope.nvim',
106106+ requires = {'nvim-lua/popup.nvim', 'nvim-lua/plenary.nvim', },
107107+ config = require('plugins.search').conf_telescope,
108108+ }
109109+ -- Setup Packer if just installed
110110+ if packer_bootstrap then
111111+ require('packer').sync()
112112+ end
113113+end)
···11+# Open applications
22+alt - return : /Applications/kitty.app/Contents/MacOS/kitty --single-instance -d ~
33+44+# Focus display
55+alt - tab : yabai -m display --focus recent
66+77+# Focus window
88+alt - h : yabai -m window --focus west
99+alt - j : yabai -m window --focus south
1010+alt - k : yabai -m window --focus north
1111+alt - l : yabai -m window --focus east
1212+1313+alt - left : yabai -m window --focus west
1414+alt - down : yabai -m window --focus south
1515+alt - up : yabai -m window --focus north
1616+alt - right : yabai -m window --focus east
1717+1818+# Swap window
1919+shift + alt - h : yabai -m window --swap west
2020+shift + alt - j : yabai -m window --swap south
2121+shift + alt - k : yabai -m window --swap north
2222+shift + alt - l : yabai -m window --swap east
2323+2424+shift + alt - left : yabai -m window --swap west
2525+shift + alt - down : yabai -m window --swap south
2626+shift + alt - up : yabai -m window --swap north
2727+shift + alt - right : yabai -m window --swap east
2828+2929+# Move focus container to workspace
3030+shift + alt - 1 : yabai -m window --space 1; yabai -m space --focus 1
3131+shift + alt - 2 : yabai -m window --space 2; yabai -m space --focus 2
3232+shift + alt - 3 : yabai -m window --space 3; yabai -m space --focus 3
3333+shift + alt - 4 : yabai -m window --space 4; yabai -m space --focus 4
3434+shift + alt - 5 : yabai -m window --space 5; yabai -m space --focus 5
3535+shift + alt - 6 : yabai -m window --space 6; yabai -m space --focus 6
3636+shift + alt - 7 : yabai -m window --space 7; yabai -m space --focus 7
3737+shift + alt - 8 : yabai -m window --space 8; yabai -m space --focus 8
3838+shift + alt - 9 : yabai -m window --space 9; yabai -m space --focus 9
3939+shift + alt - 0 : yabai -m window --space 0; yabai -m space --focus 0
4040+4141+# Enable / Disable gaps in current workspace
4242+lctrl + alt - g : yabai -m space --toggle padding; yabai -m space --toggle gap
4343+4444+# Float / Unfloat window
4545+shift + alt - space : yabai -m window --toggle float;
4646+4747+# Make window native fullscreen
4848+alt - f : yabai -m window --toggle zoom-fullscreen
4949+shift + alt - f : yabai -m window --toggle native-fullscreen
+103
dot_config/topgrade.toml
···11+[misc]
22+# Don't ask for confirmations
33+#assume_yes = true
44+55+# Disable specific steps - same options as the command line flag
66+disable = ["tlmgr", "vim", "gem", "node", "ruby_gems"]
77+88+# Ignore failures for these steps
99+#ignore_failures = ["powershell"]
1010+1111+# Run specific steps - same options as the command line flag
1212+#only = ["system", "emacs"]
1313+1414+# Do not ask to retry failed steps (default: false)
1515+no_retry = true
1616+1717+# Run inside tmux
1818+#run_in_tmux = true
1919+2020+# List of remote machines with Topgrade installed on them
2121+#remote_topgrades = ["toothless", "pi", "parnas"]
2222+2323+# Arguments to pass SSH when upgrading remote systems
2424+#ssh_arguments = "-o ConnectTimeout=2"
2525+2626+# Path to Topgrade executable on remote machines
2727+#remote_topgrade_path = ".cargo/bin/topgrade"
2828+2929+# Arguments to pass tmux when pulling Repositories
3030+#tmux_arguments = "-S /var/tmux.sock"
3131+3232+# Do not set the terminal title
3333+#set_title = false
3434+3535+# Display the time in step titles
3636+# display_time = true
3737+3838+# Cleanup temporary or old files
3939+#cleanup = true
4040+4141+[git]
4242+#max_concurrency = 5
4343+# Additional git repositories to pull
4444+#repos = [
4545+# "~/src/*/",
4646+# "~/.config/something"
4747+#]
4848+4949+# Don't pull the predefined git repos
5050+#pull_predefined = false
5151+5252+# Arguments to pass Git when pulling Repositories
5353+#arguments = "--rebase --autostash"
5454+5555+[composer]
5656+#self_update = true
5757+5858+# Commands to run before anything
5959+[pre_commands]
6060+#"Emacs Snapshot" = "rm -rf ~/.emacs.d/elpa.bak && cp -rl ~/.emacs.d/elpa ~/.emacs.d/elpa.bak"
6161+6262+# Custom commands
6363+[commands]
6464+#"Python Environment" = "~/dev/.env/bin/pip install -i https://pypi.python.org/simple -U --upgrade-strategy eager jupyter"
6565+6666+[brew]
6767+#greedy_cask = true
6868+6969+[linux]
7070+# Arch Package Manager to use. Allowed values: autodetect, trizen, paru, yay, pikaur, pacman.
7171+#arch_package_manager = "pacman"
7272+# Arguments to pass yay (or paru) when updating packages
7373+#yay_arguments = "--nodevel"
7474+#show_arch_news = true
7575+#trizen_arguments = "--devel"
7676+#pikaur_arguments = ""
7777+#enable_tlmgr = true
7878+#emerge_sync_flags = "-q"
7979+#emerge_update_flags = "-uDNa --with-bdeps=y world"
8080+#redhat_distro_sync = false
8181+#rpm_ostree = false
8282+8383+[windows]
8484+# Manually select Windows updates
8585+#accept_all_updates = false
8686+#open_remotes_in_new_terminal = true
8787+8888+# Causes Topgrade to rename itself during the run to allow package managers
8989+# to upgrade it. Use this only if you installed Topgrade by using a package
9090+# manager such as Scoop to Cargo
9191+#self_rename = true
9292+9393+[npm]
9494+# Use sudo if the NPM directory isn't owned by the current user
9595+#use_sudo = true
9696+9797+[firmware]
9898+# Offer to update firmware; if false just check for and display available updates
9999+#upgrade = true
100100+101101+[flatpak]
102102+# Use sudo for updating the system-wide installation
103103+#use_sudo = true
···11+set -o vi
22+33+# History file configuration
44+[ -z "$HISTFILE" ] && HISTFILE="$HOME/.zsh_history"
55+HISTSIZE=50000
66+SAVEHIST=10000
77+88+# History command configuration
99+setopt extended_history # record timestamp of command in HISTFILE
1010+setopt hist_expire_dups_first # delete duplicates first when HISTFILE size exceeds HISTSIZE
1111+setopt hist_ignore_dups # ignore duplicated commands history list
1212+setopt hist_ignore_space # ignore commands that start with space
1313+setopt hist_verify # show command with history expansion to user before running it
1414+setopt inc_append_history # add commands to HISTFILE in order of execution
1515+setopt share_history # share command history data
1616+setopt autocd # change directory when given dir without cmd
1717+1818+# Case insensitive autocompletion
1919+zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*'
2020+2121+# Start Starship Prompt
2222+if command -v starship &> /dev/null; then
2323+ eval "$(starship init zsh)"
2424+fi
···11+// Settings in here override those in "Default/Preferences.sublime-settings",
22+// and are overridden in turn by syntax-specific settings.
33+{
44+ "font_face": "Iosevka Slab",
55+ "font_size": 16,
66+ "color_scheme": "auto",
77+ "save_on_focus_lost": true,
88+ "ignored_packages": [
99+ "Vintage",
1010+ ],
1111+}
···11+[ui]
22+username =Jip J. Dekker <jip@dekker.one>
33+ignore.userroot = ~/.gitignore
44+55+# uncomment to disable color in command output
66+# (see 'sl help color' for details)
77+# color = never
88+99+# uncomment to disable command output pagination
1010+# (see 'sl help pager' for details)
1111+# paginate = never
1212+1313+[isl]
1414+hasShownGettingStarted = false
1515+render-compact = false
+29
private_dot_gitconfig
···11+[alias]
22+ co = checkout
33+ l = log --graph --decorate --pretty=oneline --abbrev-commit
44+ prune = fetch --prune
55+ stash-all = stash save --include-untracked
66+ s = status
77+ undo = reset --soft HEAD^
88+[commit]
99+ gpgSign = true
1010+[core]
1111+ excludesfile = /Users/dekker1/.gitignore
1212+[credential]
1313+ helper = osxkeychain
1414+[help]
1515+ autocorrect = 1
1616+[push]
1717+ default = simple
1818+[user]
1919+ name = Jip J. Dekker
2020+ email = jip@dekker.one
2121+ signingkey = ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMCC0liW47USr/Ic1rJ52V4eE07y42VG9Ols1zYBrPlc
2222+[pull]
2323+ ff = only
2424+[init]
2525+ defaultBranch = develop
2626+[gpg]
2727+ format = ssh
2828+[gpg "ssh"]
2929+ program = /Applications/1Password.app/Contents/MacOS/op-ssh-sign
+7
private_dot_gnupg/gpg-agent.conf.tmpl
···11+{{- if (eq .chezmoi.os "darwin") -}}
22+{{- if (eq .chezmoi.arch "arm64") -}}
33+pinentry-program /opt/homebrew/bin/pinentry-mac
44+{{ else -}}
55+pinentry-program /usr/local/bin/pinentry-mac
66+{{ end -}}
77+{{- end -}}